firebase 12.6.0-canary.d1d898f55 → 12.6.0-canary.f5fc6bf76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/dist/esm/index.esm.js +1 -1
- package/app/dist/index.cjs.js +1 -1
- package/app/dist/index.mjs +1 -1
- package/compat/app/dist/esm/index.esm.js +1 -1
- package/compat/app/dist/index.cjs.js +1 -1
- package/compat/app/dist/index.mjs +1 -1
- package/compat/dist/esm/index.esm.js +2 -2
- package/compat/dist/index.node.cjs +2 -2
- package/compat/dist/index.rn.cjs.js +2 -2
- package/firebase-ai.js +1 -1
- package/firebase-analytics-compat.js +1 -1
- package/firebase-analytics.js +1 -1
- package/firebase-app-check-compat.js +1 -1
- package/firebase-app-check.js +1 -1
- package/firebase-app-compat.js +2 -2
- package/firebase-app.js +5 -5
- package/firebase-auth-compat.js +1 -1
- package/firebase-auth-cordova.js +1 -1
- package/firebase-auth-web-extension.js +1 -1
- package/firebase-auth.js +1 -1
- package/firebase-compat.js +6 -6
- package/firebase-compat.js.map +1 -1
- package/firebase-data-connect.js +1 -1
- package/firebase-database-compat.js +1 -1
- package/firebase-database.js +1 -1
- package/firebase-firestore-compat.js +2 -2
- package/firebase-firestore-compat.js.map +1 -1
- package/firebase-firestore-lite.js +1 -1
- package/firebase-firestore-lite.js.map +1 -1
- package/firebase-firestore.js +1 -1
- package/firebase-firestore.js.map +1 -1
- package/firebase-functions-compat.js +1 -1
- package/firebase-functions.js +1 -1
- package/firebase-installations-compat.js +1 -1
- package/firebase-installations.js +1 -1
- package/firebase-messaging-compat.js +1 -1
- package/firebase-messaging-sw.js +1 -1
- package/firebase-messaging.js +1 -1
- package/firebase-performance-compat.js +1 -1
- package/firebase-performance-standalone-compat.js +7 -7
- package/firebase-performance.js +1 -1
- package/firebase-remote-config-compat.js +1 -1
- package/firebase-remote-config.js +1 -1
- package/firebase-storage-compat.js +1 -1
- package/firebase-storage.js +1 -1
- package/package.json +29 -29
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
<clipPath id="clip0_6083_34804">
|
|
13
13
|
<rect width="24" height="24" fill="white"/>
|
|
14
14
|
</clipPath>
|
|
15
|
-
</defs>`,i.innerText="Preview backend running in this workspace."),i.setAttribute("id",n)}"loading"===document.readyState?window.addEventListener("DOMContentLoaded",r):r()}}function ee(){return"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function te(){var e=W()?.forceEnvironment;if("node"===e)return 1;if("browser"!==e)try{return"[object process]"===Object.prototype.toString.call(global.process)}catch(e){}}function re(){return!te()&&navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function ne(){return!te()&&navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")}class ie extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,ie.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,se.prototype.create)}}class se{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var n,r=t[0]||{},i=this.service+"/"+e,s=this.errors[e],s=s?(n=r,s.replace(ae,(e,t)=>{var r=n[t];return null!=r?String(r):`<${t}?>`})):"Error",s=this.serviceName+`: ${s} (${i}).`;return new ie(i,s,r)}}let ae=/\{\$([^}]+)}/g;function oe(e,t){if(e!==t){var r,n,i=Object.keys(e),s=Object.keys(t);for(r of i){if(!s.includes(r))return!1;var a=e[r],o=t[r];if(ue(a)&&ue(o)){if(!oe(a,o))return!1}else if(a!==o)return!1}for(n of s)if(!i.includes(n))return!1}return!0}function ue(e){return null!==e&&"object"==typeof e}function _(e){return e&&e._delegate?e._delegate:e}class le{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}var c;(n=c=c||{})[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT";let he={debug:c.DEBUG,verbose:c.VERBOSE,info:c.INFO,warn:c.WARN,error:c.ERROR,silent:c.SILENT},ce=c.INFO,de={[c.DEBUG]:"log",[c.VERBOSE]:"log",[c.INFO]:"info",[c.WARN]:"warn",[c.ERROR]:"error"},fe=(e,t,...r)=>{if(!(t<e.logLevel)){var n=(new Date).toISOString(),i=de[t];if(!i)throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`);console[i](`[${n}] ${e.name}:`,...r)}};var ge,me,ar,or,ur,lr,hr,cr,dr,fr,m,pe,e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},gr=(!(function(){var e,t,s;function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.C=Array(this.blockSize),this.o=this.h=0,this.u()}function n(){}function a(e,t,r){r=r||0;var n=Array(16);if("string"==typeof t)for(var i=0;i<16;++i)n[i]=t.charCodeAt(r++)|t.charCodeAt(r++)<<8|t.charCodeAt(r++)<<16|t.charCodeAt(r++)<<24;else for(i=0;i<16;++i)n[i]=t[r++]|t[r++]<<8|t[r++]<<16|t[r++]<<24;t=e.g[0],r=e.g[1];var i=e.g[2],s=e.g[3],a=t+(s^r&(i^s))+n[0]+3614090360&4294967295;a=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=r+(a<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[1]+3905402710&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[2]+606105819&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[3]+3250441966&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[4]+4118548399&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[5]+1200080426&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[6]+2821735955&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[7]+4249261313&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[8]+1770035416&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[9]+2336552879&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[10]+4294925233&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[11]+2304563134&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[12]+1804603682&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[13]+4254626195&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[14]+2792965006&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[15]+1236535329&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^s&(r^i))+n[1]+4129170786&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[6]+3225465664&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[11]+643717713&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[0]+3921069994&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[5]+3593408605&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[10]+38016083&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[15]+3634488961&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[4]+3889429448&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[9]+568446438&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[14]+3275163606&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[3]+4107603335&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[8]+1163531501&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[13]+2850285829&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[2]+4243563512&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[7]+1735328473&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[12]+2368359562&4294967295)<<20&4294967295|a>>>12))+((a=t+(r^i^s)+n[5]+4294588738&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[8]+2272392833&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[11]+1839030562&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[14]+4259657740&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[1]+2763975236&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[4]+1272893353&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[7]+4139469664&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[10]+3200236656&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[13]+681279174&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[0]+3936430074&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[3]+3572445317&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[6]+76029189&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[9]+3654602809&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[12]+3873151461&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[15]+530742520&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[2]+3299628645&4294967295)<<23&4294967295|a>>>9))+((a=t+(i^(r|~s))+n[0]+4096336452&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[7]+1126891415&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[14]+2878612391&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[5]+4237533241&4294967295)<<21&4294967295|a>>>11))+((a=t+(i^(r|~s))+n[12]+1700485571&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[3]+2399980690&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[10]+4293915773&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[1]+2240044497&4294967295)<<21&4294967295|a>>>11))+((a=t+(i^(r|~s))+n[8]+1873313359&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[15]+4264355552&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[6]+2734768916&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[13]+1309151649&4294967295)<<21&4294967295|a>>>11))+((s=(t=r+((a=t+(i^(r|~s))+n[4]+4149444226&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[11]+3174756917&4294967295)<<10&4294967295|a>>>22))^((i=s+((a=i+(t^(s|~r))+n[2]+718787259&4294967295)<<15&4294967295|a>>>17))|~t))+n[9]+3951481745&4294967295,e.g[0]=e.g[0]+t&4294967295,e.g[1]=e.g[1]+(i+(a<<21&4294967295|a>>>11))&4294967295,e.g[2]=e.g[2]+i&4294967295,e.g[3]=e.g[3]+s&4294967295}function u(e,t){this.h=t;var r=[];let n=!0;for(let s=e.length-1;0<=s;s--){var i=0|e[s];n&&i==t||(r[s]=i,n=!1)}this.g=r}t=r,s=function(){this.blockSize=-1},n.prototype=s.prototype,t.F=s.prototype,t.prototype=new n,(t.prototype.constructor=t).D=function(e,t,r){for(var n=Array(arguments.length-2),i=2;i<arguments.length;i++)n[i-2]=arguments[i];return s.prototype[t].apply(e,n)},r.prototype.u=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0},r.prototype.v=function(e,t){var r=(t=void 0===t?e.length:t)-this.blockSize,n=this.C;let i=this.h,s=0;for(;s<t;){if(0==i)for(;s<=r;)a(this,e,s),s+=this.blockSize;if("string"==typeof e){for(;s<t;)if(n[i++]=e.charCodeAt(s++),i==this.blockSize){a(this,n),i=0;break}}else for(;s<t;)if(n[i++]=e[s++],i==this.blockSize){a(this,n),i=0;break}}this.h=i,this.o+=t},r.prototype.A=function(){var t=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);t[0]=128;for(var r=1;r<t.length-8;++r)t[r]=0;for(var r=8*this.o,n=t.length-8;n<t.length;++n)t[n]=255&r,r/=256;for(this.v(t),t=Array(16),n=r=0;n<4;++n)for(let e=0;e<32;e+=8)t[r++]=this.g[n]>>>e&255;return t};var i={};function o(e){return-128<=e&&e<128?(t=e,r=function(e){return new u([0|e],e<0?-1:0)},n=i,Object.prototype.hasOwnProperty.call(n,t)?n[t]:n[t]=r(t)):new u([0|e],e<0?-1:0);var t,r,n}function l(e){if(isNaN(e)||!isFinite(e))return h;if(e<0)return m(l(-e));var t=[];let r=1;for(let n=0;e>=r;n++)t[n]=e/r|0,r*=4294967296;return new u(t,0)}var h=o(0),c=o(1),d=o(16777216);function f(t){if(0==t.h){for(let e=0;e<t.g.length;e++)if(0!=t.g[e])return;return 1}}function g(e){return-1==e.h}function m(e){var t=e.g.length,r=[];for(let n=0;n<t;n++)r[n]=~e.g[n];return new u(r,~e.h).add(c)}function p(e,t){return e.add(m(t))}function y(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 w(e,t){if(f(t))throw Error("division by zero");if(f(e))return new v(h,h);if(g(e))return t=w(m(e),t),new v(m(t.g),m(t.h));if(g(t))return t=w(e,m(t)),new v(m(t.g),t.h);if(30<e.g.length){if(g(e)||g(t))throw Error("slowDivide_ only works with positive integers.");for(var r=c,n=t;n.l(e)<=0;)r=_(r),n=_(n);for(var i=b(r,1),s=b(n,1),n=b(n,2),r=b(r,2);!f(n);){var a=s.add(n);a.l(e)<=0&&(i=i.add(r),s=a),n=b(n,1),r=b(r,1)}return t=p(e,i.j(t)),new v(i,t)}for(i=h;0<=e.l(t);){for(r=Math.max(1,Math.floor(e.m()/t.m())),n=(n=Math.ceil(Math.log(r)/Math.LN2))<=48?1:Math.pow(2,n-48),a=(s=l(r)).j(t);g(a)||0<a.l(e);)a=(s=l(r-=n)).j(t);f(s)&&(s=c),i=i.add(s),e=p(e,a)}return new v(i,e)}function _(e){var t=e.g.length+1,r=[];for(let n=0;n<t;n++)r[n]=e.i(n)<<1|e.i(n-1)>>>31;return new u(r,e.h)}function b(e,t){var r=t>>5,n=(t%=32,e.g.length-r),i=[];for(let s=0;s<n;s++)i[s]=0<t?e.i(s+r)>>>t|e.i(s+r+1)<<32-t:e.i(s+r);return new u(i,e.h)}(e=u.prototype).m=function(){if(g(this))return-m(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){var r=this.i(n);e+=(0<=r?r:4294967296+r)*t,t*=4294967296}return e},e.toString=function(t){if((t=t||10)<2||36<t)throw Error("radix out of range: "+t);if(f(this))return"0";if(g(this))return"-"+m(this).toString(t);var r=l(Math.pow(t,6)),n=this;let i="";for(;;){var s=w(n,r).g;let e=((0<(n=p(n,s.j(r))).g.length?n.g[0]:n.h)>>>0).toString(t);if(f(n=s))return e+i;for(;e.length<6;)e="0"+e;i=e+i}},e.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},e.l=function(e){return g(e=p(this,e))?-1:f(e)?0:1},e.abs=function(){return g(this)?m(this):this},e.add=function(e){var t=Math.max(this.g.length,e.g.length),r=[];let n=0;for(let a=0;a<=t;a++){var i=n+(65535&this.i(a))+(65535&e.i(a)),s=(i>>>16)+(this.i(a)>>>16)+(e.i(a)>>>16);n=s>>>16,i&=65535,s&=65535,r[a]=s<<16|i}return new u(r,-2147483648&r[r.length-1]?-1:0)},e.j=function(t){if(f(this)||f(t))return h;if(g(this))return g(t)?m(this).j(m(t)):m(m(this).j(t));if(g(t))return m(this.j(m(t)));if(this.l(d)<0&&t.l(d)<0)return l(this.m()*t.m());for(var e=this.g.length+t.g.length,r=[],n=0;n<2*e;n++)r[n]=0;for(n=0;n<this.g.length;n++)for(let e=0;e<t.g.length;e++){var i=this.i(n)>>>16,s=65535&this.i(n),a=t.i(e)>>>16,o=65535&t.i(e);r[2*n+2*e]+=s*o,y(r,2*n+2*e),r[2*n+2*e+1]+=i*o,y(r,2*n+2*e+1),r[2*n+2*e+1]+=s*a,y(r,2*n+2*e+1),r[2*n+2*e+2]+=i*a,y(r,2*n+2*e+2)}for(t=0;t<e;t++)r[t]=r[2*t+1]<<16|r[2*t];for(t=e;t<2*e;t++)r[t]=0;return new u(r,0)},e.B=function(e){return w(this,e).h},e.and=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)&e.i(n);return new u(r,this.h&e.h)},e.or=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)|e.i(n);return new u(r,this.h|e.h)},e.xor=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)^e.i(n);return new u(r,this.h^e.h)},r.prototype.digest=r.prototype.A,r.prototype.reset=r.prototype.u,r.prototype.update=r.prototype.v,me=r,u.prototype.multiply=u.prototype.j,u.prototype.modulo=u.prototype.B,u.prototype.compare=u.prototype.l,u.prototype.toNumber=u.prototype.m,u.prototype.getBits=u.prototype.i,u.fromNumber=l,u.fromString=function e(t,r){if(0==t.length)throw Error("number format error: empty string");if((r=r||10)<2||36<r)throw Error("radix out of range: "+r);if("-"==t.charAt(0))return m(e(t.substring(1),r));if(0<=t.indexOf("-"))throw Error('number format error: interior "-" character');var n=l(Math.pow(r,8));let i=h;for(let o=0;o<t.length;o+=8){var s=Math.min(8,t.length-o),a=parseInt(t.substring(o,o+s),r);i=(s<8?(s=l(Math.pow(r,s)),i.j(s)):i=i.j(n)).add(l(a))}return i},ge=u}).apply(void 0!==e?e:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{});!(function(){var e,P=Object.defineProperty;var V=(e=>{e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof gr&&gr];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")})(this);function F(e,t){if(t)e:{var r=V;e=e.split(".");for(var n=0;n<e.length-1;n++){var i=e[n];if(!(i in r))break e;r=r[i]}(t=t(n=r[e=e[e.length-1]]))!=n&&null!=t&&P(r,e,{configurable:!0,writable:!0,value:t})}}F("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),F("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),F("Object.entries",function(e){return e||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.push([t,e[t]]);return r}});var U=U||{},D=this||self;function d(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function B(e,t,r){return e.call.apply(e.bind,arguments)}function y(e,t,r){return(y=B).apply(null,arguments)}function q(t){var r=Array.prototype.slice.call(arguments,1);return function(){var e=r.slice();return e.push.apply(e,arguments),t.apply(this,e)}}function t(e,s){function t(){}t.prototype=s.prototype,e.Z=s.prototype,e.prototype=new t,(e.prototype.constructor=e).Ob=function(e,t,r){for(var n=Array(arguments.length-2),i=2;i<arguments.length;i++)n[i-2]=arguments[i];return s.prototype[t].apply(e,n)}}var j="undefined"!=typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function z(t){var r=t.length;if(0<r){var n=Array(r);for(let e=0;e<r;e++)n[e]=t[e];return n}return[]}function G(t){for(let e=1;e<arguments.length;e++){var r=arguments[e];if("array"==(n="object"!=(n=typeof r)?n:r?Array.isArray(r)?"array":n:"null")||"object"==n&&"number"==typeof r.length){var n=t.length||0,i=r.length||0;t.length=n+i;for(let e=0;e<i;e++)t[n+e]=r[e]}else t.push(r)}}var K=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return 0<this.h?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new Q,e=>e.reset());class Q{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 r,n=!1,$=new class{constructor(){this.h=this.g=null}add(e,t){var r=K.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r}},H=()=>{let e=Promise.resolve(void 0);r=()=>{e.then(W)}};function W(){for(var e;e=(()=>{let e=$,t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t})();){try{e.h.call(e.g)}catch(e){(e=>{D.setTimeout(()=>{throw e},0)})(e)}var t=K;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}n=!1}function i(){this.u=this.u,this.C=this.C}function o(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}i.prototype.u=!1,i.prototype.dispose=function(){this.u||(this.u=!0,this.N())},i.prototype[Symbol.dispose]=function(){this.dispose()},i.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},o.prototype.h=function(){this.defaultPrevented=!0};var Y=(()=>{if(!D.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{var r=()=>{};D.addEventListener("test",r,t),D.removeEventListener("test",r,t)}catch(e){}return e})();function N(e){return/^[\s\xa0]*$/.test(e)}function s(e,t){o.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)}t(s,o),s.prototype.init=function(e,t){var r=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,(t=e.relatedTarget)||("mouseover"==r?t=e.fromElement:"mouseout"==r&&(t=e.toElement)),this.relatedTarget=t,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.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).defaultPrevented&&s.Z.h.call(this)},s.prototype.h=function(){s.Z.h.call(this);var e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var u="closure_listenable_"+(1e6*Math.random()|0),J=0;function X(e,t,r,n,i){this.listener=e,this.proxy=null,this.src=t,this.type=r,this.capture=!!n,this.ha=i,this.key=++J,this.da=this.fa=!1}function Z(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function ee(e,t,r){for(var n in e)t.call(r,e[n],n,e)}function te(e){var t,r={};for(t in e)r[t]=e[t];return r}let re="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function ne(t){let r,n;for(let i=1;i<arguments.length;i++){for(r in n=arguments[i])t[r]=n[r];for(let e=0;e<re.length;e++)r=re[e],Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}}function ie(e){this.src=e,this.g={},this.h=0}function se(e,t){var r,n,i,s=t.type;s in e.g&&(r=e.g[s],(i=0<=(n=Array.prototype.indexOf.call(r,t,void 0)))&&Array.prototype.splice.call(r,n,1),i)&&(Z(t),0==e.g[s].length)&&(delete e.g[s],e.h--)}function ae(e,t,r,n){for(let s=0;s<e.length;++s){var i=e[s];if(!i.da&&i.listener==t&&i.capture==!!r&&i.ha==n)return s}return-1}ie.prototype.add=function(e,t,r,n,i){var s=e.toString(),a=((e=this.g[s])||(e=this.g[s]=[],this.h++),ae(e,t,n,i));return-1<a?(t=e[a],r||(t.fa=!1)):((t=new X(t,this.src,s,!!n,i)).fa=r,e.push(t)),t};var oe="closure_lm_"+(1e6*Math.random()|0),ue={};function le(t,r,n,i,s){if(i&&i.once)return function t(r,n,i,s,a){if(Array.isArray(n)){for(let e=0;e<n.length;e++)t(r,n[e],i,s,a);return null}i=pe(i);return r&&r[u]?r.K(n,i,d(s)?!!s.capture:!!s,a):he(r,n,i,!0,s,a)}(t,r,n,i,s);if(Array.isArray(r)){for(let e=0;e<r.length;e++)le(t,r[e],n,i,s);return null}return n=pe(n),t&&t[u]?t.J(r,n,d(i)?!!i.capture:!!i,s):he(t,r,n,!1,i,s)}function he(e,t,r,n,i,s){if(!t)throw Error("Invalid event type");var a=d(i)?!!i.capture:!!i;let o=ge(e);if(o||(e[oe]=o=new ie(e)),!(r=o.add(t,r,n,a,s)).proxy)if(n=(()=>{let r=fe;return function e(t){return r.call(e.src,e.listener,t)}})(),(r.proxy=n).src=e,n.listener=r,e.addEventListener)void 0===(i=Y?i:a)&&(i=!1),e.addEventListener(t.toString(),n,i);else if(e.attachEvent)e.attachEvent(de(t.toString()),n);else{if(!e.addListener||!e.removeListener)throw Error("addEventListener and attachEvent are unavailable.");e.addListener(n)}return r}function ce(e){var t,r,n;"number"!=typeof e&&e&&!e.da&&((t=e.src)&&t[u]?se(t.i,e):(r=e.type,n=e.proxy,t.removeEventListener?t.removeEventListener(r,n,e.capture):t.detachEvent?t.detachEvent(de(r),n):t.addListener&&t.removeListener&&t.removeListener(n),(r=ge(t))?(se(r,e),0==r.h&&(r.src=null,t[oe]=null)):Z(e)))}function de(e){return e in ue?ue[e]:ue[e]="on"+e}function fe(e,t){var r,n;return e=!!e.da||(t=new s(t,this),r=e.listener,n=e.ha||e.src,e.fa&&ce(e),r.call(n,t))}function ge(e){return(e=e[oe])instanceof ie?e:null}var me="__closure_events_fn_"+(1e9*Math.random()>>>0);function pe(t){return"function"==typeof t?t:(t[me]||(t[me]=function(e){return t.handleEvent(e)}),t[me])}function a(){i.call(this),this.i=new ie(this),(this.M=this).G=null}function l(e,t){var r,n,i=e.G;if(i)for(r=[];i;i=i.G)r.push(i);e=e.M,i=t.type||t,"string"==typeof t?t=new o(t,e):t instanceof o?t.target=t.target||e:(n=t,ne(t=new o(i,e),n)),n=!0;let s,a;if(r)for(a=r.length-1;0<=a;a--)n=ye(s=t.g=r[a],i,!0,t)&&n;if(n=ye(s=t.g=e,i,!0,t)&&n,n=ye(s,i,!1,t)&&n,r)for(a=0;a<r.length;a++)n=ye(s=t.g=r[a],i,!1,t)&&n}function ye(e,t,r,n){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let i=!0;for(let u=0;u<t.length;++u){var s,a,o=t[u];o&&!o.da&&o.capture==r&&(s=o.listener,a=o.ha||o.src,o.fa&&se(e.i,o),i=!1!==s.call(a,n)&&i)}return i&&!n.defaultPrevented}function ve(e){e.g=((e,t)=>{if("function"!=typeof e){if(!e||"function"!=typeof e.handleEvent)throw Error("Invalid listener argument");e=y(e.handleEvent,e)}return 2147483647<Number(t)?-1:D.setTimeout(e,t||0)})(()=>{e.g=null,e.i&&(e.i=!1,ve(e))},e.l);var t=e.h;e.h=null,e.m.apply(null,t)}t(a,i),a.prototype[u]=!0,a.prototype.removeEventListener=function(e,t,r,n){!function e(t,r,n,i,s){if(Array.isArray(r))for(var a=0;a<r.length;a++)e(t,r[a],n,i,s);else i=d(i)?!!i.capture:!!i,n=pe(n),t&&t[u]?(t=t.i,(a=String(r).toString())in t.g&&-1<(n=ae(r=t.g[a],n,i,s))&&(Z(r[n]),Array.prototype.splice.call(r,n,1),0==r.length)&&(delete t.g[a],t.h--)):(t=t&&ge(t))&&(r=t.g[r.toString()],n=(t=-1)<(t=r?ae(r,n,i,s):t)?r[t]:null)&&ce(n)}(this,e,t,r,n)},a.prototype.N=function(){if(a.Z.N.call(this),this.i){var t,r=this.i;for(t in r.g){var n=r.g[t];for(let e=0;e<n.length;e++)Z(n[e]);delete r.g[t],r.h--}}this.G=null},a.prototype.J=function(e,t,r,n){return this.i.add(String(e),t,!1,r,n)},a.prototype.K=function(e,t,r,n){return this.i.add(String(e),t,!0,r,n)};class we extends i{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:ve(this)}N(){super.N(),this.g&&(D.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function h(e){i.call(this),this.h=e,this.g={}}t(h,i);var _e=[];function be(e){ee(e.g,function(e,t){this.g.hasOwnProperty(t)&&ce(e)},e),e.g={}}h.prototype.N=function(){h.Z.N.call(this),be(this)},h.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var Ie=D.JSON.stringify,Te=D.JSON.parse,Ee=class{stringify(e){return D.JSON.stringify(e,void 0)}parse(e){return D.JSON.parse(e,void 0)}};function Se(){}function xe(){}var Ce={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function Ae(){o.call(this,"d")}function De(){o.call(this,"c")}t(Ae,o),t(De,o);var c={},Ne=null;function ke(){return Ne=Ne||new a}function Re(e){o.call(this,c.Ia,e)}function Me(){var e=ke();l(e,new Re(e))}function Oe(e,t){o.call(this,c.STAT_EVENT,e),this.stat=t}function k(e){var t=ke();l(t,new Oe(t,e))}function Le(e,t){o.call(this,c.Ja,e),this.size=t}function v(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return D.setTimeout(function(){e()},t)}function f(){this.g=!0}function R(e,t,r,n){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+((e,t)=>{if(!e.g)return t;if(!t)return null;try{var r=JSON.parse(t);if(r)for(e=0;e<r.length;e++)if(Array.isArray(r[e])){var n=r[e];if(!(n.length<2)){var i=n[1];if(Array.isArray(i)&&!(i.length<1)){var s=i[0];if("noop"!=s&&"stop"!=s&&"close"!=s)for(let e=1;e<i.length;e++)i[e]=""}}}return Ie(r)}catch(e){return t}})(e,r)+(n?" "+n:"")})}c.Ia="serverreachability",t(Re,o),c.STAT_EVENT="statevent",t(Oe,o),c.Ja="timingevent",t(Le,o),f.prototype.ua=function(){this.g=!1},f.prototype.info=function(){};var Pe={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},Ve={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function Fe(){}function g(e){return encodeURIComponent(String(e))}function m(e,t,r,n){this.j=e,this.i=t,this.l=r,this.S=n||1,this.V=new h(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 Ue}function Ue(){this.i=null,this.g="",this.h=!1}t(Fe,Se),Fe.prototype.g=function(){return new XMLHttpRequest};var Be=new Fe,qe={},je={};function ze(e,t,r){e.M=1,e.A=ot(w(t)),e.u=r,e.R=!0,Ge(e,null)}function Ge(e,t){e.F=Date.now(),Qe(e),e.B=w(e.A);var a,o,u,l,h,c,r=e.B,n=e.S,i=(Array.isArray(n)||(n=[String(n)]),_t(r.i,"t",n),e.C=0,r=e.j.L,e.h=new Ue,e.g=tr(e.j,r?t:null,!e.u),0<e.P&&(e.O=new we(y(e.Y,e,e.g),e.P)),t=e.V,r=e.g,n=e.ba,"readystatechange");Array.isArray(i)||(i&&(_e[0]=i.toString()),i=_e);for(let d=0;d<i.length;d++){var s=le(r,i[d],n||t.handleEvent,!1,t.h||t);if(!s)break;t.g[s.key]=s}t=e.J?te(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)),Me(),a=e.i,o=e.v,u=e.B,l=e.l,h=e.S,c=e.u,a.info(function(){if(a.g)if(c){var t="",r=c.split("&");for(let e=0;e<r.length;e++){var n,i,s=r[e].split("=");1<s.length&&(n=s[0],s=s[1],t=2<=(i=n.split("_")).length&&"type"==i[1]?t+(n+"=")+s+"&":t+(n+"=redacted&"))}}else t=null;else t=c;return"XMLHTTP REQ ("+l+") [attempt "+h+"]: "+o+"\n"+u+"\n"+t})}function Ke(e){return e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function Qe(e){e.T=Date.now()+e.H,$e(e,e.H)}function $e(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=v(y(e.aa,e),t)}function He(e){e.D&&(D.clearTimeout(e.D),e.D=null)}function M(e){0==e.j.I||e.K||Jt(e.j,e)}function O(e){He(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,be(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dispose())}function We(e,t){try{var r=e.j;if(0!=r.I&&(r.g==e||et(r.h,e)))if(!e.L&&et(r.h,e)&&3==r.I){try{var n=r.Ba.g.parse(t)}catch(e){n=null}if(Array.isArray(n)&&3==n.length){var i=n;if(0==i[0]){e:if(!r.v){if(r.g){if(!(r.g.F+3e3<e.F))break e;Yt(r),Bt(r)}$t(r),k(18)}}else r.xa=i[1],0<r.xa-r.K&&i[2]<37500&&r.F&&0==r.A&&!r.C&&(r.C=v(y(r.Va,r),6e3));Ze(r.h)<=1&&r.ta&&(r.ta=void 0)}else x(r,11)}else if(!e.L&&r.g!=e||Yt(r),!N(t))for(i=r.Ba.g.parse(t),t=0;t<i.length;t++){var s,a,o,u,l,h,c,d,f,g,m=i[t],p=m[0];p<=r.K||(r.K=p,m=m[1],2==r.I?"c"==m[0]?(r.M=m[1],r.ba=m[2],null!=(s=m[3])&&(r.ka=s,r.j.info("VER="+r.ka)),null!=(a=m[4])&&(r.za=a,r.j.info("SVER="+r.za)),null!=(o=m[5])&&"number"==typeof o&&0<o&&(n=1.5*o,r.O=n,r.j.info("backChannelRequestTimeoutMs_="+n)),n=r,(u=e.g)&&(!(l=u.g?u.g.getResponseHeader("X-Client-Wire-Protocol"):null)||(h=n.h).g||-1==l.indexOf("spdy")&&-1==l.indexOf("quic")&&-1==l.indexOf("h2")||(h.j=h.l,h.g=new Set,h.h&&(tt(h,h.h),h.h=null)),n.G)&&(c=u.g?u.g.getResponseHeader("X-HTTP-Session-Id"):null)&&(n.wa=c,b(n.J,n.G,c)),r.I=3,r.l&&r.l.ra(),r.aa&&(r.T=Date.now()-e.F,r.j.info("Handshake RTT: "+r.T+"ms")),d=e,(n=r).na=er(n,n.L?n.ba:null,n.W),d.L?(rt(n.h,d),f=d,(g=n.O)&&(f.H=g),f.D&&(He(f),Qe(f)),n.g=d):Qt(n),0<r.i.length&&jt(r)):"stop"!=m[0]&&"close"!=m[0]||x(r,7):3==r.I&&("stop"==m[0]||"close"==m[0]?"stop"==m[0]?x(r,7):Ut(r):"noop"!=m[0]&&r.l&&r.l.qa(m),r.A=0))}Me()}catch(e){}}m.prototype.ba=function(e){e=e.target;var t=this.O;t&&3==L(e)?t.j():this.Y(e)},m.prototype.Y=function(e){try{if(e==this.g)e:{var t=L(this.g),r=this.g.ya();this.g.ca();if(!(t<3)&&(3!=t||this.g&&(this.h.h||this.g.la()||Pt(this.g)))){this.K||4!=t||7==r||Me(),He(this);var n,i,s=this.g.ca(),a=(this.X=s,(e=>{if(!Ke(e))return e.g.la();var t=Pt(e.g);if(""===t)return"";let r="",n=t.length,i=4==L(e.g);if(!e.h.i){if("undefined"==typeof TextDecoder)return O(e),M(e),"";e.h.i=new D.TextDecoder}for(let s=0;s<n;s++)e.h.h=!0,r+=e.h.i.decode(t[s],{stream:!(i&&s==n-1)});return t.length=0,e.h.g+=r,e.C=0,e.h.g})(this));if(this.o=200==s,I=this.i,T=this.v,E=this.B,S=this.l,x=this.S,C=t,A=s,I.info(function(){return"XMLHTTP RESP ("+S+") [ attempt "+x+"]: "+T+"\n"+E+"\n"+C+" "+A}),this.o){if(this.U&&!this.L){t:{if(this.g){var o,u=this.g;if((o=u.g?u.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!N(o)){var l=o;break t}}l=null}if(!(e=l)){this.o=!1,this.m=3,k(12),O(this),M(this);break e}R(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,We(this,e)}if(this.R){for(e=!0;!this.K&&this.C<a.length;){if(w=a,b=_=void 0,_=(v=this).C,(n=-1==(b=w.indexOf("\n",_))?je:(_=Number(w.substring(_,b)),isNaN(_)?qe:(b+=1)+_>w.length?je:(w=w.slice(b,b+_),v.C=b+_,w)))==je){4==t&&(this.m=4,k(14),e=!1),R(this.i,this.l,null,"[Incomplete Response]");break}if(n==qe){this.m=4,k(15),R(this.i,this.l,a,"[Invalid Chunk]"),e=!1;break}R(this.i,this.l,n,null),We(this,n)}Ke(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=t||0!=a.length||this.h.h||(this.m=1,k(16),e=!1),this.o=this.o&&e,e?0<a.length&&!this.W&&(this.W=!0,(i=this.j).g==this)&&i.aa&&!i.P&&(i.j.info("Great, no buffering proxy detected. Bytes received: "+a.length),Ht(i),i.P=!0,k(11)):(R(this.i,this.l,a,"[Invalid Chunked Response]"),O(this),M(this))}else R(this.i,this.l,a,null),We(this,a);4==t&&O(this),this.o&&!this.K&&(4==t?Jt(this.j,this):(this.o=!1,Qe(this)))}else{{var h=this.g;var c,d,f,g={};h=(h.g&&2<=L(h)&&h.g.getAllResponseHeaders()||"").split("\r\n");for(let e=0;e<h.length;e++)N(h[e])||(c=(e=>{for(var t=1,r=(e=e.split(":"),[]);0<t&&e.length;)r.push(e.shift()),t--;return e.length&&r.push(e.join(":")),r})(h[e]),d=c[0],"string"==typeof(c=c[1])&&(c=c.trim(),f=g[d]||[],(g[d]=f).push(c)));var m,p=g,y=function(e){return e.join(", ")};for(m in p)y.call(void 0,p[m],m,p)}400==s&&0<a.indexOf("Unknown SID")?(this.m=3,k(12)):(this.m=0,k(13)),O(this),M(this)}}}}catch(e){}var v,w,_,b,I,T,E,S,x,C,A},m.prototype.cancel=function(){this.K=!0,O(this)},m.prototype.aa=function(){this.D=null;var e,t,r=Date.now();0<=r-this.T?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(Me(),k(17)),O(this),this.m=2,M(this)):$e(this,this.T-r)};var Ye=class{constructor(e,t){this.g=e,this.map=t}};function Je(e){this.l=e||10,e=D.PerformanceNavigationTiming?0<(e=D.performance.getEntriesByType("navigation")).length&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(D.chrome&&D.chrome.loadTimes&&D.chrome.loadTimes()&&D.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function Xe(e){return e.h||e.g&&e.g.size>=e.j}function Ze(e){return e.h?1:e.g?e.g.size:0}function et(e,t){return e.h?e.h==t:e.g&&e.g.has(t)}function tt(e,t){e.g?e.g.add(t):e.h=t}function rt(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function nt(t){if(null!=t.h)return t.i.concat(t.h.G);if(null==t.g||0===t.g.size)return z(t.i);{let e=t.i;for(var r of t.g.values())e=e.concat(r.G);return e}}Je.prototype.cancel=function(){if(this.i=nt(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(var e of this.g.values())e.cancel();this.g.clear()}};var it=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function p(e){this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1;let t;e instanceof p?(this.l=e.l,_(this,e.j),this.o=e.o,this.g=e.g,st(this,e.u),this.h=e.h,at(this,bt(e.i)),this.m=e.m):e&&(t=String(e).match(it))?(this.l=!1,_(this,t[1]||"",!0),this.o=ut(t[2]||""),this.g=ut(t[3]||"",!0),st(this,t[4]),this.h=ut(t[5]||"",!0),at(this,t[6]||"",!0),this.m=ut(t[7]||"")):(this.l=!1,this.i=new pt(null,this.l))}function w(e){return new p(e)}function _(e,t,r){e.j=r?ut(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function st(e,t){if(t){if(t=Number(t),isNaN(t)||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function at(e,t,r){var n,i;t instanceof pt?(e.i=t,n=e.i,(i=e.l)&&!n.j&&(I(n),n.i=null,n.g.forEach(function(e,t){var r=t.toLowerCase();t!=r&&(yt(this,t),_t(this,r,e))},n)),n.j=i):(r||(t=lt(t,gt)),e.i=new pt(t,e.l))}function b(e,t,r){e.i.set(t,r)}function ot(e){return b(e,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),e}function ut(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function lt(e,t,r){return"string"==typeof e?(e=encodeURI(e).replace(t,ht),e=r?e.replace(/%25([0-9a-fA-F]{2})/g,"%$1"):e):null}function ht(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}p.prototype.toString=function(){var e=[],t=this.j,r=(t&&e.push(lt(t,ct,!0),":"),this.g);return!r&&"file"!=t||(e.push("//"),(t=this.o)&&e.push(lt(t,ct,!0),"@"),e.push(g(r).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null==(r=this.u))||e.push(":",String(r)),(r=this.h)&&(this.g&&"/"!=r.charAt(0)&&e.push("/"),e.push(lt(r,"/"==r.charAt(0)?ft:dt,!0))),(r=this.i.toString())&&e.push("?",r),(r=this.m)&&e.push("#",lt(r,mt)),e.join("")},p.prototype.resolve=function(e){var t=w(this);let r=!!e.j;r?_(t,e.j):r=!!e.o,r?t.o=e.o:r=!!e.g,r?t.g=e.g:r=null!=e.u;var n=e.h;if(r)st(t,e.u);else if(r=!!e.h)if("/"!=n.charAt(0)&&(this.g&&!this.h?n="/"+n:-1!=(i=t.h.lastIndexOf("/"))&&(n=t.h.slice(0,i+1)+n)),".."==(i=n)||"."==i)n="";else if(-1!=i.indexOf("./")||-1!=i.indexOf("/.")){var n=0==i.lastIndexOf("/",0),i=i.split("/"),s=[];for(let e=0;e<i.length;){var a=i[e++];"."==a?n&&e==i.length&&s.push(""):".."==a?((1<s.length||1==s.length&&""!=s[0])&&s.pop(),n&&e==i.length&&s.push("")):(s.push(a),n=!0)}n=s.join("/")}else n=i;return r?t.h=n:r=""!==e.i.toString(),r?at(t,bt(e.i)):r=!!e.m,r&&(t.m=e.m),t};var ct=/[#\/\?@]/g,dt=/[#\?:]/g,ft=/[#\?]/g,gt=/[#\?@]/g,mt=/#/g;function pt(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function I(r){if(!r.g&&(r.g=new Map,r.h=0,r.i)){var n=r.i,i=function(e,t){r.add(decodeURIComponent(e.replace(/\+/g," ")),t)};if(n){n=n.split("&");for(let r=0;r<n.length;r++){var s=n[r].indexOf("=");let e,t=null;0<=s?(e=n[r].substring(0,s),t=n[r].substring(s+1)):e=n[r],i(e,t?decodeURIComponent(t.replace(/\+/g," ")):"")}}}}function yt(e,t){I(e),t=T(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function vt(e,t){return I(e),t=T(e,t),e.g.has(t)}function wt(e,t){I(e);let r=[];if("string"==typeof t)vt(e,t)&&(r=r.concat(e.g.get(T(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)r=r.concat(e[t]);return r}function _t(e,t,r){yt(e,t),0<r.length&&(e.i=null,e.g.set(T(e,t),z(r)),e.h+=r.length)}function bt(e){var t=new pt;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function T(e,t){return t=String(t),t=e.j?t.toLowerCase():t}function E(e,t,r,n,i){try{i&&(i.onload=null,i.onerror=null,i.onabort=null,i.ontimeout=null),n(r)}catch(e){}}function It(){this.g=new Ee}function Tt(e){this.i=e.Sb||null,this.h=e.ab||!1}function Et(e,t){a.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 St(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function xt(e){e.readyState=4,e.l=null,e.j=null,e.B=null,Ct(e)}function Ct(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function At(e){let r="";return ee(e,function(e,t){r=(r=r+t+":")+e+"\r\n"}),r}function Dt(e,t,r){e:{for(n in r){var n=!1;break e}n=!0}n||(r=At(r),"string"==typeof e?null!=r&&g(r):b(e,t,r))}function S(e){a.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}(e=pt.prototype).add=function(e,t){I(this),this.i=null,e=T(this,e);let r=this.g.get(e);return r||this.g.set(e,r=[]),r.push(t),this.h+=1,this},e.forEach=function(r,n){I(this),this.g.forEach(function(e,t){e.forEach(function(e){r.call(n,e,t,this)},this)},this)},e.set=function(e,t){return I(this),this.i=null,vt(this,e=T(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},e.get=function(e,t){return e&&0<(e=wt(this,e)).length?String(e[0]):t},e.toString=function(){if(this.i)return this.i;if(!this.g)return"";var r=[],e=Array.from(this.g.keys());for(let s=0;s<e.length;s++){var n=g(i=e[s]),i=wt(this,i);for(let t=0;t<i.length;t++){let e=n;""!==i[t]&&(e+="="+g(i[t])),r.push(e)}}return this.i=r.join("&")},t(Tt,Se),Tt.prototype.g=function(){return new Et(this.i,this.h)},t(Et,a),(e=Et.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,Ct(this)},e.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;var t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||D).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},e.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(()=>{}),1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,xt(this)),this.readyState=0},e.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,Ct(this)),this.g)&&(this.readyState=3,Ct(this),this.g))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==D.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;St(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},e.Ma=function(e){var t;this.g&&(this.o&&e.value?this.response.push(e.value):!this.o&&(t=e.value||new Uint8Array(0),t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t),(e.done?xt:Ct)(this),3==this.readyState)&&St(this)},e.Oa=function(e){this.g&&(this.response=this.responseText=e,xt(this))},e.Na=function(e){this.g&&(this.response=e,xt(this))},e.ga=function(){this.g&&xt(this)},e.setRequestHeader=function(e,t){this.A.append(e,t)},e.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},e.getAllResponseHeaders=function(){if(!this.h)return"";for(var e=[],t=this.h.entries(),r=t.next();!r.done;)r=r.value,e.push(r[0]+": "+r[1]),r=t.next();return e.join("\r\n")},Object.defineProperty(Et.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),t(S,a);var Nt=/^https?$/i,kt=["POST","PUT"];function Rt(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,Mt(e),Lt(e)}function Mt(e){e.A||(e.A=!0,l(e,"complete"),l(e,"error"))}function Ot(t){if(t.h&&void 0!==U)if(t.v&&4==L(t))setTimeout(t.Ca.bind(t),0);else if(l(t,"readystatechange"),4==L(t)){t.h=!1;try{var e,r,n=t.ca();switch(n){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var i=!0;break;default:i=!1}if(!(e=i)){if(r=0===n){let e=String(t.D).match(it)[1]||null;!e&&D.self&&D.self.location&&(e=D.self.location.protocol.slice(0,-1)),r=!Nt.test(e?e.toLowerCase():"")}e=r}if(e)l(t,"complete"),l(t,"success");else{t.o=6;try{var s=2<L(t)?t.g.statusText:""}catch(e){s=""}t.l=s+" ["+t.ca()+"]",Mt(t)}}finally{Lt(t)}}}function Lt(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);var r=e.g;e.g=null,t||l(e,"ready");try{r.onreadystatechange=null}catch(e){}}}function L(e){return e.g?e.g.readyState:0}function Pt(e){try{if(e.g){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}}function Vt(e,t,r){return r&&r.internalChannelParams&&r.internalChannelParams[e]||t}function Ft(e){this.za=0,this.i=[],this.j=new f,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=Vt("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=Vt("baseRetryDelayMs",5e3,e),this.Za=Vt("retryDelaySeedMs",1e4,e),this.Ta=Vt("forwardChannelMaxRetries",2,e),this.va=Vt("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 Je(e&&e.concurrentRequestLimit),this.Ba=new It,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&&0<e.longPollingTimeout&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function Ut(e){if(qt(e),3==e.I){var t=e.V++,r=w(e.J);if(b(r,"SID",e.M),b(r,"RID",t),b(r,"TYPE","terminate"),Gt(e,r),(t=new m(e,e.j,t)).M=2,t.A=ot(w(r)),r=!1,D.navigator&&D.navigator.sendBeacon)try{r=D.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!r&&D.Image&&((new Image).src=t.A,r=!0),r||(t.g=tr(t.j,null),t.g.ea(t.A)),t.F=Date.now(),Qe(t)}Zt(e)}function Bt(e){e.g&&(Ht(e),e.g.cancel(),e.g=null)}function qt(e){Bt(e),e.v&&(D.clearTimeout(e.v),e.v=null),Yt(e),e.h.cancel(),e.m&&("number"==typeof e.m&&D.clearTimeout(e.m),e.m=null)}function jt(e){var t;Xe(e.h)||e.m||(e.m=!0,t=e.Ea,r||H(),n||(r(),n=!0),$.add(t,e),e.D=0)}function zt(e,t){var r=t?t.l:e.V++,n=w(e.J);b(n,"SID",e.M),b(n,"RID",r),b(n,"AID",e.K),Gt(e,n),e.u&&e.o&&Dt(n,e.u,e.o),r=new m(e,e.j,r,e.D+1),null===e.u&&(r.J=e.o),t&&(e.i=t.G.concat(e.i)),t=Kt(e,r,1e3),r.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),tt(e.h,r),ze(r,n,t)}function Gt(e,r){e.H&&ee(e.H,function(e,t){b(r,t,e)}),e.l&&ee({},function(e,t){b(r,t,e)})}function Kt(e,t,i){i=Math.min(e.i.length,i);var s=e.l?y(e.l.Ka,e.l,e):null;e:{let r=e.i,n=-1;for(;;){var a=["count="+i];-1==n?0<i?(n=r[0].g,a.push("ofs="+n)):n=0:a.push("ofs="+n);let e=!0;for(let t=0;t<i;t++){var o=r[t].g,u=r[t].map;if((o-=n)<0)n=Math.max(0,r[t].g-100),e=!1;else try{o="req"+o+"_"||"";try{var l,h,c=u instanceof Map?u:Object.entries(u);for([l,h]of c){let e=h;d(h)&&(e=Ie(h)),a.push(o+l+"="+encodeURIComponent(e))}}catch(e){throw a.push(o+"type="+encodeURIComponent("_badmap")),e}}catch(e){s&&s(u)}}if(e){c=a.join("&");break e}}c=void 0}return e=e.i.splice(0,i),t.G=e,c}function Qt(e){var t;e.g||e.v||(e.Y=1,t=e.Da,r||H(),n||(r(),n=!0),$.add(t,e),e.A=0)}function $t(e){return!(e.g||e.v||3<=e.A)&&(e.Y++,e.v=v(y(e.Da,e),Xt(e,e.A)),e.A++,1)}function Ht(e){null!=e.B&&(D.clearTimeout(e.B),e.B=null)}function Wt(e){e.g=new m(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=w(e.na),r=(b(t,"RID","rpc"),b(t,"SID",e.M),b(t,"AID",e.K),b(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&b(t,"TO",e.ia),b(t,"TYPE","xmlhttp"),Gt(e,t),e.u&&e.o&&Dt(t,e.u,e.o),e.O&&(e.g.H=e.O),e.g);e=e.ba,r.M=1,r.A=ot(w(t)),r.u=null,r.R=!0,Ge(r,e)}function Yt(e){null!=e.C&&(D.clearTimeout(e.C),e.C=null)}function Jt(e,t){var r,n,i,s=null;if(e.g==t){Yt(e),Ht(e),e.g=null;var a=2}else{if(!et(e.h,t))return;s=t.G,rt(e.h,t),a=1}if(0!=e.I)if(t.o)(1==a?(s=t.u?t.u.length:0,t=Date.now()-t.F,r=e.D,l(a=ke(),new Le(a,s)),jt):Qt)(e);else if(3==(r=t.m)||0==r&&0<t.X||(1!=a||(i=t,Ze((n=e).h)>=n.h.j-(n.m?1:0))||(n.m?(n.i=i.G.concat(n.i),0):1==n.I||2==n.I||n.D>=(n.Sa?0:n.Ta)||(n.m=v(y(n.Ea,n,i),Xt(n,n.D)),n.D++,0)))&&(2!=a||!$t(e)))switch(s&&0<s.length&&(t=e.h,t.i=t.i.concat(s)),r){case 1:x(e,5);break;case 4:x(e,10);break;case 3:x(e,6);break;default:x(e,2)}}function Xt(e,t){let r=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(r*=2),r*t}function x(e,t){var r,n,i;e.j.info("Error code "+t),2==t?(r=y(e.bb,e),n=!(i=e.Ua),i=new p(i||"//www.google.com/images/cleardot.gif"),D.location&&"http"==D.location.protocol||_(i,"https"),ot(i),(n?(t,r)=>{var n=new f;if(D.Image){let e=new Image;e.onload=q(E,n,"TestLoadImage: loaded",!0,r,e),e.onerror=q(E,n,"TestLoadImage: error",!1,r,e),e.onabort=q(E,n,"TestLoadImage: abort",!1,r,e),e.ontimeout=q(E,n,"TestLoadImage: timeout",!1,r,e),D.setTimeout(function(){e.ontimeout&&e.ontimeout()},1e4),e.src=t}else r(!1)}:(e,t)=>{let r=new f,n=new AbortController,i=setTimeout(()=>{n.abort(),E(r,0,!1,t)},1e4);fetch(e,{signal:n.signal}).then(e=>{clearTimeout(i),e.ok?E(r,0,!0,t):E(r,0,!1,t)}).catch(()=>{clearTimeout(i),E(r,0,!1,t)})})(i.toString(),r)):k(2),e.I=0,e.l&&e.l.pa(t),Zt(e),qt(e)}function Zt(e){var t;e.I=0,e.ja=[],e.l&&(0==(t=nt(e.h)).length&&0==e.i.length||(G(e.ja,t),G(e.ja,e.i),e.h.i.length=0,z(e.i),e.i.length=0),e.l.oa())}function er(e,t,r){var n,i,s=r instanceof p?w(r):new p(r);return""!=s.g?(t&&(s.g=t+"."+s.g),st(s,s.u)):(s=(n=D.location).protocol,t=t?t+"."+n.hostname:n.hostname,n=+n.port,i=new p(null),s&&_(i,s),t&&(i.g=t),n&&st(i,n),r&&(i.h=r),s=i),r=e.G,t=e.wa,r&&t&&b(s,r,t),b(s,"VER",e.ka),Gt(e,s),s}function tr(e,t,r){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=e.Aa&&!e.ma?new S(new Tt({ab:r})):new S(e.ma)).Fa(e.L),t}function rr(){}function nr(){}function C(e,t){a.call(this),this.g=new Ft(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)&&!N(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!N(t)&&(this.g.G=t,null!==(e=this.h))&&t in e&&t in(e=this.h)&&delete e[t],this.j=new A(this)}function ir(e){Ae.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(var r in t){e=r;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 sr(){De.call(this),this.status=1}function A(e){this.g=e}(e=S.prototype).Fa=function(e){this.H=e},e.ea=function(e,t,r,n){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+e);t=t?t.toUpperCase():"GET",this.D=e,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=(this.L||Be).g(),this.g.onreadystatechange=j(y(this.Ca,this));try{this.B=!0,this.g.open(t,String(e),!0),this.B=!1}catch(e){return void Rt(this,e)}if(e=r||"",r=new Map(this.headers),n)if(Object.getPrototypeOf(n)===Object.prototype)for(var i in n)r.set(i,n[i]);else{if("function"!=typeof n.keys||"function"!=typeof n.get)throw Error("Unknown input type for opt_headers: "+String(n));for(var s of n.keys())r.set(s,n.get(s))}n=Array.from(r.keys()).find(e=>"content-type"==e.toLowerCase()),i=D.FormData&&e instanceof D.FormData,0<=Array.prototype.indexOf.call(kt,t,void 0)&&!n&&!i&&r.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(var[a,o]of r)this.g.setRequestHeader(a,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(e),this.v=!1}catch(e){Rt(this,e)}},e.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,l(this,"complete"),l(this,"abort"),Lt(this))},e.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Lt(this,!0)),S.Z.N.call(this)},e.Ca=function(){this.u||(this.B||this.v||this.j?Ot(this):this.Xa())},e.Xa=function(){Ot(this)},e.isActive=function(){return!!this.g},e.ca=function(){try{return 2<L(this)?this.g.status:-1}catch(e){return-1}},e.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},e.La=function(e){var t;if(this.g)return t=this.g.responseText,e&&0==t.indexOf(e)&&(t=t.substring(e.length)),Te(t)},e.ya=function(){return this.o},e.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(e=Ft.prototype).ka=8,e.I=1,e.connect=function(e,t,r,n){k(0),this.W=e,this.H=t||{},r&&void 0!==n&&(this.H.OSID=r,this.H.OAID=n),this.F=this.X,this.J=er(this,null,this.W),jt(this)},e.Ea=function(t){if(this.m)if(this.m=null,1==this.I){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var r=new m(this,this.j,t);let e=this.o;if(this.U&&(e?ne(e=te(e),this.U):e=this.U),null!==this.u||this.R||(r.J=e,e=null),this.S)e:{for(var n=0,i=0;i<this.i.length;i++){var s=this.i[i];if("__data__"in s.map&&"string"==typeof(s=s.map.__data__)?s=s.length:s=void 0,void 0===s)break;if(4096<(n+=s)){n=i;break e}if(4096===n||i===this.i.length-1){n=i+1;break e}}n=1e3}else n=1e3;n=Kt(this,r,n),b(i=w(this.J),"RID",t),b(i,"CVER",22),this.G&&b(i,"X-HTTP-Session-Id",this.G),Gt(this,i),e&&(this.R?n="headers="+g(At(e))+"&"+n:this.u&&Dt(i,this.u,e)),tt(this.h,r),this.Ra&&b(i,"TYPE","init"),this.S?(b(i,"$req",n),b(i,"SID","null"),r.U=!0,ze(r,i,null)):ze(r,i,n),this.I=2}}else 3==this.I&&(t?zt(this,t):0==this.i.length||Xe(this.h)||zt(this))},e.Da=function(){var e;this.v=null,Wt(this),this.aa&&!(this.P||null==this.g||this.T<=0)&&(e=4*this.T,this.j.info("BP detection timer enabled: "+e),this.B=v(y(this.Wa,this),e))},e.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,k(10),Bt(this),Wt(this))},e.Va=function(){null!=this.C&&(this.C=null,Bt(this),$t(this),k(19))},e.bb=function(e){e?(this.j.info("Successfully pinged google.com"),k(2)):(this.j.info("Failed to ping google.com"),k(1))},e.isActive=function(){return!!this.l&&this.l.isActive(this)},(e=rr.prototype).ra=function(){},e.qa=function(){},e.pa=function(){},e.oa=function(){},e.isActive=function(){return!0},e.Ka=function(){},nr.prototype.g=function(e,t){return new C(e,t)},t(C,a),C.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},C.prototype.close=function(){Ut(this.g)},C.prototype.o=function(e){var t,r=this.g;"string"==typeof e?((t={}).__data__=e,e=t):this.v&&((t={}).__data__=Ie(e),e=t),r.i.push(new Ye(r.Ya++,e)),3==r.I&&jt(r)},C.prototype.N=function(){this.g.l=null,delete this.j,Ut(this.g),delete this.g,C.Z.N.call(this)},t(ir,Ae),t(sr,De),t(A,rr),A.prototype.ra=function(){l(this.g,"a")},A.prototype.qa=function(e){l(this.g,new ir(e))},A.prototype.pa=function(e){l(this.g,new sr)},A.prototype.oa=function(){l(this.g,"b")},nr.prototype.createWebChannel=nr.prototype.g,C.prototype.send=C.prototype.o,C.prototype.open=C.prototype.m,fr=function(){return new nr},dr=ke,cr=c,hr={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},Pe.NO_ERROR=0,Pe.TIMEOUT=8,Pe.HTTP_ERROR=6,lr=Pe,Ve.COMPLETE="complete",ur=Ve,(xe.EventType=Ce).OPEN="a",Ce.CLOSE="b",Ce.ERROR="c",Ce.MESSAGE="d",a.prototype.listen=a.prototype.J,or=xe,S.prototype.listenOnce=S.prototype.K,S.prototype.getLastError=S.prototype.Ha,S.prototype.getLastErrorCode=S.prototype.ya,S.prototype.getStatus=S.prototype.ca,S.prototype.getResponseJson=S.prototype.La,S.prototype.getResponseText=S.prototype.la,S.prototype.send=S.prototype.ea,S.prototype.setWithCredentials=S.prototype.Fa,ar=S}).apply(void 0!==gr?gr:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});let ye="@firebase/firestore",ve="4.9.2-canary.d1d898f55";class l{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}}l.UNAUTHENTICATED=new l(null),l.GOOGLE_CREDENTIALS=new l("google-credentials-uid"),l.FIRST_PARTY=new l("first-party-uid"),l.MOCK_USER=new l("mock-user");let we="12.6.0-canary.d1d898f55",_e=new class{constructor(e){this.name=e,this._logLevel=ce,this._logHandler=fe,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in c))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?he[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,c.DEBUG,...e),this._logHandler(this,c.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,c.VERBOSE,...e),this._logHandler(this,c.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,c.INFO,...e),this._logHandler(this,c.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,c.WARN,...e),this._logHandler(this,c.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,c.ERROR,...e),this._logHandler(this,c.ERROR,...e)}}("@firebase/firestore");function be(){return _e.logLevel}function p(e,...t){var r;_e.logLevel<=c.DEBUG&&(r=t.map(Te),_e.debug(`Firestore (${we}): `+e,...r))}function d(e,...t){var r;_e.logLevel<=c.ERROR&&(r=t.map(Te),_e.error(`Firestore (${we}): `+e,...r))}function Ie(e,...t){var r;_e.logLevel<=c.WARN&&(r=t.map(Te),_e.warn(`Firestore (${we}): `+e,...r))}function Te(t){if("string"==typeof t)return t;try{return JSON.stringify(t)}catch(e){return t}}function E(e,t,r){let n="Unexpected state";"string"==typeof t?n=t:r=t,Ee(e,n,r)}function Ee(e,t,r){let n=`FIRESTORE (${we}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==r)try{n+=" CONTEXT: "+JSON.stringify(r)}catch(e){n+=" CONTEXT: "+r}throw d(n),new Error(n)}function y(e,t,r,n){let i="Unexpected state";"string"==typeof r?i=r:n=r,e||Ee(t,i,n)}let b={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 I extends ie{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: `+this.message}}class f{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class Se{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization","Bearer "+e)}}class xe{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(l.UNAUTHENTICATED))}shutdown(){}}class Ce{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 Ae{constructor(e){this.t=e,this.currentUser=l.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(t,r){y(void 0===this.o,42304);let n=this.i,i=e=>this.i!==n?(n=this.i,r(e)):Promise.resolve(),s=new f,a=(this.o=()=>{this.i++,this.currentUser=this.u(),s.resolve(),s=new f,t.enqueueRetryable(()=>i(this.currentUser))},()=>{let e=s;t.enqueueRetryable(async()=>{await e.promise,await i(this.currentUser)})}),o=e=>{p("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.o&&(this.auth.addAuthTokenListener(this.o),a())};this.t.onInit(e=>o(e)),setTimeout(()=>{var e;this.auth||((e=this.t.getImmediate({optional:!0}))?o(e):(p("FirebaseAuthCredentialsProvider","Auth not yet detected"),s.resolve(),s=new f))},0),a()}getToken(){let t=this.i,e=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(e).then(e=>this.i!==t?(p("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):e?(y("string"==typeof e.accessToken,31837,{l:e}),new Se(e.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(){var e=this.auth&&this.auth.getUid();return y(null===e||"string"==typeof e,2055,{h:e}),new l(e)}}class De{constructor(e,t,r){this.P=e,this.T=t,this.I=r,this.type="FirstParty",this.user=l.FIRST_PARTY,this.A=new Map}R(){return this.I?this.I():null}get headers(){this.A.set("X-Goog-AuthUser",this.P);var e=this.R();return e&&this.A.set("Authorization",e),this.T&&this.A.set("X-Goog-Iam-Authorization-Token",this.T),this.A}}class Ne{constructor(e,t,r){this.P=e,this.T=t,this.I=r}getToken(){return Promise.resolve(new De(this.P,this.T,this.I))}start(e,t){e.enqueueRetryable(()=>t(l.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class ke{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&0<e.length&&this.headers.set("x-firebase-appcheck",this.value)}}class Re{constructor(e,t){this.V=t,this.forceRefresh=!1,this.appCheck=null,this.m=null,this.p=null,Jd._isFirebaseServerApp(e)&&e.settings.appCheckToken&&(this.p=e.settings.appCheckToken)}start(t,r){y(void 0===this.o,3512);let n=e=>{null!=e.error&&p("FirebaseAppCheckTokenProvider","Error getting App Check token; using placeholder token instead. Error: "+e.error.message);var t=e.token!==this.m;return this.m=e.token,p("FirebaseAppCheckTokenProvider",`Received ${t?"new":"existing"} token.`),t?r(e.token):Promise.resolve()},i=(this.o=e=>{t.enqueueRetryable(()=>n(e))},e=>{p("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.o&&this.appCheck.addTokenListener(this.o)});this.V.onInit(e=>i(e)),setTimeout(()=>{var e;this.appCheck||((e=this.V.getImmediate({optional:!0}))?i(e):p("FirebaseAppCheckTokenProvider","AppCheck not yet detected"))},0)}getToken(){var e;return this.p?Promise.resolve(new ke(this.p)):(e=this.forceRefresh,this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(y("string"==typeof e.token,44558,{tokenResult:e}),this.m=e.token,new ke(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 Me{static newId(){var t=62*Math.floor(256/62);let r="";for(;r.length<20;){var n=(t=>{var r="undefined"!=typeof self&&(self.crypto||self.msCrypto),n=new Uint8Array(t);if(r&&"function"==typeof r.getRandomValues)r.getRandomValues(n);else for(let e=0;e<t;e++)n[e]=Math.floor(256*Math.random());return n})(40);for(let e=0;e<n.length;++e)r.length<20&&n[e]<t&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(n[e]%62))}return r}}function S(e,t){return e<t?-1:t<e?1:0}function Oe(r,n){let e=Math.min(r.length,n.length);for(let i=0;i<e;i++){let e=r.charAt(i),t=n.charAt(i);if(e!==t)return Ve(e)===Ve(t)?S(e,t):Ve(e)?1:-1}return S(r.length,n.length)}let Le=55296,Pe=57343;function Ve(e){var t=e.charCodeAt(0);return t>=Le&&t<=Pe}function Fe(e,r,n){return e.length===r.length&&e.every((e,t)=>n(e,r[t]))}function Ue(e){return e+"\0"}let Be="__name__";class qe{constructor(e,t,r){void 0===t?t=0:t>e.length&&E(637,{offset:t,range:e.length}),void 0===r?r=e.length-t:r>e.length-t&&E(1746,{length:r,range:e.length-t}),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return 0===qe.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof qe?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return this.construct(this.segments,this.offset+(e=void 0===e?1: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,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,r){let e=Math.min(t.length,r.length);for(let n=0;n<e;n++){let e=qe.compareSegments(t.get(n),r.get(n));if(0!==e)return e}return S(t.length,r.length)}static compareSegments(e,t){var r=qe.isNumericId(e),n=qe.isNumericId(t);return r&&!n?-1:!r&&n?1:r&&n?qe.extractNumericId(e).compare(qe.extractNumericId(t)):Oe(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return ge.fromString(e.substring(4,e.length-2))}}class T extends qe{construct(e,t,r){return new T(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){var t,r=[];for(t of e){if(0<=t.indexOf("//"))throw new I(b.INVALID_ARGUMENT,`Invalid segment (${t}). Paths must not contain // in them.`);r.push(...t.split("/").filter(e=>0<e.length))}return new T(r)}static emptyPath(){return new T([])}}let je=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class h extends qe{construct(e,t,r){return new h(e,t,r)}static isValidIdentifier(e){return je.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e=h.isValidIdentifier(e)?e:"`"+e+"`")).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===Be}static keyField(){return new h([Be])}static fromServerFormat(t){let e=[],r="",n=0;var i=()=>{if(0===r.length)throw new I(b.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);e.push(r),r=""};let s=!1;for(;n<t.length;){let e=t[n];if("\\"===e){if(n+1===t.length)throw new I(b.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let e=t[n+1];if("\\"!==e&&"."!==e&&"`"!==e)throw new I(b.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);r+=e,n+=2}else"`"===e?s=!s:"."!==e||s?r+=e:i(),n++}if(i(),s)throw new I(b.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new h(e)}static emptyPath(){return new h([])}}class x{constructor(e){this.path=e}static fromPath(e){return new x(T.fromString(e))}static fromName(e){return new x(T.fromString(e).popFirst(5))}static empty(){return new x(T.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return 2<=this.path.length&&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===T.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return T.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new x(new T(e.slice()))}}function ze(e,t,r){if(!r)throw new I(b.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function Ge(e,t,r,n){if(!0===t&&!0===n)throw new I(b.INVALID_ARGUMENT,e+` and ${r} cannot be used together.`)}function Ke(e){if(!x.isDocumentKey(e))throw new I(b.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function Qe(e){if(x.isDocumentKey(e))throw new I(b.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function $e(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function He(e){var t,r;return void 0===e?"undefined":null===e?"null":"string"==typeof e?(20<e.length&&(e=e.substring(0,20)+"..."),JSON.stringify(e)):"number"==typeof e||"boolean"==typeof e?""+e:"object"==typeof e?e instanceof Array?"an array":(t=(r=e).constructor?r.constructor.name:null)?`a custom ${t} object`:"an object":"function"==typeof e?"a function":E(12329,{type:typeof e})}function g(e,t){if((e="_delegate"in e?e._delegate:e)instanceof t)return e;if(t.name===e.constructor.name)throw new I(b.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");var r=He(e);throw new I(b.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: `+r)}function We(e,t){if(t<=0)throw new I(b.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)}function t(e,t){var r={typeString:e};return t&&(r.value=t),r}function Ye(e,t){if(!$e(e))throw new I(b.INVALID_ARGUMENT,"JSON must be an object");let r;for(var n in t)if(t[n]){var i=t[n].typeString,s="value"in t[n]?{value:t[n].value}:void 0;if(!(n in e)){r=`JSON missing required field: '${n}'`;break}var a=e[n];if(i&&typeof a!==i){r=`JSON field '${n}' must be a ${i}.`;break}if(void 0!==s&&a!==s.value){r=`Expected '${n}' field to equal '${s.value}'`;break}}if(r)throw new I(b.INVALID_ARGUMENT,r);return 1}let Je=-62135596800;class v{static now(){return v.fromMillis(Date.now())}static fromDate(e){return v.fromMillis(e.getTime())}static fromMillis(e){var t=Math.floor(e/1e3),r=Math.floor(1e6*(e-1e3*t));return new v(t,r)}constructor(e,t){if(this.seconds=e,(this.nanoseconds=t)<0)throw new I(b.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(1e9<=t)throw new I(b.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<Je)throw new I(b.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(253402300800<=e)throw new I(b.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?S(this.nanoseconds,e.nanoseconds):S(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:v._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(Ye(e,v._jsonSchema))return new v(e.seconds,e.nanoseconds)}valueOf(){var e=this.seconds-Je;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}v._jsonSchemaVersion="firestore/timestamp/1.0",v._jsonSchema={type:t("string",v._jsonSchemaVersion),seconds:t("number"),nanoseconds:t("number")};class w{static fromTimestamp(e){return new w(e)}static min(){return new w(new v(0,0))}static max(){return new w(new v(253402300799,999999999))}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}}let Xe=-1;class Ze{constructor(e,t,r,n){this.indexId=e,this.collectionGroup=t,this.fields=r,this.indexState=n}}function et(e){return e.fields.find(e=>2===e.kind)}function tt(e){return e.fields.filter(e=>2!==e.kind)}Ze.UNKNOWN_ID=-1;class rt{constructor(e,t){this.fieldPath=e,this.kind=t}}class nt{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new nt(0,at.min())}}function it(e,t){var r=e.toTimestamp().seconds,n=e.toTimestamp().nanoseconds+1,r=w.fromTimestamp(1e9===n?new v(r+1,0):new v(r,n));return new at(r,x.empty(),t)}function st(e){return new at(e.readTime,e.key,Xe)}class at{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new at(w.min(),x.empty(),Xe)}static max(){return new at(w.max(),x.empty(),Xe)}}function ot(e,t){var r=e.readTime.compareTo(t.readTime);return 0!==r||0!==(r=x.comparator(e.documentKey,t.documentKey))?r:S(e.largestBatchId,t.largestBatchId)}let ut="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class lt{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function ht(e){if(e.code!==b.FAILED_PRECONDITION||e.message!==ut)throw e;p("LocalStore","Unexpectedly lost primary lease")}class C{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(n,i){return this.callbackAttached&&E(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(i,this.error):this.wrapSuccess(n,this.result):new C((t,r)=>{this.nextCallback=e=>{this.wrapSuccess(n,e).next(t,r)},this.catchCallback=e=>{this.wrapFailure(i,e).next(t,r)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{var t=e();return t instanceof C?t:C.resolve(t)}catch(e){return C.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):C.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):C.reject(t)}static resolve(r){return new C((e,t)=>{e(r)})}static reject(r){return new C((e,t)=>{t(r)})}static waitFor(e){return new C((t,r)=>{let n=0,i=0,s=!1;e.forEach(e=>{++n,e.next(()=>{++i,s&&i===n&&t()},e=>r(e))}),s=!0,i===n&&t()})}static or(e){let t=C.resolve(!1);for(let r of e)t=t.next(e=>e?C.resolve(e):r());return t}static forEach(e,r){let n=[];return e.forEach((e,t)=>{n.push(r.call(this,e,t))}),this.waitFor(n)}static mapArray(o,u){return new C((r,n)=>{let i=o.length,s=new Array(i),a=0;for(let e=0;e<i;e++){let t=e;u(o[t]).next(e=>{s[t]=e,++a===i&&r(s)},e=>n(e))}})}static doWhile(n,i){return new C((e,t)=>{let r=()=>{!0===n()?i().next(()=>{r()},t):e()};r()})}}let ct="SimpleDb";class dt{static open(e,t,r,n){try{return new dt(t,e.transaction(n,r))}catch(e){throw new pt(t,e)}}constructor(r,e){this.action=r,this.transaction=e,this.aborted=!1,this.S=new f,this.transaction.oncomplete=()=>{this.S.resolve()},this.transaction.onabort=()=>{e.error?this.S.reject(new pt(r,e.error)):this.S.resolve()},this.transaction.onerror=e=>{var t=bt(e.target.error);this.S.reject(new pt(r,t))}}get D(){return this.S.promise}abort(e){e&&this.S.reject(e),this.aborted||(p(ct,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}C(){var e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){var t=this.transaction.objectStore(e);return new vt(t)}}class ft{static delete(e){return p(ct,"Removing database:",e),wt(K().indexedDB.deleteDatabase(e)).toPromise()}static v(){var e,t,r;return!(!(()=>{try{return"object"==typeof indexedDB}catch(e){}})()||!ft.F()&&(e=ee(),t=0<(t=ft.M(e))&&t<10,r=0<(r=gt(e))&&r<4.5,0<e.indexOf("MSIE ")||0<e.indexOf("Trident/")||0<e.indexOf("Edge/")||t||r))}static F(){return"undefined"!=typeof process&&"YES"===process.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static O(e,t){return e.store(t)}static M(e){var t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),t=t?t[1].split("_").slice(0,2).join("."):"-1";return Number(t)}constructor(e,t,r){this.name=e,this.version=t,this.N=r,this.B=null,12.2===ft.M(ee())&&d("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(s){return this.db||(p(ct,"Opening database:",this.name),this.db=await new Promise((r,n)=>{let i=indexedDB.open(this.name,this.version);i.onsuccess=e=>{var t=e.target.result;r(t)},i.onblocked=()=>{n(new pt(s,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},i.onerror=e=>{var t=e.target.error;"VersionError"===t.name?n(new I(b.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"===t.name?n(new I(b.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: "+t)):n(new pt(s,t))},i.onupgradeneeded=e=>{p(ct,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);var t=e.target.result;this.N.k(t,i.transaction,e.oldVersion,this.version).next(()=>{p(ct,"Database upgrade to version "+this.version+" complete")})}})),this.q&&(this.db.onversionchange=e=>this.q(e)),this.db}$(t){this.q=t,this.db&&(this.db.onversionchange=e=>t(e))}async runTransaction(r,e,n,i){var s="readonly"===e;let a=0;for(;;){++a;try{this.db=await this.L(r);let t=dt.open(this.db,r,s?"readonly":"readwrite",n),e=i(t).next(e=>(t.C(),e)).catch(e=>(t.abort(e),C.reject(e))).toPromise();return e.catch(()=>{}),await t.D,e}catch(r){let e=r,t="FirebaseError"!==e.name&&a<3;if(p(ct,"Transaction failed with error:",e.message,"Retrying:",t),this.close(),!t)return Promise.reject(e)}}}close(){this.db&&this.db.close(),this.db=void 0}}function gt(e){var t=e.match(/Android ([\d.]+)/i),t=t?t[1].split(".").slice(0,2).join("."):"-1";return Number(t)}class mt{constructor(e){this.U=e,this.K=!1,this.W=null}get isDone(){return this.K}get G(){return this.W}set cursor(e){this.U=e}done(){this.K=!0}j(e){this.W=e}delete(){return wt(this.U.delete())}}class pt extends I{constructor(e,t){super(b.UNAVAILABLE,`IndexedDB transaction '${e}' failed: `+t),this.name="IndexedDbTransactionError"}}function yt(e){return"IndexedDbTransactionError"===e.name}class vt{constructor(e){this.store=e}put(e,t){let r;return wt(r=void 0!==t?(p(ct,"PUT",this.store.name,e,t),this.store.put(t,e)):(p(ct,"PUT",this.store.name,"<auto-key>",e),this.store.put(e)))}add(e){return p(ct,"ADD",this.store.name,e,e),wt(this.store.add(e))}get(t){return wt(this.store.get(t)).next(e=>(void 0===e&&(e=null),p(ct,"GET",this.store.name,t,e),e))}delete(e){return p(ct,"DELETE",this.store.name,e),wt(this.store.delete(e))}count(){return p(ct,"COUNT",this.store.name),wt(this.store.count())}J(e,t){var 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 C((t,r)=>{e.onerror=e=>{r(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(n),r=[];return this.H(e,(e,t)=>{r.push(t)}).next(()=>r)}}Y(e,t){let n=this.store.getAll(e,null===t?void 0:t);return new C((t,r)=>{n.onerror=e=>{r(e.target.error)},n.onsuccess=e=>{t(e.target.result)}})}Z(e,t){p(ct,"DELETE ALL",this.store.name);var r=this.options(e,t),r=(r.X=!1,this.cursor(r));return this.H(r,(e,t,r)=>r.delete())}ee(e,t){let r;t?r=e:(r={},t=e);var n=this.cursor(r);return this.H(n,t)}te(i){let e=this.cursor({});return new C((r,n)=>{e.onerror=e=>{var t=bt(e.target.error);n(t)},e.onsuccess=e=>{let t=e.target.result;t?i(t.primaryKey,t.value).next(e=>{e?t.continue():r()}):r()}})}H(e,s){let a=[];return new C((i,t)=>{e.onerror=e=>{t(e.target.error)},e.onsuccess=e=>{var n=e.target.result;if(n){let t=new mt(n),r=s(n.primaryKey,n.value,t);if(r instanceof C){let e=r.catch(e=>(t.done(),C.reject(e)));a.push(e)}t.isDone?i():null===t.G?n.continue():n.continue(t.G)}else i()}}).next(()=>C.waitFor(a))}options(e,t){let r;return void 0!==e&&("string"==typeof e?r=e:t=e),{index:r,range:t}}cursor(e){let t="next";var r;return e.reverse&&(t="prev"),e.index?(r=this.store.index(e.index),e.X?r.openKeyCursor(e.range,t):r.openCursor(e.range,t)):this.store.openCursor(e.range,t)}}function wt(e){return new C((r,n)=>{e.onsuccess=e=>{var t=e.target.result;r(t)},e.onerror=e=>{var t=bt(e.target.error);n(t)}})}let _t=!1;function bt(e){let t=ft.M(ee());if(12.2<=t&&t<13){let t="An internal error was encountered in the Indexed Database server";if(0<=e.message.indexOf(t)){let e=new I("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 _t||(_t=!0,setTimeout(()=>{throw e},0)),e}}return e}let It="IndexBackfiller";class Tt{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){p(It,`Scheduled in ${e}ms`),this.task=this.asyncQueue.enqueueAfterDelay("index_backfill",e,async()=>{this.task=null;try{var e=await this.ne.ie();p(It,"Documents written: "+e)}catch(e){yt(e)?p(It,"Ignoring IndexedDB error during index backfill: ",e):await ht(e)}await this.re(6e4)})}}class Et{constructor(e,t){this.localStore=e,this.persistence=t}async ie(t=50){return this.persistence.runTransaction("Backfill Indexes","readwrite-primary",e=>this.se(e,t))}se(e,t){let r=new Set,n=t,i=!0;return C.doWhile(()=>!0===i&&0<n,()=>this.localStore.indexManager.getNextCollectionGroupToUpdate(e).next(t=>{if(null!==t&&!r.has(t))return p(It,"Processing collection: "+t),this.oe(e,t,n).next(e=>{n-=e,r.add(t)});i=!1})).next(()=>t-n)}oe(n,i,e){return this.localStore.indexManager.getMinOffsetFromCollectionGroup(n,i).next(r=>this.localStore.localDocuments.getNextDocuments(n,i,r,e).next(e=>{let t=e.changes;return this.localStore.indexManager.updateIndexEntries(n,t).next(()=>this._e(r,e)).next(e=>(p(It,"Updating offset: "+e),this.localStore.indexManager.updateCollectionGroup(n,i,e))).next(()=>t.size)}))}_e(e,t){let n=e;return t.changes.forEach((e,t)=>{var r=st(t);0<ot(r,n)&&(n=r)}),new at(n.readTime,n.documentKey,Math.max(t.batchId,e.largestBatchId))}}class St{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(){var e=++this.previousValue;return this.ue&&this.ue(e),e}}let xt=St.ce=-1;function Ct(e){return null==e}function At(e){return 0===e&&1/e==-1/0}function Dt(e){return"number"==typeof e&&Number.isInteger(e)&&!At(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}let Nt="";function kt(e){let t="";for(let r=0;r<e.length;r++)0<t.length&&(t=Rt(t)),t=((t,e)=>{let r=e,n=t.length;for(let i=0;i<n;i++){let e=t.charAt(i);switch(e){case"\0":r+="";break;case Nt:r+="";break;default:r+=e}}return r})(e.get(r),t);return Rt(t)}function Rt(e){return e+Nt+""}function Mt(r){let e=r.length;if(y(2<=e,64408,{path:r}),2===e)return y(r.charAt(0)===Nt&&""===r.charAt(1),56145,{path:r}),T.emptyPath();var __PRIVATE_lastReasonableEscapeIndex=e-2,n=[];let i="";for(let a=0;a<e;){let t=r.indexOf(Nt,a);switch((t<0||t>__PRIVATE_lastReasonableEscapeIndex)&&E(50515,{path:r}),r.charAt(t+1)){case"":var s=r.substring(a,t);let e;0===i.length?e=s:(i+=s,e=i,i=""),n.push(e);break;case"":i=i+r.substring(a,t)+"\0";break;case"":i+=r.substring(a,t+1);break;default:E(61167,{path:r})}a=t+2}return new T(n)}let Ot="remoteDocuments",Lt="owner",Pt="owner",Vt="mutationQueues",Ft="mutations",Ut="batchId",Bt="userMutationsIndex",qt=["userId","batchId"];function jt(e,t){return[e,kt(t)]}function zt(e,t,r){return[e,kt(t),r]}let Gt={},Kt="documentMutations",Qt="remoteDocumentsV14",$t=["prefixPath","collectionGroup","readTime","documentId"],Ht="documentKeyIndex",Wt=["prefixPath","collectionGroup","documentId"],Yt="collectionGroupIndex",Jt=["collectionGroup","readTime","prefixPath","documentId"],Xt="remoteDocumentGlobal",Zt="remoteDocumentGlobalKey",er="targets",tr="queryTargetsIndex",rr=["canonicalId","targetId"],nr="targetDocuments",ir=["targetId","path"],sr="documentTargetsIndex",mr=["path","targetId"],pr="targetGlobalKey",yr="targetGlobal",vr="collectionParents",wr=["collectionId","parent"],_r="clientMetadata",br="bundles",Ir="namedQueries",Tr="indexConfiguration",Er="collectionGroupIndex",Sr="indexState",xr=["indexId","uid"],Cr="sequenceNumberIndex",Ar=["uid","sequenceNumber"],Dr="indexEntries",Nr=["indexId","uid","arrayValue","directionalValue","orderedDocumentKey","documentKey"],kr="documentKeyIndex",Rr=["indexId","uid","orderedDocumentKey"],Mr="documentOverlays",Or=["userId","collectionPath","documentId"],Lr="collectionPathOverlayIndex",Pr=["userId","collectionPath","largestBatchId"],Vr="collectionGroupOverlayIndex",Fr=["userId","collectionGroup","largestBatchId"],Ur="globals",Br=[Vt,Ft,Kt,Ot,er,Lt,yr,nr,_r,Xt,vr,br,Ir],qr=[...Br,Mr],jr=[Vt,Ft,Kt,Qt,er,Lt,yr,nr,_r,Xt,vr,br,Ir,Mr],zr=jr,Gr=[...zr,Tr,Sr,Dr],Kr=Gr,Qr=[...Gr,Ur],$r=Qr;class Hr extends lt{constructor(e,t){super(),this.le=e,this.currentSequenceNumber=t}}function r(e,t){var r=e;return ft.O(r.le,t)}function Wr(e){let t=0;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function Yr(e,t){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(r,e[r])}function Jr(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class A{constructor(e,t){this.comparator=e,this.root=t||Zr.EMPTY}insert(e,t){return new A(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,Zr.BLACK,null,null))}remove(e){return new A(this.comparator,this.root.remove(e,this.comparator).copy(null,null,Zr.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){var r=this.comparator(e,t.key);if(0===r)return t.value;r<0?t=t.left:0<r&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){var n=this.comparator(e,r.key);if(0===n)return t+r.left.size;r=n<0?r.left:(t+=r.left.size+1,r.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(r){this.inorderTraversal((e,t)=>(r(e,t),!1))}toString(){let r=[];return this.inorderTraversal((e,t)=>(r.push(e+":"+t),!1)),`{${r.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new Xr(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new Xr(this.root,e,this.comparator,!1)}getReverseIterator(){return new Xr(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new Xr(this.root,e,this.comparator,!0)}}class Xr{constructor(e,t,r,n){this.isReverse=n,this.nodeStack=[];let i=1;for(;!e.isEmpty();)if(i=t?r(e.key,t):1,t&&n&&(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();var 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 0<this.nodeStack.length}peek(){var e;return 0===this.nodeStack.length?null:{key:(e=this.nodeStack[this.nodeStack.length-1]).key,value:e.value}}}class Zr{constructor(e,t,r,n,i){this.key=e,this.value=t,this.color=null!=r?r:Zr.RED,this.left=null!=n?n:Zr.EMPTY,this.right=null!=i?i:Zr.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,n,i){return new Zr(null!=e?e:this.key,null!=t?t:this.value,null!=r?r:this.color,null!=n?n: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,r){var n=this,i=r(e,n.key);return(n=i<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===i?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp()}removeMin(){if(this.left.isEmpty())return Zr.EMPTY;let e=this;return(e=(e=e.left.isRed()||e.left.left.isRed()?e:e.moveRedLeft()).copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let r,n=this;if(t(e,n.key)<0)n=(n=n.left.isEmpty()||n.left.isRed()||n.left.left.isRed()?n:n.moveRedLeft()).copy(null,null,null,n.left.remove(e,t),null);else{if(0===t(e,(n=(n=n.left.isRed()?n.rotateRight():n).right.isEmpty()||n.right.isRed()||n.right.left.isRed()?n:n.moveRedRight()).key)){if(n.right.isEmpty())return Zr.EMPTY;r=n.right.min(),n=n.copy(r.key,r.value,null,null,n.right.removeMin())}n=n.copy(null,null,null,null,n.right.remove(e,t))}return n.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e=(e=(e=e.right.isRed()&&!e.left.isRed()?e.rotateLeft():e).left.isRed()&&e.left.left.isRed()?e.rotateRight():e).left.isRed()&&e.right.isRed()?e.colorFlip():e}moveRedLeft(){let e=this.colorFlip();return e=e.right.left.isRed()?(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip():e}moveRedRight(){let e=this.colorFlip();return e=e.left.left.isRed()?(e=e.rotateRight()).colorFlip():e}rotateLeft(){var e=this.copy(null,null,Zr.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){var e=this.copy(null,null,Zr.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){var 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(){var e=this.check();return Math.pow(2,e)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw E(43730,{key:this.key,value:this.value});if(this.right.isRed())throw E(14113,{key:this.key,value:this.value});var e=this.left.check();if(e!==this.right.check())throw E(27949);return e+(this.isRed()?0:1)}}Zr.EMPTY=null,Zr.RED=!0,Zr.BLACK=!1,Zr.EMPTY=new class{constructor(){this.size=0}get key(){throw E(57766)}get value(){throw E(16141)}get color(){throw E(16727)}get left(){throw E(29726)}get right(){throw E(36894)}copy(e,t,r,n,i){return this}insert(e,t,r){return new Zr(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 D{constructor(e){this.comparator=e,this.data=new A(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(r){this.data.inorderTraversal((e,t)=>(r(e),!1))}forEachInRange(e,t){for(var r=this.data.getIteratorFrom(e[0]);r.hasNext();){var n=r.getNext();if(0<=this.comparator(n.key,e[1]))return;t(n.key)}}forEachWhile(e,t){for(var r=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){var t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new en(this.data.getIterator())}getIteratorFrom(e){return new en(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 D))return!1;if(this.size!==e.size)return!1;for(var r=this.data.getIterator(),n=e.data.getIterator();r.hasNext();){let e=r.getNext().key,t=n.getNext().key;if(0!==this.comparator(e,t))return!1}return!0}toArray(){let t=[];return this.forEach(e=>{t.push(e)}),t}toString(){let t=[];return this.forEach(e=>t.push(e)),"SortedSet("+t.toString()+")"}copy(e){var t=new D(this.comparator);return t.data=e,t}}class en{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function tn(e){return e.hasNext()?e.getNext():void 0}class rn{constructor(e){(this.fields=e).sort(h.comparator)}static empty(){return new rn([])}unionWith(e){let t=new D(h.comparator);for(let e of this.fields)t=t.add(e);for(var r of e)t=t.add(r);return new rn(t.toArray())}covers(e){for(var t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return Fe(this.fields,e.fields,(e,t)=>e.isEqual(t))}}class nn extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}class N{constructor(e){this.binaryString=e}static fromBase64String(e){var t=(e=>{try{return atob(e)}catch(e){throw"undefined"!=typeof DOMException&&e instanceof DOMException?new nn("Invalid base64 string: "+e):e}})(e);return new N(t)}static fromUint8Array(e){var t=(e=>{let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t})(e);return new N(t)}[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 e=this.binaryString,btoa(e);var e}toUint8Array(){var e=this.binaryString,t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return S(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}N.EMPTY_BYTE_STRING=new N("");let sn=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function an(t){if(y(!!t,39018),"string"!=typeof t)return{seconds:k(t.seconds),nanos:k(t.nanos)};{let e=0;var r=sn.exec(t),r=(y(!!r,46558,{timestamp:t}),r[1]&&(r=((r=r[1])+"000000000").substr(0,9),e=Number(r)),new Date(t));return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}}function k(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function on(e){return"string"==typeof e?N.fromBase64String(e):N.fromUint8Array(e)}let un="server_timestamp",ln="__type__",hn="__previous_value__",cn="__local_write_time__";function dn(e){return(e?.mapValue?.fields||{})[ln]?.stringValue===un}function fn(e){var t=e.mapValue.fields[hn];return dn(t)?fn(t):t}function gn(e){var t=an(e.mapValue.fields[cn].timestampValue);return new v(t.seconds,t.nanos)}class mn{constructor(e,t,r,n,i,s,a,o,u,l){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=n,this.ssl=i,this.forceLongPolling=s,this.autoDetectLongPolling=a,this.longPollingOptions=o,this.useFetchStreams=u,this.isUsingEmulator=l}}let pn="(default)";class yn{constructor(e,t){this.projectId=e,this.database=t||pn}static empty(){return new yn("","")}get isDefaultDatabase(){return this.database===pn}isEqual(e){return e instanceof yn&&e.projectId===this.projectId&&e.database===this.database}}let vn="__type__",wn="__max__",_n={mapValue:{fields:{__type__:{stringValue:wn}}}},bn="__vector__",In="value",Tn={nullValue:"NULL_VALUE"};function En(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?dn(e)?4:Un(e)?9007199254740991:Vn(e)?10:11:E(28295,{value:e})}function Sn(t,r){if(t===r)return!0;var n,i,s,a,o,e=En(t);if(e!==En(r))return!1;switch(e){case 0:case 9007199254740991:return!0;case 1:return t.booleanValue===r.booleanValue;case 4:return gn(t).isEqual(gn(r));case 3:return s=r,"string"==typeof(i=t).timestampValue&&"string"==typeof s.timestampValue&&i.timestampValue.length===s.timestampValue.length?i.timestampValue===s.timestampValue:(a=an(i.timestampValue),o=an(s.timestampValue),a.seconds===o.seconds&&a.nanos===o.nanos);case 5:return t.stringValue===r.stringValue;case 6:return i=r,on(t.bytesValue).isEqual(on(i.bytesValue));case 7:return t.referenceValue===r.referenceValue;case 8:return s=r,k((n=t).geoPointValue.latitude)===k(s.geoPointValue.latitude)&&k(n.geoPointValue.longitude)===k(s.geoPointValue.longitude);case 2:return n=r,"integerValue"in(l=t)&&"integerValue"in n?k(l.integerValue)===k(n.integerValue):"doubleValue"in l&&"doubleValue"in n&&((a=k(l.doubleValue))===(o=k(n.doubleValue))?At(a)===At(o):isNaN(a)&&isNaN(o));case 9:return Fe(t.arrayValue.values||[],r.arrayValue.values||[],Sn);case 10:case 11:var u=t,l=r,h=u.mapValue.fields||{},c=l.mapValue.fields||{};if(Wr(h)!==Wr(c))return!1;for(let e in h)if(h.hasOwnProperty(e)&&(void 0===c[e]||!Sn(h[e],c[e])))return!1;return!0;default:return E(52216,{left:t})}}function xn(e,t){return void 0!==(e.values||[]).find(e=>Sn(e,t))}function Cn(e,n){if(e===n)return 0;var i,s,a,o,u,l,h,c,d=En(e),t=En(n);if(d!==t)return S(d,t);switch(d){case 0:case 9007199254740991:return 0;case 1:return S(e.booleanValue,n.booleanValue);case 2:return l=n,h=k((u=e).integerValue||u.doubleValue),c=k(l.integerValue||l.doubleValue),h<c?-1:c<h?1:h===c?0:isNaN(h)?isNaN(c)?0:-1:1;case 3:return An(e.timestampValue,n.timestampValue);case 4:return An(gn(e),gn(n));case 5:return Oe(e.stringValue,n.stringValue);case 6:return u=e.bytesValue,l=n.bytesValue,h=on(u),c=on(l),h.compareTo(c);case 7:var f=e.referenceValue,g=n.referenceValue,m=f.split("/"),p=g.split("/");for(let t=0;t<m.length&&t<p.length;t++){let e=S(m[t],p[t]);if(0!==e)return e}return S(m.length,p.length);case 8:return f=e.geoPointValue,g=n.geoPointValue,0!==(o=S(k(f.latitude),k(g.latitude)))?o:S(k(f.longitude),k(g.longitude));case 9:return Dn(e.arrayValue,n.arrayValue);case 10:return y=e.mapValue,i=n.mapValue,o=y.fields||{},s=i.fields||{},o=o[In]?.arrayValue,s=s[In]?.arrayValue,0!==(a=S(o?.values?.length||0,s?.values?.length||0))?a:Dn(o,s);case 11:var y=e.mapValue,v=n.mapValue;if(y===_n.mapValue&&v===_n.mapValue)return 0;if(y===_n.mapValue)return 1;if(v===_n.mapValue)return-1;var w=y.fields||{},_=Object.keys(w),b=v.fields||{},I=Object.keys(b);_.sort(),I.sort();for(let r=0;r<_.length&&r<I.length;++r){let e=Oe(_[r],I[r]);if(0!==e)return e;var T=Cn(w[_[r]],b[I[r]]);if(0!==T)return T}return S(_.length,I.length);default:throw E(23264,{he:d})}}function An(e,t){var r,n,i;return"string"==typeof e&&"string"==typeof t&&e.length===t.length?S(e,t):(r=an(e),n=an(t),0!==(i=S(r.seconds,n.seconds))?i:S(r.nanos,n.nanos))}function Dn(e,t){var r=e.values||[],n=t.values||[];for(let i=0;i<r.length&&i<n.length;++i){let e=Cn(r[i],n[i]);if(e)return e}return S(r.length,n.length)}function Nn(e){return function s(e){return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(e=>{let t=an(e);return`time(${t.seconds},${t.nanos})`})(e.timestampValue):"stringValue"in e?e.stringValue:"bytesValue"in e?(e=>on(e).toBase64())(e.bytesValue):"referenceValue"in e?(e=>x.fromName(e).toString())(e.referenceValue):"geoPointValue"in e?(e=>`geo(${e.latitude},${e.longitude})`)(e.geoPointValue):"arrayValue"in e?(e=>{let t="[",r=!0;for(var n of e.values||[])r?r=!1:t+=",",t+=s(n);return t+"]"})(e.arrayValue):"mapValue"in e?(e=>{let t=Object.keys(e.fields||{}).sort(),r="{",n=!0;for(var i of t)n?n=!1:r+=",",r+=i+":"+s(e.fields[i]);return r+"}"})(e.mapValue):E(61005,{value:e})}(e)}function kn(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/`+t.path.canonicalString()}}function Rn(e){return!!e&&"integerValue"in e}function Mn(e){return!!e&&"arrayValue"in e}function On(e){return e&&"nullValue"in e}function Ln(e){return e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function Pn(e){return e&&"mapValue"in e}function Vn(e){return(e?.mapValue?.fields||{})[vn]?.stringValue===bn}function Fn(t){if(t.geoPointValue)return{geoPointValue:{...t.geoPointValue}};if(t.timestampValue&&"object"==typeof t.timestampValue)return{timestampValue:{...t.timestampValue}};if(t.mapValue){let r={mapValue:{fields:{}}};return Yr(t.mapValue.fields,(e,t)=>r.mapValue.fields[e]=Fn(t)),r}if(t.arrayValue){var r={arrayValue:{values:[]}};for(let e=0;e<(t.arrayValue.values||[]).length;++e)r.arrayValue.values[e]=Fn(t.arrayValue.values[e]);return r}return{...t}}function Un(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===wn}let Bn={mapValue:{fields:{[vn]:{stringValue:bn},[In]:{arrayValue:{}}}}};function qn(e,t){var r=Cn(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function jn(e,t){var r=Cn(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class zn{constructor(e){this.value=e}static empty(){return new zn({mapValue:{}})}field(r){if(r.isEmpty())return this.value;{let e=this.value;for(let t=0;t<r.length-1;++t)if(!Pn(e=(e.mapValue.fields||{})[r.get(t)]))return null;return(e=(e.mapValue.fields||{})[r.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=Fn(t)}setAll(e){let r=h.emptyPath(),n={},i=[];e.forEach((e,t)=>{if(!r.isImmediateParentOf(t)){let e=this.getFieldsMap(r);this.applyChanges(e,n,i),n={},i=[],r=t.popLast()}e?n[t.lastSegment()]=Fn(e):i.push(t.lastSegment())});var t=this.getFieldsMap(r);this.applyChanges(t,n,i)}delete(e){var t=this.field(e.popLast());Pn(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return Sn(this.value,e.value)}getFieldsMap(t){let r=this.value;r.mapValue.fields||(r.mapValue={fields:{}});for(let n=0;n<t.length;++n){let e=r.mapValue.fields[t.get(n)];Pn(e)&&e.mapValue.fields||(e={mapValue:{fields:{}}},r.mapValue.fields[t.get(n)]=e),r=e}return r.mapValue.fields}applyChanges(r,e,t){Yr(e,(e,t)=>r[e]=t);for(let e of t)delete r[e]}clone(){return new zn(Fn(this.value))}}class R{constructor(e,t,r,n,i,s,a){this.key=e,this.documentType=t,this.version=r,this.readTime=n,this.createTime=i,this.data=s,this.documentState=a}static newInvalidDocument(e){return new R(e,0,w.min(),w.min(),w.min(),zn.empty(),0)}static newFoundDocument(e,t,r,n){return new R(e,1,t,w.min(),r,n,0)}static newNoDocument(e,t){return new R(e,2,t,w.min(),w.min(),zn.empty(),0)}static newUnknownDocument(e,t){return new R(e,3,t,w.min(),w.min(),zn.empty(),2)}convertToFoundDocument(e,t){return!this.createTime.isEqual(w.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=zn.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=zn.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=w.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 R&&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 R(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}})`}}class Gn{constructor(e,t){this.position=e,this.inclusive=t}}function Kn(e,t,r){let n=0;for(let a=0;a<e.position.length;a++){var i=t[a],s=e.position[a];if(n=i.field.isKeyField()?x.comparator(x.fromName(s.referenceValue),r.key):Cn(s,r.data.field(i.field)),"desc"===i.dir&&(n*=-1),0!==n)break}return n}function Qn(e,t){if(null===e)return null===t;if(null===t)return!1;if(e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let r=0;r<e.position.length;r++)if(!Sn(e.position[r],t.position[r]))return!1;return!0}class $n{constructor(e,t="asc"){this.field=e,this.dir=t}}class Hn{}class M extends Hn{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,r):new ti(e,t,r):"array-contains"===t?new si(e,r):"in"===t?new ai(e,r):"not-in"===t?new oi(e,r):"array-contains-any"===t?new ui(e,r):new M(e,t,r)}static createKeyFieldInFilter(e,t,r){return new("in"===t?ri:ni)(e,r)}matches(e){var t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(Cn(t,this.value)):null!==t&&En(this.value)===En(t)&&this.matchesComparison(Cn(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 0<e;case">=":return 0<=e;default:return E(47266,{operator:this.op})}}isInequality(){return 0<=["<","<=",">",">=","!=","not-in"].indexOf(this.op)}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class O extends Hn{constructor(e,t){super(),this.filters=e,this.op=t,this.Pe=null}static create(e,t){return new O(e,t)}matches(t){return Wn(this)?void 0===this.filters.find(e=>!e.matches(t)):void 0!==this.filters.find(e=>e.matches(t))}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 Wn(e){return"and"===e.op}function Yn(e){return"or"===e.op}function Jn(e){return Xn(e)&&Wn(e)}function Xn(e){for(var t of e.filters)if(t instanceof O)return!1;return!0}function Zn(e,t){var r=e.filters.concat(t);return O.create(r,e.op)}function ei(e){return e instanceof M?`${(t=e).field.canonicalString()} ${t.op} `+Nn(t.value):e instanceof O?(t=e).op.toString()+" {"+t.getFilters().map(ei).join(" ,")+"}":"Filter";var t}class ti extends M{constructor(e,t,r){super(e,t,r),this.key=x.fromName(r.referenceValue)}matches(e){var t=x.comparator(e.key,this.key);return this.matchesComparison(t)}}class ri extends M{constructor(e,t){super(e,"in",t),this.keys=ii(0,t)}matches(t){return this.keys.some(e=>e.isEqual(t.key))}}class ni extends M{constructor(e,t){super(e,"not-in",t),this.keys=ii(0,t)}matches(t){return!this.keys.some(e=>e.isEqual(t.key))}}function ii(e,t){return(t.arrayValue?.values||[]).map(e=>x.fromName(e.referenceValue))}class si extends M{constructor(e,t){super(e,"array-contains",t)}matches(e){var t=e.data.field(this.field);return Mn(t)&&xn(t.arrayValue,this.value)}}class ai extends M{constructor(e,t){super(e,"in",t)}matches(e){var t=e.data.field(this.field);return null!==t&&xn(this.value.arrayValue,t)}}class oi extends M{constructor(e,t){super(e,"not-in",t)}matches(e){var t;return!xn(this.value.arrayValue,{nullValue:"NULL_VALUE"})&&null!==(t=e.data.field(this.field))&&void 0===t.nullValue&&!xn(this.value.arrayValue,t)}}class ui extends M{constructor(e,t){super(e,"array-contains-any",t)}matches(e){var t=e.data.field(this.field);return!(!Mn(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>xn(this.value.arrayValue,e))}}class li{constructor(e,t=null,r=[],n=[],i=null,s=null,a=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=n,this.limit=i,this.startAt=s,this.endAt=a,this.Te=null}}function hi(e,t=null,r=[],n=[],i=null,s=null,a=null){return new li(e,t,r,n,i,s,a)}function ci(e){var t=e;if(null===t.Te){let e=t.path.canonicalString();null!==t.collectionGroup&&(e+="|cg:"+t.collectionGroup),e=(e=(e+="|f:")+t.filters.map(e=>function t(e){var r;return e instanceof M?e.field.canonicalString()+e.op.toString()+Nn(e.value):Jn(e)?e.filters.map(e=>t(e)).join(","):(r=e.filters.map(e=>t(e)).join(","),e.op+`(${r})`)}(e)).join(",")+"|ob:")+t.orderBy.map(e=>(e=e).field.canonicalString()+e.dir).join(","),Ct(t.limit)||(e=(e+="|l:")+t.limit),t.startAt&&(e=(e=(e+="|lb:")+(t.startAt.inclusive?"b:":"a:"))+t.startAt.position.map(e=>Nn(e)).join(",")),t.endAt&&(e=(e=(e+="|ub:")+(t.endAt.inclusive?"a:":"b:"))+t.endAt.position.map(e=>Nn(e)).join(",")),t.Te=e}return t.Te}function di(e,t){if(e.limit!==t.limit)return!1;if(e.orderBy.length!==t.orderBy.length)return!1;for(let i=0;i<e.orderBy.length;i++)if(r=e.orderBy[i],n=t.orderBy[i],r.dir!==n.dir||!r.field.isEqual(n.field))return!1;var r,n;if(e.filters.length!==t.filters.length)return!1;for(let s=0;s<e.filters.length;s++)if(!function n(e,t){return e instanceof M?(r=e,(s=t)instanceof M&&r.op===s.op&&r.field.isEqual(s.field)&&Sn(r.value,s.value)):e instanceof O?(r=e,(i=t)instanceof O&&r.op===i.op&&r.filters.length===i.filters.length&&r.filters.reduce((e,t,r)=>e&&n(t,i.filters[r]),!0)):void E(19439);var i,r,s}(e.filters[s],t.filters[s]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!Qn(e.startAt,t.startAt)&&Qn(e.endAt,t.endAt)}function fi(e){return x.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function gi(e,t){return e.filters.filter(e=>e instanceof M&&e.field.isEqual(t))}function mi(e,r,n){let i=Tn,s=!0;for(let n of gi(e,r)){let e=Tn,t=!0;switch(n.op){case"<":case"<=":e="nullValue"in(a=n.value)?Tn:"booleanValue"in a?{booleanValue:!1}:"integerValue"in a||"doubleValue"in a?{doubleValue:NaN}:"timestampValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"stringValue"in a?{stringValue:""}:"bytesValue"in a?{bytesValue:""}:"referenceValue"in a?kn(yn.empty(),x.empty()):"geoPointValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"arrayValue"in a?{arrayValue:{}}:"mapValue"in a?Vn(a)?Bn:{mapValue:{}}:E(35942,{value:a});break;case"==":case"in":case">=":e=n.value;break;case">":e=n.value,t=!1;break;case"!=":case"not-in":e=Tn}qn({value:i,inclusive:s},{value:e,inclusive:t})<0&&(i=e,s=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];qn({value:i,inclusive:s},{value:e,inclusive:n.inclusive})<0&&(i=e,s=n.inclusive);break}return{value:i,inclusive:s}}function pi(e,r,n){let i=_n,s=!0;for(let n of gi(e,r)){let e=_n,t=!0;switch(n.op){case">=":case">":e="nullValue"in(a=n.value)?{booleanValue:!1}:"booleanValue"in a?{doubleValue:NaN}:"integerValue"in a||"doubleValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"timestampValue"in a?{stringValue:""}:"stringValue"in a?{bytesValue:""}:"bytesValue"in a?kn(yn.empty(),x.empty()):"referenceValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"geoPointValue"in a?{arrayValue:{}}:"arrayValue"in a?Bn:"mapValue"in a?Vn(a)?{mapValue:{}}:_n:E(61959,{value:a}),t=!1;break;case"==":case"in":case"<=":e=n.value;break;case"<":e=n.value,t=!1;break;case"!=":case"not-in":e=_n}0<jn({value:i,inclusive:s},{value:e,inclusive:t})&&(i=e,s=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];0<jn({value:i,inclusive:s},{value:e,inclusive:n.inclusive})&&(i=e,s=n.inclusive);break}return{value:i,inclusive:s}}class yi{constructor(e,t=null,r=[],n=[],i=null,s="F",a=null,o=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=i,this.limitType=s,this.startAt=a,this.endAt=o,this.Ie=null,this.Ee=null,this.de=null,this.startAt,this.endAt}}function vi(e,t,r,n,i,s,a,o){return new yi(e,t,r,n,i,s,a,o)}function wi(e){return new yi(e)}function _i(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 bi(e){return null!==e.collectionGroup}function Ii(e){let n=e;if(null===n.Ie){n.Ie=[];let t=new Set;for(var i of n.explicitOrderBy)n.Ie.push(i),t.add(i.field.canonicalString());let r=0<n.explicitOrderBy.length?n.explicitOrderBy[n.explicitOrderBy.length-1].dir:"asc",e=(e=>{let t=new D(h.comparator);return e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t})(n);e.forEach(e=>{t.has(e.canonicalString())||e.isKeyField()||n.Ie.push(new $n(e,r))}),t.has(h.keyField().canonicalString())||n.Ie.push(new $n(h.keyField(),r))}return n.Ie}function Ti(e){var t=e;return t.Ee||(t.Ee=((e,t)=>{if("F"===e.limitType)return hi(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);t=t.map(e=>{var t="desc"===e.dir?"asc":"desc";return new $n(e.field,t)});var r=e.endAt?new Gn(e.endAt.position,e.endAt.inclusive):null,n=e.startAt?new Gn(e.startAt.position,e.startAt.inclusive):null;return hi(e.path,e.collectionGroup,t,e.filters,e.limit,r,n)})(t,Ii(e))),t.Ee}function Ei(e,t){var r=e.filters.concat([t]);return new yi(e.path,e.collectionGroup,e.explicitOrderBy.slice(),r,e.limit,e.limitType,e.startAt,e.endAt)}function Si(e,t,r){return new yi(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,r,e.startAt,e.endAt)}function xi(e,t){return di(Ti(e),Ti(t))&&e.limitType===t.limitType}function Ci(e){return ci(Ti(e))+"|lt:"+e.limitType}function Ai(e){return`Query(target=${(e=>{let t=e.path.canonicalString();return null!==e.collectionGroup&&(t+=" collectionGroup="+e.collectionGroup),0<e.filters.length&&(t+=`, filters: [${e.filters.map(e=>ei(e)).join(", ")}]`),Ct(e.limit)||(t+=", limit: "+e.limit),0<e.orderBy.length&&(t+=`, orderBy: [${e.orderBy.map(e=>`${(e=e).field.canonicalString()} (${e.dir})`).join(", ")}]`),e.startAt&&(t=(t=(t+=", startAt: ")+(e.startAt.inclusive?"b:":"a:"))+e.startAt.position.map(e=>Nn(e)).join(",")),`Target(${t=e.endAt?(t=(t+=", endAt: ")+(e.endAt.inclusive?"a:":"b:"))+e.endAt.position.map(e=>Nn(e)).join(","):t})`})(Ti(e))}; limitType=${e.limitType})`}function Di(e,t){return t.isFoundDocument()&&(s=e,o=(a=t).key.path,null!==s.collectionGroup?a.key.hasCollectionId(s.collectionGroup)&&s.path.isPrefixOf(o):x.isDocumentKey(s.path)?s.path.isEqual(o):s.path.isImmediateParentOf(o))&&((e,t)=>{for(var r of Ii(e))if(!r.field.isKeyField()&&null===t.data.field(r.field))return;return 1})(e,t)&&((e,t)=>{for(var r of e.filters)if(!r.matches(t))return;return 1})(e,t)&&(a=t,!(s=e).startAt||(n=s.startAt,r=Ii(s),i=Kn(n,r,a),n.inclusive?i<=0:i<0))&&(!s.endAt||(r=s.endAt,n=Ii(s),i=Kn(r,n,a),r.inclusive?0<=i:0<i));var r,n,i,s,a,o}function Ni(e){return e.collectionGroup||(e.path.length%2==1?e.path.lastSegment():e.path.get(e.path.length-2))}function ki(e){return(t,r)=>{let n=!1;for(var i of Ii(e)){let e=((e,t,r)=>{var n=e.field.isKeyField()?x.comparator(t.key,r.key):((e,t,r)=>{var n=t.data.field(e),i=r.data.field(e);return null!==n&&null!==i?Cn(n,i):E(42886)})(e.field,t,r);switch(e.dir){case"asc":return n;case"desc":return-1*n;default:return E(19790,{direction:e.dir})}})(i,t,r);if(0!==e)return e;n=n||i.field.isKeyField()}return 0}}class Ri{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(r){let e=this.mapKeyFn(r),n=this.inner[e];if(void 0!==n)for(let[e,t]of n)if(this.equalsFn(e,r))return t}has(e){return void 0!==this.get(e)}set(t,r){var e=this.mapKeyFn(t),n=this.inner[e];if(void 0===n)this.inner[e]=[[t,r]];else{for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return void(n[e]=[t,r]);n.push([t,r])}this.innerSize++}delete(t){var r=this.mapKeyFn(t),n=this.inner[r];if(void 0!==n)for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return 1===n.length?delete this.inner[r]:n.splice(e,1),this.innerSize--,!0;return!1}forEach(n){Yr(this.inner,(e,t)=>{for(let[e,r]of t)n(e,r)})}isEmpty(){return Jr(this.inner)}size(){return this.innerSize}}let Mi=new A(x.comparator);let Oi=new A(x.comparator);function Li(...e){let t=Oi;for(var r of e)t=t.insert(r.key,r);return t}function Pi(e){let r=Oi;return e.forEach((e,t)=>r=r.insert(e,t.overlayedDocument)),r}function Vi(){return new Ri(e=>e.toString(),(e,t)=>e.isEqual(t))}let Fi=new A(x.comparator),Ui=new D(x.comparator);function L(...e){let t=Ui;for(var r of e)t=t.add(r);return t}let Bi=new D(S);function qi(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:At(t)?"-0":t}}function ji(e){return{integerValue:""+e}}function zi(e,t){return Dt(t)?ji(t):qi(e,t)}class Gi{constructor(){this._=void 0}}function Ki(e,t){return e instanceof Ji?Rn(e=t)||(e=e)&&"doubleValue"in e?t:{integerValue:0}:null}class Qi extends Gi{}class $i extends Gi{constructor(e){super(),this.elements=e}}function Hi(e,t){var r=Zi(t);for(let t of e.elements)r.some(e=>Sn(e,t))||r.push(t);return{arrayValue:{values:r}}}class Wi extends Gi{constructor(e){super(),this.elements=e}}function Yi(e,t){let r=Zi(t);for(let t of e.elements)r=r.filter(e=>!Sn(e,t));return{arrayValue:{values:r}}}class Ji extends Gi{constructor(e,t){super(),this.serializer=e,this.Ae=t}}function Xi(e){return k(e.integerValue||e.doubleValue)}function Zi(e){return Mn(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class es{constructor(e,t){this.field=e,this.transform=t}}class ts{constructor(e,t){this.version=e,this.transformResults=t}}class P{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new P}static exists(e){return new P(void 0,e)}static updateTime(e){return new P(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 rs(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class ns{}function is(e,r){if(!e.hasLocalMutations||r&&0===r.fields.length)return null;if(null===r)return e.isNoDocument()?new ds(e.key,P.none()):new os(e.key,e.data,P.none());{var n,i=e.data,s=zn.empty();let t=new D(h.comparator);for(n of r.fields)if(!t.has(n)){let e=i.field(n);null===e&&1<n.length&&(n=n.popLast(),e=i.field(n)),null===e?s.delete(n):s.set(n,e),t=t.add(n)}return new us(e.key,s,new rn(t.toArray()),P.none())}}function ss(e,t,r,n){return e instanceof os?(s=t,a=r,o=n,rs((i=e).precondition,s)?(u=i.value.clone(),l=cs(i.fieldTransforms,o,s),u.setAll(l),s.convertToFoundDocument(s.version,u).setHasLocalMutations(),null):a):e instanceof us?(i=t,o=r,s=n,rs((a=e).precondition,i)?(l=cs(a.fieldTransforms,s,i),(u=i.data).setAll(ls(a)),u.setAll(l),i.convertToFoundDocument(i.version,u).setHasLocalMutations(),null===o?null:o.unionWith(a.fieldMask.fields).unionWith(a.fieldTransforms.map(e=>e.field))):o):(n=t,t=r,rs(e.precondition,n)?(n.convertToNoDocument(n.version).setHasLocalMutations(),null):t);var i,s,a,o,u,l}function as(e,t){return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&(r=e.fieldTransforms,n=t.fieldTransforms,!!(void 0===r&&void 0===n||r&&n&&Fe(r,n,(e,t)=>(t=t,(e=e).field.isEqual(t.field)&&(e=e.transform,t=t.transform,e instanceof $i&&t instanceof $i||e instanceof Wi&&t instanceof Wi?Fe(e.elements,t.elements,Sn):e instanceof Ji&&t instanceof Ji?Sn(e.Ae,t.Ae):e instanceof Qi&&t instanceof Qi)))))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask));var r,n}class os extends ns{constructor(e,t,r,n=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=n,this.type=0}getFieldMask(){return null}}class us extends ns{constructor(e,t,r,n,i=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=n,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function ls(r){let n=new Map;return r.fieldMask.fields.forEach(e=>{var t;e.isEmpty()||(t=r.data.field(e),n.set(e,t))}),n}function hs(e,t,r){var n,i,s,a=new Map;y(e.length===r.length,32656,{Re:r.length,Ve:e.length});for(let h=0;h<r.length;h++){var o=e[h],u=o.transform,l=t.data.field(o.field);a.set(o.field,(n=u,i=l,s=r[h],n instanceof $i?Hi(n,i):n instanceof Wi?Yi(n,i):s))}return a}function cs(e,r,n){var i,s,a,o,u,l,h,c=new Map;for(i of e){let e=i.transform,t=n.data.field(i.field);c.set(i.field,(s=e,a=t,o=r,h=l=u=void 0,s instanceof Qi?(o=o,l=a,h={fields:{[ln]:{stringValue:un},[cn]:{timestampValue:{seconds:o.seconds,nanos:o.nanoseconds}}}},(l=l&&dn(l)?fn(l):l)&&(h.fields[hn]=l),{mapValue:h}):s instanceof $i?Hi(s,a):s instanceof Wi?Yi(s,a):(h=Ki(o=s,a),u=Xi(h)+Xi(o.Ae),Rn(h)&&Rn(o.Ae)?ji(u):qi(o.serializer,u))))}return c}class ds extends ns{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class fs extends ns{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class gs{constructor(e,t,r,n){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=n}applyToRemoteDocument(e,t){var r,n,i,s,a,o,u,l=t.mutationResults;for(let c=0;c<this.mutations.length;c++){var h=this.mutations[c];h.key.isEqual(e.key)&&(r=h,n=e,i=l[c],u=h=o=a=s=void 0,r instanceof os?(a=n,o=i,h=(s=r).value.clone(),u=hs(s.fieldTransforms,a,o.transformResults),h.setAll(u),a.convertToFoundDocument(o.version,h).setHasCommittedMutations()):r instanceof us?(s=n,a=i,rs((o=r).precondition,s)?(u=hs(o.fieldTransforms,s,a.transformResults),(h=s.data).setAll(ls(o)),h.setAll(u),s.convertToFoundDocument(a.version,h).setHasCommittedMutations()):s.convertToUnknownDocument(a.version)):n.convertToNoDocument(i.version).setHasCommittedMutations())}}applyToLocalView(e,t){for(var r of this.baseMutations)r.key.isEqual(e.key)&&(t=ss(r,e,t,this.localWriteTime));for(var n of this.mutations)n.key.isEqual(e.key)&&(t=ss(n,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(n,i){let s=Vi();return this.mutations.forEach(e=>{var t=n.get(e.key),r=t.overlayedDocument,t=this.applyToLocalView(r,t.mutatedFields),t=is(r,i.has(e.key)?null:t);null!==t&&s.set(e.key,t),r.isValidDocument()||r.convertToNoDocument(w.min())}),s}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),L())}isEqual(e){return this.batchId===e.batchId&&Fe(this.mutations,e.mutations,(e,t)=>as(e,t))&&Fe(this.baseMutations,e.baseMutations,(e,t)=>as(e,t))}}class ms{constructor(e,t,r,n){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=n}static from(e,t,r){y(e.mutations.length===r.length,58842,{me:e.mutations.length,fe:r.length});let n=Fi;var i=e.mutations;for(let s=0;s<i.length;s++)n=n.insert(i[s].key,r[s].version);return new ms(e,t,r,n)}}class ps{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{
|
|
15
|
+
</defs>`,i.innerText="Preview backend running in this workspace."),i.setAttribute("id",n)}"loading"===document.readyState?window.addEventListener("DOMContentLoaded",r):r()}}function ee(){return"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function te(){var e=W()?.forceEnvironment;if("node"===e)return 1;if("browser"!==e)try{return"[object process]"===Object.prototype.toString.call(global.process)}catch(e){}}function re(){return!te()&&navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function ne(){return!te()&&navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")}class ie extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,ie.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,se.prototype.create)}}class se{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var n,r=t[0]||{},i=this.service+"/"+e,s=this.errors[e],s=s?(n=r,s.replace(ae,(e,t)=>{var r=n[t];return null!=r?String(r):`<${t}?>`})):"Error",s=this.serviceName+`: ${s} (${i}).`;return new ie(i,s,r)}}let ae=/\{\$([^}]+)}/g;function oe(e,t){if(e!==t){var r,n,i=Object.keys(e),s=Object.keys(t);for(r of i){if(!s.includes(r))return!1;var a=e[r],o=t[r];if(ue(a)&&ue(o)){if(!oe(a,o))return!1}else if(a!==o)return!1}for(n of s)if(!i.includes(n))return!1}return!0}function ue(e){return null!==e&&"object"==typeof e}function _(e){return e&&e._delegate?e._delegate:e}class le{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}var c;(n=c=c||{})[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT";let he={debug:c.DEBUG,verbose:c.VERBOSE,info:c.INFO,warn:c.WARN,error:c.ERROR,silent:c.SILENT},ce=c.INFO,de={[c.DEBUG]:"log",[c.VERBOSE]:"log",[c.INFO]:"info",[c.WARN]:"warn",[c.ERROR]:"error"},fe=(e,t,...r)=>{if(!(t<e.logLevel)){var n=(new Date).toISOString(),i=de[t];if(!i)throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`);console[i](`[${n}] ${e.name}:`,...r)}};var ge,me,ar,or,ur,lr,hr,cr,dr,fr,m,pe,e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},gr=(!(function(){var e,t,s;function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.C=Array(this.blockSize),this.o=this.h=0,this.u()}function n(){}function a(e,t,r){r=r||0;var n=Array(16);if("string"==typeof t)for(var i=0;i<16;++i)n[i]=t.charCodeAt(r++)|t.charCodeAt(r++)<<8|t.charCodeAt(r++)<<16|t.charCodeAt(r++)<<24;else for(i=0;i<16;++i)n[i]=t[r++]|t[r++]<<8|t[r++]<<16|t[r++]<<24;t=e.g[0],r=e.g[1];var i=e.g[2],s=e.g[3],a=t+(s^r&(i^s))+n[0]+3614090360&4294967295;a=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=r+(a<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[1]+3905402710&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[2]+606105819&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[3]+3250441966&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[4]+4118548399&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[5]+1200080426&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[6]+2821735955&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[7]+4249261313&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[8]+1770035416&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[9]+2336552879&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[10]+4294925233&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[11]+2304563134&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[12]+1804603682&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[13]+4254626195&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[14]+2792965006&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[15]+1236535329&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^s&(r^i))+n[1]+4129170786&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[6]+3225465664&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[11]+643717713&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[0]+3921069994&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[5]+3593408605&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[10]+38016083&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[15]+3634488961&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[4]+3889429448&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[9]+568446438&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[14]+3275163606&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[3]+4107603335&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[8]+1163531501&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[13]+2850285829&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[2]+4243563512&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[7]+1735328473&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[12]+2368359562&4294967295)<<20&4294967295|a>>>12))+((a=t+(r^i^s)+n[5]+4294588738&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[8]+2272392833&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[11]+1839030562&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[14]+4259657740&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[1]+2763975236&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[4]+1272893353&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[7]+4139469664&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[10]+3200236656&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[13]+681279174&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[0]+3936430074&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[3]+3572445317&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[6]+76029189&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[9]+3654602809&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[12]+3873151461&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[15]+530742520&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[2]+3299628645&4294967295)<<23&4294967295|a>>>9))+((a=t+(i^(r|~s))+n[0]+4096336452&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[7]+1126891415&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[14]+2878612391&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[5]+4237533241&4294967295)<<21&4294967295|a>>>11))+((a=t+(i^(r|~s))+n[12]+1700485571&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[3]+2399980690&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[10]+4293915773&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[1]+2240044497&4294967295)<<21&4294967295|a>>>11))+((a=t+(i^(r|~s))+n[8]+1873313359&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[15]+4264355552&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[6]+2734768916&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[13]+1309151649&4294967295)<<21&4294967295|a>>>11))+((s=(t=r+((a=t+(i^(r|~s))+n[4]+4149444226&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[11]+3174756917&4294967295)<<10&4294967295|a>>>22))^((i=s+((a=i+(t^(s|~r))+n[2]+718787259&4294967295)<<15&4294967295|a>>>17))|~t))+n[9]+3951481745&4294967295,e.g[0]=e.g[0]+t&4294967295,e.g[1]=e.g[1]+(i+(a<<21&4294967295|a>>>11))&4294967295,e.g[2]=e.g[2]+i&4294967295,e.g[3]=e.g[3]+s&4294967295}function u(e,t){this.h=t;var r=[];let n=!0;for(let s=e.length-1;0<=s;s--){var i=0|e[s];n&&i==t||(r[s]=i,n=!1)}this.g=r}t=r,s=function(){this.blockSize=-1},n.prototype=s.prototype,t.F=s.prototype,t.prototype=new n,(t.prototype.constructor=t).D=function(e,t,r){for(var n=Array(arguments.length-2),i=2;i<arguments.length;i++)n[i-2]=arguments[i];return s.prototype[t].apply(e,n)},r.prototype.u=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0},r.prototype.v=function(e,t){var r=(t=void 0===t?e.length:t)-this.blockSize,n=this.C;let i=this.h,s=0;for(;s<t;){if(0==i)for(;s<=r;)a(this,e,s),s+=this.blockSize;if("string"==typeof e){for(;s<t;)if(n[i++]=e.charCodeAt(s++),i==this.blockSize){a(this,n),i=0;break}}else for(;s<t;)if(n[i++]=e[s++],i==this.blockSize){a(this,n),i=0;break}}this.h=i,this.o+=t},r.prototype.A=function(){var t=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);t[0]=128;for(var r=1;r<t.length-8;++r)t[r]=0;for(var r=8*this.o,n=t.length-8;n<t.length;++n)t[n]=255&r,r/=256;for(this.v(t),t=Array(16),n=r=0;n<4;++n)for(let e=0;e<32;e+=8)t[r++]=this.g[n]>>>e&255;return t};var i={};function o(e){return-128<=e&&e<128?(t=e,r=function(e){return new u([0|e],e<0?-1:0)},n=i,Object.prototype.hasOwnProperty.call(n,t)?n[t]:n[t]=r(t)):new u([0|e],e<0?-1:0);var t,r,n}function l(e){if(isNaN(e)||!isFinite(e))return h;if(e<0)return m(l(-e));var t=[];let r=1;for(let n=0;e>=r;n++)t[n]=e/r|0,r*=4294967296;return new u(t,0)}var h=o(0),c=o(1),d=o(16777216);function f(t){if(0==t.h){for(let e=0;e<t.g.length;e++)if(0!=t.g[e])return;return 1}}function g(e){return-1==e.h}function m(e){var t=e.g.length,r=[];for(let n=0;n<t;n++)r[n]=~e.g[n];return new u(r,~e.h).add(c)}function p(e,t){return e.add(m(t))}function y(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 w(e,t){if(f(t))throw Error("division by zero");if(f(e))return new v(h,h);if(g(e))return t=w(m(e),t),new v(m(t.g),m(t.h));if(g(t))return t=w(e,m(t)),new v(m(t.g),t.h);if(30<e.g.length){if(g(e)||g(t))throw Error("slowDivide_ only works with positive integers.");for(var r=c,n=t;n.l(e)<=0;)r=_(r),n=_(n);for(var i=b(r,1),s=b(n,1),n=b(n,2),r=b(r,2);!f(n);){var a=s.add(n);a.l(e)<=0&&(i=i.add(r),s=a),n=b(n,1),r=b(r,1)}return t=p(e,i.j(t)),new v(i,t)}for(i=h;0<=e.l(t);){for(r=Math.max(1,Math.floor(e.m()/t.m())),n=(n=Math.ceil(Math.log(r)/Math.LN2))<=48?1:Math.pow(2,n-48),a=(s=l(r)).j(t);g(a)||0<a.l(e);)a=(s=l(r-=n)).j(t);f(s)&&(s=c),i=i.add(s),e=p(e,a)}return new v(i,e)}function _(e){var t=e.g.length+1,r=[];for(let n=0;n<t;n++)r[n]=e.i(n)<<1|e.i(n-1)>>>31;return new u(r,e.h)}function b(e,t){var r=t>>5,n=(t%=32,e.g.length-r),i=[];for(let s=0;s<n;s++)i[s]=0<t?e.i(s+r)>>>t|e.i(s+r+1)<<32-t:e.i(s+r);return new u(i,e.h)}(e=u.prototype).m=function(){if(g(this))return-m(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){var r=this.i(n);e+=(0<=r?r:4294967296+r)*t,t*=4294967296}return e},e.toString=function(t){if((t=t||10)<2||36<t)throw Error("radix out of range: "+t);if(f(this))return"0";if(g(this))return"-"+m(this).toString(t);var r=l(Math.pow(t,6)),n=this;let i="";for(;;){var s=w(n,r).g;let e=((0<(n=p(n,s.j(r))).g.length?n.g[0]:n.h)>>>0).toString(t);if(f(n=s))return e+i;for(;e.length<6;)e="0"+e;i=e+i}},e.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},e.l=function(e){return g(e=p(this,e))?-1:f(e)?0:1},e.abs=function(){return g(this)?m(this):this},e.add=function(e){var t=Math.max(this.g.length,e.g.length),r=[];let n=0;for(let a=0;a<=t;a++){var i=n+(65535&this.i(a))+(65535&e.i(a)),s=(i>>>16)+(this.i(a)>>>16)+(e.i(a)>>>16);n=s>>>16,i&=65535,s&=65535,r[a]=s<<16|i}return new u(r,-2147483648&r[r.length-1]?-1:0)},e.j=function(t){if(f(this)||f(t))return h;if(g(this))return g(t)?m(this).j(m(t)):m(m(this).j(t));if(g(t))return m(this.j(m(t)));if(this.l(d)<0&&t.l(d)<0)return l(this.m()*t.m());for(var e=this.g.length+t.g.length,r=[],n=0;n<2*e;n++)r[n]=0;for(n=0;n<this.g.length;n++)for(let e=0;e<t.g.length;e++){var i=this.i(n)>>>16,s=65535&this.i(n),a=t.i(e)>>>16,o=65535&t.i(e);r[2*n+2*e]+=s*o,y(r,2*n+2*e),r[2*n+2*e+1]+=i*o,y(r,2*n+2*e+1),r[2*n+2*e+1]+=s*a,y(r,2*n+2*e+1),r[2*n+2*e+2]+=i*a,y(r,2*n+2*e+2)}for(t=0;t<e;t++)r[t]=r[2*t+1]<<16|r[2*t];for(t=e;t<2*e;t++)r[t]=0;return new u(r,0)},e.B=function(e){return w(this,e).h},e.and=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)&e.i(n);return new u(r,this.h&e.h)},e.or=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)|e.i(n);return new u(r,this.h|e.h)},e.xor=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)^e.i(n);return new u(r,this.h^e.h)},r.prototype.digest=r.prototype.A,r.prototype.reset=r.prototype.u,r.prototype.update=r.prototype.v,me=r,u.prototype.multiply=u.prototype.j,u.prototype.modulo=u.prototype.B,u.prototype.compare=u.prototype.l,u.prototype.toNumber=u.prototype.m,u.prototype.getBits=u.prototype.i,u.fromNumber=l,u.fromString=function e(t,r){if(0==t.length)throw Error("number format error: empty string");if((r=r||10)<2||36<r)throw Error("radix out of range: "+r);if("-"==t.charAt(0))return m(e(t.substring(1),r));if(0<=t.indexOf("-"))throw Error('number format error: interior "-" character');var n=l(Math.pow(r,8));let i=h;for(let o=0;o<t.length;o+=8){var s=Math.min(8,t.length-o),a=parseInt(t.substring(o,o+s),r);i=(s<8?(s=l(Math.pow(r,s)),i.j(s)):i=i.j(n)).add(l(a))}return i},ge=u}).apply(void 0!==e?e:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{});!(function(){var e,P=Object.defineProperty;var V=(e=>{e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof gr&&gr];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")})(this);function F(e,t){if(t)e:{var r=V;e=e.split(".");for(var n=0;n<e.length-1;n++){var i=e[n];if(!(i in r))break e;r=r[i]}(t=t(n=r[e=e[e.length-1]]))!=n&&null!=t&&P(r,e,{configurable:!0,writable:!0,value:t})}}F("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),F("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),F("Object.entries",function(e){return e||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.push([t,e[t]]);return r}});var U=U||{},D=this||self;function d(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function B(e,t,r){return e.call.apply(e.bind,arguments)}function y(e,t,r){return(y=B).apply(null,arguments)}function q(t){var r=Array.prototype.slice.call(arguments,1);return function(){var e=r.slice();return e.push.apply(e,arguments),t.apply(this,e)}}function t(e,s){function t(){}t.prototype=s.prototype,e.Z=s.prototype,e.prototype=new t,(e.prototype.constructor=e).Ob=function(e,t,r){for(var n=Array(arguments.length-2),i=2;i<arguments.length;i++)n[i-2]=arguments[i];return s.prototype[t].apply(e,n)}}var j="undefined"!=typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function z(t){var r=t.length;if(0<r){var n=Array(r);for(let e=0;e<r;e++)n[e]=t[e];return n}return[]}function G(t){for(let e=1;e<arguments.length;e++){var r=arguments[e];if("array"==(n="object"!=(n=typeof r)?n:r?Array.isArray(r)?"array":n:"null")||"object"==n&&"number"==typeof r.length){var n=t.length||0,i=r.length||0;t.length=n+i;for(let e=0;e<i;e++)t[n+e]=r[e]}else t.push(r)}}var K=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return 0<this.h?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new Q,e=>e.reset());class Q{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 r,n=!1,$=new class{constructor(){this.h=this.g=null}add(e,t){var r=K.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r}},H=()=>{let e=Promise.resolve(void 0);r=()=>{e.then(W)}};function W(){for(var e;e=(()=>{let e=$,t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t})();){try{e.h.call(e.g)}catch(e){(e=>{D.setTimeout(()=>{throw e},0)})(e)}var t=K;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}n=!1}function i(){this.u=this.u,this.C=this.C}function o(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}i.prototype.u=!1,i.prototype.dispose=function(){this.u||(this.u=!0,this.N())},i.prototype[Symbol.dispose]=function(){this.dispose()},i.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},o.prototype.h=function(){this.defaultPrevented=!0};var Y=(()=>{if(!D.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{var r=()=>{};D.addEventListener("test",r,t),D.removeEventListener("test",r,t)}catch(e){}return e})();function N(e){return/^[\s\xa0]*$/.test(e)}function s(e,t){o.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)}t(s,o),s.prototype.init=function(e,t){var r=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,(t=e.relatedTarget)||("mouseover"==r?t=e.fromElement:"mouseout"==r&&(t=e.toElement)),this.relatedTarget=t,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.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).defaultPrevented&&s.Z.h.call(this)},s.prototype.h=function(){s.Z.h.call(this);var e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var u="closure_listenable_"+(1e6*Math.random()|0),J=0;function X(e,t,r,n,i){this.listener=e,this.proxy=null,this.src=t,this.type=r,this.capture=!!n,this.ha=i,this.key=++J,this.da=this.fa=!1}function Z(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function ee(e,t,r){for(var n in e)t.call(r,e[n],n,e)}function te(e){var t,r={};for(t in e)r[t]=e[t];return r}let re="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function ne(t){let r,n;for(let i=1;i<arguments.length;i++){for(r in n=arguments[i])t[r]=n[r];for(let e=0;e<re.length;e++)r=re[e],Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}}function ie(e){this.src=e,this.g={},this.h=0}function se(e,t){var r,n,i,s=t.type;s in e.g&&(r=e.g[s],(i=0<=(n=Array.prototype.indexOf.call(r,t,void 0)))&&Array.prototype.splice.call(r,n,1),i)&&(Z(t),0==e.g[s].length)&&(delete e.g[s],e.h--)}function ae(e,t,r,n){for(let s=0;s<e.length;++s){var i=e[s];if(!i.da&&i.listener==t&&i.capture==!!r&&i.ha==n)return s}return-1}ie.prototype.add=function(e,t,r,n,i){var s=e.toString(),a=((e=this.g[s])||(e=this.g[s]=[],this.h++),ae(e,t,n,i));return-1<a?(t=e[a],r||(t.fa=!1)):((t=new X(t,this.src,s,!!n,i)).fa=r,e.push(t)),t};var oe="closure_lm_"+(1e6*Math.random()|0),ue={};function le(t,r,n,i,s){if(i&&i.once)return function t(r,n,i,s,a){if(Array.isArray(n)){for(let e=0;e<n.length;e++)t(r,n[e],i,s,a);return null}i=pe(i);return r&&r[u]?r.K(n,i,d(s)?!!s.capture:!!s,a):he(r,n,i,!0,s,a)}(t,r,n,i,s);if(Array.isArray(r)){for(let e=0;e<r.length;e++)le(t,r[e],n,i,s);return null}return n=pe(n),t&&t[u]?t.J(r,n,d(i)?!!i.capture:!!i,s):he(t,r,n,!1,i,s)}function he(e,t,r,n,i,s){if(!t)throw Error("Invalid event type");var a=d(i)?!!i.capture:!!i;let o=ge(e);if(o||(e[oe]=o=new ie(e)),!(r=o.add(t,r,n,a,s)).proxy)if(n=(()=>{let r=fe;return function e(t){return r.call(e.src,e.listener,t)}})(),(r.proxy=n).src=e,n.listener=r,e.addEventListener)void 0===(i=Y?i:a)&&(i=!1),e.addEventListener(t.toString(),n,i);else if(e.attachEvent)e.attachEvent(de(t.toString()),n);else{if(!e.addListener||!e.removeListener)throw Error("addEventListener and attachEvent are unavailable.");e.addListener(n)}return r}function ce(e){var t,r,n;"number"!=typeof e&&e&&!e.da&&((t=e.src)&&t[u]?se(t.i,e):(r=e.type,n=e.proxy,t.removeEventListener?t.removeEventListener(r,n,e.capture):t.detachEvent?t.detachEvent(de(r),n):t.addListener&&t.removeListener&&t.removeListener(n),(r=ge(t))?(se(r,e),0==r.h&&(r.src=null,t[oe]=null)):Z(e)))}function de(e){return e in ue?ue[e]:ue[e]="on"+e}function fe(e,t){var r,n;return e=!!e.da||(t=new s(t,this),r=e.listener,n=e.ha||e.src,e.fa&&ce(e),r.call(n,t))}function ge(e){return(e=e[oe])instanceof ie?e:null}var me="__closure_events_fn_"+(1e9*Math.random()>>>0);function pe(t){return"function"==typeof t?t:(t[me]||(t[me]=function(e){return t.handleEvent(e)}),t[me])}function a(){i.call(this),this.i=new ie(this),(this.M=this).G=null}function l(e,t){var r,n,i=e.G;if(i)for(r=[];i;i=i.G)r.push(i);e=e.M,i=t.type||t,"string"==typeof t?t=new o(t,e):t instanceof o?t.target=t.target||e:(n=t,ne(t=new o(i,e),n)),n=!0;let s,a;if(r)for(a=r.length-1;0<=a;a--)n=ye(s=t.g=r[a],i,!0,t)&&n;if(n=ye(s=t.g=e,i,!0,t)&&n,n=ye(s,i,!1,t)&&n,r)for(a=0;a<r.length;a++)n=ye(s=t.g=r[a],i,!1,t)&&n}function ye(e,t,r,n){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let i=!0;for(let u=0;u<t.length;++u){var s,a,o=t[u];o&&!o.da&&o.capture==r&&(s=o.listener,a=o.ha||o.src,o.fa&&se(e.i,o),i=!1!==s.call(a,n)&&i)}return i&&!n.defaultPrevented}function ve(e){e.g=((e,t)=>{if("function"!=typeof e){if(!e||"function"!=typeof e.handleEvent)throw Error("Invalid listener argument");e=y(e.handleEvent,e)}return 2147483647<Number(t)?-1:D.setTimeout(e,t||0)})(()=>{e.g=null,e.i&&(e.i=!1,ve(e))},e.l);var t=e.h;e.h=null,e.m.apply(null,t)}t(a,i),a.prototype[u]=!0,a.prototype.removeEventListener=function(e,t,r,n){!function e(t,r,n,i,s){if(Array.isArray(r))for(var a=0;a<r.length;a++)e(t,r[a],n,i,s);else i=d(i)?!!i.capture:!!i,n=pe(n),t&&t[u]?(t=t.i,(a=String(r).toString())in t.g&&-1<(n=ae(r=t.g[a],n,i,s))&&(Z(r[n]),Array.prototype.splice.call(r,n,1),0==r.length)&&(delete t.g[a],t.h--)):(t=t&&ge(t))&&(r=t.g[r.toString()],n=(t=-1)<(t=r?ae(r,n,i,s):t)?r[t]:null)&&ce(n)}(this,e,t,r,n)},a.prototype.N=function(){if(a.Z.N.call(this),this.i){var t,r=this.i;for(t in r.g){var n=r.g[t];for(let e=0;e<n.length;e++)Z(n[e]);delete r.g[t],r.h--}}this.G=null},a.prototype.J=function(e,t,r,n){return this.i.add(String(e),t,!1,r,n)},a.prototype.K=function(e,t,r,n){return this.i.add(String(e),t,!0,r,n)};class we extends i{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:ve(this)}N(){super.N(),this.g&&(D.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function h(e){i.call(this),this.h=e,this.g={}}t(h,i);var _e=[];function be(e){ee(e.g,function(e,t){this.g.hasOwnProperty(t)&&ce(e)},e),e.g={}}h.prototype.N=function(){h.Z.N.call(this),be(this)},h.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var Ie=D.JSON.stringify,Te=D.JSON.parse,Ee=class{stringify(e){return D.JSON.stringify(e,void 0)}parse(e){return D.JSON.parse(e,void 0)}};function Se(){}function xe(){}var Ce={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function Ae(){o.call(this,"d")}function De(){o.call(this,"c")}t(Ae,o),t(De,o);var c={},Ne=null;function ke(){return Ne=Ne||new a}function Re(e){o.call(this,c.Ia,e)}function Me(){var e=ke();l(e,new Re(e))}function Oe(e,t){o.call(this,c.STAT_EVENT,e),this.stat=t}function k(e){var t=ke();l(t,new Oe(t,e))}function Le(e,t){o.call(this,c.Ja,e),this.size=t}function v(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return D.setTimeout(function(){e()},t)}function f(){this.g=!0}function R(e,t,r,n){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+((e,t)=>{if(!e.g)return t;if(!t)return null;try{var r=JSON.parse(t);if(r)for(e=0;e<r.length;e++)if(Array.isArray(r[e])){var n=r[e];if(!(n.length<2)){var i=n[1];if(Array.isArray(i)&&!(i.length<1)){var s=i[0];if("noop"!=s&&"stop"!=s&&"close"!=s)for(let e=1;e<i.length;e++)i[e]=""}}}return Ie(r)}catch(e){return t}})(e,r)+(n?" "+n:"")})}c.Ia="serverreachability",t(Re,o),c.STAT_EVENT="statevent",t(Oe,o),c.Ja="timingevent",t(Le,o),f.prototype.ua=function(){this.g=!1},f.prototype.info=function(){};var Pe={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},Ve={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function Fe(){}function g(e){return encodeURIComponent(String(e))}function m(e,t,r,n){this.j=e,this.i=t,this.l=r,this.S=n||1,this.V=new h(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 Ue}function Ue(){this.i=null,this.g="",this.h=!1}t(Fe,Se),Fe.prototype.g=function(){return new XMLHttpRequest};var Be=new Fe,qe={},je={};function ze(e,t,r){e.M=1,e.A=ot(w(t)),e.u=r,e.R=!0,Ge(e,null)}function Ge(e,t){e.F=Date.now(),Qe(e),e.B=w(e.A);var a,o,u,l,h,c,r=e.B,n=e.S,i=(Array.isArray(n)||(n=[String(n)]),_t(r.i,"t",n),e.C=0,r=e.j.L,e.h=new Ue,e.g=tr(e.j,r?t:null,!e.u),0<e.P&&(e.O=new we(y(e.Y,e,e.g),e.P)),t=e.V,r=e.g,n=e.ba,"readystatechange");Array.isArray(i)||(i&&(_e[0]=i.toString()),i=_e);for(let d=0;d<i.length;d++){var s=le(r,i[d],n||t.handleEvent,!1,t.h||t);if(!s)break;t.g[s.key]=s}t=e.J?te(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)),Me(),a=e.i,o=e.v,u=e.B,l=e.l,h=e.S,c=e.u,a.info(function(){if(a.g)if(c){var t="",r=c.split("&");for(let e=0;e<r.length;e++){var n,i,s=r[e].split("=");1<s.length&&(n=s[0],s=s[1],t=2<=(i=n.split("_")).length&&"type"==i[1]?t+(n+"=")+s+"&":t+(n+"=redacted&"))}}else t=null;else t=c;return"XMLHTTP REQ ("+l+") [attempt "+h+"]: "+o+"\n"+u+"\n"+t})}function Ke(e){return e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function Qe(e){e.T=Date.now()+e.H,$e(e,e.H)}function $e(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=v(y(e.aa,e),t)}function He(e){e.D&&(D.clearTimeout(e.D),e.D=null)}function M(e){0==e.j.I||e.K||Jt(e.j,e)}function O(e){He(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,be(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dispose())}function We(e,t){try{var r=e.j;if(0!=r.I&&(r.g==e||et(r.h,e)))if(!e.L&&et(r.h,e)&&3==r.I){try{var n=r.Ba.g.parse(t)}catch(e){n=null}if(Array.isArray(n)&&3==n.length){var i=n;if(0==i[0]){e:if(!r.v){if(r.g){if(!(r.g.F+3e3<e.F))break e;Yt(r),Bt(r)}$t(r),k(18)}}else r.xa=i[1],0<r.xa-r.K&&i[2]<37500&&r.F&&0==r.A&&!r.C&&(r.C=v(y(r.Va,r),6e3));Ze(r.h)<=1&&r.ta&&(r.ta=void 0)}else x(r,11)}else if(!e.L&&r.g!=e||Yt(r),!N(t))for(i=r.Ba.g.parse(t),t=0;t<i.length;t++){var s,a,o,u,l,h,c,d,f,g,m=i[t],p=m[0];p<=r.K||(r.K=p,m=m[1],2==r.I?"c"==m[0]?(r.M=m[1],r.ba=m[2],null!=(s=m[3])&&(r.ka=s,r.j.info("VER="+r.ka)),null!=(a=m[4])&&(r.za=a,r.j.info("SVER="+r.za)),null!=(o=m[5])&&"number"==typeof o&&0<o&&(n=1.5*o,r.O=n,r.j.info("backChannelRequestTimeoutMs_="+n)),n=r,(u=e.g)&&(!(l=u.g?u.g.getResponseHeader("X-Client-Wire-Protocol"):null)||(h=n.h).g||-1==l.indexOf("spdy")&&-1==l.indexOf("quic")&&-1==l.indexOf("h2")||(h.j=h.l,h.g=new Set,h.h&&(tt(h,h.h),h.h=null)),n.G)&&(c=u.g?u.g.getResponseHeader("X-HTTP-Session-Id"):null)&&(n.wa=c,b(n.J,n.G,c)),r.I=3,r.l&&r.l.ra(),r.aa&&(r.T=Date.now()-e.F,r.j.info("Handshake RTT: "+r.T+"ms")),d=e,(n=r).na=er(n,n.L?n.ba:null,n.W),d.L?(rt(n.h,d),f=d,(g=n.O)&&(f.H=g),f.D&&(He(f),Qe(f)),n.g=d):Qt(n),0<r.i.length&&jt(r)):"stop"!=m[0]&&"close"!=m[0]||x(r,7):3==r.I&&("stop"==m[0]||"close"==m[0]?"stop"==m[0]?x(r,7):Ut(r):"noop"!=m[0]&&r.l&&r.l.qa(m),r.A=0))}Me()}catch(e){}}m.prototype.ba=function(e){e=e.target;var t=this.O;t&&3==L(e)?t.j():this.Y(e)},m.prototype.Y=function(e){try{if(e==this.g)e:{var t=L(this.g),r=this.g.ya();this.g.ca();if(!(t<3)&&(3!=t||this.g&&(this.h.h||this.g.la()||Pt(this.g)))){this.K||4!=t||7==r||Me(),He(this);var n,i,s=this.g.ca(),a=(this.X=s,(e=>{if(!Ke(e))return e.g.la();var t=Pt(e.g);if(""===t)return"";let r="",n=t.length,i=4==L(e.g);if(!e.h.i){if("undefined"==typeof TextDecoder)return O(e),M(e),"";e.h.i=new D.TextDecoder}for(let s=0;s<n;s++)e.h.h=!0,r+=e.h.i.decode(t[s],{stream:!(i&&s==n-1)});return t.length=0,e.h.g+=r,e.C=0,e.h.g})(this));if(this.o=200==s,I=this.i,T=this.v,E=this.B,S=this.l,x=this.S,C=t,A=s,I.info(function(){return"XMLHTTP RESP ("+S+") [ attempt "+x+"]: "+T+"\n"+E+"\n"+C+" "+A}),this.o){if(this.U&&!this.L){t:{if(this.g){var o,u=this.g;if((o=u.g?u.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!N(o)){var l=o;break t}}l=null}if(!(e=l)){this.o=!1,this.m=3,k(12),O(this),M(this);break e}R(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,We(this,e)}if(this.R){for(e=!0;!this.K&&this.C<a.length;){if(w=a,b=_=void 0,_=(v=this).C,(n=-1==(b=w.indexOf("\n",_))?je:(_=Number(w.substring(_,b)),isNaN(_)?qe:(b+=1)+_>w.length?je:(w=w.slice(b,b+_),v.C=b+_,w)))==je){4==t&&(this.m=4,k(14),e=!1),R(this.i,this.l,null,"[Incomplete Response]");break}if(n==qe){this.m=4,k(15),R(this.i,this.l,a,"[Invalid Chunk]"),e=!1;break}R(this.i,this.l,n,null),We(this,n)}Ke(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=t||0!=a.length||this.h.h||(this.m=1,k(16),e=!1),this.o=this.o&&e,e?0<a.length&&!this.W&&(this.W=!0,(i=this.j).g==this)&&i.aa&&!i.P&&(i.j.info("Great, no buffering proxy detected. Bytes received: "+a.length),Ht(i),i.P=!0,k(11)):(R(this.i,this.l,a,"[Invalid Chunked Response]"),O(this),M(this))}else R(this.i,this.l,a,null),We(this,a);4==t&&O(this),this.o&&!this.K&&(4==t?Jt(this.j,this):(this.o=!1,Qe(this)))}else{{var h=this.g;var c,d,f,g={};h=(h.g&&2<=L(h)&&h.g.getAllResponseHeaders()||"").split("\r\n");for(let e=0;e<h.length;e++)N(h[e])||(c=(e=>{for(var t=1,r=(e=e.split(":"),[]);0<t&&e.length;)r.push(e.shift()),t--;return e.length&&r.push(e.join(":")),r})(h[e]),d=c[0],"string"==typeof(c=c[1])&&(c=c.trim(),f=g[d]||[],(g[d]=f).push(c)));var m,p=g,y=function(e){return e.join(", ")};for(m in p)y.call(void 0,p[m],m,p)}400==s&&0<a.indexOf("Unknown SID")?(this.m=3,k(12)):(this.m=0,k(13)),O(this),M(this)}}}}catch(e){}var v,w,_,b,I,T,E,S,x,C,A},m.prototype.cancel=function(){this.K=!0,O(this)},m.prototype.aa=function(){this.D=null;var e,t,r=Date.now();0<=r-this.T?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(Me(),k(17)),O(this),this.m=2,M(this)):$e(this,this.T-r)};var Ye=class{constructor(e,t){this.g=e,this.map=t}};function Je(e){this.l=e||10,e=D.PerformanceNavigationTiming?0<(e=D.performance.getEntriesByType("navigation")).length&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(D.chrome&&D.chrome.loadTimes&&D.chrome.loadTimes()&&D.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function Xe(e){return e.h||e.g&&e.g.size>=e.j}function Ze(e){return e.h?1:e.g?e.g.size:0}function et(e,t){return e.h?e.h==t:e.g&&e.g.has(t)}function tt(e,t){e.g?e.g.add(t):e.h=t}function rt(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function nt(t){if(null!=t.h)return t.i.concat(t.h.G);if(null==t.g||0===t.g.size)return z(t.i);{let e=t.i;for(var r of t.g.values())e=e.concat(r.G);return e}}Je.prototype.cancel=function(){if(this.i=nt(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(var e of this.g.values())e.cancel();this.g.clear()}};var it=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function p(e){this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1;let t;e instanceof p?(this.l=e.l,_(this,e.j),this.o=e.o,this.g=e.g,st(this,e.u),this.h=e.h,at(this,bt(e.i)),this.m=e.m):e&&(t=String(e).match(it))?(this.l=!1,_(this,t[1]||"",!0),this.o=ut(t[2]||""),this.g=ut(t[3]||"",!0),st(this,t[4]),this.h=ut(t[5]||"",!0),at(this,t[6]||"",!0),this.m=ut(t[7]||"")):(this.l=!1,this.i=new pt(null,this.l))}function w(e){return new p(e)}function _(e,t,r){e.j=r?ut(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function st(e,t){if(t){if(t=Number(t),isNaN(t)||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function at(e,t,r){var n,i;t instanceof pt?(e.i=t,n=e.i,(i=e.l)&&!n.j&&(I(n),n.i=null,n.g.forEach(function(e,t){var r=t.toLowerCase();t!=r&&(yt(this,t),_t(this,r,e))},n)),n.j=i):(r||(t=lt(t,gt)),e.i=new pt(t,e.l))}function b(e,t,r){e.i.set(t,r)}function ot(e){return b(e,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),e}function ut(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function lt(e,t,r){return"string"==typeof e?(e=encodeURI(e).replace(t,ht),e=r?e.replace(/%25([0-9a-fA-F]{2})/g,"%$1"):e):null}function ht(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}p.prototype.toString=function(){var e=[],t=this.j,r=(t&&e.push(lt(t,ct,!0),":"),this.g);return!r&&"file"!=t||(e.push("//"),(t=this.o)&&e.push(lt(t,ct,!0),"@"),e.push(g(r).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null==(r=this.u))||e.push(":",String(r)),(r=this.h)&&(this.g&&"/"!=r.charAt(0)&&e.push("/"),e.push(lt(r,"/"==r.charAt(0)?ft:dt,!0))),(r=this.i.toString())&&e.push("?",r),(r=this.m)&&e.push("#",lt(r,mt)),e.join("")},p.prototype.resolve=function(e){var t=w(this);let r=!!e.j;r?_(t,e.j):r=!!e.o,r?t.o=e.o:r=!!e.g,r?t.g=e.g:r=null!=e.u;var n=e.h;if(r)st(t,e.u);else if(r=!!e.h)if("/"!=n.charAt(0)&&(this.g&&!this.h?n="/"+n:-1!=(i=t.h.lastIndexOf("/"))&&(n=t.h.slice(0,i+1)+n)),".."==(i=n)||"."==i)n="";else if(-1!=i.indexOf("./")||-1!=i.indexOf("/.")){var n=0==i.lastIndexOf("/",0),i=i.split("/"),s=[];for(let e=0;e<i.length;){var a=i[e++];"."==a?n&&e==i.length&&s.push(""):".."==a?((1<s.length||1==s.length&&""!=s[0])&&s.pop(),n&&e==i.length&&s.push("")):(s.push(a),n=!0)}n=s.join("/")}else n=i;return r?t.h=n:r=""!==e.i.toString(),r?at(t,bt(e.i)):r=!!e.m,r&&(t.m=e.m),t};var ct=/[#\/\?@]/g,dt=/[#\?:]/g,ft=/[#\?]/g,gt=/[#\?@]/g,mt=/#/g;function pt(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function I(r){if(!r.g&&(r.g=new Map,r.h=0,r.i)){var n=r.i,i=function(e,t){r.add(decodeURIComponent(e.replace(/\+/g," ")),t)};if(n){n=n.split("&");for(let r=0;r<n.length;r++){var s=n[r].indexOf("=");let e,t=null;0<=s?(e=n[r].substring(0,s),t=n[r].substring(s+1)):e=n[r],i(e,t?decodeURIComponent(t.replace(/\+/g," ")):"")}}}}function yt(e,t){I(e),t=T(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function vt(e,t){return I(e),t=T(e,t),e.g.has(t)}function wt(e,t){I(e);let r=[];if("string"==typeof t)vt(e,t)&&(r=r.concat(e.g.get(T(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)r=r.concat(e[t]);return r}function _t(e,t,r){yt(e,t),0<r.length&&(e.i=null,e.g.set(T(e,t),z(r)),e.h+=r.length)}function bt(e){var t=new pt;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function T(e,t){return t=String(t),t=e.j?t.toLowerCase():t}function E(e,t,r,n,i){try{i&&(i.onload=null,i.onerror=null,i.onabort=null,i.ontimeout=null),n(r)}catch(e){}}function It(){this.g=new Ee}function Tt(e){this.i=e.Sb||null,this.h=e.ab||!1}function Et(e,t){a.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 St(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function xt(e){e.readyState=4,e.l=null,e.j=null,e.B=null,Ct(e)}function Ct(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function At(e){let r="";return ee(e,function(e,t){r=(r=r+t+":")+e+"\r\n"}),r}function Dt(e,t,r){e:{for(n in r){var n=!1;break e}n=!0}n||(r=At(r),"string"==typeof e?null!=r&&g(r):b(e,t,r))}function S(e){a.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}(e=pt.prototype).add=function(e,t){I(this),this.i=null,e=T(this,e);let r=this.g.get(e);return r||this.g.set(e,r=[]),r.push(t),this.h+=1,this},e.forEach=function(r,n){I(this),this.g.forEach(function(e,t){e.forEach(function(e){r.call(n,e,t,this)},this)},this)},e.set=function(e,t){return I(this),this.i=null,vt(this,e=T(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},e.get=function(e,t){return e&&0<(e=wt(this,e)).length?String(e[0]):t},e.toString=function(){if(this.i)return this.i;if(!this.g)return"";var r=[],e=Array.from(this.g.keys());for(let s=0;s<e.length;s++){var n=g(i=e[s]),i=wt(this,i);for(let t=0;t<i.length;t++){let e=n;""!==i[t]&&(e+="="+g(i[t])),r.push(e)}}return this.i=r.join("&")},t(Tt,Se),Tt.prototype.g=function(){return new Et(this.i,this.h)},t(Et,a),(e=Et.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,Ct(this)},e.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;var t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||D).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},e.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(()=>{}),1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,xt(this)),this.readyState=0},e.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,Ct(this)),this.g)&&(this.readyState=3,Ct(this),this.g))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==D.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;St(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},e.Ma=function(e){var t;this.g&&(this.o&&e.value?this.response.push(e.value):!this.o&&(t=e.value||new Uint8Array(0),t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t),(e.done?xt:Ct)(this),3==this.readyState)&&St(this)},e.Oa=function(e){this.g&&(this.response=this.responseText=e,xt(this))},e.Na=function(e){this.g&&(this.response=e,xt(this))},e.ga=function(){this.g&&xt(this)},e.setRequestHeader=function(e,t){this.A.append(e,t)},e.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},e.getAllResponseHeaders=function(){if(!this.h)return"";for(var e=[],t=this.h.entries(),r=t.next();!r.done;)r=r.value,e.push(r[0]+": "+r[1]),r=t.next();return e.join("\r\n")},Object.defineProperty(Et.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),t(S,a);var Nt=/^https?$/i,kt=["POST","PUT"];function Rt(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,Mt(e),Lt(e)}function Mt(e){e.A||(e.A=!0,l(e,"complete"),l(e,"error"))}function Ot(t){if(t.h&&void 0!==U)if(t.v&&4==L(t))setTimeout(t.Ca.bind(t),0);else if(l(t,"readystatechange"),4==L(t)){t.h=!1;try{var e,r,n=t.ca();switch(n){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var i=!0;break;default:i=!1}if(!(e=i)){if(r=0===n){let e=String(t.D).match(it)[1]||null;!e&&D.self&&D.self.location&&(e=D.self.location.protocol.slice(0,-1)),r=!Nt.test(e?e.toLowerCase():"")}e=r}if(e)l(t,"complete"),l(t,"success");else{t.o=6;try{var s=2<L(t)?t.g.statusText:""}catch(e){s=""}t.l=s+" ["+t.ca()+"]",Mt(t)}}finally{Lt(t)}}}function Lt(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);var r=e.g;e.g=null,t||l(e,"ready");try{r.onreadystatechange=null}catch(e){}}}function L(e){return e.g?e.g.readyState:0}function Pt(e){try{if(e.g){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}}function Vt(e,t,r){return r&&r.internalChannelParams&&r.internalChannelParams[e]||t}function Ft(e){this.za=0,this.i=[],this.j=new f,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=Vt("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=Vt("baseRetryDelayMs",5e3,e),this.Za=Vt("retryDelaySeedMs",1e4,e),this.Ta=Vt("forwardChannelMaxRetries",2,e),this.va=Vt("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 Je(e&&e.concurrentRequestLimit),this.Ba=new It,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&&0<e.longPollingTimeout&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function Ut(e){if(qt(e),3==e.I){var t=e.V++,r=w(e.J);if(b(r,"SID",e.M),b(r,"RID",t),b(r,"TYPE","terminate"),Gt(e,r),(t=new m(e,e.j,t)).M=2,t.A=ot(w(r)),r=!1,D.navigator&&D.navigator.sendBeacon)try{r=D.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!r&&D.Image&&((new Image).src=t.A,r=!0),r||(t.g=tr(t.j,null),t.g.ea(t.A)),t.F=Date.now(),Qe(t)}Zt(e)}function Bt(e){e.g&&(Ht(e),e.g.cancel(),e.g=null)}function qt(e){Bt(e),e.v&&(D.clearTimeout(e.v),e.v=null),Yt(e),e.h.cancel(),e.m&&("number"==typeof e.m&&D.clearTimeout(e.m),e.m=null)}function jt(e){var t;Xe(e.h)||e.m||(e.m=!0,t=e.Ea,r||H(),n||(r(),n=!0),$.add(t,e),e.D=0)}function zt(e,t){var r=t?t.l:e.V++,n=w(e.J);b(n,"SID",e.M),b(n,"RID",r),b(n,"AID",e.K),Gt(e,n),e.u&&e.o&&Dt(n,e.u,e.o),r=new m(e,e.j,r,e.D+1),null===e.u&&(r.J=e.o),t&&(e.i=t.G.concat(e.i)),t=Kt(e,r,1e3),r.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),tt(e.h,r),ze(r,n,t)}function Gt(e,r){e.H&&ee(e.H,function(e,t){b(r,t,e)}),e.l&&ee({},function(e,t){b(r,t,e)})}function Kt(e,t,i){i=Math.min(e.i.length,i);var s=e.l?y(e.l.Ka,e.l,e):null;e:{let r=e.i,n=-1;for(;;){var a=["count="+i];-1==n?0<i?(n=r[0].g,a.push("ofs="+n)):n=0:a.push("ofs="+n);let e=!0;for(let t=0;t<i;t++){var o=r[t].g,u=r[t].map;if((o-=n)<0)n=Math.max(0,r[t].g-100),e=!1;else try{o="req"+o+"_"||"";try{var l,h,c=u instanceof Map?u:Object.entries(u);for([l,h]of c){let e=h;d(h)&&(e=Ie(h)),a.push(o+l+"="+encodeURIComponent(e))}}catch(e){throw a.push(o+"type="+encodeURIComponent("_badmap")),e}}catch(e){s&&s(u)}}if(e){c=a.join("&");break e}}c=void 0}return e=e.i.splice(0,i),t.G=e,c}function Qt(e){var t;e.g||e.v||(e.Y=1,t=e.Da,r||H(),n||(r(),n=!0),$.add(t,e),e.A=0)}function $t(e){return!(e.g||e.v||3<=e.A)&&(e.Y++,e.v=v(y(e.Da,e),Xt(e,e.A)),e.A++,1)}function Ht(e){null!=e.B&&(D.clearTimeout(e.B),e.B=null)}function Wt(e){e.g=new m(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=w(e.na),r=(b(t,"RID","rpc"),b(t,"SID",e.M),b(t,"AID",e.K),b(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&b(t,"TO",e.ia),b(t,"TYPE","xmlhttp"),Gt(e,t),e.u&&e.o&&Dt(t,e.u,e.o),e.O&&(e.g.H=e.O),e.g);e=e.ba,r.M=1,r.A=ot(w(t)),r.u=null,r.R=!0,Ge(r,e)}function Yt(e){null!=e.C&&(D.clearTimeout(e.C),e.C=null)}function Jt(e,t){var r,n,i,s=null;if(e.g==t){Yt(e),Ht(e),e.g=null;var a=2}else{if(!et(e.h,t))return;s=t.G,rt(e.h,t),a=1}if(0!=e.I)if(t.o)(1==a?(s=t.u?t.u.length:0,t=Date.now()-t.F,r=e.D,l(a=ke(),new Le(a,s)),jt):Qt)(e);else if(3==(r=t.m)||0==r&&0<t.X||(1!=a||(i=t,Ze((n=e).h)>=n.h.j-(n.m?1:0))||(n.m?(n.i=i.G.concat(n.i),0):1==n.I||2==n.I||n.D>=(n.Sa?0:n.Ta)||(n.m=v(y(n.Ea,n,i),Xt(n,n.D)),n.D++,0)))&&(2!=a||!$t(e)))switch(s&&0<s.length&&(t=e.h,t.i=t.i.concat(s)),r){case 1:x(e,5);break;case 4:x(e,10);break;case 3:x(e,6);break;default:x(e,2)}}function Xt(e,t){let r=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(r*=2),r*t}function x(e,t){var r,n,i;e.j.info("Error code "+t),2==t?(r=y(e.bb,e),n=!(i=e.Ua),i=new p(i||"//www.google.com/images/cleardot.gif"),D.location&&"http"==D.location.protocol||_(i,"https"),ot(i),(n?(t,r)=>{var n=new f;if(D.Image){let e=new Image;e.onload=q(E,n,"TestLoadImage: loaded",!0,r,e),e.onerror=q(E,n,"TestLoadImage: error",!1,r,e),e.onabort=q(E,n,"TestLoadImage: abort",!1,r,e),e.ontimeout=q(E,n,"TestLoadImage: timeout",!1,r,e),D.setTimeout(function(){e.ontimeout&&e.ontimeout()},1e4),e.src=t}else r(!1)}:(e,t)=>{let r=new f,n=new AbortController,i=setTimeout(()=>{n.abort(),E(r,0,!1,t)},1e4);fetch(e,{signal:n.signal}).then(e=>{clearTimeout(i),e.ok?E(r,0,!0,t):E(r,0,!1,t)}).catch(()=>{clearTimeout(i),E(r,0,!1,t)})})(i.toString(),r)):k(2),e.I=0,e.l&&e.l.pa(t),Zt(e),qt(e)}function Zt(e){var t;e.I=0,e.ja=[],e.l&&(0==(t=nt(e.h)).length&&0==e.i.length||(G(e.ja,t),G(e.ja,e.i),e.h.i.length=0,z(e.i),e.i.length=0),e.l.oa())}function er(e,t,r){var n,i,s=r instanceof p?w(r):new p(r);return""!=s.g?(t&&(s.g=t+"."+s.g),st(s,s.u)):(s=(n=D.location).protocol,t=t?t+"."+n.hostname:n.hostname,n=+n.port,i=new p(null),s&&_(i,s),t&&(i.g=t),n&&st(i,n),r&&(i.h=r),s=i),r=e.G,t=e.wa,r&&t&&b(s,r,t),b(s,"VER",e.ka),Gt(e,s),s}function tr(e,t,r){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=e.Aa&&!e.ma?new S(new Tt({ab:r})):new S(e.ma)).Fa(e.L),t}function rr(){}function nr(){}function C(e,t){a.call(this),this.g=new Ft(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)&&!N(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!N(t)&&(this.g.G=t,null!==(e=this.h))&&t in e&&t in(e=this.h)&&delete e[t],this.j=new A(this)}function ir(e){Ae.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(var r in t){e=r;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 sr(){De.call(this),this.status=1}function A(e){this.g=e}(e=S.prototype).Fa=function(e){this.H=e},e.ea=function(e,t,r,n){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+e);t=t?t.toUpperCase():"GET",this.D=e,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=(this.L||Be).g(),this.g.onreadystatechange=j(y(this.Ca,this));try{this.B=!0,this.g.open(t,String(e),!0),this.B=!1}catch(e){return void Rt(this,e)}if(e=r||"",r=new Map(this.headers),n)if(Object.getPrototypeOf(n)===Object.prototype)for(var i in n)r.set(i,n[i]);else{if("function"!=typeof n.keys||"function"!=typeof n.get)throw Error("Unknown input type for opt_headers: "+String(n));for(var s of n.keys())r.set(s,n.get(s))}n=Array.from(r.keys()).find(e=>"content-type"==e.toLowerCase()),i=D.FormData&&e instanceof D.FormData,0<=Array.prototype.indexOf.call(kt,t,void 0)&&!n&&!i&&r.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(var[a,o]of r)this.g.setRequestHeader(a,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(e),this.v=!1}catch(e){Rt(this,e)}},e.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,l(this,"complete"),l(this,"abort"),Lt(this))},e.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Lt(this,!0)),S.Z.N.call(this)},e.Ca=function(){this.u||(this.B||this.v||this.j?Ot(this):this.Xa())},e.Xa=function(){Ot(this)},e.isActive=function(){return!!this.g},e.ca=function(){try{return 2<L(this)?this.g.status:-1}catch(e){return-1}},e.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},e.La=function(e){var t;if(this.g)return t=this.g.responseText,e&&0==t.indexOf(e)&&(t=t.substring(e.length)),Te(t)},e.ya=function(){return this.o},e.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(e=Ft.prototype).ka=8,e.I=1,e.connect=function(e,t,r,n){k(0),this.W=e,this.H=t||{},r&&void 0!==n&&(this.H.OSID=r,this.H.OAID=n),this.F=this.X,this.J=er(this,null,this.W),jt(this)},e.Ea=function(t){if(this.m)if(this.m=null,1==this.I){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var r=new m(this,this.j,t);let e=this.o;if(this.U&&(e?ne(e=te(e),this.U):e=this.U),null!==this.u||this.R||(r.J=e,e=null),this.S)e:{for(var n=0,i=0;i<this.i.length;i++){var s=this.i[i];if("__data__"in s.map&&"string"==typeof(s=s.map.__data__)?s=s.length:s=void 0,void 0===s)break;if(4096<(n+=s)){n=i;break e}if(4096===n||i===this.i.length-1){n=i+1;break e}}n=1e3}else n=1e3;n=Kt(this,r,n),b(i=w(this.J),"RID",t),b(i,"CVER",22),this.G&&b(i,"X-HTTP-Session-Id",this.G),Gt(this,i),e&&(this.R?n="headers="+g(At(e))+"&"+n:this.u&&Dt(i,this.u,e)),tt(this.h,r),this.Ra&&b(i,"TYPE","init"),this.S?(b(i,"$req",n),b(i,"SID","null"),r.U=!0,ze(r,i,null)):ze(r,i,n),this.I=2}}else 3==this.I&&(t?zt(this,t):0==this.i.length||Xe(this.h)||zt(this))},e.Da=function(){var e;this.v=null,Wt(this),this.aa&&!(this.P||null==this.g||this.T<=0)&&(e=4*this.T,this.j.info("BP detection timer enabled: "+e),this.B=v(y(this.Wa,this),e))},e.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,k(10),Bt(this),Wt(this))},e.Va=function(){null!=this.C&&(this.C=null,Bt(this),$t(this),k(19))},e.bb=function(e){e?(this.j.info("Successfully pinged google.com"),k(2)):(this.j.info("Failed to ping google.com"),k(1))},e.isActive=function(){return!!this.l&&this.l.isActive(this)},(e=rr.prototype).ra=function(){},e.qa=function(){},e.pa=function(){},e.oa=function(){},e.isActive=function(){return!0},e.Ka=function(){},nr.prototype.g=function(e,t){return new C(e,t)},t(C,a),C.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},C.prototype.close=function(){Ut(this.g)},C.prototype.o=function(e){var t,r=this.g;"string"==typeof e?((t={}).__data__=e,e=t):this.v&&((t={}).__data__=Ie(e),e=t),r.i.push(new Ye(r.Ya++,e)),3==r.I&&jt(r)},C.prototype.N=function(){this.g.l=null,delete this.j,Ut(this.g),delete this.g,C.Z.N.call(this)},t(ir,Ae),t(sr,De),t(A,rr),A.prototype.ra=function(){l(this.g,"a")},A.prototype.qa=function(e){l(this.g,new ir(e))},A.prototype.pa=function(e){l(this.g,new sr)},A.prototype.oa=function(){l(this.g,"b")},nr.prototype.createWebChannel=nr.prototype.g,C.prototype.send=C.prototype.o,C.prototype.open=C.prototype.m,fr=function(){return new nr},dr=ke,cr=c,hr={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},Pe.NO_ERROR=0,Pe.TIMEOUT=8,Pe.HTTP_ERROR=6,lr=Pe,Ve.COMPLETE="complete",ur=Ve,(xe.EventType=Ce).OPEN="a",Ce.CLOSE="b",Ce.ERROR="c",Ce.MESSAGE="d",a.prototype.listen=a.prototype.J,or=xe,S.prototype.listenOnce=S.prototype.K,S.prototype.getLastError=S.prototype.Ha,S.prototype.getLastErrorCode=S.prototype.ya,S.prototype.getStatus=S.prototype.ca,S.prototype.getResponseJson=S.prototype.La,S.prototype.getResponseText=S.prototype.la,S.prototype.send=S.prototype.ea,S.prototype.setWithCredentials=S.prototype.Fa,ar=S}).apply(void 0!==gr?gr:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});let ye="@firebase/firestore",ve="4.9.2-canary.f5fc6bf76";class l{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}}l.UNAUTHENTICATED=new l(null),l.GOOGLE_CREDENTIALS=new l("google-credentials-uid"),l.FIRST_PARTY=new l("first-party-uid"),l.MOCK_USER=new l("mock-user");let we="12.6.0-canary.f5fc6bf76",_e=new class{constructor(e){this.name=e,this._logLevel=ce,this._logHandler=fe,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in c))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?he[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,c.DEBUG,...e),this._logHandler(this,c.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,c.VERBOSE,...e),this._logHandler(this,c.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,c.INFO,...e),this._logHandler(this,c.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,c.WARN,...e),this._logHandler(this,c.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,c.ERROR,...e),this._logHandler(this,c.ERROR,...e)}}("@firebase/firestore");function be(){return _e.logLevel}function p(e,...t){var r;_e.logLevel<=c.DEBUG&&(r=t.map(Te),_e.debug(`Firestore (${we}): `+e,...r))}function d(e,...t){var r;_e.logLevel<=c.ERROR&&(r=t.map(Te),_e.error(`Firestore (${we}): `+e,...r))}function Ie(e,...t){var r;_e.logLevel<=c.WARN&&(r=t.map(Te),_e.warn(`Firestore (${we}): `+e,...r))}function Te(t){if("string"==typeof t)return t;try{return JSON.stringify(t)}catch(e){return t}}function E(e,t,r){let n="Unexpected state";"string"==typeof t?n=t:r=t,Ee(e,n,r)}function Ee(e,t,r){let n=`FIRESTORE (${we}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==r)try{n+=" CONTEXT: "+JSON.stringify(r)}catch(e){n+=" CONTEXT: "+r}throw d(n),new Error(n)}function y(e,t,r,n){let i="Unexpected state";"string"==typeof r?i=r:n=r,e||Ee(t,i,n)}let b={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 I extends ie{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: `+this.message}}class f{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class Se{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization","Bearer "+e)}}class xe{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(l.UNAUTHENTICATED))}shutdown(){}}class Ce{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 Ae{constructor(e){this.t=e,this.currentUser=l.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(t,r){y(void 0===this.o,42304);let n=this.i,i=e=>this.i!==n?(n=this.i,r(e)):Promise.resolve(),s=new f,a=(this.o=()=>{this.i++,this.currentUser=this.u(),s.resolve(),s=new f,t.enqueueRetryable(()=>i(this.currentUser))},()=>{let e=s;t.enqueueRetryable(async()=>{await e.promise,await i(this.currentUser)})}),o=e=>{p("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.o&&(this.auth.addAuthTokenListener(this.o),a())};this.t.onInit(e=>o(e)),setTimeout(()=>{var e;this.auth||((e=this.t.getImmediate({optional:!0}))?o(e):(p("FirebaseAuthCredentialsProvider","Auth not yet detected"),s.resolve(),s=new f))},0),a()}getToken(){let t=this.i,e=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(e).then(e=>this.i!==t?(p("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):e?(y("string"==typeof e.accessToken,31837,{l:e}),new Se(e.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(){var e=this.auth&&this.auth.getUid();return y(null===e||"string"==typeof e,2055,{h:e}),new l(e)}}class De{constructor(e,t,r){this.P=e,this.T=t,this.I=r,this.type="FirstParty",this.user=l.FIRST_PARTY,this.A=new Map}R(){return this.I?this.I():null}get headers(){this.A.set("X-Goog-AuthUser",this.P);var e=this.R();return e&&this.A.set("Authorization",e),this.T&&this.A.set("X-Goog-Iam-Authorization-Token",this.T),this.A}}class Ne{constructor(e,t,r){this.P=e,this.T=t,this.I=r}getToken(){return Promise.resolve(new De(this.P,this.T,this.I))}start(e,t){e.enqueueRetryable(()=>t(l.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class ke{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&0<e.length&&this.headers.set("x-firebase-appcheck",this.value)}}class Re{constructor(e,t){this.V=t,this.forceRefresh=!1,this.appCheck=null,this.m=null,this.p=null,Jd._isFirebaseServerApp(e)&&e.settings.appCheckToken&&(this.p=e.settings.appCheckToken)}start(t,r){y(void 0===this.o,3512);let n=e=>{null!=e.error&&p("FirebaseAppCheckTokenProvider","Error getting App Check token; using placeholder token instead. Error: "+e.error.message);var t=e.token!==this.m;return this.m=e.token,p("FirebaseAppCheckTokenProvider",`Received ${t?"new":"existing"} token.`),t?r(e.token):Promise.resolve()},i=(this.o=e=>{t.enqueueRetryable(()=>n(e))},e=>{p("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.o&&this.appCheck.addTokenListener(this.o)});this.V.onInit(e=>i(e)),setTimeout(()=>{var e;this.appCheck||((e=this.V.getImmediate({optional:!0}))?i(e):p("FirebaseAppCheckTokenProvider","AppCheck not yet detected"))},0)}getToken(){var e;return this.p?Promise.resolve(new ke(this.p)):(e=this.forceRefresh,this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(y("string"==typeof e.token,44558,{tokenResult:e}),this.m=e.token,new ke(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 Me{static newId(){var t=62*Math.floor(256/62);let r="";for(;r.length<20;){var n=(t=>{var r="undefined"!=typeof self&&(self.crypto||self.msCrypto),n=new Uint8Array(t);if(r&&"function"==typeof r.getRandomValues)r.getRandomValues(n);else for(let e=0;e<t;e++)n[e]=Math.floor(256*Math.random());return n})(40);for(let e=0;e<n.length;++e)r.length<20&&n[e]<t&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(n[e]%62))}return r}}function S(e,t){return e<t?-1:t<e?1:0}function Oe(r,n){let e=Math.min(r.length,n.length);for(let i=0;i<e;i++){let e=r.charAt(i),t=n.charAt(i);if(e!==t)return Ve(e)===Ve(t)?S(e,t):Ve(e)?1:-1}return S(r.length,n.length)}let Le=55296,Pe=57343;function Ve(e){var t=e.charCodeAt(0);return t>=Le&&t<=Pe}function Fe(e,r,n){return e.length===r.length&&e.every((e,t)=>n(e,r[t]))}function Ue(e){return e+"\0"}let Be="__name__";class qe{constructor(e,t,r){void 0===t?t=0:t>e.length&&E(637,{offset:t,range:e.length}),void 0===r?r=e.length-t:r>e.length-t&&E(1746,{length:r,range:e.length-t}),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return 0===qe.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof qe?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return this.construct(this.segments,this.offset+(e=void 0===e?1: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,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,r){let e=Math.min(t.length,r.length);for(let n=0;n<e;n++){let e=qe.compareSegments(t.get(n),r.get(n));if(0!==e)return e}return S(t.length,r.length)}static compareSegments(e,t){var r=qe.isNumericId(e),n=qe.isNumericId(t);return r&&!n?-1:!r&&n?1:r&&n?qe.extractNumericId(e).compare(qe.extractNumericId(t)):Oe(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return ge.fromString(e.substring(4,e.length-2))}}class T extends qe{construct(e,t,r){return new T(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){var t,r=[];for(t of e){if(0<=t.indexOf("//"))throw new I(b.INVALID_ARGUMENT,`Invalid segment (${t}). Paths must not contain // in them.`);r.push(...t.split("/").filter(e=>0<e.length))}return new T(r)}static emptyPath(){return new T([])}}let je=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class h extends qe{construct(e,t,r){return new h(e,t,r)}static isValidIdentifier(e){return je.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e=h.isValidIdentifier(e)?e:"`"+e+"`")).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===Be}static keyField(){return new h([Be])}static fromServerFormat(t){let e=[],r="",n=0;var i=()=>{if(0===r.length)throw new I(b.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);e.push(r),r=""};let s=!1;for(;n<t.length;){let e=t[n];if("\\"===e){if(n+1===t.length)throw new I(b.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let e=t[n+1];if("\\"!==e&&"."!==e&&"`"!==e)throw new I(b.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);r+=e,n+=2}else"`"===e?s=!s:"."!==e||s?r+=e:i(),n++}if(i(),s)throw new I(b.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new h(e)}static emptyPath(){return new h([])}}class x{constructor(e){this.path=e}static fromPath(e){return new x(T.fromString(e))}static fromName(e){return new x(T.fromString(e).popFirst(5))}static empty(){return new x(T.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return 2<=this.path.length&&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===T.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return T.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new x(new T(e.slice()))}}function ze(e,t,r){if(!r)throw new I(b.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function Ge(e,t,r,n){if(!0===t&&!0===n)throw new I(b.INVALID_ARGUMENT,e+` and ${r} cannot be used together.`)}function Ke(e){if(!x.isDocumentKey(e))throw new I(b.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function Qe(e){if(x.isDocumentKey(e))throw new I(b.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function $e(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function He(e){var t,r;return void 0===e?"undefined":null===e?"null":"string"==typeof e?(20<e.length&&(e=e.substring(0,20)+"..."),JSON.stringify(e)):"number"==typeof e||"boolean"==typeof e?""+e:"object"==typeof e?e instanceof Array?"an array":(t=(r=e).constructor?r.constructor.name:null)?`a custom ${t} object`:"an object":"function"==typeof e?"a function":E(12329,{type:typeof e})}function g(e,t){if((e="_delegate"in e?e._delegate:e)instanceof t)return e;if(t.name===e.constructor.name)throw new I(b.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");var r=He(e);throw new I(b.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: `+r)}function We(e,t){if(t<=0)throw new I(b.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)}function t(e,t){var r={typeString:e};return t&&(r.value=t),r}function Ye(e,t){if(!$e(e))throw new I(b.INVALID_ARGUMENT,"JSON must be an object");let r;for(var n in t)if(t[n]){var i=t[n].typeString,s="value"in t[n]?{value:t[n].value}:void 0;if(!(n in e)){r=`JSON missing required field: '${n}'`;break}var a=e[n];if(i&&typeof a!==i){r=`JSON field '${n}' must be a ${i}.`;break}if(void 0!==s&&a!==s.value){r=`Expected '${n}' field to equal '${s.value}'`;break}}if(r)throw new I(b.INVALID_ARGUMENT,r);return 1}let Je=-62135596800;class v{static now(){return v.fromMillis(Date.now())}static fromDate(e){return v.fromMillis(e.getTime())}static fromMillis(e){var t=Math.floor(e/1e3),r=Math.floor(1e6*(e-1e3*t));return new v(t,r)}constructor(e,t){if(this.seconds=e,(this.nanoseconds=t)<0)throw new I(b.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(1e9<=t)throw new I(b.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<Je)throw new I(b.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(253402300800<=e)throw new I(b.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?S(this.nanoseconds,e.nanoseconds):S(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:v._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(Ye(e,v._jsonSchema))return new v(e.seconds,e.nanoseconds)}valueOf(){var e=this.seconds-Je;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}v._jsonSchemaVersion="firestore/timestamp/1.0",v._jsonSchema={type:t("string",v._jsonSchemaVersion),seconds:t("number"),nanoseconds:t("number")};class w{static fromTimestamp(e){return new w(e)}static min(){return new w(new v(0,0))}static max(){return new w(new v(253402300799,999999999))}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}}let Xe=-1;class Ze{constructor(e,t,r,n){this.indexId=e,this.collectionGroup=t,this.fields=r,this.indexState=n}}function et(e){return e.fields.find(e=>2===e.kind)}function tt(e){return e.fields.filter(e=>2!==e.kind)}Ze.UNKNOWN_ID=-1;class rt{constructor(e,t){this.fieldPath=e,this.kind=t}}class nt{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new nt(0,at.min())}}function it(e,t){var r=e.toTimestamp().seconds,n=e.toTimestamp().nanoseconds+1,r=w.fromTimestamp(1e9===n?new v(r+1,0):new v(r,n));return new at(r,x.empty(),t)}function st(e){return new at(e.readTime,e.key,Xe)}class at{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new at(w.min(),x.empty(),Xe)}static max(){return new at(w.max(),x.empty(),Xe)}}function ot(e,t){var r=e.readTime.compareTo(t.readTime);return 0!==r||0!==(r=x.comparator(e.documentKey,t.documentKey))?r:S(e.largestBatchId,t.largestBatchId)}let ut="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class lt{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function ht(e){if(e.code!==b.FAILED_PRECONDITION||e.message!==ut)throw e;p("LocalStore","Unexpectedly lost primary lease")}class C{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(n,i){return this.callbackAttached&&E(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(i,this.error):this.wrapSuccess(n,this.result):new C((t,r)=>{this.nextCallback=e=>{this.wrapSuccess(n,e).next(t,r)},this.catchCallback=e=>{this.wrapFailure(i,e).next(t,r)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{var t=e();return t instanceof C?t:C.resolve(t)}catch(e){return C.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):C.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):C.reject(t)}static resolve(r){return new C((e,t)=>{e(r)})}static reject(r){return new C((e,t)=>{t(r)})}static waitFor(e){return new C((t,r)=>{let n=0,i=0,s=!1;e.forEach(e=>{++n,e.next(()=>{++i,s&&i===n&&t()},e=>r(e))}),s=!0,i===n&&t()})}static or(e){let t=C.resolve(!1);for(let r of e)t=t.next(e=>e?C.resolve(e):r());return t}static forEach(e,r){let n=[];return e.forEach((e,t)=>{n.push(r.call(this,e,t))}),this.waitFor(n)}static mapArray(o,u){return new C((r,n)=>{let i=o.length,s=new Array(i),a=0;for(let e=0;e<i;e++){let t=e;u(o[t]).next(e=>{s[t]=e,++a===i&&r(s)},e=>n(e))}})}static doWhile(n,i){return new C((e,t)=>{let r=()=>{!0===n()?i().next(()=>{r()},t):e()};r()})}}let ct="SimpleDb";class dt{static open(e,t,r,n){try{return new dt(t,e.transaction(n,r))}catch(e){throw new pt(t,e)}}constructor(r,e){this.action=r,this.transaction=e,this.aborted=!1,this.S=new f,this.transaction.oncomplete=()=>{this.S.resolve()},this.transaction.onabort=()=>{e.error?this.S.reject(new pt(r,e.error)):this.S.resolve()},this.transaction.onerror=e=>{var t=bt(e.target.error);this.S.reject(new pt(r,t))}}get D(){return this.S.promise}abort(e){e&&this.S.reject(e),this.aborted||(p(ct,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}C(){var e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){var t=this.transaction.objectStore(e);return new vt(t)}}class ft{static delete(e){return p(ct,"Removing database:",e),wt(K().indexedDB.deleteDatabase(e)).toPromise()}static v(){var e,t,r;return!(!(()=>{try{return"object"==typeof indexedDB}catch(e){}})()||!ft.F()&&(e=ee(),t=0<(t=ft.M(e))&&t<10,r=0<(r=gt(e))&&r<4.5,0<e.indexOf("MSIE ")||0<e.indexOf("Trident/")||0<e.indexOf("Edge/")||t||r))}static F(){return"undefined"!=typeof process&&"YES"===process.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static O(e,t){return e.store(t)}static M(e){var t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),t=t?t[1].split("_").slice(0,2).join("."):"-1";return Number(t)}constructor(e,t,r){this.name=e,this.version=t,this.N=r,this.B=null,12.2===ft.M(ee())&&d("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(s){return this.db||(p(ct,"Opening database:",this.name),this.db=await new Promise((r,n)=>{let i=indexedDB.open(this.name,this.version);i.onsuccess=e=>{var t=e.target.result;r(t)},i.onblocked=()=>{n(new pt(s,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},i.onerror=e=>{var t=e.target.error;"VersionError"===t.name?n(new I(b.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"===t.name?n(new I(b.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: "+t)):n(new pt(s,t))},i.onupgradeneeded=e=>{p(ct,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);var t=e.target.result;this.N.k(t,i.transaction,e.oldVersion,this.version).next(()=>{p(ct,"Database upgrade to version "+this.version+" complete")})}})),this.q&&(this.db.onversionchange=e=>this.q(e)),this.db}$(t){this.q=t,this.db&&(this.db.onversionchange=e=>t(e))}async runTransaction(r,e,n,i){var s="readonly"===e;let a=0;for(;;){++a;try{this.db=await this.L(r);let t=dt.open(this.db,r,s?"readonly":"readwrite",n),e=i(t).next(e=>(t.C(),e)).catch(e=>(t.abort(e),C.reject(e))).toPromise();return e.catch(()=>{}),await t.D,e}catch(r){let e=r,t="FirebaseError"!==e.name&&a<3;if(p(ct,"Transaction failed with error:",e.message,"Retrying:",t),this.close(),!t)return Promise.reject(e)}}}close(){this.db&&this.db.close(),this.db=void 0}}function gt(e){var t=e.match(/Android ([\d.]+)/i),t=t?t[1].split(".").slice(0,2).join("."):"-1";return Number(t)}class mt{constructor(e){this.U=e,this.K=!1,this.W=null}get isDone(){return this.K}get G(){return this.W}set cursor(e){this.U=e}done(){this.K=!0}j(e){this.W=e}delete(){return wt(this.U.delete())}}class pt extends I{constructor(e,t){super(b.UNAVAILABLE,`IndexedDB transaction '${e}' failed: `+t),this.name="IndexedDbTransactionError"}}function yt(e){return"IndexedDbTransactionError"===e.name}class vt{constructor(e){this.store=e}put(e,t){let r;return wt(r=void 0!==t?(p(ct,"PUT",this.store.name,e,t),this.store.put(t,e)):(p(ct,"PUT",this.store.name,"<auto-key>",e),this.store.put(e)))}add(e){return p(ct,"ADD",this.store.name,e,e),wt(this.store.add(e))}get(t){return wt(this.store.get(t)).next(e=>(void 0===e&&(e=null),p(ct,"GET",this.store.name,t,e),e))}delete(e){return p(ct,"DELETE",this.store.name,e),wt(this.store.delete(e))}count(){return p(ct,"COUNT",this.store.name),wt(this.store.count())}J(e,t){var 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 C((t,r)=>{e.onerror=e=>{r(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(n),r=[];return this.H(e,(e,t)=>{r.push(t)}).next(()=>r)}}Y(e,t){let n=this.store.getAll(e,null===t?void 0:t);return new C((t,r)=>{n.onerror=e=>{r(e.target.error)},n.onsuccess=e=>{t(e.target.result)}})}Z(e,t){p(ct,"DELETE ALL",this.store.name);var r=this.options(e,t),r=(r.X=!1,this.cursor(r));return this.H(r,(e,t,r)=>r.delete())}ee(e,t){let r;t?r=e:(r={},t=e);var n=this.cursor(r);return this.H(n,t)}te(i){let e=this.cursor({});return new C((r,n)=>{e.onerror=e=>{var t=bt(e.target.error);n(t)},e.onsuccess=e=>{let t=e.target.result;t?i(t.primaryKey,t.value).next(e=>{e?t.continue():r()}):r()}})}H(e,s){let a=[];return new C((i,t)=>{e.onerror=e=>{t(e.target.error)},e.onsuccess=e=>{var n=e.target.result;if(n){let t=new mt(n),r=s(n.primaryKey,n.value,t);if(r instanceof C){let e=r.catch(e=>(t.done(),C.reject(e)));a.push(e)}t.isDone?i():null===t.G?n.continue():n.continue(t.G)}else i()}}).next(()=>C.waitFor(a))}options(e,t){let r;return void 0!==e&&("string"==typeof e?r=e:t=e),{index:r,range:t}}cursor(e){let t="next";var r;return e.reverse&&(t="prev"),e.index?(r=this.store.index(e.index),e.X?r.openKeyCursor(e.range,t):r.openCursor(e.range,t)):this.store.openCursor(e.range,t)}}function wt(e){return new C((r,n)=>{e.onsuccess=e=>{var t=e.target.result;r(t)},e.onerror=e=>{var t=bt(e.target.error);n(t)}})}let _t=!1;function bt(e){let t=ft.M(ee());if(12.2<=t&&t<13){let t="An internal error was encountered in the Indexed Database server";if(0<=e.message.indexOf(t)){let e=new I("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 _t||(_t=!0,setTimeout(()=>{throw e},0)),e}}return e}let It="IndexBackfiller";class Tt{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){p(It,`Scheduled in ${e}ms`),this.task=this.asyncQueue.enqueueAfterDelay("index_backfill",e,async()=>{this.task=null;try{var e=await this.ne.ie();p(It,"Documents written: "+e)}catch(e){yt(e)?p(It,"Ignoring IndexedDB error during index backfill: ",e):await ht(e)}await this.re(6e4)})}}class Et{constructor(e,t){this.localStore=e,this.persistence=t}async ie(t=50){return this.persistence.runTransaction("Backfill Indexes","readwrite-primary",e=>this.se(e,t))}se(e,t){let r=new Set,n=t,i=!0;return C.doWhile(()=>!0===i&&0<n,()=>this.localStore.indexManager.getNextCollectionGroupToUpdate(e).next(t=>{if(null!==t&&!r.has(t))return p(It,"Processing collection: "+t),this.oe(e,t,n).next(e=>{n-=e,r.add(t)});i=!1})).next(()=>t-n)}oe(n,i,e){return this.localStore.indexManager.getMinOffsetFromCollectionGroup(n,i).next(r=>this.localStore.localDocuments.getNextDocuments(n,i,r,e).next(e=>{let t=e.changes;return this.localStore.indexManager.updateIndexEntries(n,t).next(()=>this._e(r,e)).next(e=>(p(It,"Updating offset: "+e),this.localStore.indexManager.updateCollectionGroup(n,i,e))).next(()=>t.size)}))}_e(e,t){let n=e;return t.changes.forEach((e,t)=>{var r=st(t);0<ot(r,n)&&(n=r)}),new at(n.readTime,n.documentKey,Math.max(t.batchId,e.largestBatchId))}}class St{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(){var e=++this.previousValue;return this.ue&&this.ue(e),e}}let xt=St.ce=-1;function Ct(e){return null==e}function At(e){return 0===e&&1/e==-1/0}function Dt(e){return"number"==typeof e&&Number.isInteger(e)&&!At(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}let Nt="";function kt(e){let t="";for(let r=0;r<e.length;r++)0<t.length&&(t=Rt(t)),t=((t,e)=>{let r=e,n=t.length;for(let i=0;i<n;i++){let e=t.charAt(i);switch(e){case"\0":r+="";break;case Nt:r+="";break;default:r+=e}}return r})(e.get(r),t);return Rt(t)}function Rt(e){return e+Nt+""}function Mt(r){let e=r.length;if(y(2<=e,64408,{path:r}),2===e)return y(r.charAt(0)===Nt&&""===r.charAt(1),56145,{path:r}),T.emptyPath();var __PRIVATE_lastReasonableEscapeIndex=e-2,n=[];let i="";for(let a=0;a<e;){let t=r.indexOf(Nt,a);switch((t<0||t>__PRIVATE_lastReasonableEscapeIndex)&&E(50515,{path:r}),r.charAt(t+1)){case"":var s=r.substring(a,t);let e;0===i.length?e=s:(i+=s,e=i,i=""),n.push(e);break;case"":i=i+r.substring(a,t)+"\0";break;case"":i+=r.substring(a,t+1);break;default:E(61167,{path:r})}a=t+2}return new T(n)}let Ot="remoteDocuments",Lt="owner",Pt="owner",Vt="mutationQueues",Ft="mutations",Ut="batchId",Bt="userMutationsIndex",qt=["userId","batchId"];function jt(e,t){return[e,kt(t)]}function zt(e,t,r){return[e,kt(t),r]}let Gt={},Kt="documentMutations",Qt="remoteDocumentsV14",$t=["prefixPath","collectionGroup","readTime","documentId"],Ht="documentKeyIndex",Wt=["prefixPath","collectionGroup","documentId"],Yt="collectionGroupIndex",Jt=["collectionGroup","readTime","prefixPath","documentId"],Xt="remoteDocumentGlobal",Zt="remoteDocumentGlobalKey",er="targets",tr="queryTargetsIndex",rr=["canonicalId","targetId"],nr="targetDocuments",ir=["targetId","path"],sr="documentTargetsIndex",mr=["path","targetId"],pr="targetGlobalKey",yr="targetGlobal",vr="collectionParents",wr=["collectionId","parent"],_r="clientMetadata",br="bundles",Ir="namedQueries",Tr="indexConfiguration",Er="collectionGroupIndex",Sr="indexState",xr=["indexId","uid"],Cr="sequenceNumberIndex",Ar=["uid","sequenceNumber"],Dr="indexEntries",Nr=["indexId","uid","arrayValue","directionalValue","orderedDocumentKey","documentKey"],kr="documentKeyIndex",Rr=["indexId","uid","orderedDocumentKey"],Mr="documentOverlays",Or=["userId","collectionPath","documentId"],Lr="collectionPathOverlayIndex",Pr=["userId","collectionPath","largestBatchId"],Vr="collectionGroupOverlayIndex",Fr=["userId","collectionGroup","largestBatchId"],Ur="globals",Br=[Vt,Ft,Kt,Ot,er,Lt,yr,nr,_r,Xt,vr,br,Ir],qr=[...Br,Mr],jr=[Vt,Ft,Kt,Qt,er,Lt,yr,nr,_r,Xt,vr,br,Ir,Mr],zr=jr,Gr=[...zr,Tr,Sr,Dr],Kr=Gr,Qr=[...Gr,Ur],$r=Qr;class Hr extends lt{constructor(e,t){super(),this.le=e,this.currentSequenceNumber=t}}function r(e,t){var r=e;return ft.O(r.le,t)}function Wr(e){let t=0;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function Yr(e,t){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(r,e[r])}function Jr(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class A{constructor(e,t){this.comparator=e,this.root=t||Zr.EMPTY}insert(e,t){return new A(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,Zr.BLACK,null,null))}remove(e){return new A(this.comparator,this.root.remove(e,this.comparator).copy(null,null,Zr.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){var r=this.comparator(e,t.key);if(0===r)return t.value;r<0?t=t.left:0<r&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){var n=this.comparator(e,r.key);if(0===n)return t+r.left.size;r=n<0?r.left:(t+=r.left.size+1,r.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(r){this.inorderTraversal((e,t)=>(r(e,t),!1))}toString(){let r=[];return this.inorderTraversal((e,t)=>(r.push(e+":"+t),!1)),`{${r.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new Xr(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new Xr(this.root,e,this.comparator,!1)}getReverseIterator(){return new Xr(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new Xr(this.root,e,this.comparator,!0)}}class Xr{constructor(e,t,r,n){this.isReverse=n,this.nodeStack=[];let i=1;for(;!e.isEmpty();)if(i=t?r(e.key,t):1,t&&n&&(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();var 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 0<this.nodeStack.length}peek(){var e;return 0===this.nodeStack.length?null:{key:(e=this.nodeStack[this.nodeStack.length-1]).key,value:e.value}}}class Zr{constructor(e,t,r,n,i){this.key=e,this.value=t,this.color=null!=r?r:Zr.RED,this.left=null!=n?n:Zr.EMPTY,this.right=null!=i?i:Zr.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,n,i){return new Zr(null!=e?e:this.key,null!=t?t:this.value,null!=r?r:this.color,null!=n?n: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,r){var n=this,i=r(e,n.key);return(n=i<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===i?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp()}removeMin(){if(this.left.isEmpty())return Zr.EMPTY;let e=this;return(e=(e=e.left.isRed()||e.left.left.isRed()?e:e.moveRedLeft()).copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let r,n=this;if(t(e,n.key)<0)n=(n=n.left.isEmpty()||n.left.isRed()||n.left.left.isRed()?n:n.moveRedLeft()).copy(null,null,null,n.left.remove(e,t),null);else{if(0===t(e,(n=(n=n.left.isRed()?n.rotateRight():n).right.isEmpty()||n.right.isRed()||n.right.left.isRed()?n:n.moveRedRight()).key)){if(n.right.isEmpty())return Zr.EMPTY;r=n.right.min(),n=n.copy(r.key,r.value,null,null,n.right.removeMin())}n=n.copy(null,null,null,null,n.right.remove(e,t))}return n.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e=(e=(e=e.right.isRed()&&!e.left.isRed()?e.rotateLeft():e).left.isRed()&&e.left.left.isRed()?e.rotateRight():e).left.isRed()&&e.right.isRed()?e.colorFlip():e}moveRedLeft(){let e=this.colorFlip();return e=e.right.left.isRed()?(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip():e}moveRedRight(){let e=this.colorFlip();return e=e.left.left.isRed()?(e=e.rotateRight()).colorFlip():e}rotateLeft(){var e=this.copy(null,null,Zr.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){var e=this.copy(null,null,Zr.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){var 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(){var e=this.check();return Math.pow(2,e)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw E(43730,{key:this.key,value:this.value});if(this.right.isRed())throw E(14113,{key:this.key,value:this.value});var e=this.left.check();if(e!==this.right.check())throw E(27949);return e+(this.isRed()?0:1)}}Zr.EMPTY=null,Zr.RED=!0,Zr.BLACK=!1,Zr.EMPTY=new class{constructor(){this.size=0}get key(){throw E(57766)}get value(){throw E(16141)}get color(){throw E(16727)}get left(){throw E(29726)}get right(){throw E(36894)}copy(e,t,r,n,i){return this}insert(e,t,r){return new Zr(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 D{constructor(e){this.comparator=e,this.data=new A(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(r){this.data.inorderTraversal((e,t)=>(r(e),!1))}forEachInRange(e,t){for(var r=this.data.getIteratorFrom(e[0]);r.hasNext();){var n=r.getNext();if(0<=this.comparator(n.key,e[1]))return;t(n.key)}}forEachWhile(e,t){for(var r=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){var t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new en(this.data.getIterator())}getIteratorFrom(e){return new en(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 D))return!1;if(this.size!==e.size)return!1;for(var r=this.data.getIterator(),n=e.data.getIterator();r.hasNext();){let e=r.getNext().key,t=n.getNext().key;if(0!==this.comparator(e,t))return!1}return!0}toArray(){let t=[];return this.forEach(e=>{t.push(e)}),t}toString(){let t=[];return this.forEach(e=>t.push(e)),"SortedSet("+t.toString()+")"}copy(e){var t=new D(this.comparator);return t.data=e,t}}class en{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function tn(e){return e.hasNext()?e.getNext():void 0}class rn{constructor(e){(this.fields=e).sort(h.comparator)}static empty(){return new rn([])}unionWith(e){let t=new D(h.comparator);for(let e of this.fields)t=t.add(e);for(var r of e)t=t.add(r);return new rn(t.toArray())}covers(e){for(var t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return Fe(this.fields,e.fields,(e,t)=>e.isEqual(t))}}class nn extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}class N{constructor(e){this.binaryString=e}static fromBase64String(e){var t=(e=>{try{return atob(e)}catch(e){throw"undefined"!=typeof DOMException&&e instanceof DOMException?new nn("Invalid base64 string: "+e):e}})(e);return new N(t)}static fromUint8Array(e){var t=(e=>{let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t})(e);return new N(t)}[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 e=this.binaryString,btoa(e);var e}toUint8Array(){var e=this.binaryString,t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return S(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}N.EMPTY_BYTE_STRING=new N("");let sn=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function an(t){if(y(!!t,39018),"string"!=typeof t)return{seconds:k(t.seconds),nanos:k(t.nanos)};{let e=0;var r=sn.exec(t),r=(y(!!r,46558,{timestamp:t}),r[1]&&(r=((r=r[1])+"000000000").substr(0,9),e=Number(r)),new Date(t));return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}}function k(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function on(e){return"string"==typeof e?N.fromBase64String(e):N.fromUint8Array(e)}let un="server_timestamp",ln="__type__",hn="__previous_value__",cn="__local_write_time__";function dn(e){return(e?.mapValue?.fields||{})[ln]?.stringValue===un}function fn(e){var t=e.mapValue.fields[hn];return dn(t)?fn(t):t}function gn(e){var t=an(e.mapValue.fields[cn].timestampValue);return new v(t.seconds,t.nanos)}class mn{constructor(e,t,r,n,i,s,a,o,u,l){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=n,this.ssl=i,this.forceLongPolling=s,this.autoDetectLongPolling=a,this.longPollingOptions=o,this.useFetchStreams=u,this.isUsingEmulator=l}}let pn="(default)";class yn{constructor(e,t){this.projectId=e,this.database=t||pn}static empty(){return new yn("","")}get isDefaultDatabase(){return this.database===pn}isEqual(e){return e instanceof yn&&e.projectId===this.projectId&&e.database===this.database}}let vn="__type__",wn="__max__",_n={mapValue:{fields:{__type__:{stringValue:wn}}}},bn="__vector__",In="value",Tn={nullValue:"NULL_VALUE"};function En(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?dn(e)?4:Un(e)?9007199254740991:Vn(e)?10:11:E(28295,{value:e})}function Sn(t,r){if(t===r)return!0;var n,i,s,a,o,e=En(t);if(e!==En(r))return!1;switch(e){case 0:case 9007199254740991:return!0;case 1:return t.booleanValue===r.booleanValue;case 4:return gn(t).isEqual(gn(r));case 3:return s=r,"string"==typeof(i=t).timestampValue&&"string"==typeof s.timestampValue&&i.timestampValue.length===s.timestampValue.length?i.timestampValue===s.timestampValue:(a=an(i.timestampValue),o=an(s.timestampValue),a.seconds===o.seconds&&a.nanos===o.nanos);case 5:return t.stringValue===r.stringValue;case 6:return i=r,on(t.bytesValue).isEqual(on(i.bytesValue));case 7:return t.referenceValue===r.referenceValue;case 8:return s=r,k((n=t).geoPointValue.latitude)===k(s.geoPointValue.latitude)&&k(n.geoPointValue.longitude)===k(s.geoPointValue.longitude);case 2:return n=r,"integerValue"in(l=t)&&"integerValue"in n?k(l.integerValue)===k(n.integerValue):"doubleValue"in l&&"doubleValue"in n&&((a=k(l.doubleValue))===(o=k(n.doubleValue))?At(a)===At(o):isNaN(a)&&isNaN(o));case 9:return Fe(t.arrayValue.values||[],r.arrayValue.values||[],Sn);case 10:case 11:var u=t,l=r,h=u.mapValue.fields||{},c=l.mapValue.fields||{};if(Wr(h)!==Wr(c))return!1;for(let e in h)if(h.hasOwnProperty(e)&&(void 0===c[e]||!Sn(h[e],c[e])))return!1;return!0;default:return E(52216,{left:t})}}function xn(e,t){return void 0!==(e.values||[]).find(e=>Sn(e,t))}function Cn(e,n){if(e===n)return 0;var i,s,a,o,u,l,h,c,d=En(e),t=En(n);if(d!==t)return S(d,t);switch(d){case 0:case 9007199254740991:return 0;case 1:return S(e.booleanValue,n.booleanValue);case 2:return l=n,h=k((u=e).integerValue||u.doubleValue),c=k(l.integerValue||l.doubleValue),h<c?-1:c<h?1:h===c?0:isNaN(h)?isNaN(c)?0:-1:1;case 3:return An(e.timestampValue,n.timestampValue);case 4:return An(gn(e),gn(n));case 5:return Oe(e.stringValue,n.stringValue);case 6:return u=e.bytesValue,l=n.bytesValue,h=on(u),c=on(l),h.compareTo(c);case 7:var f=e.referenceValue,g=n.referenceValue,m=f.split("/"),p=g.split("/");for(let t=0;t<m.length&&t<p.length;t++){let e=S(m[t],p[t]);if(0!==e)return e}return S(m.length,p.length);case 8:return f=e.geoPointValue,g=n.geoPointValue,0!==(o=S(k(f.latitude),k(g.latitude)))?o:S(k(f.longitude),k(g.longitude));case 9:return Dn(e.arrayValue,n.arrayValue);case 10:return y=e.mapValue,i=n.mapValue,o=y.fields||{},s=i.fields||{},o=o[In]?.arrayValue,s=s[In]?.arrayValue,0!==(a=S(o?.values?.length||0,s?.values?.length||0))?a:Dn(o,s);case 11:var y=e.mapValue,v=n.mapValue;if(y===_n.mapValue&&v===_n.mapValue)return 0;if(y===_n.mapValue)return 1;if(v===_n.mapValue)return-1;var w=y.fields||{},_=Object.keys(w),b=v.fields||{},I=Object.keys(b);_.sort(),I.sort();for(let r=0;r<_.length&&r<I.length;++r){let e=Oe(_[r],I[r]);if(0!==e)return e;var T=Cn(w[_[r]],b[I[r]]);if(0!==T)return T}return S(_.length,I.length);default:throw E(23264,{he:d})}}function An(e,t){var r,n,i;return"string"==typeof e&&"string"==typeof t&&e.length===t.length?S(e,t):(r=an(e),n=an(t),0!==(i=S(r.seconds,n.seconds))?i:S(r.nanos,n.nanos))}function Dn(e,t){var r=e.values||[],n=t.values||[];for(let i=0;i<r.length&&i<n.length;++i){let e=Cn(r[i],n[i]);if(e)return e}return S(r.length,n.length)}function Nn(e){return function s(e){return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(e=>{let t=an(e);return`time(${t.seconds},${t.nanos})`})(e.timestampValue):"stringValue"in e?e.stringValue:"bytesValue"in e?(e=>on(e).toBase64())(e.bytesValue):"referenceValue"in e?(e=>x.fromName(e).toString())(e.referenceValue):"geoPointValue"in e?(e=>`geo(${e.latitude},${e.longitude})`)(e.geoPointValue):"arrayValue"in e?(e=>{let t="[",r=!0;for(var n of e.values||[])r?r=!1:t+=",",t+=s(n);return t+"]"})(e.arrayValue):"mapValue"in e?(e=>{let t=Object.keys(e.fields||{}).sort(),r="{",n=!0;for(var i of t)n?n=!1:r+=",",r+=i+":"+s(e.fields[i]);return r+"}"})(e.mapValue):E(61005,{value:e})}(e)}function kn(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/`+t.path.canonicalString()}}function Rn(e){return!!e&&"integerValue"in e}function Mn(e){return!!e&&"arrayValue"in e}function On(e){return e&&"nullValue"in e}function Ln(e){return e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function Pn(e){return e&&"mapValue"in e}function Vn(e){return(e?.mapValue?.fields||{})[vn]?.stringValue===bn}function Fn(t){if(t.geoPointValue)return{geoPointValue:{...t.geoPointValue}};if(t.timestampValue&&"object"==typeof t.timestampValue)return{timestampValue:{...t.timestampValue}};if(t.mapValue){let r={mapValue:{fields:{}}};return Yr(t.mapValue.fields,(e,t)=>r.mapValue.fields[e]=Fn(t)),r}if(t.arrayValue){var r={arrayValue:{values:[]}};for(let e=0;e<(t.arrayValue.values||[]).length;++e)r.arrayValue.values[e]=Fn(t.arrayValue.values[e]);return r}return{...t}}function Un(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===wn}let Bn={mapValue:{fields:{[vn]:{stringValue:bn},[In]:{arrayValue:{}}}}};function qn(e,t){var r=Cn(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function jn(e,t){var r=Cn(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class zn{constructor(e){this.value=e}static empty(){return new zn({mapValue:{}})}field(r){if(r.isEmpty())return this.value;{let e=this.value;for(let t=0;t<r.length-1;++t)if(!Pn(e=(e.mapValue.fields||{})[r.get(t)]))return null;return(e=(e.mapValue.fields||{})[r.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=Fn(t)}setAll(e){let r=h.emptyPath(),n={},i=[];e.forEach((e,t)=>{if(!r.isImmediateParentOf(t)){let e=this.getFieldsMap(r);this.applyChanges(e,n,i),n={},i=[],r=t.popLast()}e?n[t.lastSegment()]=Fn(e):i.push(t.lastSegment())});var t=this.getFieldsMap(r);this.applyChanges(t,n,i)}delete(e){var t=this.field(e.popLast());Pn(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return Sn(this.value,e.value)}getFieldsMap(t){let r=this.value;r.mapValue.fields||(r.mapValue={fields:{}});for(let n=0;n<t.length;++n){let e=r.mapValue.fields[t.get(n)];Pn(e)&&e.mapValue.fields||(e={mapValue:{fields:{}}},r.mapValue.fields[t.get(n)]=e),r=e}return r.mapValue.fields}applyChanges(r,e,t){Yr(e,(e,t)=>r[e]=t);for(let e of t)delete r[e]}clone(){return new zn(Fn(this.value))}}class R{constructor(e,t,r,n,i,s,a){this.key=e,this.documentType=t,this.version=r,this.readTime=n,this.createTime=i,this.data=s,this.documentState=a}static newInvalidDocument(e){return new R(e,0,w.min(),w.min(),w.min(),zn.empty(),0)}static newFoundDocument(e,t,r,n){return new R(e,1,t,w.min(),r,n,0)}static newNoDocument(e,t){return new R(e,2,t,w.min(),w.min(),zn.empty(),0)}static newUnknownDocument(e,t){return new R(e,3,t,w.min(),w.min(),zn.empty(),2)}convertToFoundDocument(e,t){return!this.createTime.isEqual(w.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=zn.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=zn.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=w.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 R&&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 R(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}})`}}class Gn{constructor(e,t){this.position=e,this.inclusive=t}}function Kn(e,t,r){let n=0;for(let a=0;a<e.position.length;a++){var i=t[a],s=e.position[a];if(n=i.field.isKeyField()?x.comparator(x.fromName(s.referenceValue),r.key):Cn(s,r.data.field(i.field)),"desc"===i.dir&&(n*=-1),0!==n)break}return n}function Qn(e,t){if(null===e)return null===t;if(null===t)return!1;if(e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let r=0;r<e.position.length;r++)if(!Sn(e.position[r],t.position[r]))return!1;return!0}class $n{constructor(e,t="asc"){this.field=e,this.dir=t}}class Hn{}class M extends Hn{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,r):new ti(e,t,r):"array-contains"===t?new si(e,r):"in"===t?new ai(e,r):"not-in"===t?new oi(e,r):"array-contains-any"===t?new ui(e,r):new M(e,t,r)}static createKeyFieldInFilter(e,t,r){return new("in"===t?ri:ni)(e,r)}matches(e){var t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(Cn(t,this.value)):null!==t&&En(this.value)===En(t)&&this.matchesComparison(Cn(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 0<e;case">=":return 0<=e;default:return E(47266,{operator:this.op})}}isInequality(){return 0<=["<","<=",">",">=","!=","not-in"].indexOf(this.op)}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class O extends Hn{constructor(e,t){super(),this.filters=e,this.op=t,this.Pe=null}static create(e,t){return new O(e,t)}matches(t){return Wn(this)?void 0===this.filters.find(e=>!e.matches(t)):void 0!==this.filters.find(e=>e.matches(t))}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 Wn(e){return"and"===e.op}function Yn(e){return"or"===e.op}function Jn(e){return Xn(e)&&Wn(e)}function Xn(e){for(var t of e.filters)if(t instanceof O)return!1;return!0}function Zn(e,t){var r=e.filters.concat(t);return O.create(r,e.op)}function ei(e){return e instanceof M?`${(t=e).field.canonicalString()} ${t.op} `+Nn(t.value):e instanceof O?(t=e).op.toString()+" {"+t.getFilters().map(ei).join(" ,")+"}":"Filter";var t}class ti extends M{constructor(e,t,r){super(e,t,r),this.key=x.fromName(r.referenceValue)}matches(e){var t=x.comparator(e.key,this.key);return this.matchesComparison(t)}}class ri extends M{constructor(e,t){super(e,"in",t),this.keys=ii(0,t)}matches(t){return this.keys.some(e=>e.isEqual(t.key))}}class ni extends M{constructor(e,t){super(e,"not-in",t),this.keys=ii(0,t)}matches(t){return!this.keys.some(e=>e.isEqual(t.key))}}function ii(e,t){return(t.arrayValue?.values||[]).map(e=>x.fromName(e.referenceValue))}class si extends M{constructor(e,t){super(e,"array-contains",t)}matches(e){var t=e.data.field(this.field);return Mn(t)&&xn(t.arrayValue,this.value)}}class ai extends M{constructor(e,t){super(e,"in",t)}matches(e){var t=e.data.field(this.field);return null!==t&&xn(this.value.arrayValue,t)}}class oi extends M{constructor(e,t){super(e,"not-in",t)}matches(e){var t;return!xn(this.value.arrayValue,{nullValue:"NULL_VALUE"})&&null!==(t=e.data.field(this.field))&&void 0===t.nullValue&&!xn(this.value.arrayValue,t)}}class ui extends M{constructor(e,t){super(e,"array-contains-any",t)}matches(e){var t=e.data.field(this.field);return!(!Mn(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>xn(this.value.arrayValue,e))}}class li{constructor(e,t=null,r=[],n=[],i=null,s=null,a=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=n,this.limit=i,this.startAt=s,this.endAt=a,this.Te=null}}function hi(e,t=null,r=[],n=[],i=null,s=null,a=null){return new li(e,t,r,n,i,s,a)}function ci(e){var t=e;if(null===t.Te){let e=t.path.canonicalString();null!==t.collectionGroup&&(e+="|cg:"+t.collectionGroup),e=(e=(e+="|f:")+t.filters.map(e=>function t(e){var r;return e instanceof M?e.field.canonicalString()+e.op.toString()+Nn(e.value):Jn(e)?e.filters.map(e=>t(e)).join(","):(r=e.filters.map(e=>t(e)).join(","),e.op+`(${r})`)}(e)).join(",")+"|ob:")+t.orderBy.map(e=>(e=e).field.canonicalString()+e.dir).join(","),Ct(t.limit)||(e=(e+="|l:")+t.limit),t.startAt&&(e=(e=(e+="|lb:")+(t.startAt.inclusive?"b:":"a:"))+t.startAt.position.map(e=>Nn(e)).join(",")),t.endAt&&(e=(e=(e+="|ub:")+(t.endAt.inclusive?"a:":"b:"))+t.endAt.position.map(e=>Nn(e)).join(",")),t.Te=e}return t.Te}function di(e,t){if(e.limit!==t.limit)return!1;if(e.orderBy.length!==t.orderBy.length)return!1;for(let i=0;i<e.orderBy.length;i++)if(r=e.orderBy[i],n=t.orderBy[i],r.dir!==n.dir||!r.field.isEqual(n.field))return!1;var r,n;if(e.filters.length!==t.filters.length)return!1;for(let s=0;s<e.filters.length;s++)if(!function n(e,t){return e instanceof M?(r=e,(s=t)instanceof M&&r.op===s.op&&r.field.isEqual(s.field)&&Sn(r.value,s.value)):e instanceof O?(r=e,(i=t)instanceof O&&r.op===i.op&&r.filters.length===i.filters.length&&r.filters.reduce((e,t,r)=>e&&n(t,i.filters[r]),!0)):void E(19439);var i,r,s}(e.filters[s],t.filters[s]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!Qn(e.startAt,t.startAt)&&Qn(e.endAt,t.endAt)}function fi(e){return x.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function gi(e,t){return e.filters.filter(e=>e instanceof M&&e.field.isEqual(t))}function mi(e,r,n){let i=Tn,s=!0;for(let n of gi(e,r)){let e=Tn,t=!0;switch(n.op){case"<":case"<=":e="nullValue"in(a=n.value)?Tn:"booleanValue"in a?{booleanValue:!1}:"integerValue"in a||"doubleValue"in a?{doubleValue:NaN}:"timestampValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"stringValue"in a?{stringValue:""}:"bytesValue"in a?{bytesValue:""}:"referenceValue"in a?kn(yn.empty(),x.empty()):"geoPointValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"arrayValue"in a?{arrayValue:{}}:"mapValue"in a?Vn(a)?Bn:{mapValue:{}}:E(35942,{value:a});break;case"==":case"in":case">=":e=n.value;break;case">":e=n.value,t=!1;break;case"!=":case"not-in":e=Tn}qn({value:i,inclusive:s},{value:e,inclusive:t})<0&&(i=e,s=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];qn({value:i,inclusive:s},{value:e,inclusive:n.inclusive})<0&&(i=e,s=n.inclusive);break}return{value:i,inclusive:s}}function pi(e,r,n){let i=_n,s=!0;for(let n of gi(e,r)){let e=_n,t=!0;switch(n.op){case">=":case">":e="nullValue"in(a=n.value)?{booleanValue:!1}:"booleanValue"in a?{doubleValue:NaN}:"integerValue"in a||"doubleValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"timestampValue"in a?{stringValue:""}:"stringValue"in a?{bytesValue:""}:"bytesValue"in a?kn(yn.empty(),x.empty()):"referenceValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"geoPointValue"in a?{arrayValue:{}}:"arrayValue"in a?Bn:"mapValue"in a?Vn(a)?{mapValue:{}}:_n:E(61959,{value:a}),t=!1;break;case"==":case"in":case"<=":e=n.value;break;case"<":e=n.value,t=!1;break;case"!=":case"not-in":e=_n}0<jn({value:i,inclusive:s},{value:e,inclusive:t})&&(i=e,s=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];0<jn({value:i,inclusive:s},{value:e,inclusive:n.inclusive})&&(i=e,s=n.inclusive);break}return{value:i,inclusive:s}}class yi{constructor(e,t=null,r=[],n=[],i=null,s="F",a=null,o=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=i,this.limitType=s,this.startAt=a,this.endAt=o,this.Ie=null,this.Ee=null,this.de=null,this.startAt,this.endAt}}function vi(e,t,r,n,i,s,a,o){return new yi(e,t,r,n,i,s,a,o)}function wi(e){return new yi(e)}function _i(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 bi(e){return null!==e.collectionGroup}function Ii(e){let n=e;if(null===n.Ie){n.Ie=[];let t=new Set;for(var i of n.explicitOrderBy)n.Ie.push(i),t.add(i.field.canonicalString());let r=0<n.explicitOrderBy.length?n.explicitOrderBy[n.explicitOrderBy.length-1].dir:"asc",e=(e=>{let t=new D(h.comparator);return e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t})(n);e.forEach(e=>{t.has(e.canonicalString())||e.isKeyField()||n.Ie.push(new $n(e,r))}),t.has(h.keyField().canonicalString())||n.Ie.push(new $n(h.keyField(),r))}return n.Ie}function Ti(e){var t=e;return t.Ee||(t.Ee=((e,t)=>{if("F"===e.limitType)return hi(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);t=t.map(e=>{var t="desc"===e.dir?"asc":"desc";return new $n(e.field,t)});var r=e.endAt?new Gn(e.endAt.position,e.endAt.inclusive):null,n=e.startAt?new Gn(e.startAt.position,e.startAt.inclusive):null;return hi(e.path,e.collectionGroup,t,e.filters,e.limit,r,n)})(t,Ii(e))),t.Ee}function Ei(e,t){var r=e.filters.concat([t]);return new yi(e.path,e.collectionGroup,e.explicitOrderBy.slice(),r,e.limit,e.limitType,e.startAt,e.endAt)}function Si(e,t,r){return new yi(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,r,e.startAt,e.endAt)}function xi(e,t){return di(Ti(e),Ti(t))&&e.limitType===t.limitType}function Ci(e){return ci(Ti(e))+"|lt:"+e.limitType}function Ai(e){return`Query(target=${(e=>{let t=e.path.canonicalString();return null!==e.collectionGroup&&(t+=" collectionGroup="+e.collectionGroup),0<e.filters.length&&(t+=`, filters: [${e.filters.map(e=>ei(e)).join(", ")}]`),Ct(e.limit)||(t+=", limit: "+e.limit),0<e.orderBy.length&&(t+=`, orderBy: [${e.orderBy.map(e=>`${(e=e).field.canonicalString()} (${e.dir})`).join(", ")}]`),e.startAt&&(t=(t=(t+=", startAt: ")+(e.startAt.inclusive?"b:":"a:"))+e.startAt.position.map(e=>Nn(e)).join(",")),`Target(${t=e.endAt?(t=(t+=", endAt: ")+(e.endAt.inclusive?"a:":"b:"))+e.endAt.position.map(e=>Nn(e)).join(","):t})`})(Ti(e))}; limitType=${e.limitType})`}function Di(e,t){return t.isFoundDocument()&&(s=e,o=(a=t).key.path,null!==s.collectionGroup?a.key.hasCollectionId(s.collectionGroup)&&s.path.isPrefixOf(o):x.isDocumentKey(s.path)?s.path.isEqual(o):s.path.isImmediateParentOf(o))&&((e,t)=>{for(var r of Ii(e))if(!r.field.isKeyField()&&null===t.data.field(r.field))return;return 1})(e,t)&&((e,t)=>{for(var r of e.filters)if(!r.matches(t))return;return 1})(e,t)&&(a=t,!(s=e).startAt||(n=s.startAt,r=Ii(s),i=Kn(n,r,a),n.inclusive?i<=0:i<0))&&(!s.endAt||(r=s.endAt,n=Ii(s),i=Kn(r,n,a),r.inclusive?0<=i:0<i));var r,n,i,s,a,o}function Ni(e){return e.collectionGroup||(e.path.length%2==1?e.path.lastSegment():e.path.get(e.path.length-2))}function ki(e){return(t,r)=>{let n=!1;for(var i of Ii(e)){let e=((e,t,r)=>{var n=e.field.isKeyField()?x.comparator(t.key,r.key):((e,t,r)=>{var n=t.data.field(e),i=r.data.field(e);return null!==n&&null!==i?Cn(n,i):E(42886)})(e.field,t,r);switch(e.dir){case"asc":return n;case"desc":return-1*n;default:return E(19790,{direction:e.dir})}})(i,t,r);if(0!==e)return e;n=n||i.field.isKeyField()}return 0}}class Ri{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(r){let e=this.mapKeyFn(r),n=this.inner[e];if(void 0!==n)for(let[e,t]of n)if(this.equalsFn(e,r))return t}has(e){return void 0!==this.get(e)}set(t,r){var e=this.mapKeyFn(t),n=this.inner[e];if(void 0===n)this.inner[e]=[[t,r]];else{for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return void(n[e]=[t,r]);n.push([t,r])}this.innerSize++}delete(t){var r=this.mapKeyFn(t),n=this.inner[r];if(void 0!==n)for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return 1===n.length?delete this.inner[r]:n.splice(e,1),this.innerSize--,!0;return!1}forEach(n){Yr(this.inner,(e,t)=>{for(let[e,r]of t)n(e,r)})}isEmpty(){return Jr(this.inner)}size(){return this.innerSize}}let Mi=new A(x.comparator);let Oi=new A(x.comparator);function Li(...e){let t=Oi;for(var r of e)t=t.insert(r.key,r);return t}function Pi(e){let r=Oi;return e.forEach((e,t)=>r=r.insert(e,t.overlayedDocument)),r}function Vi(){return new Ri(e=>e.toString(),(e,t)=>e.isEqual(t))}let Fi=new A(x.comparator),Ui=new D(x.comparator);function L(...e){let t=Ui;for(var r of e)t=t.add(r);return t}let Bi=new D(S);function qi(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:At(t)?"-0":t}}function ji(e){return{integerValue:""+e}}function zi(e,t){return Dt(t)?ji(t):qi(e,t)}class Gi{constructor(){this._=void 0}}function Ki(e,t){return e instanceof Ji?Rn(e=t)||(e=e)&&"doubleValue"in e?t:{integerValue:0}:null}class Qi extends Gi{}class $i extends Gi{constructor(e){super(),this.elements=e}}function Hi(e,t){var r=Zi(t);for(let t of e.elements)r.some(e=>Sn(e,t))||r.push(t);return{arrayValue:{values:r}}}class Wi extends Gi{constructor(e){super(),this.elements=e}}function Yi(e,t){let r=Zi(t);for(let t of e.elements)r=r.filter(e=>!Sn(e,t));return{arrayValue:{values:r}}}class Ji extends Gi{constructor(e,t){super(),this.serializer=e,this.Ae=t}}function Xi(e){return k(e.integerValue||e.doubleValue)}function Zi(e){return Mn(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class es{constructor(e,t){this.field=e,this.transform=t}}class ts{constructor(e,t){this.version=e,this.transformResults=t}}class P{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new P}static exists(e){return new P(void 0,e)}static updateTime(e){return new P(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 rs(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class ns{}function is(e,r){if(!e.hasLocalMutations||r&&0===r.fields.length)return null;if(null===r)return e.isNoDocument()?new ds(e.key,P.none()):new os(e.key,e.data,P.none());{var n,i=e.data,s=zn.empty();let t=new D(h.comparator);for(n of r.fields)if(!t.has(n)){let e=i.field(n);null===e&&1<n.length&&(n=n.popLast(),e=i.field(n)),null===e?s.delete(n):s.set(n,e),t=t.add(n)}return new us(e.key,s,new rn(t.toArray()),P.none())}}function ss(e,t,r,n){return e instanceof os?(s=t,a=r,o=n,rs((i=e).precondition,s)?(u=i.value.clone(),l=cs(i.fieldTransforms,o,s),u.setAll(l),s.convertToFoundDocument(s.version,u).setHasLocalMutations(),null):a):e instanceof us?(i=t,o=r,s=n,rs((a=e).precondition,i)?(l=cs(a.fieldTransforms,s,i),(u=i.data).setAll(ls(a)),u.setAll(l),i.convertToFoundDocument(i.version,u).setHasLocalMutations(),null===o?null:o.unionWith(a.fieldMask.fields).unionWith(a.fieldTransforms.map(e=>e.field))):o):(n=t,t=r,rs(e.precondition,n)?(n.convertToNoDocument(n.version).setHasLocalMutations(),null):t);var i,s,a,o,u,l}function as(e,t){return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&(r=e.fieldTransforms,n=t.fieldTransforms,!!(void 0===r&&void 0===n||r&&n&&Fe(r,n,(e,t)=>(t=t,(e=e).field.isEqual(t.field)&&(e=e.transform,t=t.transform,e instanceof $i&&t instanceof $i||e instanceof Wi&&t instanceof Wi?Fe(e.elements,t.elements,Sn):e instanceof Ji&&t instanceof Ji?Sn(e.Ae,t.Ae):e instanceof Qi&&t instanceof Qi)))))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask));var r,n}class os extends ns{constructor(e,t,r,n=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=n,this.type=0}getFieldMask(){return null}}class us extends ns{constructor(e,t,r,n,i=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=n,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function ls(r){let n=new Map;return r.fieldMask.fields.forEach(e=>{var t;e.isEmpty()||(t=r.data.field(e),n.set(e,t))}),n}function hs(e,t,r){var n,i,s,a=new Map;y(e.length===r.length,32656,{Re:r.length,Ve:e.length});for(let h=0;h<r.length;h++){var o=e[h],u=o.transform,l=t.data.field(o.field);a.set(o.field,(n=u,i=l,s=r[h],n instanceof $i?Hi(n,i):n instanceof Wi?Yi(n,i):s))}return a}function cs(e,r,n){var i,s,a,o,u,l,h,c=new Map;for(i of e){let e=i.transform,t=n.data.field(i.field);c.set(i.field,(s=e,a=t,o=r,h=l=u=void 0,s instanceof Qi?(o=o,l=a,h={fields:{[ln]:{stringValue:un},[cn]:{timestampValue:{seconds:o.seconds,nanos:o.nanoseconds}}}},(l=l&&dn(l)?fn(l):l)&&(h.fields[hn]=l),{mapValue:h}):s instanceof $i?Hi(s,a):s instanceof Wi?Yi(s,a):(h=Ki(o=s,a),u=Xi(h)+Xi(o.Ae),Rn(h)&&Rn(o.Ae)?ji(u):qi(o.serializer,u))))}return c}class ds extends ns{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class fs extends ns{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class gs{constructor(e,t,r,n){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=n}applyToRemoteDocument(e,t){var r,n,i,s,a,o,u,l=t.mutationResults;for(let c=0;c<this.mutations.length;c++){var h=this.mutations[c];h.key.isEqual(e.key)&&(r=h,n=e,i=l[c],u=h=o=a=s=void 0,r instanceof os?(a=n,o=i,h=(s=r).value.clone(),u=hs(s.fieldTransforms,a,o.transformResults),h.setAll(u),a.convertToFoundDocument(o.version,h).setHasCommittedMutations()):r instanceof us?(s=n,a=i,rs((o=r).precondition,s)?(u=hs(o.fieldTransforms,s,a.transformResults),(h=s.data).setAll(ls(o)),h.setAll(u),s.convertToFoundDocument(a.version,h).setHasCommittedMutations()):s.convertToUnknownDocument(a.version)):n.convertToNoDocument(i.version).setHasCommittedMutations())}}applyToLocalView(e,t){for(var r of this.baseMutations)r.key.isEqual(e.key)&&(t=ss(r,e,t,this.localWriteTime));for(var n of this.mutations)n.key.isEqual(e.key)&&(t=ss(n,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(n,i){let s=Vi();return this.mutations.forEach(e=>{var t=n.get(e.key),r=t.overlayedDocument,t=this.applyToLocalView(r,t.mutatedFields),t=is(r,i.has(e.key)?null:t);null!==t&&s.set(e.key,t),r.isValidDocument()||r.convertToNoDocument(w.min())}),s}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),L())}isEqual(e){return this.batchId===e.batchId&&Fe(this.mutations,e.mutations,(e,t)=>as(e,t))&&Fe(this.baseMutations,e.baseMutations,(e,t)=>as(e,t))}}class ms{constructor(e,t,r,n){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=n}static from(e,t,r){y(e.mutations.length===r.length,58842,{me:e.mutations.length,fe:r.length});let n=Fi;var i=e.mutations;for(let s=0;s<i.length;s++)n=n.insert(i[s].key,r[s].version);return new ms(e,t,r,n)}}class ps{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
16
|
largestBatchId: ${this.largestBatchId},
|
|
17
17
|
mutation: ${this.mutation.toString()}
|
|
18
18
|
}`}}class ys{constructor(e,t){this.count=e,this.unchangedNames=t}}function vs(e){switch(e){case b.OK:return E(64938);case b.CANCELLED:case b.UNKNOWN:case b.DEADLINE_EXCEEDED:case b.RESOURCE_EXHAUSTED:case b.INTERNAL:case b.UNAVAILABLE:case b.UNAUTHENTICATED:return!1;case b.INVALID_ARGUMENT:case b.NOT_FOUND:case b.ALREADY_EXISTS:case b.PERMISSION_DENIED:case b.FAILED_PRECONDITION:case b.ABORTED:case b.OUT_OF_RANGE:case b.UNIMPLEMENTED:case b.DATA_LOSS:return!0;default:return E(15467,{code:e})}}function ws(e){if(void 0===e)return d("GRPC error has no .code"),b.UNKNOWN;switch(e){case m.OK:return b.OK;case m.CANCELLED:return b.CANCELLED;case m.UNKNOWN:return b.UNKNOWN;case m.DEADLINE_EXCEEDED:return b.DEADLINE_EXCEEDED;case m.RESOURCE_EXHAUSTED:return b.RESOURCE_EXHAUSTED;case m.INTERNAL:return b.INTERNAL;case m.UNAVAILABLE:return b.UNAVAILABLE;case m.UNAUTHENTICATED:return b.UNAUTHENTICATED;case m.INVALID_ARGUMENT:return b.INVALID_ARGUMENT;case m.NOT_FOUND:return b.NOT_FOUND;case m.ALREADY_EXISTS:return b.ALREADY_EXISTS;case m.PERMISSION_DENIED:return b.PERMISSION_DENIED;case m.FAILED_PRECONDITION:return b.FAILED_PRECONDITION;case m.ABORTED:return b.ABORTED;case m.OUT_OF_RANGE:return b.OUT_OF_RANGE;case m.UNIMPLEMENTED:return b.UNIMPLEMENTED;case m.DATA_LOSS:return b.DATA_LOSS;default:return E(39323,{code:e})}}(e=m=m||{})[e.OK=0]="OK",e[e.CANCELLED=1]="CANCELLED",e[e.UNKNOWN=2]="UNKNOWN",e[e.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",e[e.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",e[e.NOT_FOUND=5]="NOT_FOUND",e[e.ALREADY_EXISTS=6]="ALREADY_EXISTS",e[e.PERMISSION_DENIED=7]="PERMISSION_DENIED",e[e.UNAUTHENTICATED=16]="UNAUTHENTICATED",e[e.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",e[e.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",e[e.ABORTED=10]="ABORTED",e[e.OUT_OF_RANGE=11]="OUT_OF_RANGE",e[e.UNIMPLEMENTED=12]="UNIMPLEMENTED",e[e.INTERNAL=13]="INTERNAL",e[e.UNAVAILABLE=14]="UNAVAILABLE",e[e.DATA_LOSS=15]="DATA_LOSS";function _s(){return new TextEncoder}let bs=new ge([4294967295,4294967295],0);function Is(e){var t=_s().encode(e),r=new me;return r.update(t),new Uint8Array(r.digest())}function Ts(e){var t=new DataView(e.buffer),r=t.getUint32(0,!0),n=t.getUint32(4,!0),i=t.getUint32(8,!0),t=t.getUint32(12,!0);return[new ge([r,n],0),new ge([i,t],0)]}class Es{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||8<=t)throw new Ss("Invalid padding: "+t);if(r<0)throw new Ss("Invalid hash count: "+r);if(0<e.length&&0===this.hashCount)throw new Ss("Invalid hash count: "+r);if(0===e.length&&0!==t)throw new Ss("Invalid padding when bitmap length is 0: "+t);this.ge=8*e.length-t,this.pe=ge.fromNumber(this.ge)}ye(e,t,r){let n=e.add(t.multiply(ge.fromNumber(r)));return(n=1===n.compare(bs)?new ge([n.getBits(0),n.getBits(1)],0):n).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=Is(e),[r,n]=Ts(t);for(let i=0;i<this.hashCount;i++){let e=this.ye(r,n,i);if(!this.we(e))return!1}return!0}static create(e,t,r){let n=e%8==0?0:8-e%8,i=new Uint8Array(Math.ceil(e/8)),s=new Es(i,n,t);return r.forEach(e=>s.insert(e)),s}insert(i){if(0!==this.ge){let e=Is(i),[t,r]=Ts(e);for(let n=0;n<this.hashCount;n++){let e=this.ye(t,r,n);this.Se(e)}}}Se(e){var t=Math.floor(e/8);this.bitmap[t]|=1<<e%8}}class Ss extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}class xs{constructor(e,t,r,n,i){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=n,this.resolvedLimboDocuments=i}static createSynthesizedRemoteEventForCurrentChange(e,t,r){var n=new Map;return n.set(e,Cs.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new xs(w.min(),n,new A(S),Mi,L())}}class Cs{constructor(e,t,r,n,i){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=n,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new Cs(r,t,L(),L(),L())}}class As{constructor(e,t,r,n){this.be=e,this.removedTargetIds=t,this.key=r,this.De=n}}class Ds{constructor(e,t){this.targetId=e,this.Ce=t}}class Ns{constructor(e,t,r=N.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class ks{constructor(){this.ve=0,this.Fe=Os(),this.Me=N.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){0<e.approximateByteSize()&&(this.Oe=!0,this.Me=e)}ke(){let r=L(),n=L(),i=L();return this.Fe.forEach((e,t)=>{switch(t){case 0:r=r.add(e);break;case 2:n=n.add(e);break;case 1:i=i.add(e);break;default:E(38017,{changeType:t})}}),new Cs(this.Me,this.xe,r,n,i)}qe(){this.Oe=!1,this.Fe=Os()}Qe(e,t){this.Oe=!0,this.Fe=this.Fe.insert(e,t)}$e(e){this.Oe=!0,this.Fe=this.Fe.remove(e)}Ue(){this.ve+=1}Ke(){--this.ve,y(0<=this.ve,3241,{ve:this.ve})}We(){this.Oe=!0,this.xe=!0}}class Rs{constructor(e){this.Ge=e,this.ze=new Map,this.je=Mi,this.Je=Ms(),this.He=Ms(),this.Ye=new A(S)}Ze(e){for(var t of e.be)e.De&&e.De.isFoundDocument()?this.Xe(t,e.De):this.et(t,e.key,e.De);for(var r of e.removedTargetIds)this.et(r,e.key,e.De)}tt(r){this.forEachTarget(r,e=>{var t=this.nt(e);switch(r.state){case 0:this.rt(e)&&t.Le(r.resumeToken);break;case 1:t.Ke(),t.Ne||t.qe(),t.Le(r.resumeToken);break;case 2:t.Ke(),t.Ne||this.removeTarget(e);break;case 3:this.rt(e)&&(t.We(),t.Le(r.resumeToken));break;case 4:this.rt(e)&&(this.it(e),t.Le(r.resumeToken));break;default:E(56790,{state:r.state})}})}forEachTarget(e,r){0<e.targetIds.length?e.targetIds.forEach(r):this.ze.forEach((e,t)=>{this.rt(t)&&r(t)})}st(n){let i=n.targetId,e=n.Ce.count,t=this.ot(i);if(t){var r=t.target;if(fi(r))if(0===e){let e=new x(r.path);this.et(i,e,R.newNoDocument(e,w.min()))}else y(1===e,20013,{expectedCount:e});else{let r=this._t(i);if(r!==e){let e=this.ut(n),t=e?this.ct(e,n,r):1;if(0!==t){this.it(i);let e=2===t?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.Ye=this.Ye.insert(i,e)}}}}}ut(e){var t=e.Ce.unchangedNames;if(!t||!t.bits)return null;var{bits:{bitmap:t="",padding:r=0},hashCount:n=0}=t;let i,s;try{i=on(t).toUint8Array()}catch(e){if(e instanceof nn)return Ie("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{s=new Es(i,r,n)}catch(e){return Ie(e instanceof Ss?"BloomFilter error: ":"Applying bloom filter failed: ",e),null}return 0===s.ge?null:s}ct(e,t,r){return t.Ce.count===r-this.Pt(e,t.targetId)?0:2}Pt(r,n){var e=this.Ge.getRemoteKeysForTarget(n);let i=0;return e.forEach(e=>{var t=this.Ge.ht(),t=`projects/${t.projectId}/databases/${t.database}/documents/`+e.path.canonicalString();r.mightContain(t)||(this.et(n,e,null),i++)}),i}Tt(n){let i=new Map,s=(this.ze.forEach((e,t)=>{var r=this.ot(t);if(r){if(e.current&&fi(r.target)){let e=new x(r.target.path);this.It(e).has(t)||this.Et(t,e)||this.et(t,e,R.newNoDocument(e,n))}e.Be&&(i.set(t,e.ke()),e.qe())}}),L());this.He.forEach((e,t)=>{let r=!0;t.forEachWhile(e=>{var t=this.ot(e);return!t||"TargetPurposeLimboResolution"===t.purpose||(r=!1)}),r&&(s=s.add(e))}),this.je.forEach((e,t)=>t.setReadTime(n));var e=new xs(n,i,this.Ye,this.je,s);return this.je=Mi,this.Je=Ms(),this.He=Ms(),this.Ye=new A(S),e}Xe(e,t){var r;this.rt(e)&&(r=this.Et(e,t.key)?2:0,this.nt(e).Qe(t.key,r),this.je=this.je.insert(t.key,t),this.Je=this.Je.insert(t.key,this.It(t.key).add(e)),this.He=this.He.insert(t.key,this.dt(t.key).add(e)))}et(e,t,r){var n;this.rt(e)&&(n=this.nt(e),this.Et(e,t)?n.Qe(t,1):n.$e(t),this.He=this.He.insert(t,this.dt(t).delete(e)),this.He=this.He.insert(t,this.dt(t).add(e)),r)&&(this.je=this.je.insert(t,r))}removeTarget(e){this.ze.delete(e)}_t(e){var t=this.nt(e).ke();return this.Ge.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}Ue(e){this.nt(e).Ue()}nt(e){let t=this.ze.get(e);return t||(t=new ks,this.ze.set(e,t)),t}dt(e){let t=this.He.get(e);return t||(t=new D(S),this.He=this.He.insert(e,t)),t}It(e){let t=this.Je.get(e);return t||(t=new D(S),this.Je=this.Je.insert(e,t)),t}rt(e){var t=null!==this.ot(e);return t||p("WatchChangeAggregator","Detected inactive target",e),t}ot(e){var t=this.ze.get(e);return t&&t.Ne?null:this.Ge.At(e)}it(t){this.ze.set(t,new ks),this.Ge.getRemoteKeysForTarget(t).forEach(e=>{this.et(t,e,null)})}Et(e,t){return this.Ge.getRemoteKeysForTarget(e).has(t)}}function Ms(){return new A(x.comparator)}function Os(){return new A(x.comparator)}let Ls={asc:"ASCENDING",desc:"DESCENDING"},Ps={"<":"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"},Vs={and:"AND",or:"OR"};class Fs{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function Us(e,t){return e.useProto3Json||Ct(t)?t:{value:t}}function Bs(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 qs(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function V(e){return y(!!e,49232),w.fromTimestamp((t=an(e),new v(t.seconds,t.nanos)));var t}function js(e,t){return zs(e,t).canonicalString()}function zs(e,t){e=e;var r=new T(["projects",e.projectId,"databases",e.database]).child("documents");return void 0===t?r:r.child(t)}function Gs(e){var t=T.fromString(e);return y(ha(t),10190,{key:t.toString()}),t}function Ks(e,t){return js(e.databaseId,t.path)}function Qs(e,t){var r=Gs(t);if(r.get(1)!==e.databaseId.projectId)throw new I(b.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+r.get(1)+" vs "+e.databaseId.projectId);if(r.get(3)!==e.databaseId.database)throw new I(b.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+r.get(3)+" vs "+e.databaseId.database);return new x(Ys(r))}function $s(e,t){return js(e.databaseId,t)}function Hs(e){var t=Gs(e);return 4===t.length?T.emptyPath():Ys(t)}function Ws(e){return new T(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function Ys(e){return y(4<e.length&&"documents"===e.get(4),29091,{key:e.toString()}),e.popFirst(5)}function Js(e,t,r){return{name:Ks(e,t),fields:r.value.mapValue.fields}}function Xs(e,t,r){var n=Qs(e,t.name),i=V(t.updateTime),s=t.createTime?V(t.createTime):w.min(),a=new zn({mapValue:{fields:t.fields}}),n=R.newFoundDocument(n,i,s,a);return r&&n.setHasCommittedMutations(),r?n.setHasCommittedMutations():n}function Zs(e,t){let r;if(t instanceof os)r={update:Js(e,t.key,t.value)};else if(t instanceof ds)r={delete:Ks(e,t.key)};else if(t instanceof us)r={update:Js(e,t.key,t.data),updateMask:(e=>{let t=[];return e.fields.forEach(e=>t.push(e.canonicalString())),{fieldPaths:t}})(t.fieldMask)};else{if(!(t instanceof fs))return E(16599,{Vt:t.type});r={verify:Ks(e,t.key)}}return 0<t.fieldTransforms.length&&(r.updateTransforms=t.fieldTransforms.map(e=>{var t=e.transform;if(t instanceof Qi)return{fieldPath:e.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(t instanceof $i)return{fieldPath:e.field.canonicalString(),appendMissingElements:{values:t.elements}};if(t instanceof Wi)return{fieldPath:e.field.canonicalString(),removeAllFromArray:{values:t.elements}};if(t instanceof Ji)return{fieldPath:e.field.canonicalString(),increment:t.Ae};throw E(20930,{transform:e.transform})})),t.precondition.isNone||(r.currentDocument=(e=e,void 0!==(t=t.precondition).updateTime?{updateTime:(n=t.updateTime,Bs(e,n.toTimestamp()))}:void 0!==t.exists?{exists:t.exists}:E(27497))),r;var n}function ea(i,t){let r=t.currentDocument?void 0!==(s=t.currentDocument).updateTime?P.updateTime(V(s.updateTime)):void 0!==s.exists?P.exists(s.exists):P.none():P.none(),n=t.updateTransforms?t.updateTransforms.map(r=>{{var e=i;let t=null;if("setToServerValue"in r)y("REQUEST_TIME"===r.setToServerValue,16630,{proto:r}),t=new Qi;else if("appendMissingElements"in r){let e=r.appendMissingElements.values||[];t=new $i(e)}else if("removeAllFromArray"in r){let e=r.removeAllFromArray.values||[];t=new Wi(e)}else"increment"in r?t=new Ji(e,r.increment):E(16584,{proto:r});var n=h.fromServerFormat(r.fieldPath);return new es(n,t)}}):[];var s,a;if(t.update){t.update.name;var o=Qs(i,t.update.name),u=new zn({mapValue:{fields:t.update.fields}});if(t.updateMask){s=t.updateMask,a=s.fieldPaths||[];let e=new rn(a.map(e=>h.fromServerFormat(e)));return new us(o,u,e,r,n)}return new os(o,u,r,n)}if(t.delete){let e=Qs(i,t.delete);return new ds(e,r)}if(t.verify){let e=Qs(i,t.verify);return new fs(e,r)}return E(1463,{proto:t})}function ta(e,n){return e&&0<e.length?(y(void 0!==n,14353),e.map(t=>{{var r=n;let e=t.updateTime?V(t.updateTime):V(r);return e.isEqual(w.min())&&(e=V(r)),new ts(e,t.transformResults||[])}})):[]}function ra(e,t){return{documents:[$s(e,t.path)]}}function na(e,t){var r={structuredQuery:{}},n=t.path;let i;null!==t.collectionGroup?(i=n,r.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(i=n.popLast(),r.structuredQuery.from=[{collectionId:n.lastSegment()}]),r.parent=$s(e,i);n=(e=>{if(0!==e.length)return function r(e){return e instanceof M?(e=>{if("=="===e.op){if(Ln(e.value))return{unaryFilter:{field:ua(e.field),op:"IS_NAN"}};if(On(e.value))return{unaryFilter:{field:ua(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(Ln(e.value))return{unaryFilter:{field:ua(e.field),op:"IS_NOT_NAN"}};if(On(e.value))return{unaryFilter:{field:ua(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:ua(e.field),op:aa(e.op),value:e.value}}})(e):e instanceof O?(e=>{let t=e.getFilters().map(e=>r(e));return 1===t.length?t[0]:{compositeFilter:{op:oa(e.op),filters:t}}})(e):E(54877,{filter:e})}(O.create(e,"and"))})(t.filters),n&&(r.structuredQuery.where=n),n=(e=>{if(0!==e.length)return e.map(e=>({field:ua((e=e).field),direction:(e=e.dir,Ls[e])}))})(t.orderBy),n&&(r.structuredQuery.orderBy=n),n=Us(e,t.limit);return null!==n&&(r.structuredQuery.limit=n),t.startAt&&(r.structuredQuery.startAt={before:(e=t.startAt).inclusive,values:e.position}),t.endAt&&(r.structuredQuery.endAt={before:!(e=t.endAt).inclusive,values:e.position}),{ft:r,parent:i}}function ia(e){let t=Hs(e.parent);var r,n=e.structuredQuery,i=n.from?n.from.length:0;let s=null;if(0<i){y(1===i,65062);let e=n.from[0];e.allDescendants?s=e.collectionId:t=t.child(e.collectionId)}let a=[],o=(n.where&&(a=(e=n.where,(i=function t(e){return void 0!==e.unaryFilter?(i=>{switch(i.unaryFilter.op){case"IS_NAN":let e=la(i.unaryFilter.field);return M.create(e,"==",{doubleValue:NaN});case"IS_NULL":let t=la(i.unaryFilter.field);return M.create(t,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let r=la(i.unaryFilter.field);return M.create(r,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let n=la(i.unaryFilter.field);return M.create(n,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return E(61313);default:return E(60726)}})(e):void 0!==e.fieldFilter?(e=>M.create(la(e.fieldFilter.field),(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 E(58110);default:return E(50506)}})(e.fieldFilter.op),e.fieldFilter.value))(e):void 0!==e.compositeFilter?(e=>O.create(e.compositeFilter.filters.map(e=>t(e)),(e=>{switch(e){case"AND":return"and";case"OR":return"or";default:return E(1026)}})(e.compositeFilter.op)))(e):E(30097,{filter:e})}(e))instanceof O&&Jn(i)?i.getFilters():[i])),[]),u=(n.orderBy&&(o=n.orderBy.map(e=>(e=e,new $n(la(e.field),(e=>{switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}})(e.direction))))),null),l=(n.limit&&(u=(e=n.limit,Ct(i="object"==typeof e?e.value:e)?null:i)),null),h=(n.startAt&&(l=(e=n.startAt,i=!!e.before,r=e.values||[],new Gn(r,i))),null);return n.endAt&&(h=(e=n.endAt,r=!e.before,i=e.values||[],new Gn(i,r))),vi(t,s,o,a,u,"F",l,h)}function sa(e,t){var r=(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 E(28987,{purpose:e})}})(t.purpose);return null==r?null:{"goog-listen-tags":r}}function aa(e){return Ps[e]}function oa(e){return Vs[e]}function ua(e){return{fieldPath:e.canonicalString()}}function la(e){return h.fromServerFormat(e.fieldPath)}function ha(e){return 4<=e.length&&"projects"===e.get(0)&&"databases"===e.get(2)}class ca{constructor(e,t,r,n,i=w.min(),s=w.min(),a=N.EMPTY_BYTE_STRING,o=null){this.target=e,this.targetId=t,this.purpose=r,this.sequenceNumber=n,this.snapshotVersion=i,this.lastLimboFreeSnapshotVersion=s,this.resumeToken=a,this.expectedCount=o}withSequenceNumber(e){return new ca(this.target,this.targetId,this.purpose,e,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(e,t){return new ca(this.target,this.targetId,this.purpose,this.sequenceNumber,t,this.lastLimboFreeSnapshotVersion,e,null)}withExpectedCount(e){return new ca(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,e)}withLastLimboFreeSnapshotVersion(e){return new ca(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,e,this.resumeToken,this.expectedCount)}}class da{constructor(e){this.yt=e}}function fa(e,t){var r,n=t.key,i={prefixPath:n.getCollectionPath().popLast().toArray(),collectionGroup:n.collectionGroup,documentId:n.path.lastSegment(),readTime:ga(t.readTime),hasCommittedMutations:t.hasCommittedMutations};if(t.isFoundDocument())i.document={name:Ks(e=e.yt,(r=t).key),fields:r.data.value.mapValue.fields,updateTime:Bs(e,r.version.toTimestamp()),createTime:Bs(e,r.createTime.toTimestamp())};else if(t.isNoDocument())i.noDocument={path:n.path.toArray(),readTime:ma(t.version)};else{if(!t.isUnknownDocument())return E(57904,{document:t});i.unknownDocument={path:n.path.toArray(),version:ma(t.version)}}return i}function ga(e){var t=e.toTimestamp();return[t.seconds,t.nanoseconds]}function ma(e){var t=e.toTimestamp();return{seconds:t.seconds,nanoseconds:t.nanoseconds}}function pa(e){var t=new v(e.seconds,e.nanoseconds);return w.fromTimestamp(t)}function ya(t,r){let e=(r.baseMutations||[]).map(e=>ea(t.yt,e));for(let s=0;s<r.mutations.length-1;++s){let t=r.mutations[s];if(s+1<r.mutations.length&&void 0!==r.mutations[s+1].transform){let e=r.mutations[s+1];t.updateTransforms=e.transform.fieldTransforms,r.mutations.splice(s+1,1),++s}}let n=r.mutations.map(e=>ea(t.yt,e)),i=v.fromMillis(r.localWriteTimeMs);return new gs(r.batchId,i,e,n)}function va(e){var t,r=pa(e.readTime),n=void 0!==e.lastLimboFreeSnapshotVersion?pa(e.lastLimboFreeSnapshotVersion):w.min(),i=void 0!==e.query.documents?(t=e.query,y(1===(i=t.documents.length),1966,{count:i}),Ti(wi(Hs(t.documents[0])))):Ti(ia(e.query));return new ca(i,e.targetId,"TargetPurposeListen",e.lastListenSequenceNumber,r,n,N.fromBase64String(e.resumeToken))}function wa(e,t){var r=ma(t.snapshotVersion),n=ma(t.lastLimboFreeSnapshotVersion),i=fi(t.target)?ra(e.yt,t.target):na(e.yt,t.target).ft,s=t.resumeToken.toBase64();return{targetId:t.targetId,canonicalId:ci(t.target),readTime:r,resumeToken:s,lastListenSequenceNumber:t.sequenceNumber,lastLimboFreeSnapshotVersion:n,query:i}}function _a(e){var t=ia({parent:e.parent,structuredQuery:e.structuredQuery});return"LAST"===e.limitType?Si(t,t.limit,"L"):t}function ba(e,t){return new ps(t.largestBatchId,ea(e.yt,t.overlayMutation))}function Ia(e,t){var r=t.path.lastSegment();return[e,kt(t.path.popLast()),r]}function Ta(e,t,r,n){return{indexId:e,uid:t,sequenceNumber:r,readTime:ma(n.readTime),documentKey:kt(n.documentKey.path),largestBatchId:n.largestBatchId}}class Ea{getBundleMetadata(e,t){return Sa(e).get(t).next(e=>{if(e)return{id:(e=e).bundleId,createTime:pa(e.createTime),version:e.version}})}saveBundleMetadata(e,t){return Sa(e).put({bundleId:(e=t).id,createTime:ma(V(e.createTime)),version:e.version})}getNamedQuery(e,t){return xa(e).get(t).next(e=>{if(e)return{name:(e=e).name,query:_a(e.bundledQuery),readTime:pa(e.readTime)}})}saveNamedQuery(e,t){return xa(e).put({name:(e=t).name,readTime:ma(V(e.readTime)),bundledQuery:e.bundledQuery})}}function Sa(e){return r(e,br)}function xa(e){return r(e,Ir)}class Ca{constructor(e,t){this.serializer=e,this.userId=t}static wt(e,t){var r=t.uid||"";return new Ca(e,r)}getOverlay(e,t){return Aa(e).get(Ia(this.userId,t)).next(e=>e?ba(this.serializer,e):null)}getOverlays(e,t){let r=Vi();return C.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}saveOverlays(n,i,e){let s=[];return e.forEach((e,t)=>{var r=new ps(i,t);s.push(this.St(n,r))}),C.waitFor(s)}removeOverlaysForBatchId(r,e,n){let t=new Set,i=(e.forEach(e=>t.add(kt(e.getCollectionPath()))),[]);return t.forEach(e=>{var t=IDBKeyRange.bound([this.userId,e,n],[this.userId,e,n+1],!1,!0);i.push(Aa(r).Z(Lr,t))}),C.waitFor(i)}getOverlaysForCollection(e,t,r){let n=Vi(),i=kt(t),s=IDBKeyRange.bound([this.userId,i,r],[this.userId,i,Number.POSITIVE_INFINITY],!0);return Aa(e).J(Lr,s).next(e=>{for(var t of e){let e=ba(this.serializer,t);n.set(e.getKey(),e)}return n})}getOverlaysForCollectionGroup(e,t,r,i){let s=Vi(),a;var n=IDBKeyRange.bound([this.userId,t,r],[this.userId,t,Number.POSITIVE_INFINITY],!0);return Aa(e).ee({index:Vr,range:n},(e,t,r)=>{var n=ba(this.serializer,t);s.size()<i||n.largestBatchId===a?(s.set(n.getKey(),n),a=n.largestBatchId):r.done()}).next(()=>s)}St(e,t){return Aa(e).put(((e,t,r)=>{var[,n,i]=Ia(t,r.mutation.key);return{userId:t,collectionPath:n,documentId:i,collectionGroup:r.mutation.key.getCollectionGroup(),largestBatchId:r.largestBatchId,overlayMutation:Zs(e.yt,r.mutation)}})(this.serializer,this.userId,t))}}function Aa(e){return r(e,Mr)}class Da{bt(e){return r(e,Ur)}getSessionToken(e){return this.bt(e).get("sessionToken").next(e=>{var t=e?.value;return t?N.fromUint8Array(t):N.EMPTY_BYTE_STRING})}setSessionToken(e,t){return this.bt(e).put({name:"sessionToken",value:t.toUint8Array()})}}class Na{constructor(){}Dt(e,t){this.Ct(e,t),t.vt()}Ct(t,r){if("nullValue"in t)this.Ft(r,5);else if("booleanValue"in t)this.Ft(r,10),r.Mt(t.booleanValue?1:0);else if("integerValue"in t)this.Ft(r,15),r.Mt(k(t.integerValue));else if("doubleValue"in t){var e=k(t.doubleValue);isNaN(e)?this.Ft(r,13):(this.Ft(r,15),At(e)?r.Mt(0):r.Mt(e))}else if("timestampValue"in t){let e=t.timestampValue;this.Ft(r,20),"string"==typeof e&&(e=an(e)),r.xt(""+(e.seconds||"")),r.Mt(e.nanos||0)}else"stringValue"in t?(this.Ot(t.stringValue,r),this.Nt(r)):"bytesValue"in t?(this.Ft(r,30),r.Bt(on(t.bytesValue)),this.Nt(r)):"referenceValue"in t?this.Lt(t.referenceValue,r):"geoPointValue"in t?(e=t.geoPointValue,this.Ft(r,45),r.Mt(e.latitude||0),r.Mt(e.longitude||0)):"mapValue"in t?Un(t)?this.Ft(r,Number.MAX_SAFE_INTEGER):Vn(t)?this.kt(t.mapValue,r):(this.qt(t.mapValue,r),this.Nt(r)):"arrayValue"in t?(this.Qt(t.arrayValue,r),this.Nt(r)):E(19022,{$t:t})}Ot(e,t){this.Ft(t,25),this.Ut(e,t)}Ut(e,t){t.xt(e)}qt(e,t){var r=e.fields||{};this.Ft(t,55);for(let e of Object.keys(r))this.Ot(e,t),this.Ct(r[e],t)}kt(e,t){var r=e.fields||{},n=(this.Ft(t,53),In),i=r[n].arrayValue?.values?.length||0;this.Ft(t,15),t.Mt(k(i)),this.Ot(n,t),this.Ct(r[n],t)}Qt(e,t){var r=e.values||[];this.Ft(t,50);for(let e of r)this.Ct(e,t)}Lt(e,t){this.Ft(t,37),x.fromName(e).path.forEach(e=>{this.Ft(t,60),this.Ut(e,t)})}Ft(e,t){e.Mt(t)}Nt(e){e.Mt(2)}}Na.Kt=new Na;function ka(e){var t=64-(e=>{let t=0;for(let n=0;n<8;++n){var r=(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);return Math.ceil(t/8)}class Ra{constructor(){this.buffer=new Uint8Array(1024),this.position=0}Wt(e){var t=e[Symbol.iterator]();let r=t.next();for(;!r.done;)this.Gt(r.value),r=t.next();this.zt()}jt(e){var t=e[Symbol.iterator]();let r=t.next();for(;!r.done;)this.Jt(r.value),r=t.next();this.Ht()}Yt(e){for(var 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()}Zt(e){for(var t of e){let e=t.charCodeAt(0);if(e<128)this.Jt(e);else if(e<2048)this.Jt(960|e>>>6),this.Jt(128|63&e);else if(t<"\ud800"||"\udbff"<t)this.Jt(480|e>>>12),this.Jt(128|63&e>>>6),this.Jt(128|63&e);else{let e=t.codePointAt(0);this.Jt(240|e>>>18),this.Jt(128|63&e>>>12),this.Jt(128|63&e>>>6),this.Jt(128|63&e)}}this.Ht()}Xt(e){var t=this.en(e),r=ka(t);this.tn(1+r),this.buffer[this.position++]=255&r;for(let n=t.length-r;n<t.length;++n)this.buffer[this.position++]=255&t[n]}nn(e){var t=this.en(e),r=ka(t);this.tn(1+r),this.buffer[this.position++]=~(255&r);for(let n=t.length-r;n<t.length;++n)this.buffer[this.position++]=~(255&t[n])}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){e=e,(t=new DataView(new ArrayBuffer(8))).setFloat64(0,e,!1);var t,r=new Uint8Array(t.buffer),n=!!(128&r[0]);r[0]^=n?255:128;for(let i=1;i<r.length;++i)r[i]^=n?255:0;return r}Gt(e){var t=255&e;0==t?(this.sn(0),this.sn(255)):255==t?(this.sn(255),this.sn(0)):this.sn(t)}Jt(e){var 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)}Ht(){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){var t=e+this.position;if(!(t<=this.buffer.length)){let e=2*this.buffer.length;e<t&&(e=t);t=new Uint8Array(e);t.set(this.buffer),this.buffer=t}}}class Ma{constructor(e){this.cn=e}Bt(e){this.cn.Wt(e)}xt(e){this.cn.Yt(e)}Mt(e){this.cn.Xt(e)}vt(){this.cn.rn()}}class Oa{constructor(e){this.cn=e}Bt(e){this.cn.jt(e)}xt(e){this.cn.Zt(e)}Mt(e){this.cn.nn(e)}vt(){this.cn._n()}}class La{constructor(){this.cn=new Ra,this.ln=new Ma(this.cn),this.hn=new Oa(this.cn)}seed(e){this.cn.seed(e)}Pn(e){return 0===e?this.ln:this.hn}un(){return this.cn.un()}reset(){this.cn.reset()}}class Pa{constructor(e,t,r,n){this.Tn=e,this.In=t,this.En=r,this.dn=n}An(){var e=this.dn.length,t=0===e||255===this.dn[e-1]?e+1:e,r=new Uint8Array(t);return r.set(this.dn,0),t!==e?r.set([0],this.dn.length):++r[r.length-1],new Pa(this.Tn,this.In,this.En,r)}Rn(e,t,r){return{indexId:this.Tn,uid:e,arrayValue:Ua(this.En),directionalValue:Ua(this.dn),orderedDocumentKey:Ua(t),documentKey:r.path.toArray()}}Vn(e,t,r){var n=this.Rn(e,t,r);return[n.indexId,n.uid,n.arrayValue,n.directionalValue,n.orderedDocumentKey,n.documentKey]}}function Va(e,t){var r=e.Tn-t.Tn;return 0!=r||0!==(r=Fa(e.En,t.En))||0!==(r=Fa(e.dn,t.dn))?r:x.comparator(e.In,t.In)}function Fa(e,t){for(let n=0;n<e.length&&n<t.length;++n){var r=e[n]-t[n];if(0!=r)return r}return e.length-t.length}function Ua(r){if(ne()){var n=r;let e="";for(let t=0;t<n.length;t++)e+=String.fromCharCode(n[t]);return e}return r}function Ba(e){if("string"!=typeof e)return e;var t=e,r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}class qa{constructor(e){this.mn=new D((e,t)=>h.comparator(e.field,t.field)),this.collectionId=null!=e.collectionGroup?e.collectionGroup:e.path.lastSegment(),this.fn=e.orderBy,this.gn=[];for(var t of e.filters){let e=t;e.isInequality()?this.mn=this.mn.add(e):this.gn.push(e)}}get pn(){return 1<this.mn.size}yn(e){if(y(e.collectionGroup===this.collectionId,49279),this.pn)return!1;let t=et(e);if(void 0!==t&&!this.wn(t))return!1;var r=tt(e);let n=new Set,i=0,s=0;for(;i<r.length&&this.wn(r[i]);++i)n=n.add(r[i].fieldPath.canonicalString());if(i!==r.length){if(0<this.mn.size){let t=this.mn.getIterator().getNext();if(!n.has(t.field.canonicalString())){let e=r[i];if(!this.Sn(t,e)||!this.bn(this.fn[s++],e))return!1}++i}for(;i<r.length;++i){let e=r[i];if(s>=this.fn.length||!this.bn(this.fn[s++],e))return!1}}return!0}Dn(){if(this.pn)return null;let e=new D(h.comparator);var t,r,n=[];for(t of this.gn)t.field.isKeyField()||("array-contains"===t.op||"array-contains-any"===t.op?n.push(new rt(t.field,2)):e.has(t.field)||(e=e.add(t.field),n.push(new rt(t.field,0))));for(r of this.fn)r.field.isKeyField()||e.has(r.field)||(e=e.add(r.field),n.push(new rt(r.field,"asc"===r.dir?0:1)));return new Ze(Ze.UNKNOWN_ID,this.collectionId,n,nt.empty())}wn(e){for(var t of this.gn)if(this.Sn(t,e))return!0;return!1}Sn(e,t){var r;return!(void 0===e||!e.field.isEqual(t.fieldPath))&&(r="array-contains"===e.op||"array-contains-any"===e.op,2===t.kind==r)}bn(e,t){return!!e.field.isEqual(t.fieldPath)&&(0===t.kind&&"asc"===e.dir||1===t.kind&&"desc"===e.dir)}}function ja(e){var t;return 0===e.getFilters().length?[]:(t=function t(e){if(y(e instanceof M||e instanceof O,34018),e instanceof M)return e;if(1===e.filters.length)return t(e.filters[0]);let r=e.filters.map(e=>t(e));let n=O.create(r,e.op);return n=Ha(n),Ka(n)?n:(y(n instanceof O,64498),y(Wn(n),40251),y(1<n.filters.length,57927),n.filters.reduce((e,t)=>Qa(e,t)))}(function t(r){if(y(r instanceof M||r instanceof O,20012),r instanceof M){if(r instanceof ai){let e=r.value.arrayValue?.values?.map(e=>M.create(r.field,"==",e))||[];return O.create(e,"or")}return r}let e=r.filters.map(e=>t(e));return O.create(e,r.op)}(e)),y(Ka(t),7391),za(t)||Ga(t)?[t]:t.getFilters())}function za(e){return e instanceof M}function Ga(e){return e instanceof O&&Jn(e)}function Ka(e){return za(e)||Ga(e)||(e=>{if(e instanceof O&&Yn(e)){for(var t of e.getFilters())if(!za(t)&&!Ga(t))return!1;return!0}return!1})(e)}function Qa(e,t){var r,n;return y(e instanceof M||e instanceof O,38388),y(t instanceof M||t instanceof O,25473),Ha(e instanceof M?t instanceof M?(r=e,n=t,O.create([r,n],"and")):$a(e,t):t instanceof M?$a(t,e):((e,t)=>{if(y(0<e.filters.length&&0<t.filters.length,48005),Wn(e)&&Wn(t))return Zn(e,t.getFilters());let r=Yn(e)?e:t,n=Yn(e)?t:e,i=r.filters.map(e=>Qa(e,n));return O.create(i,"or")})(e,t))}function $a(t,e){var r;return Wn(e)?Zn(e,t.getFilters()):(r=e.filters.map(e=>Qa(t,e)),O.create(r,"or"))}function Ha(t){if(y(t instanceof M||t instanceof O,11850),t instanceof M)return t;var e=t.getFilters();if(1===e.length)return Ha(e[0]);if(Xn(t))return t;let r=e.map(e=>Ha(e)),n=[];return r.forEach(e=>{e instanceof M?n.push(e):e instanceof O&&(e.op===t.op?n.push(...e.filters):n.push(e))}),1===n.length?n[0]:O.create(n,t.op)}class Wa{constructor(){this.Cn=new Ya}addToCollectionParentIndex(e,t){return this.Cn.add(t),C.resolve()}getCollectionParents(e,t){return C.resolve(this.Cn.getEntries(t))}addFieldIndex(e,t){return C.resolve()}deleteFieldIndex(e,t){return C.resolve()}deleteAllFieldIndexes(e){return C.resolve()}createTargetIndexes(e,t){return C.resolve()}getDocumentsMatchingTarget(e,t){return C.resolve(null)}getIndexType(e,t){return C.resolve(0)}getFieldIndexes(e,t){return C.resolve([])}getNextCollectionGroupToUpdate(e){return C.resolve(null)}getMinOffset(e,t){return C.resolve(at.min())}getMinOffsetFromCollectionGroup(e,t){return C.resolve(at.min())}updateCollectionGroup(e,t,r){return C.resolve()}updateIndexEntries(e,t){return C.resolve()}}class Ya{constructor(){this.index={}}add(e){var t=e.lastSegment(),r=e.popLast(),n=this.index[t]||new D(T.comparator),i=!n.has(r);return this.index[t]=n.add(r),i}has(e){var t=e.lastSegment(),r=e.popLast(),t=this.index[t];return t&&t.has(r)}getEntries(e){return(this.index[e]||new D(T.comparator)).toArray()}}let Ja="IndexedDbIndexManager",Xa=new Uint8Array(0);class Za{constructor(e,t){this.databaseId=t,this.vn=new Ya,this.Fn=new Ri(e=>ci(e),(e,t)=>di(e,t)),this.uid=e.uid||""}addToCollectionParentIndex(e,t){var r,n;return this.vn.has(t)?C.resolve():(n=t.lastSegment(),r=t.popLast(),e.addOnCommittedListener(()=>{this.vn.add(t)}),n={collectionId:n,parent:kt(r)},eo(e).put(n))}getCollectionParents(e,r){let n=[],t=IDBKeyRange.bound([r,""],[Ue(r),""],!1,!0);return eo(e).J(t).next(e=>{for(var t of e){if(t.collectionId!==r)break;n.push(Mt(t.parent))}return n})}addFieldIndex(e,r){let t=ro(e),n={indexId:r.indexId,collectionGroup:r.collectionGroup,fields:r.fields.map(e=>[e.fieldPath.canonicalString(),e.kind])};delete n.indexId;var i=t.add(n);if(r.indexState){let t=no(e);return i.next(e=>{t.put(Ta(e,this.uid,r.indexState.sequenceNumber,r.indexState.offset))})}return i.next()}deleteFieldIndex(e,t){let r=ro(e),n=no(e),i=to(e);return r.delete(t.indexId).next(()=>n.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=ro(e),r=to(e),n=no(e);return t.Z().next(()=>r.Z()).next(()=>n.Z())}createTargetIndexes(r,e){return C.forEach(this.Mn(e),t=>this.getIndexType(r,t).next(e=>{if(0===e||1===e){let e=new qa(t).Dn();if(null!=e)return this.addFieldIndex(r,e)}}))}getDocumentsMatchingTarget(e,c){let d=to(e),r=!0,n=new Map;return C.forEach(this.Mn(c),t=>this.xn(e,t).next(e=>{r=r&&!!e,n.set(t,e)})).next(()=>{if(r){let l=L(),h=[];return C.forEach(n,(e,t)=>{p(Ja,`Using index ${r=e,`id=${r.indexId}|cg=${r.collectionGroup}|f=`+r.fields.map(e=>e.fieldPath+":"+e.kind).join(",")} to execute `+ci(c));var r,n=((t,e)=>{var r=et(e);if(void 0!==r)for(let e of gi(t,r.fieldPath))switch(e.op){case"array-contains-any":return e.value.arrayValue.values||[];case"array-contains":return[e.value]}return null})(t,e),i=((t,r)=>{var n,i=new Map;for(n of tt(r))for(let e of gi(t,n.fieldPath))switch(e.op){case"==":case"in":i.set(n.fieldPath.canonicalString(),e.value);break;case"not-in":case"!=":return i.set(n.fieldPath.canonicalString(),e.value),Array.from(i.values())}return null})(t,e),s=((t,e)=>{var r,n=[];let i=!0;for(r of tt(e)){let e=(0===r.kind?mi:pi)(t,r.fieldPath,t.startAt);n.push(e.value),i=i&&e.inclusive}return new Gn(n,i)})(t,e),a=((t,e)=>{var r,n=[];let i=!0;for(r of tt(e)){let e=(0===r.kind?pi:mi)(t,r.fieldPath,t.endAt);n.push(e.value),i=i&&e.inclusive}return new Gn(n,i)})(t,e),o=this.On(e,t,s),u=this.On(e,t,a),i=this.Nn(e,t,i),n=this.Bn(e.indexId,n,o,s.inclusive,u,a.inclusive,i);return C.forEach(n,e=>d.Y(e,c.limit).next(e=>{e.forEach(e=>{var t=x.fromSegments(e.documentKey);l.has(t)||(l=l.add(t),h.push(t))})}))}).next(()=>h)}return C.resolve(null)})}Mn(t){let e=this.Fn.get(t);return e||(e=0===t.filters.length?[t]:ja(O.create(t.filters,"and")).map(e=>hi(t.path,t.collectionGroup,t.orderBy,e.getFilters(),t.limit,t.startAt,t.endAt)),this.Fn.set(t,e)),e}Bn(i,s,a,o,u,l,h){let e=(null!=s?s.length:1)*Math.max(a.length,u.length),c=e/(null!=s?s.length:1),d=[];for(let f=0;f<e;++f){let t=s?this.Ln(s[f/c]):Xa,e=this.kn(i,t,a[f%c],o),r=this.qn(i,t,u[f%c],l),n=h.map(e=>this.kn(i,t,e,!0));d.push(...this.createRange(e,r,n))}return d}kn(e,t,r,n){var i=new Pa(e,x.empty(),t,r);return n?i:i.An()}qn(e,t,r,n){var i=new Pa(e,x.empty(),t,r);return n?i.An():i}xn(e,t){let n=new qa(t),r=null!=t.collectionGroup?t.collectionGroup:t.path.lastSegment();return this.getFieldIndexes(e,r).next(e=>{let t=null;for(var r of e)n.yn(r)&&(!t||r.fields.length>t.fields.length)&&(t=r);return t})}getIndexType(e,t){let r=2,n=this.Mn(t);return C.forEach(n,t=>this.xn(e,t).next(e=>{e?0!==r&&e.fields.length<(t=>{let r=new D(h.comparator),n=!1;for(var i of t.filters)for(let e of i.getFlattenedFilters())e.field.isKeyField()||("array-contains"===e.op||"array-contains-any"===e.op?n=!0:r=r.add(e.field));for(let n of t.orderBy)n.field.isKeyField()||(r=r.add(n.field));return r.size+(n?1:0)})(t)&&(r=1):r=0})).next(()=>null!==t.limit&&1<n.length&&2===r?1:r)}Qn(e,t){var r,n=new La;for(r of tt(e)){let e=t.data.field(r.fieldPath);if(null==e)return null;var i=n.Pn(r.kind);Na.Kt.Dt(e,i)}return n.un()}Ln(e){var t=new La;return Na.Kt.Dt(e,t.Pn(0)),t.un()}$n(e,t){var r,n=new La;return Na.Kt.Dt(kn(this.databaseId,t),n.Pn(0===(r=tt(e)).length?0:r[r.length-1].kind)),n.un()}Nn(e,n,i){if(null===i)return[];let s=[],a=(s.push(new La),0);for(var o of tt(e)){let t=i[a++];for(let r of s)if(this.Un(n,o.fieldPath)&&Mn(t))s=this.Kn(s,o,t);else{let e=r.Pn(o.kind);Na.Kt.Dt(t,e)}}return this.Wn(s)}On(e,t,r){return this.Nn(e,t,r.position)}Wn(e){var t=[];for(let r=0;r<e.length;++r)t[r]=e[r].un();return t}Kn(r,n,e){let i=[...r],s=[];for(let r of e.arrayValue.values||[])for(let t of i){let e=new La;e.seed(t.un()),Na.Kt.Dt(r,e.Pn(n.kind)),s.push(e)}return s}Un(e,t){return!!e.filters.find(e=>e instanceof M&&e.field.isEqual(t)&&("in"===e.op||"not-in"===e.op))}getFieldIndexes(e,t){let r=ro(e),n=no(e);return(t?r.J(Er,IDBKeyRange.bound(t,t)):r.J()).next(e=>{let s=[];return C.forEach(e,i=>n.get([i.indexId,this.uid]).next(e=>{var t,r,n;s.push((t=i,r=(e=e)?new nt(e.sequenceNumber,new at(pa(e.readTime),new x(Mt(e.documentKey)),e.largestBatchId)):nt.empty(),n=t.fields.map(([e,t])=>new rt(h.fromServerFormat(e),t)),new Ze(t.indexId,t.collectionGroup,n,r)))})).next(()=>s)})}getNextCollectionGroupToUpdate(e){return this.getFieldIndexes(e).next(e=>0===e.length?null:(e.sort((e,t)=>{var r=e.indexState.sequenceNumber-t.indexState.sequenceNumber;return 0!=r?r:S(e.collectionGroup,t.collectionGroup)}),e[0].collectionGroup))}updateCollectionGroup(e,r,n){let i=ro(e),s=no(e);return this.Gn(e).next(t=>i.J(Er,IDBKeyRange.bound(r,r)).next(e=>C.forEach(e,e=>s.put(Ta(e.indexId,this.uid,t,n)))))}updateIndexEntries(i,e){let r=new Map;return C.forEach(e,(t,n)=>{var e=r.get(t.collectionGroup);return(e?C.resolve(e):this.getFieldIndexes(i,t.collectionGroup)).next(e=>(r.set(t.collectionGroup,e),C.forEach(e,r=>this.zn(i,t,r).next(e=>{var t=this.jn(n,r);return e.isEqual(t)?C.resolve():this.Jn(i,n,r,e,t)}))))})}Hn(e,t,r,n){return to(e).put(n.Rn(this.uid,this.$n(r,t.key),t.key))}Yn(e,t,r,n){return to(e).delete(n.Vn(this.uid,this.$n(r,t.key),t.key))}zn(e,r,n){var t=to(e);let i=new D(Va);return t.ee({index:kr,range:IDBKeyRange.only([n.indexId,this.uid,Ua(this.$n(n,r))])},(e,t)=>{i=i.add(new Pa(n.indexId,r,Ba(t.arrayValue),Ba(t.directionalValue)))}).next(()=>i)}jn(t,r){let n=new D(Va);var i=this.Qn(r,t);if(null!=i){let e=et(r);if(null!=e){var s=t.data.field(e.fieldPath);if(Mn(s))for(let e of s.arrayValue.values||[])n=n.add(new Pa(r.indexId,t.key,this.Ln(e),i))}else n=n.add(new Pa(r.indexId,t.key,Xa,i))}return n}Jn(t,r,s,e,a){p(Ja,"Updating index entries for document '%s'",r.key);let o=[];{var u=Va,l=e=>{o.push(this.Hn(t,r,s,e))},h=e=>{o.push(this.Yn(t,r,s,e))},c=e.getIterator(),d=a.getIterator();let n=tn(c),i=tn(d);for(;n||i;){let t=!1,r=!1;if(n&&i){let e=u(n,i);e<0?r=!0:0<e&&(t=!0)}else null!=n?r=!0:t=!0;t?(l(i),i=tn(d)):r?(h(n),n=tn(c)):(n=tn(c),i=tn(d))}}return C.waitFor(o)}Gn(e){let n=1;return no(e).ee({index:Cr,reverse:!0,range:IDBKeyRange.upperBound([this.uid,Number.MAX_SAFE_INTEGER])},(e,t,r)=>{r.done(),n=t.sequenceNumber+1}).next(()=>n)}createRange(r,n,e){e=e.sort((e,t)=>Va(e,t)).filter((e,t,r)=>!t||0!==Va(e,r[t-1]));var i=[];i.push(r);for(let s of e){let e=Va(s,r),t=Va(s,n);if(0===e)i[0]=r.An();else if(0<e&&t<0)i.push(s),i.push(s.An());else if(0<t)break}i.push(n);let s=[];for(let a=0;a<i.length;a+=2){if(this.Zn(i[a],i[a+1]))return[];let e=i[a].Vn(this.uid,Xa,x.empty()),t=i[a+1].Vn(this.uid,Xa,x.empty());s.push(IDBKeyRange.bound(e,t))}return s}Zn(e,t){return 0<Va(e,t)}getMinOffsetFromCollectionGroup(e,t){return this.getFieldIndexes(e,t).next(io)}getMinOffset(t,e){return C.mapArray(this.Mn(e),e=>this.xn(t,e).next(e=>e||E(44426))).next(io)}}function eo(e){return r(e,vr)}function to(e){return r(e,Dr)}function ro(e){return r(e,Tr)}function no(e){return r(e,Sr)}function io(e){y(0!==e.length,28825);let t=e[0].indexState.offset,r=t.largestBatchId;for(let i=1;i<e.length;i++){var n=e[i].indexState.offset;ot(n,t)<0&&(t=n),r<n.largestBatchId&&(r=n.largestBatchId)}return new at(t.readTime,t.documentKey,r)}let so={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class ao{static withCacheSize(e){return new ao(e,ao.DEFAULT_COLLECTION_PERCENTILE,ao.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}function oo(t,r,n){let e=t.store(Ft),i=t.store(Kt),s=[],a=IDBKeyRange.only(n.batchId),o=0;var u=e.ee({range:a},(e,t,r)=>(o++,r.delete()));s.push(u.next(()=>{y(1===o,47070,{batchId:n.batchId})}));let l=[];for(let t of n.mutations){let e=zt(r,t.key.path,n.batchId);s.push(i.delete(e)),l.push(t.key)}return C.waitFor(s).next(()=>l)}function uo(e){if(!e)return 0;let t;if(e.document)t=e.document;else if(e.unknownDocument)t=e.unknownDocument;else{if(!e.noDocument)throw E(14731);t=e.noDocument}return JSON.stringify(t).length}ao.DEFAULT_COLLECTION_PERCENTILE=10,ao.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,ao.DEFAULT=new ao(41943040,ao.DEFAULT_COLLECTION_PERCENTILE,ao.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),ao.DISABLED=new ao(-1,0,0);class lo{constructor(e,t,r,n){this.userId=e,this.serializer=t,this.indexManager=r,this.referenceDelegate=n,this.Xn={}}static wt(e,t,r,n){y(""!==e.uid,64387);var i=e.isAuthenticated()?e.uid:"";return new lo(i,t,r,n)}checkEmpty(e){let n=!0;var t=IDBKeyRange.bound([this.userId,Number.NEGATIVE_INFINITY],[this.userId,Number.POSITIVE_INFINITY]);return co(e).ee({index:Bt,range:t},(e,t,r)=>{n=!1,r.done()}).next(()=>n)}addMutationBatch(c,d,f,g){let m=fo(c),p=co(c);return p.add({}).next(t=>{y("number"==typeof t,49019);let e=new gs(t,d,f,g),r=(i=this.serializer,s=this.userId,a=e,o=a.baseMutations.map(e=>Zs(i.yt,e)),u=a.mutations.map(e=>Zs(i.yt,e)),{userId:s,batchId:a.batchId,localWriteTimeMs:a.localWriteTime.toMillis(),baseMutations:o,mutations:u}),n=[];var i,s,a,o,u;let l=new D((e,t)=>S(e.canonicalString(),t.canonicalString()));for(let h of g){let e=zt(this.userId,h.key.path,t);l=l.add(h.key.path.popLast()),n.push(p.put(r)),n.push(m.put(e,Gt))}return l.forEach(e=>{n.push(this.indexManager.addToCollectionParentIndex(c,e))}),c.addOnCommittedListener(()=>{this.Xn[t]=e.keys()}),C.waitFor(n).next(()=>e)})}lookupMutationBatch(e,t){return co(e).get(t).next(e=>e?(y(e.userId===this.userId,48,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),ya(this.serializer,e)):null)}er(e,r){return this.Xn[r]?C.resolve(this.Xn[r]):this.lookupMutationBatch(e,r).next(e=>{var t;return e?(t=e.keys(),this.Xn[r]=t):null})}getNextMutationBatchAfterBatchId(e,t){let n=t+1,r=IDBKeyRange.lowerBound([this.userId,n]),i=null;return co(e).ee({index:Bt,range:r},(e,t,r)=>{t.userId===this.userId&&(y(t.batchId>=n,47524,{tr:n}),i=ya(this.serializer,t)),r.done()}).next(()=>i)}getHighestUnacknowledgedBatchId(e){var t=IDBKeyRange.upperBound([this.userId,Number.POSITIVE_INFINITY]);let n=xt;return co(e).ee({index:Bt,range:t,reverse:!0},(e,t,r)=>{n=t.batchId,r.done()}).next(()=>n)}getAllMutationBatches(e){var t=IDBKeyRange.bound([this.userId,xt],[this.userId,Number.POSITIVE_INFINITY]);return co(e).J(Bt,t).next(e=>e.map(e=>ya(this.serializer,e)))}getAllMutationBatchesAffectingDocumentKey(o,u){let e=jt(this.userId,u.path),t=IDBKeyRange.lowerBound(e),l=[];return fo(o).ee({range:t},(t,e,r)=>{let[n,i,s]=t,a=Mt(i);if(n===this.userId&&u.path.isEqual(a))return co(o).get(s).next(e=>{if(!e)throw E(61480,{nr:t,batchId:s});y(e.userId===this.userId,10503,"Unexpected user for mutation batch",{userId:e.userId,batchId:s}),l.push(ya(this.serializer,e))});r.done()}).next(()=>l)}getAllMutationBatchesAffectingDocumentKeys(t,e){let o=new D(S),r=[];return e.forEach(a=>{var e=jt(this.userId,a.path),e=IDBKeyRange.lowerBound(e),e=fo(t).ee({range:e},(e,t,r)=>{var[n,i,s]=e,i=Mt(i);n===this.userId&&a.path.isEqual(i)?o=o.add(s):r.done()});r.push(e)}),C.waitFor(r).next(()=>this.rr(t,o))}getAllMutationBatchesAffectingQuery(e,t){let a=t.path,o=a.length+1,r=jt(this.userId,a),n=IDBKeyRange.lowerBound(r),u=new D(S);return fo(e).ee({range:n},(e,t,r)=>{var[n,i,s]=e,i=Mt(i);n===this.userId&&a.isPrefixOf(i)?i.length===o&&(u=u.add(s)):r.done()}).next(()=>this.rr(e,u))}rr(e,t){let r=[],n=[];return t.forEach(t=>{n.push(co(e).get(t).next(e=>{if(null===e)throw E(35274,{batchId:t});y(e.userId===this.userId,9748,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),r.push(ya(this.serializer,e))}))}),C.waitFor(n).next(()=>r)}removeMutationBatch(t,r){return oo(t.le,this.userId,r).next(e=>(t.addOnCommittedListener(()=>{this.ir(r.batchId)}),C.forEach(e,e=>this.referenceDelegate.markPotentiallyOrphaned(t,e))))}ir(e){delete this.Xn[e]}performConsistencyCheck(r){return this.checkEmpty(r).next(e=>{if(!e)return C.resolve();let t=IDBKeyRange.lowerBound([this.userId]),n=[];return fo(r).ee({range:t},(t,e,r)=>{if(t[0]===this.userId){let e=Mt(t[1]);n.push(e)}else r.done()}).next(()=>{y(0===n.length,56720,{sr:n.map(e=>e.canonicalString())})})})}containsKey(e,t){return ho(e,this.userId,t)}_r(e){return go(e).get(this.userId).next(e=>e||{userId:this.userId,lastAcknowledgedBatchId:xt,lastStreamToken:""})}}function ho(e,s,t){let r=jt(s,t.path),a=r[1],n=IDBKeyRange.lowerBound(r),o=!1;return fo(e).ee({range:n,X:!0},(e,t,r)=>{var[n,i,,]=e;n===s&&i===a&&(o=!0),r.done()}).next(()=>o)}function co(e){return r(e,Ft)}function fo(e){return r(e,Kt)}function go(e){return r(e,Vt)}class mo{constructor(e){this.ar=e}next(){return this.ar+=2,this.ar}static ur(){return new mo(0)}static cr(){return new mo(-1)}}class po{constructor(e,t){this.referenceDelegate=e,this.serializer=t}allocateTargetId(r){return this.lr(r).next(e=>{var t=new mo(e.highestTargetId);return e.highestTargetId=t.next(),this.hr(r,e).next(()=>e.highestTargetId)})}getLastRemoteSnapshotVersion(e){return this.lr(e).next(e=>w.fromTimestamp(new v(e.lastRemoteSnapshotVersion.seconds,e.lastRemoteSnapshotVersion.nanoseconds)))}getHighestSequenceNumber(e){return this.lr(e).next(e=>e.highestListenSequenceNumber)}setTargetsMetadata(t,r,n){return this.lr(t).next(e=>(e.highestListenSequenceNumber=r,n&&(e.lastRemoteSnapshotVersion=n.toTimestamp()),e.highestListenSequenceNumber<r&&(e.highestListenSequenceNumber=r),this.hr(t,e)))}addTargetData(t,r){return this.Pr(t,r).next(()=>this.lr(t).next(e=>(e.targetCount+=1,this.Tr(r,e),this.hr(t,e))))}updateTargetData(e,t){return this.Pr(e,t)}removeTargetData(t,e){return this.removeMatchingKeysForTargetId(t,e.targetId).next(()=>yo(t).delete(e.targetId)).next(()=>this.lr(t)).next(e=>(y(0<e.targetCount,8065),--e.targetCount,this.hr(t,e)))}removeTargets(n,i,s){let a=0,o=[];return yo(n).ee((e,t)=>{var r=va(t);r.sequenceNumber<=i&&null===s.get(r.targetId)&&(a++,o.push(this.removeTargetData(n,r)))}).next(()=>C.waitFor(o)).next(()=>a)}forEachTarget(e,n){return yo(e).ee((e,t)=>{var r=va(t);n(r)})}lr(e){return vo(e).get(pr).next(e=>(y(null!==e,2888),e))}hr(e,t){return vo(e).put(pr,t)}Pr(e,t){return yo(e).put(wa(this.serializer,t))}Tr(e,t){let r=!1;return e.targetId>t.highestTargetId&&(t.highestTargetId=e.targetId,r=!0),t.highestListenSequenceNumber<e.sequenceNumber&&(t.highestListenSequenceNumber=e.sequenceNumber,r=!0),r}getTargetCount(e){return this.lr(e).next(e=>e.targetCount)}getTargetData(e,i){var t=ci(i),t=IDBKeyRange.bound([t,Number.NEGATIVE_INFINITY],[t,Number.POSITIVE_INFINITY]);let s=null;return yo(e).ee({range:t,index:tr},(e,t,r)=>{var n=va(t);di(i,n.target)&&(s=n,r.done())}).next(()=>s)}addMatchingKeys(r,e,n){let i=[],s=wo(r);return e.forEach(e=>{var t=kt(e.path);i.push(s.put({targetId:n,path:t})),i.push(this.referenceDelegate.addReference(r,n,e))}),C.waitFor(i)}removeMatchingKeys(r,e,n){let i=wo(r);return C.forEach(e,e=>{var t=kt(e.path);return C.waitFor([i.delete([n,t]),this.referenceDelegate.removeReference(r,n,e)])})}removeMatchingKeysForTargetId(e,t){var r=wo(e),n=IDBKeyRange.bound([t],[t+1],!1,!0);return r.delete(n)}getMatchingKeysForTargetId(e,t){var r=IDBKeyRange.bound([t],[t+1],!1,!0),n=wo(e);let i=L();return n.ee({range:r,X:!0},(e,t,r)=>{var n=Mt(e[1]),n=new x(n);i=i.add(n)}).next(()=>i)}containsKey(e,t){var r=kt(t.path),r=IDBKeyRange.bound([r],[Ue(r)],!1,!0);let n=0;return wo(e).ee({index:sr,X:!0,range:r},([e],t,r)=>{0!==e&&(n++,r.done())}).next(()=>0<n)}At(e,t){return yo(e).get(t).next(e=>e?va(e):null)}}function yo(e){return r(e,er)}function vo(e){return r(e,yr)}function wo(e){return r(e,nr)}let _o="LruGarbageCollector";function bo([e,t],[r,n]){var i=S(e,r);return 0===i?S(t,n):i}class Io{constructor(e){this.Ir=e,this.buffer=new D(bo),this.Er=0}dr(){return++this.Er}Ar(e){var t=[e,this.dr()];if(this.buffer.size<this.Ir)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();bo(t,e)<0&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}}class To{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.Rr=null}start(){-1!==this.garbageCollector.params.cacheSizeCollectionThreshold&&this.Vr(6e4)}stop(){this.Rr&&(this.Rr.cancel(),this.Rr=null)}get started(){return null!==this.Rr}Vr(e){p(_o,`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){yt(e)?p(_o,"Ignoring IndexedDB error during garbage collection: ",e):await ht(e)}await this.Vr(3e5)})}}class Eo{constructor(e,t){this.mr=e,this.params=t}calculateTargetCount(e,t){return this.mr.gr(e).next(e=>Math.floor(t/100*e))}nthSequenceNumber(e,t){if(0===t)return C.resolve(St.ce);let r=new Io(t);return this.mr.forEachTarget(e,e=>r.Ar(e.sequenceNumber)).next(()=>this.mr.pr(e,e=>r.Ar(e))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.mr.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.mr.removeOrphanedDocuments(e,t)}collect(t,r){return-1===this.params.cacheSizeCollectionThreshold?(p("LruGarbageCollector","Garbage collection skipped; disabled"),C.resolve(so)):this.getCacheSize(t).next(e=>e<this.params.cacheSizeCollectionThreshold?(p("LruGarbageCollector",`Garbage collection skipped; Cache size ${e} is lower than threshold `+this.params.cacheSizeCollectionThreshold),so):this.yr(t,r))}getCacheSize(e){return this.mr.getCacheSize(e)}yr(t,r){let n,i,s,a,o,u,l,h=Date.now();return this.calculateTargetCount(t,this.params.percentileToCollect).next(e=>(i=e>this.params.maximumSequenceNumbersToCollect?(p("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from `+e),this.params.maximumSequenceNumbersToCollect):e,a=Date.now(),this.nthSequenceNumber(t,i))).next(e=>(n=e,o=Date.now(),this.removeTargets(t,n,r))).next(e=>(s=e,u=Date.now(),this.removeOrphanedDocuments(t,n))).next(e=>(l=Date.now(),be()<=c.DEBUG&&p("LruGarbageCollector",`LRU Garbage Collection
|
|
19
19
|
Counted targets in ${a-h}ms
|
|
20
20
|
Determined least recently used ${i} in `+(o-a)+"ms\n"+` Removed ${s} targets in `+(u-o)+"ms\n"+` Removed ${e} documents in `+(l-u)+"ms\n"+`Total Duration: ${l-h}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:i,targetsRemoved:s,documentsRemoved:e})))}}function So(e,t){return new Eo(e,t)}class xo{constructor(e,t){this.db=e,this.garbageCollector=So(this,t)}gr(e){let r=this.wr(e);return this.db.getTargetCache().getTargetCount(e).next(t=>r.next(e=>t+e))}wr(e){let t=0;return this.pr(e,e=>{t++}).next(()=>t)}forEachTarget(e,t){return this.db.getTargetCache().forEachTarget(e,t)}pr(e,r){return this.Sr(e,(e,t)=>r(t))}addReference(e,t,r){return Co(e,r)}removeReference(e,t,r){return Co(e,r)}removeTargets(e,t,r){return this.db.getTargetCache().removeTargets(e,t,r)}markPotentiallyOrphaned(e,t){return Co(e,t)}br(e,r){{var n=e,i=r;let t=!1;return go(n).te(e=>ho(n,e,i).next(e=>(e&&(t=!0),C.resolve(!e)))).next(()=>t)}}removeOrphanedDocuments(r,n){let i=this.db.getRemoteDocumentCache().newChangeBuffer(),s=[],a=0;return this.Sr(r,(t,e)=>{if(e<=n){let e=this.br(r,t).next(e=>{if(!e)return a++,i.getEntry(r,t).next(()=>(i.removeEntry(t,w.min()),wo(r).delete([0,kt(t.path)])))});s.push(e)}}).next(()=>C.waitFor(s)).next(()=>i.apply(r)).next(()=>a)}removeTarget(e,t){var r=t.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,r)}updateLimboDocument(e,t){return Co(e,t)}Sr(e,n){var t=wo(e);let i,s=St.ce;return t.ee({index:sr},([e],{path:t,sequenceNumber:r})=>{0===e?(s!==St.ce&&n(new x(Mt(i)),s),s=r,i=t):s=St.ce}).next(()=>{s!==St.ce&&n(new x(Mt(i)),s)})}getCacheSize(e){return this.db.getRemoteDocumentCache().getSize(e)}}function Co(e,t){return wo(e).put((e=e.currentSequenceNumber,{targetId:0,path:kt(t.path),sequenceNumber:e}))}class Ao{constructor(){this.changes=new Ri(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,R.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();var r=this.changes.get(t);return void 0!==r?C.resolve(r):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 Do{constructor(e){this.serializer=e}setIndexManager(e){this.indexManager=e}addEntry(e,t,r){return Mo(e).put(r)}removeEntry(e,t,r){return Mo(e).delete((e=r,[(n=t.path.toArray()).slice(0,n.length-2),n[n.length-2],ga(e),n[n.length-1]]));var n}updateMetadata(t,r){return this.getMetadata(t).next(e=>(e.byteSize+=r,this.Dr(t,e)))}getEntry(e,r){let n=R.newInvalidDocument(r);return Mo(e).ee({index:Ht,range:IDBKeyRange.only(Oo(r))},(e,t)=>{n=this.Cr(r,t)}).next(()=>n)}vr(e,r){let n={size:0,document:R.newInvalidDocument(r)};return Mo(e).ee({index:Ht,range:IDBKeyRange.only(Oo(r))},(e,t)=>{n={document:this.Cr(r,t),size:uo(t)}}).next(()=>n)}getEntries(e,t){let n=Mi;return this.Fr(e,t,(e,t)=>{var r=this.Cr(e,t);n=n.insert(e,r)}).next(()=>n)}Mr(e,t){let n=Mi,i=new A(x.comparator);return this.Fr(e,t,(e,t)=>{var r=this.Cr(e,t);n=n.insert(e,r),i=i.insert(e,uo(t))}).next(()=>({documents:n,Or:i}))}Fr(e,t,i){if(t.isEmpty())return C.resolve();let r=new D(Po),n=(t.forEach(e=>r=r.add(e)),IDBKeyRange.bound(Oo(r.first()),Oo(r.last()))),s=r.getIterator(),a=s.getNext();return Mo(e).ee({index:Ht,range:n},(e,t,r)=>{for(var n=x.fromSegments([...t.prefixPath,t.collectionGroup,t.documentId]);a&&Po(a,n)<0;)i(a,null),a=s.getNext();a&&a.isEqual(n)&&(i(a,t),a=s.hasNext()?s.getNext():null),a?r.j(Oo(a)):r.done()}).next(()=>{for(;a;)i(a,null),a=s.hasNext()?s.getNext():null})}getDocumentsMatchingQuery(e,n,t,i,s){var r=n.path,a=[r.popLast().toArray(),r.lastSegment(),ga(t.readTime),t.documentKey.path.isEmpty()?"":t.documentKey.path.lastSegment()],r=[r.popLast().toArray(),r.lastSegment(),[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],""];return Mo(e).J(IDBKeyRange.bound(a,r,!0)).next(e=>{s?.incrementDocumentReadCount(e.length);let t=Mi;for(let r of e){let e=this.Cr(x.fromSegments(r.prefixPath.concat(r.collectionGroup,r.documentId)),r);e.isFoundDocument()&&(Di(n,e)||i.has(e.key))&&(t=t.insert(e.key,e))}return t})}getAllFromCollectionGroup(e,t,r,i){let s=Mi;var n=Lo(t,r),a=Lo(t,at.max());return Mo(e).ee({index:Yt,range:IDBKeyRange.bound(n,a,!0)},(e,t,r)=>{var n=this.Cr(x.fromSegments(t.prefixPath.concat(t.collectionGroup,t.documentId)),t);(s=s.insert(n.key,n)).size===i&&r.done()}).next(()=>s)}newChangeBuffer(e){return new ko(this,!!e&&e.trackRemovals)}getSize(e){return this.getMetadata(e).next(e=>e.byteSize)}getMetadata(e){return Ro(e).get(Zt).next(e=>(y(!!e,20021),e))}Dr(e,t){return Ro(e).put(Zt,t)}Cr(e,t){if(t){let e=((e,r)=>{let n;if(r.document)n=Xs(e.yt,r.document,!!r.hasCommittedMutations);else if(r.noDocument){let e=x.fromSegments(r.noDocument.path),t=pa(r.noDocument.readTime);n=R.newNoDocument(e,t),r.hasCommittedMutations&&n.setHasCommittedMutations()}else{if(!r.unknownDocument)return E(56709);{let e=x.fromSegments(r.unknownDocument.path),t=pa(r.unknownDocument.version);n=R.newUnknownDocument(e,t)}}return r.readTime&&n.setReadTime((e=r.readTime,t=new v(e[0],e[1]),w.fromTimestamp(t))),n;var t})(this.serializer,t);if(!e.isNoDocument()||!e.version.isEqual(w.min()))return e}return R.newInvalidDocument(e)}}function No(e){return new Do(e)}class ko extends Ao{constructor(e,t){super(),this.Nr=e,this.trackRemovals=t,this.Br=new Ri(e=>e.toString(),(e,t)=>e.isEqual(t))}applyChanges(s){let a=[],o=0,u=new D((e,t)=>S(e.canonicalString(),t.canonicalString()));return this.changes.forEach((t,r)=>{var e=this.Br.get(t);if(a.push(this.Nr.removeEntry(s,t,e.readTime)),r.isValidDocument()){var n=fa(this.Nr.serializer,r),i=(u=u.add(t.path.popLast()),uo(n));o+=i-e.size,a.push(this.Nr.addEntry(s,t,n))}else if(o-=e.size,this.trackRemovals){let e=fa(this.Nr.serializer,r.convertToNoDocument(w.min()));a.push(this.Nr.addEntry(s,t,e))}}),u.forEach(e=>{a.push(this.Nr.indexManager.addToCollectionParentIndex(s,e))}),a.push(this.Nr.updateMetadata(s,o)),C.waitFor(a)}getFromCache(e,t){return this.Nr.vr(e,t).next(e=>(this.Br.set(t,{size:e.size,readTime:e.document.readTime}),e.document))}getAllFromCache(e,t){return this.Nr.Mr(e,t).next(({documents:r,Or:e})=>(e.forEach((e,t)=>{this.Br.set(e,{size:t,readTime:r.get(e).readTime})}),r))}}function Ro(e){return r(e,Xt)}function Mo(e){return r(e,Qt)}function Oo(e){var t=e.path.toArray();return[t.slice(0,t.length-2),t[t.length-2],t[t.length-1]]}function Lo(e,t){var r=t.documentKey.path.toArray();return[e,ga(t.readTime),r.slice(0,r.length-2),0<r.length?r[r.length-1]:""]}function Po(e,t){var r=e.path.toArray(),n=t.path.toArray();let i=0;for(let s=0;s<r.length-2&&s<n.length-2;++s)if(i=S(r[s],n[s]))return i;return(i=S(r.length,n.length))||(i=S(r[r.length-2],n[n.length-2]))||S(r[r.length-1],n[n.length-1])}class Vo{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}class Fo{constructor(e,t,r,n){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=r,this.indexManager=n}getDocument(t,r){let n=null;return this.documentOverlayCache.getOverlay(t,r).next(e=>(n=e,this.remoteDocumentCache.getEntry(t,r))).next(e=>(null!==n&&ss(n.mutation,e,rn.empty(),v.now()),e))}getDocuments(t,e){return this.remoteDocumentCache.getEntries(t,e).next(e=>this.getLocalViewOfDocuments(t,e,L()).next(()=>e))}getLocalViewOfDocuments(e,t,r=L()){let n=Vi();return this.populateOverlays(e,n,t).next(()=>this.computeViews(e,t,n,r).next(e=>{let r=Li();return e.forEach((e,t)=>{r=r.insert(e,t.overlayedDocument)}),r}))}getOverlayedDocuments(e,t){let r=Vi();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,L()))}populateOverlays(e,r,t){let n=[];return t.forEach(e=>{r.has(e)||n.push(e)}),this.documentOverlayCache.getOverlays(e,n).next(e=>{e.forEach((e,t)=>{r.set(e,t)})})}computeViews(e,t,n,i){let s=Mi,a=Vi(),r=Vi();return t.forEach((e,t)=>{var r=n.get(t.key);i.has(t.key)&&(void 0===r||r.mutation instanceof us)?s=s.insert(t.key,t):void 0!==r?(a.set(t.key,r.mutation.getFieldMask()),ss(r.mutation,t,r.mutation.getFieldMask(),v.now())):a.set(t.key,rn.empty())}),this.recalculateAndSaveOverlays(e,s).next(e=>(e.forEach((e,t)=>a.set(e,t)),t.forEach((e,t)=>r.set(e,new Vo(t,a.get(e)??null))),r))}recalculateAndSaveOverlays(a,o){let u=Vi(),l=new A((e,t)=>e-t),h=L();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(a,o).next(e=>{for(let n of e)n.keys().forEach(e=>{var t,r=o.get(e);null!==r&&(t=u.get(e)||rn.empty(),t=n.applyToLocalView(r,t),u.set(e,t),r=(l.get(n.batchId)||L()).add(e),l=l.insert(n.batchId,r))})}).next(()=>{for(var i=[],s=l.getReverseIterator();s.hasNext();){let e=s.getNext(),t=e.key,r=e.value,n=Vi();r.forEach(e=>{var t;h.has(e)||(null!==(t=is(o.get(e),u.get(e)))&&n.set(e,t),h=h.add(e))}),i.push(this.documentOverlayCache.saveOverlays(a,t,n))}return C.waitFor(i)}).next(()=>u)}recalculateAndSaveOverlaysForDocumentKeys(t,e){return this.remoteDocumentCache.getEntries(t,e).next(e=>this.recalculateAndSaveOverlays(t,e))}getDocumentsMatchingQuery(e,t,r,n){return i=t,x.isDocumentKey(i.path)&&null===i.collectionGroup&&0===i.filters.length?this.getDocumentsMatchingDocumentQuery(e,t.path):bi(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,r,n):this.getDocumentsMatchingCollectionQuery(e,t,r,n);var i}getNextDocuments(s,t,a,o){return this.remoteDocumentCache.getAllFromCollectionGroup(s,t,a,o).next(r=>{var e=0<o-r.size?this.documentOverlayCache.getOverlaysForCollectionGroup(s,t,a.largestBatchId,o-r.size):C.resolve(Vi());let n=Xe,i=r;return e.next(e=>C.forEach(e,(t,e)=>(n<e.largestBatchId&&(n=e.largestBatchId),r.get(t)?C.resolve():this.remoteDocumentCache.getEntry(s,t).next(e=>{i=i.insert(t,e)}))).next(()=>this.populateOverlays(s,e,r)).next(()=>this.computeViews(s,i,e,L())).next(e=>({batchId:n,changes:Pi(e)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new x(t)).next(e=>{let t=Li();return t=e.isFoundDocument()?t.insert(e.key,e):t})}getDocumentsMatchingCollectionGroupQuery(n,i,s,a){let o=i.collectionGroup,u=Li();return this.indexManager.getCollectionParents(n,o).next(e=>C.forEach(e,e=>{t=i,e=e.child(o);var t,r=new yi(e,null,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt);return this.getDocumentsMatchingCollectionQuery(n,r,s,a).next(e=>{e.forEach((e,t)=>{u=u.insert(e,t)})})}).next(()=>u))}getDocumentsMatchingCollectionQuery(t,s,r,n){let a;return this.documentOverlayCache.getOverlaysForCollection(t,s.path,r.largestBatchId).next(e=>(a=e,this.remoteDocumentCache.getDocumentsMatchingQuery(t,s,r,a,n))).next(n=>{a.forEach((e,t)=>{var r=t.getKey();null===n.get(r)&&(n=n.insert(r,R.newInvalidDocument(r)))});let i=Li();return n.forEach((e,t)=>{var r=a.get(e);void 0!==r&&ss(r.mutation,t,rn.empty(),v.now()),Di(s,t)&&(i=i.insert(e,t))}),i})}}class Uo{constructor(e){this.serializer=e,this.Lr=new Map,this.kr=new Map}getBundleMetadata(e,t){return C.resolve(this.Lr.get(t))}saveBundleMetadata(e,t){return this.Lr.set(t.id,{id:t.id,version:t.version,createTime:V(t.createTime)}),C.resolve()}getNamedQuery(e,t){return C.resolve(this.kr.get(t))}saveNamedQuery(e,t){return this.kr.set(t.name,{name:(t=t).name,query:_a(t.bundledQuery),readTime:V(t.readTime)}),C.resolve()}}class Bo{constructor(){this.overlays=new A(x.comparator),this.qr=new Map}getOverlay(e,t){return C.resolve(this.overlays.get(t))}getOverlays(e,t){let r=Vi();return C.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}saveOverlays(r,n,e){return e.forEach((e,t)=>{this.St(r,n,t)}),C.resolve()}removeOverlaysForBatchId(e,t,r){var n=this.qr.get(r);return void 0!==n&&(n.forEach(e=>this.overlays=this.overlays.remove(e)),this.qr.delete(r)),C.resolve()}getOverlaysForCollection(e,r,n){let i=Vi(),s=r.length+1,t=new x(r.child("")),a=this.overlays.getIteratorFrom(t);for(;a.hasNext();){let e=a.getNext().value,t=e.getKey();if(!r.isPrefixOf(t.path))break;t.path.length===s&&e.largestBatchId>n&&i.set(e.getKey(),e)}return C.resolve(i)}getOverlaysForCollectionGroup(e,r,n,t){let i=new A((e,t)=>e-t);for(var s=this.overlays.getIterator();s.hasNext();){let t=s.getNext().value;if(t.getKey().getCollectionGroup()===r&&t.largestBatchId>n){let e=i.get(t.largestBatchId);null===e&&(e=Vi(),i=i.insert(t.largestBatchId,e)),e.set(t.getKey(),t)}}let a=Vi(),o=i.getIterator();for(;o.hasNext()&&(o.getNext().value.forEach((e,t)=>a.set(e,t)),!(a.size()>=t)););return C.resolve(a)}St(e,t,r){var n=this.overlays.get(r.key);if(null!==n){let e=this.qr.get(n.largestBatchId).delete(r.key);this.qr.set(n.largestBatchId,e)}this.overlays=this.overlays.insert(r.key,new ps(t,r));let i=this.qr.get(t);void 0===i&&(i=L(),this.qr.set(t,i)),this.qr.set(t,i.add(r.key))}}class qo{constructor(){this.sessionToken=N.EMPTY_BYTE_STRING}getSessionToken(e){return C.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,C.resolve()}}class jo{constructor(){this.Qr=new D(o.$r),this.Ur=new D(o.Kr)}isEmpty(){return this.Qr.isEmpty()}addReference(e,t){var r=new o(e,t);this.Qr=this.Qr.add(r),this.Ur=this.Ur.add(r)}Wr(e,t){e.forEach(e=>this.addReference(e,t))}removeReference(e,t){this.Gr(new o(e,t))}zr(e,t){e.forEach(e=>this.removeReference(e,t))}jr(e){let t=new x(new T([])),r=new o(t,e),n=new o(t,e+1),i=[];return this.Ur.forEachInRange([r,n],e=>{this.Gr(e),i.push(e.key)}),i}Jr(){this.Qr.forEach(e=>this.Gr(e))}Gr(e){this.Qr=this.Qr.delete(e),this.Ur=this.Ur.delete(e)}Hr(e){var t=new x(new T([])),r=new o(t,e),t=new o(t,e+1);let n=L();return this.Ur.forEachInRange([r,t],e=>{n=n.add(e.key)}),n}containsKey(e){var t=new o(e,0),t=this.Qr.firstAfterOrEqual(t);return null!==t&&e.isEqual(t.key)}}class o{constructor(e,t){this.key=e,this.Yr=t}static $r(e,t){return x.comparator(e.key,t.key)||S(e.Yr,t.Yr)}static Kr(e,t){return S(e.Yr,t.Yr)||x.comparator(e.key,t.key)}}class zo{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.tr=1,this.Zr=new D(o.$r)}checkEmpty(e){return C.resolve(0===this.mutationQueue.length)}addMutationBatch(e,t,r,n){var i=this.tr,s=(this.tr++,0<this.mutationQueue.length&&this.mutationQueue[this.mutationQueue.length-1],new gs(i,t,r,n));this.mutationQueue.push(s);for(let t of n)this.Zr=this.Zr.add(new o(t.key,i)),this.indexManager.addToCollectionParentIndex(e,t.key.path.popLast());return C.resolve(s)}lookupMutationBatch(e,t){return C.resolve(this.Xr(t))}getNextMutationBatchAfterBatchId(e,t){var r=this.ei(t+1),r=r<0?0:r;return C.resolve(this.mutationQueue.length>r?this.mutationQueue[r]:null)}getHighestUnacknowledgedBatchId(){return C.resolve(0===this.mutationQueue.length?xt:this.tr-1)}getAllMutationBatches(e){return C.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){let r=new o(t,0),n=new o(t,Number.POSITIVE_INFINITY),i=[];return this.Zr.forEachInRange([r,n],e=>{var t=this.Xr(e.Yr);i.push(t)}),C.resolve(i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let n=new D(S);return t.forEach(e=>{var t=new o(e,0),r=new o(e,Number.POSITIVE_INFINITY);this.Zr.forEachInRange([t,r],e=>{n=n.add(e.Yr)})}),C.resolve(this.ti(n))}getAllMutationBatchesAffectingQuery(e,t){let r=t.path,n=r.length+1,i=r;x.isDocumentKey(i)||(i=i.child(""));var s=new o(new x(i),0);let a=new D(S);return this.Zr.forEachWhile(e=>{var t=e.key.path;return!!r.isPrefixOf(t)&&(t.length===n&&(a=a.add(e.Yr)),!0)},s),C.resolve(this.ti(a))}ti(e){let r=[];return e.forEach(e=>{var t=this.Xr(e);null!==t&&r.push(t)}),r}removeMutationBatch(r,n){y(0===this.ni(n.batchId,"removed"),55003),this.mutationQueue.shift();let i=this.Zr;return C.forEach(n.mutations,e=>{var t=new o(e.key,n.batchId);return i=i.delete(t),this.referenceDelegate.markPotentiallyOrphaned(r,e.key)}).next(()=>{this.Zr=i})}ir(e){}containsKey(e,t){var r=new o(t,0),r=this.Zr.firstAfterOrEqual(r);return C.resolve(t.isEqual(r&&r.key))}performConsistencyCheck(e){return this.mutationQueue.length,C.resolve()}ni(e,t){return this.ei(e)}ei(e){return 0===this.mutationQueue.length?0:e-this.mutationQueue[0].batchId}Xr(e){var t=this.ei(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}class Go{constructor(e){this.ri=e,this.docs=new A(x.comparator),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){var r=t.key,n=this.docs.get(r),n=n?n.size:0,i=this.ri(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:i}),this.size+=i-n,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){var t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){var r=this.docs.get(t);return C.resolve(r?r.document.mutableCopy():R.newInvalidDocument(t))}getEntries(e,t){let r=Mi;return t.forEach(e=>{var t=this.docs.get(e);r=r.insert(e,t?t.document.mutableCopy():R.newInvalidDocument(e))}),C.resolve(r)}getDocumentsMatchingQuery(e,r,n,i){let s=Mi,a=r.path,t=new x(a.child("__id-9223372036854775808__")),o=this.docs.getIteratorFrom(t);for(;o.hasNext();){let{key:e,value:{document:t}}=o.getNext();if(!a.isPrefixOf(e.path))break;e.path.length>a.length+1||ot(st(t),n)<=0||(i.has(t.key)||Di(r,t))&&(s=s.insert(t.key,t.mutableCopy()))}return C.resolve(s)}getAllFromCollectionGroup(e,t,r,n){E(9500)}ii(e,t){return C.forEach(this.docs,e=>t(e))}newChangeBuffer(e){return new Ko(this)}getSize(e){return C.resolve(this.size)}}class Ko extends Ao{constructor(e){super(),this.Nr=e}applyChanges(r){let n=[];return this.changes.forEach((e,t)=>{t.isValidDocument()?n.push(this.Nr.addEntry(r,t)):this.Nr.removeEntry(e)}),C.waitFor(n)}getFromCache(e,t){return this.Nr.getEntry(e,t)}getAllFromCache(e,t){return this.Nr.getEntries(e,t)}}class Qo{constructor(e){this.persistence=e,this.si=new Ri(e=>ci(e),di),this.lastRemoteSnapshotVersion=w.min(),this.highestTargetId=0,this.oi=0,this._i=new jo,this.targetCount=0,this.ai=mo.ur()}forEachTarget(e,r){return this.si.forEach((e,t)=>r(t)),C.resolve()}getLastRemoteSnapshotVersion(e){return C.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return C.resolve(this.oi)}allocateTargetId(e){return this.highestTargetId=this.ai.next(),C.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.oi&&(this.oi=t),C.resolve()}Pr(e){this.si.set(e.target,e);var t=e.targetId;t>this.highestTargetId&&(this.ai=new mo(t),this.highestTargetId=t),e.sequenceNumber>this.oi&&(this.oi=e.sequenceNumber)}addTargetData(e,t){return this.Pr(t),this.targetCount+=1,C.resolve()}updateTargetData(e,t){return this.Pr(t),C.resolve()}removeTargetData(e,t){return this.si.delete(t.target),this._i.jr(t.targetId),--this.targetCount,C.resolve()}removeTargets(r,n,i){let s=0,a=[];return this.si.forEach((e,t)=>{t.sequenceNumber<=n&&null===i.get(t.targetId)&&(this.si.delete(e),a.push(this.removeMatchingKeysForTargetId(r,t.targetId)),s++)}),C.waitFor(a).next(()=>s)}getTargetCount(e){return C.resolve(this.targetCount)}getTargetData(e,t){var r=this.si.get(t)||null;return C.resolve(r)}addMatchingKeys(e,t,r){return this._i.Wr(t,r),C.resolve()}removeMatchingKeys(t,e,r){this._i.zr(e,r);let n=this.persistence.referenceDelegate,i=[];return n&&e.forEach(e=>{i.push(n.markPotentiallyOrphaned(t,e))}),C.waitFor(i)}removeMatchingKeysForTargetId(e,t){return this._i.jr(t),C.resolve()}getMatchingKeysForTargetId(e,t){var r=this._i.Hr(t);return C.resolve(r)}containsKey(e,t){return C.resolve(this._i.containsKey(t))}}class $o{constructor(e,t){this.ui={},this.overlays={},this.ci=new St(0),this.li=!1,this.li=!0,this.hi=new qo,this.referenceDelegate=e(this),this.Pi=new Qo(this),this.indexManager=new Wa,this.remoteDocumentCache=(e=e=>this.referenceDelegate.Ti(e),new Go(e)),this.serializer=new da(t),this.Ii=new Uo(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.li=!1,Promise.resolve()}get started(){return this.li}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new Bo,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this.ui[e.toKey()];return r||(r=new zo(t,this.referenceDelegate),this.ui[e.toKey()]=r),r}getGlobalsCache(){return this.hi}getTargetCache(){return this.Pi}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Ii}runTransaction(e,t,r){p("MemoryPersistence","Starting transaction:",e);let n=new Ho(this.ci.next());return this.referenceDelegate.Ei(),r(n).next(e=>this.referenceDelegate.di(n).next(()=>e)).toPromise().then(e=>(n.raiseOnCommittedEvent(),e))}Ai(t,r){return C.or(Object.values(this.ui).map(e=>()=>e.containsKey(t,r)))}}class Ho extends lt{constructor(e){super(),this.currentSequenceNumber=e}}class Wo{constructor(e){this.persistence=e,this.Ri=new jo,this.Vi=null}static mi(e){return new Wo(e)}get fi(){if(this.Vi)return this.Vi;throw E(60996)}addReference(e,t,r){return this.Ri.addReference(r,t),this.fi.delete(r.toString()),C.resolve()}removeReference(e,t,r){return this.Ri.removeReference(r,t),this.fi.add(r.toString()),C.resolve()}markPotentiallyOrphaned(e,t){return this.fi.add(t.toString()),C.resolve()}removeTarget(e,t){this.Ri.jr(t.targetId).forEach(e=>this.fi.add(e.toString()));let r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(e,t.targetId).next(e=>{e.forEach(e=>this.fi.add(e.toString()))}).next(()=>r.removeTargetData(e,t))}Ei(){this.Vi=new Set}di(r){let n=this.persistence.getRemoteDocumentCache().newChangeBuffer();return C.forEach(this.fi,e=>{let t=x.fromPath(e);return this.gi(r,t).next(e=>{e||n.removeEntry(t,w.min())})}).next(()=>(this.Vi=null,n.apply(r)))}updateLimboDocument(e,t){return this.gi(e,t).next(e=>{e?this.fi.delete(t.toString()):this.fi.add(t.toString())})}Ti(e){return 0}gi(e,t){return C.or([()=>C.resolve(this.Ri.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.Ai(e,t)])}}class Yo{constructor(e,t){this.persistence=e,this.pi=new Ri(e=>kt(e.path),(e,t)=>e.isEqual(t)),this.garbageCollector=So(this,t)}static mi(e,t){return new Yo(e,t)}Ei(){}di(e){return C.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEachTarget(e,t)}gr(e){let r=this.wr(e);return this.persistence.getTargetCache().getTargetCount(e).next(t=>r.next(e=>t+e))}wr(e){let t=0;return this.pr(e,e=>{t++}).next(()=>t)}pr(r,n){return C.forEach(this.pi,(e,t)=>this.br(r,e,t).next(e=>e?C.resolve():n(t)))}removeTargets(e,t,r){return this.persistence.getTargetCache().removeTargets(e,t,r)}removeOrphanedDocuments(e,r){let n=0,t=this.persistence.getRemoteDocumentCache(),i=t.newChangeBuffer();return t.ii(e,t=>this.br(e,t,r).next(e=>{e||(n++,i.removeEntry(t,w.min()))})).next(()=>i.apply(e)).next(()=>n)}markPotentiallyOrphaned(e,t){return this.pi.set(t,e.currentSequenceNumber),C.resolve()}removeTarget(e,t){var r=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,r)}addReference(e,t,r){return this.pi.set(r,e.currentSequenceNumber),C.resolve()}removeReference(e,t,r){return this.pi.set(r,e.currentSequenceNumber),C.resolve()}updateLimboDocument(e,t){return this.pi.set(t,e.currentSequenceNumber),C.resolve()}Ti(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=function n(e){switch(En(e)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:var t=fn(e);return t?16+n(t):16;case 5:return 2*e.stringValue.length;case 6:return on(e.bytesValue).approximateByteSize();case 7:return e.referenceValue.length;case 9:return(e.arrayValue.values||[]).reduce((e,t)=>e+n(t),0);case 10:case 11:{var i=e.mapValue;let r=0;return Yr(i.fields,(e,t)=>{r+=e.length+n(t)}),r}default:throw E(13486,{value:e})}}(e.data.value)),t}br(e,t,r){return C.or([()=>this.persistence.Ai(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{var e=this.pi.get(t);return C.resolve(void 0!==e&&r<e)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}class Jo{constructor(e){this.serializer=e}k(t,e,r,n){let s=new dt("createOrUpgrade",e);var i;r<1&&1<=n&&(t.createObjectStore(Lt),(i=t).createObjectStore(Vt,{keyPath:"userId"}),i.createObjectStore(Ft,{keyPath:Ut,autoIncrement:!0}).createIndex(Bt,qt,{unique:!0}),i.createObjectStore(Kt),Xo(t),t.createObjectStore(Ot));let a=C.resolve();return r<3&&3<=n&&(0!==r&&((i=t).deleteObjectStore(nr),i.deleteObjectStore(er),i.deleteObjectStore(yr),Xo(t)),a=a.next(()=>{return e=s,t=e.store(yr),r={highestTargetId:0,highestListenSequenceNumber:0,lastRemoteSnapshotVersion:w.min().toTimestamp(),targetCount:0},t.put(pr,r);var e,t,r})),r<4&&4<=n&&(a=(a=0!==r?a.next(()=>{return n=t,(i=s).store(Ft).J().next(e=>{n.deleteObjectStore(Ft),n.createObjectStore(Ft,{keyPath:Ut,autoIncrement:!0}).createIndex(Bt,qt,{unique:!0});let t=i.store(Ft),r=e.map(e=>t.put(e));return C.waitFor(r)});var n,i}):a).next(()=>{t.createObjectStore(_r,{keyPath:"clientId"})})),r<5&&5<=n&&(a=a.next(()=>this.yi(s))),r<6&&6<=n&&(a=a.next(()=>(t.createObjectStore(Xt),this.wi(s)))),r<7&&7<=n&&(a=a.next(()=>this.Si(s))),r<8&&8<=n&&(a=a.next(()=>this.bi(t,s))),r<9&&9<=n&&(a=a.next(()=>{var e;(e=t).objectStoreNames.contains("remoteDocumentChanges")&&e.deleteObjectStore("remoteDocumentChanges")})),r<10&&10<=n&&(a=a.next(()=>this.Di(s))),r<11&&11<=n&&(a=a.next(()=>{t.createObjectStore(br,{keyPath:"bundleId"}),t.createObjectStore(Ir,{keyPath:"name"})})),r<12&&12<=n&&(a=a.next(()=>{var e;(e=t.createObjectStore(Mr,{keyPath:Or})).createIndex(Lr,Pr,{unique:!1}),e.createIndex(Vr,Fr,{unique:!1})})),r<13&&13<=n&&(a=a.next(()=>{var e;(e=t.createObjectStore(Qt,{keyPath:$t})).createIndex(Ht,Wt),e.createIndex(Yt,Jt)}).next(()=>this.Ci(t,s)).next(()=>t.deleteObjectStore(Ot))),r<14&&14<=n&&(a=a.next(()=>this.Fi(t,s))),r<15&&15<=n&&(a=a.next(()=>{var e;(e=t).createObjectStore(Tr,{keyPath:"indexId",autoIncrement:!0}).createIndex(Er,"collectionGroup",{unique:!1}),e.createObjectStore(Sr,{keyPath:xr}).createIndex(Cr,Ar,{unique:!1}),e.createObjectStore(Dr,{keyPath:Nr}).createIndex(kr,Rr,{unique:!1})})),r<16&&16<=n&&(a=a.next(()=>{e.objectStore(Sr).clear()}).next(()=>{e.objectStore(Dr).clear()})),r<17&&17<=n&&(a=a.next(()=>{t.createObjectStore(Ur,{keyPath:"name"})})),a=r<18&&18<=n&&ne()?a.next(()=>{e.objectStore(Sr).clear()}).next(()=>{e.objectStore(Dr).clear()}):a}wi(t){let r=0;return t.store(Ot).ee((e,t)=>{r+=uo(t)}).next(()=>{var e={byteSize:r};return t.store(Xt).put(Zt,e)})}yi(n){let e=n.store(Vt),t=n.store(Ft);return e.J().next(e=>C.forEach(e,r=>{var e=IDBKeyRange.bound([r.userId,xt],[r.userId,r.lastAcknowledgedBatchId]);return t.J(Bt,e).next(e=>C.forEach(e,e=>{y(e.userId===r.userId,18650,"Cannot process batch from unexpected user",{batchId:e.batchId});var t=ya(this.serializer,e);return oo(n,r.userId,t).next(()=>{})}))}))}Si(e){let a=e.store(nr),t=e.store(Ot);return e.store(yr).get(pr).next(i=>{let s=[];return t.ee((e,t)=>{let r=new T(e),n=[0,kt(r)];s.push(a.get(n).next(e=>e?C.resolve():(e=r,a.put({targetId:0,path:kt(e),sequenceNumber:i.highestListenSequenceNumber}))))}).next(()=>C.waitFor(s))})}bi(e,t){e.createObjectStore(vr,{keyPath:wr});let n=t.store(vr),i=new Ya,s=r=>{if(i.add(r)){let e=r.lastSegment(),t=r.popLast();return n.put({collectionId:e,parent:kt(t)})}};return t.store(Ot).ee({X:!0},(e,t)=>{var r=new T(e);return s(r.popLast())}).next(()=>t.store(Kt).ee({X:!0},([,e],t)=>{var r=Mt(e);return s(r.popLast())}))}Di(e){let n=e.store(er);return n.ee((e,t)=>{var r=va(t),r=wa(this.serializer,r);return n.put(r)})}Ci(e,s){let t=s.store(Ot),a=[];return t.ee((e,t)=>{var r,n=s.store(Qt),i=((r=t).document?new x(T.fromString(r.document.name).popFirst(5)):r.noDocument?x.fromSegments(r.noDocument.path):r.unknownDocument?x.fromSegments(r.unknownDocument.path):E(36783)).path.toArray(),i={prefixPath:i.slice(0,i.length-2),collectionGroup:i[i.length-2],documentId:i[i.length-1],readTime:t.readTime||[0,0],unknownDocument:t.unknownDocument,noDocument:t.noDocument,document:t.document,hasCommittedMutations:!!t.hasCommittedMutations};a.push(n.put(i))}).next(()=>C.waitFor(a))}Fi(e,s){let t=s.store(Ft),a=No(this.serializer),o=new $o(Wo.mi,this.serializer.yt);return t.J().next(e=>{let r=new Map;return e.forEach(e=>{let t=r.get(e.userId)??L();ya(this.serializer,e).keys().forEach(e=>t=t.add(e)),r.set(e.userId,t)}),C.forEach(r,(e,t)=>{var r=new l(t),n=Ca.wt(this.serializer,r),i=o.getIndexManager(r),r=lo.wt(r,this.serializer,i,o.referenceDelegate);return new Fo(a,r,n,i).recalculateAndSaveOverlaysForDocumentKeys(new Hr(s,St.ce),e).next()})})}}function Xo(e){e.createObjectStore(nr,{keyPath:ir}).createIndex(sr,mr,{unique:!0}),e.createObjectStore(er,{keyPath:"targetId"}).createIndex(tr,rr,{unique:!0}),e.createObjectStore(yr)}let Zo="IndexedDbPersistence",eu="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.";class tu{constructor(e,t,r,n,i,s,a,o,u,l,h=18){if(this.allowTabSynchronization=e,this.persistenceKey=t,this.clientId=r,this.Mi=i,this.window=s,this.document=a,this.xi=u,this.Oi=l,this.Ni=h,this.ci=null,this.li=!1,this.isPrimary=!1,this.networkEnabled=!0,this.Bi=null,this.inForeground=!1,this.Li=null,this.ki=null,this.qi=Number.NEGATIVE_INFINITY,this.Qi=e=>Promise.resolve(),!tu.v())throw new I(b.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new xo(this,n),this.$i=t+"main",this.serializer=new da(o),this.Ui=new ft(this.$i,this.Ni,new Jo(this.serializer)),this.hi=new Da,this.Pi=new po(this.referenceDelegate,this.serializer),this.remoteDocumentCache=No(this.serializer),this.Ii=new Ea,this.window&&this.window.localStorage?this.Ki=this.window.localStorage:(this.Ki=null,!1===l&&d(Zo,"LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}start(){return this.Wi().then(()=>{if(this.isPrimary||this.allowTabSynchronization)return this.Gi(),this.zi(),this.ji(),this.runTransaction("getHighestListenSequenceNumber","readonly",e=>this.Pi.getHighestSequenceNumber(e));throw new I(b.FAILED_PRECONDITION,eu)}).then(e=>{this.ci=new St(e,this.xi)}).then(()=>{this.li=!0}).catch(e=>(this.Ui&&this.Ui.close(),Promise.reject(e)))}Ji(t){return this.Qi=async e=>{if(this.started)return t(e)},t(this.isPrimary)}setDatabaseDeletedListener(t){this.Ui.$(async e=>{null===e.newVersion&&await t()})}setNetworkEnabled(e){this.networkEnabled!==e&&(this.networkEnabled=e,this.Mi.enqueueAndForget(async()=>{this.started&&await this.Wi()}))}Wi(){return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",t=>nu(t).put({clientId:this.clientId,updateTimeMs:Date.now(),networkEnabled:this.networkEnabled,inForeground:this.inForeground}).next(()=>{if(this.isPrimary)return this.Hi(t).next(e=>{e||(this.isPrimary=!1,this.Mi.enqueueRetryable(()=>this.Qi(!1)))})}).next(()=>this.Yi(t)).next(e=>this.isPrimary&&!e?this.Zi(t).next(()=>!1):!!e&&this.Xi(t).next(()=>!0))).catch(e=>{if(yt(e))return p(Zo,"Failed to extend owner lease: ",e),this.isPrimary;if(this.allowTabSynchronization)return p(Zo,"Releasing owner lease after error during lease refresh",e),!1;throw e}).then(e=>{this.isPrimary!==e&&this.Mi.enqueueRetryable(()=>this.Qi(e)),this.isPrimary=e})}Hi(e){return ru(e).get(Pt).next(e=>C.resolve(this.es(e)))}ts(e){return nu(e).delete(this.clientId)}async ns(){if(this.isPrimary&&!this.rs(this.qi,18e5)){this.qi=Date.now();var e=await this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",e=>{let n=r(e,_r);return n.J().next(e=>{let t=this.ss(e,18e5),r=e.filter(e=>-1===t.indexOf(e));return C.forEach(r,e=>n.delete(e.clientId)).next(()=>r)})}).catch(()=>[]);if(this.Ki)for(var t of e)this.Ki.removeItem(this._s(t.clientId))}}ji(){this.ki=this.Mi.enqueueAfterDelay("client_metadata_refresh",4e3,()=>this.Wi().then(()=>this.ns()).then(()=>this.ji()))}es(e){return!!e&&e.ownerId===this.clientId}Yi(t){return this.Oi?C.resolve(!0):ru(t).get(Pt).next(e=>{if(null!==e&&this.rs(e.leaseTimestampMs,5e3)&&!this.us(e.ownerId)){if(this.es(e)&&this.networkEnabled)return!0;if(!this.es(e)){if(e.allowTabSynchronization)return!1;throw new I(b.FAILED_PRECONDITION,eu)}}return!(!this.networkEnabled||!this.inForeground)||nu(t).J().next(e=>void 0===this.ss(e,5e3).find(e=>{if(this.clientId!==e.clientId){var t=!this.networkEnabled&&e.networkEnabled,r=!this.inForeground&&e.inForeground,n=this.networkEnabled===e.networkEnabled;if(t||r&&n)return!0}return!1}))}).next(e=>(this.isPrimary!==e&&p(Zo,`Client ${e?"is":"is not"} eligible for a primary lease.`),e))}async shutdown(){this.li=!1,this.cs(),this.ki&&(this.ki.cancel(),this.ki=null),this.ls(),this.hs(),await this.Ui.runTransaction("shutdown","readwrite",[Lt,_r],e=>{let t=new Hr(e,St.ce);return this.Zi(t).next(()=>this.ts(t))}),this.Ui.close(),this.Ps()}ss(e,t){return e.filter(e=>this.rs(e.updateTimeMs,t)&&!this.us(e.clientId))}Ts(){return this.runTransaction("getActiveClients","readonly",e=>nu(e).J().next(e=>this.ss(e,18e5).map(e=>e.clientId)))}get started(){return this.li}getGlobalsCache(){return this.hi}getMutationQueue(e,t){return lo.wt(e,this.serializer,t,this.referenceDelegate)}getTargetCache(){return this.Pi}getRemoteDocumentCache(){return this.remoteDocumentCache}getIndexManager(e){return new Za(e,this.serializer.yt.databaseId)}getDocumentOverlayCache(e){return Ca.wt(this.serializer,e)}getBundleCache(){return this.Ii}runTransaction(t,r,n){p(Zo,"Starting transaction:",t);var e,i="readonly"===r?"readonly":"readwrite",s=18===(e=this.Ni)?$r:17===e?Qr:16===e?Kr:15===e?Gr:14===e?zr:13===e?jr:12===e?qr:11===e?Br:void E(60245);let a;return this.Ui.runTransaction(t,i,s,e=>(a=new Hr(e,this.ci?this.ci.next():St.ce),"readwrite-primary"===r?this.Hi(a).next(e=>!!e||this.Yi(a)).next(e=>{if(e)return n(a);throw d(`Failed to obtain primary lease for action '${t}'.`),this.isPrimary=!1,this.Mi.enqueueRetryable(()=>this.Qi(!1)),new I(b.FAILED_PRECONDITION,ut)}).next(e=>this.Xi(a).next(()=>e)):this.Is(a).next(()=>n(a)))).then(e=>(a.raiseOnCommittedEvent(),e))}Is(e){return ru(e).get(Pt).next(e=>{if(null!==e&&this.rs(e.leaseTimestampMs,5e3)&&!this.us(e.ownerId)&&!this.es(e)&&!(this.Oi||this.allowTabSynchronization&&e.allowTabSynchronization))throw new I(b.FAILED_PRECONDITION,eu)})}Xi(e){var t={ownerId:this.clientId,allowTabSynchronization:this.allowTabSynchronization,leaseTimestampMs:Date.now()};return ru(e).put(Pt,t)}static v(){return ft.v()}Zi(e){let t=ru(e);return t.get(Pt).next(e=>this.es(e)?(p(Zo,"Releasing primary lease."),t.delete(Pt)):C.resolve())}rs(e,t){var r=Date.now();return!(e<r-t||r<e&&(d(`Detected an update time that is in the future: ${e} > `+r),1))}Gi(){null!==this.document&&"function"==typeof this.document.addEventListener&&(this.Li=()=>{this.Mi.enqueueAndForget(()=>(this.inForeground="visible"===this.document.visibilityState,this.Wi()))},this.document.addEventListener("visibilitychange",this.Li),this.inForeground="visible"===this.document.visibilityState)}ls(){this.Li&&(this.document.removeEventListener("visibilitychange",this.Li),this.Li=null)}zi(){"function"==typeof this.window?.addEventListener&&(this.Bi=()=>{this.cs();var e=/(?:Version|Mobile)\/1[456]/;re()&&(navigator.appVersion.match(e)||navigator.userAgent.match(e))&&this.Mi.enterRestrictedMode(!0),this.Mi.enqueueAndForget(()=>this.shutdown())},this.window.addEventListener("pagehide",this.Bi))}hs(){this.Bi&&(this.window.removeEventListener("pagehide",this.Bi),this.Bi=null)}us(e){try{var t=null!==this.Ki?.getItem(this._s(e));return p(Zo,`Client '${e}' ${t?"is":"is not"} zombied in LocalStorage`),t}catch(e){return d(Zo,"Failed to get zombied client id.",e),!1}}cs(){if(this.Ki)try{this.Ki.setItem(this._s(this.clientId),String(Date.now()))}catch(e){d("Failed to set zombie client id.",e)}}Ps(){if(this.Ki)try{this.Ki.removeItem(this._s(this.clientId))}catch(e){}}_s(e){return`firestore_zombie_${this.persistenceKey}_`+e}}function ru(e){return r(e,Lt)}function nu(e){return r(e,_r)}function iu(e,t){let r=e.projectId;return e.isDefaultDatabase||(r+="."+e.database),"firestore/"+t+"/"+r+"/"}class su{constructor(e,t,r,n){this.targetId=e,this.fromCache=t,this.Es=r,this.ds=n}static As(e,t){let r=L(),n=L();for(let e of t.docChanges)switch(e.type){case 0:r=r.add(e.doc.key);break;case 1:n=n.add(e.doc.key)}return new su(e,t.fromCache,r,n)}}class au{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}class ou{constructor(){this.Rs=!1,this.Vs=!1,this.fs=100,this.gs=re()?8:0<gt(ee())?6:4}initialize(e,t){this.ps=e,this.indexManager=t,this.Rs=!0}getDocumentsMatchingQuery(r,n,e,t){let i={result:null};return this.ys(r,n).next(e=>{i.result=e}).next(()=>{if(!i.result)return this.ws(r,n,t,e).next(e=>{i.result=e})}).next(()=>{if(!i.result){let t=new au;return this.Ss(r,n,t).next(e=>{if(i.result=e,this.Vs)return this.bs(r,n,t,e.size)})}}).next(()=>i.result)}bs(e,t,r,n){return r.documentReadCount<this.fs?(be()<=c.DEBUG&&p("QueryEngine","SDK will not create cache indexes for query:",Ai(t),"since it only creates cache indexes for collection contains","more than or equal to",this.fs,"documents"),C.resolve()):(be()<=c.DEBUG&&p("QueryEngine","Query:",Ai(t),"scans",r.documentReadCount,"local documents and returns",n,"documents as results."),r.documentReadCount>this.gs*n?(be()<=c.DEBUG&&p("QueryEngine","The SDK decides to create cache indexes for query:",Ai(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,Ti(t))):C.resolve())}ys(i,s){if(_i(s))return C.resolve(null);let t=Ti(s);return this.indexManager.getIndexType(i,t).next(e=>0===e?null:(null!==s.limit&&1===e&&(s=Si(s,null,"F"),t=Ti(s)),this.indexManager.getDocumentsMatchingTarget(i,t).next(e=>{let n=L(...e);return this.ps.getDocuments(i,n).next(r=>this.indexManager.getMinOffset(i,t).next(e=>{var t=this.Ds(s,r);return this.Cs(s,t,n,e.readTime)?this.ys(i,Si(s,null,"F")):this.vs(i,t,s,e)}))})))}ws(r,n,i,s){return _i(n)||s.isEqual(w.min())?C.resolve(null):this.ps.getDocuments(r,i).next(e=>{var t=this.Ds(n,e);return this.Cs(n,t,i,s)?C.resolve(null):(be()<=c.DEBUG&&p("QueryEngine","Re-using previous result from %s to execute query: %s",s.toString(),Ai(n)),this.vs(r,t,n,it(s,Xe)).next(e=>e))})}Ds(r,e){let n=new D(ki(r));return e.forEach((e,t)=>{Di(r,t)&&(n=n.add(t))}),n}Cs(e,t,r,n){var i;return null!==e.limit&&(r.size!==t.size||!!(i="F"===e.limitType?t.last():t.first())&&(i.hasPendingWrites||0<i.version.compareTo(n)))}Ss(e,t,r){return be()<=c.DEBUG&&p("QueryEngine","Using full collection scan to execute query:",Ai(t)),this.ps.getDocumentsMatchingQuery(e,t,at.min(),r)}vs(e,r,t,n){return this.ps.getDocumentsMatchingQuery(e,t,n).next(t=>(r.forEach(e=>{t=t.insert(e.key,e)}),t))}}let uu="LocalStore",lu=3e8;class hu{constructor(e,t,r,n){this.persistence=e,this.Fs=t,this.serializer=n,this.Ms=new A(S),this.xs=new Ri(e=>ci(e),di),this.Os=new Map,this.Ns=e.getRemoteDocumentCache(),this.Pi=e.getTargetCache(),this.Ii=e.getBundleCache(),this.Bs(r)}Bs(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new Fo(this.Ns,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.Ns.setIndexManager(this.indexManager),this.Fs.initialize(this.localDocuments,this.indexManager)}collectGarbage(t){return this.persistence.runTransaction("Collect garbage","readwrite-primary",e=>t.collect(e,this.Ms))}}function cu(e,t,r,n){return new hu(e,t,r,n)}async function du(e,t){let o=e;return o.persistence.runTransaction("Handle user change","readonly",s=>{let a;return o.mutationQueue.getAllMutationBatches(s).next(e=>(a=e,o.Bs(t),o.mutationQueue.getAllMutationBatches(s))).next(e=>{let t=[],r=[],n=L();for(let i of a){t.push(i.batchId);for(let e of i.mutations)n=n.add(e.key)}for(let i of e){r.push(i.batchId);for(let e of i.mutations)n=n.add(e.key)}return o.localDocuments.getDocuments(s,n).next(e=>({Ls:e,removedBatchIds:t,addedBatchIds:r}))})})}function fu(e,n){let i=e;return i.persistence.runTransaction("Acknowledge batch","readwrite-primary",e=>{let t=n.batch.keys(),r=i.Ns.newChangeBuffer({trackRemovals:!0});return((e,t,n,i)=>{let s=n.batch,r=s.keys(),a=C.resolve();return r.forEach(r=>{a=a.next(()=>i.getEntry(t,r)).next(e=>{var t=n.docVersions.get(r);y(null!==t,48541),e.version.compareTo(t)<0&&(s.applyToRemoteDocument(e,n),e.isValidDocument())&&(e.setReadTime(n.commitVersion),i.addEntry(e))})}),a.next(()=>e.mutationQueue.removeMutationBatch(t,s))})(i,e,n,r).next(()=>r.apply(e)).next(()=>i.mutationQueue.performConsistencyCheck(e)).next(()=>i.documentOverlayCache.removeOverlaysForBatchId(e,t,n.batch.batchId)).next(()=>i.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,(e=>{let t=L();for(let r=0;r<e.mutationResults.length;++r)0<e.mutationResults[r].transformResults.length&&(t=t.add(e.batch.mutations[r].key));return t})(n))).next(()=>i.localDocuments.getDocuments(e,t))})}function gu(e){let t=e;return t.persistence.runTransaction("Get last remote snapshot version","readonly",e=>t.Pi.getLastRemoteSnapshotVersion(e))}function mu(e,l){let h=e,c=l.snapshotVersion,d=h.Ms;return h.persistence.runTransaction("Apply remote event","readwrite-primary",o=>{let e=h.Ns.newChangeBuffer({trackRemovals:!0}),u=(d=h.Ms,[]),t=(l.targetChanges.forEach((t,r)=>{var n,i,s,a=d.get(r);if(a){u.push(h.Pi.removeMatchingKeys(o,t.removedDocuments,r).next(()=>h.Pi.addMatchingKeys(o,t.addedDocuments,r)));let e=a.withSequenceNumber(o.currentSequenceNumber);null!==l.targetMismatches.get(r)?e=e.withResumeToken(N.EMPTY_BYTE_STRING,w.min()).withLastLimboFreeSnapshotVersion(w.min()):0<t.resumeToken.approximateByteSize()&&(e=e.withResumeToken(t.resumeToken,c)),d=d.insert(r,e),n=a,i=e,s=t,(0===n.resumeToken.approximateByteSize()||i.snapshotVersion.toMicroseconds()-n.snapshotVersion.toMicroseconds()>=lu||0<s.addedDocuments.size+s.modifiedDocuments.size+s.removedDocuments.size)&&u.push(h.Pi.updateTargetData(o,e))}}),Mi),r=L();if(l.documentUpdates.forEach(e=>{l.resolvedLimboDocuments.has(e)&&u.push(h.persistence.referenceDelegate.updateLimboDocument(o,e))}),u.push(pu(o,e,l.documentUpdates).next(e=>{t=e.ks,r=e.qs})),!c.isEqual(w.min())){let e=h.Pi.getLastRemoteSnapshotVersion(o).next(e=>h.Pi.setTargetsMetadata(o,o.currentSequenceNumber,c));u.push(e)}return C.waitFor(u).next(()=>e.apply(o)).next(()=>h.localDocuments.getLocalViewOfDocuments(o,t,r)).next(()=>t)}).then(e=>(h.Ms=d,e))}function pu(e,s,t){let r=L(),a=L();return t.forEach(e=>r=r.add(e)),s.getEntries(e,r).next(n=>{let i=Mi;return t.forEach((e,t)=>{var r=n.get(e);t.isFoundDocument()!==r.isFoundDocument()&&(a=a.add(e)),t.isNoDocument()&&t.version.isEqual(w.min())?(s.removeEntry(e,t.readTime),i=i.insert(e,t)):!r.isValidDocument()||0<t.version.compareTo(r.version)||0===t.version.compareTo(r.version)&&r.hasPendingWrites?(s.addEntry(t),i=i.insert(e,t)):p(uu,"Ignoring outdated watch update for ",e,". Current version:",r.version," Watch version:",t.version)}),{ks:i,qs:a}})}function yu(e,n){let i=e;return i.persistence.runTransaction("Allocate target","readwrite",t=>{let r;return i.Pi.getTargetData(t,n).next(e=>e?(r=e,C.resolve(r)):i.Pi.allocateTargetId(t).next(e=>(r=new ca(n,e,"TargetPurposeListen",t.currentSequenceNumber),i.Pi.addTargetData(t,r).next(()=>r))))}).then(e=>{var t=i.Ms.get(e.targetId);return(null===t||0<e.snapshotVersion.compareTo(t.snapshotVersion))&&(i.Ms=i.Ms.insert(e.targetId,e),i.xs.set(n,e.targetId)),e})}async function vu(e,t,r){let n=e,i=n.Ms.get(t),s=r?"readwrite":"readwrite-primary";try{r||await n.persistence.runTransaction("Release target",s,e=>n.persistence.referenceDelegate.removeTarget(e,i))}catch(e){if(!yt(e))throw e;p(uu,`Failed to update sequence numbers for target ${t}: `+e)}n.Ms=n.Ms.remove(t),n.xs.delete(i.target)}function wu(e,a,o){let u=e,l=w.min(),h=L();return u.persistence.runTransaction("Execute query","readwrite",t=>{return e=u,r=t,n=Ti(a),(void 0!==(s=(i=e).xs.get(n))?C.resolve(i.Ms.get(s)):i.Pi.getTargetData(r,n)).next(e=>{if(e)return l=e.lastLimboFreeSnapshotVersion,u.Pi.getMatchingKeysForTargetId(t,e.targetId).next(e=>{h=e})}).next(()=>u.Fs.getDocumentsMatchingQuery(t,a,o?l:w.min(),o?h:L())).next(e=>(Iu(u,Ni(a),e),{documents:e,Qs:h}));var e,r,n,i,s})}function _u(e,t){let r=e,n=r.Pi,i=r.Ms.get(t);return i?Promise.resolve(i.target):r.persistence.runTransaction("Get target data","readonly",e=>n.At(e,t).next(e=>e?e.target:null))}function bu(e,t){let r=e,n=r.Os.get(t)||w.min();return r.persistence.runTransaction("Get new document changes","readonly",e=>r.Ns.getAllFromCollectionGroup(e,t,it(n,Xe),Number.MAX_SAFE_INTEGER)).then(e=>(Iu(r,t,e),e))}function Iu(e,t,r){let n=e.Os.get(t)||w.min();r.forEach((e,t)=>{0<t.readTime.compareTo(n)&&(n=t.readTime)}),e.Os.set(t,n)}let Tu="firestore_clients";function Eu(e,t){return Tu+`_${e}_`+t}let Su="firestore_mutations";function xu(e,t,r){let n=Su+`_${e}_`+r;return t.isAuthenticated()&&(n+="_"+t.uid),n}let Cu="firestore_targets";function Au(e,t){return Cu+`_${e}_`+t}let Du="SharedClientState";class Nu{constructor(e,t,r,n){this.user=e,this.batchId=t,this.state=r,this.error=n}static Ws(e,t,r){var n=JSON.parse(r);let i,s="object"==typeof n&&-1!==["pending","acknowledged","rejected"].indexOf(n.state)&&(void 0===n.error||"object"==typeof n.error);return s&&n.error&&(s="string"==typeof n.error.message&&"string"==typeof n.error.code)&&(i=new I(n.error.code,n.error.message)),s?new Nu(e,t,n.state,i):(d(Du,`Failed to parse mutation state for ID '${t}': `+r),null)}Gs(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class ku{constructor(e,t,r){this.targetId=e,this.state=t,this.error=r}static Ws(e,t){var r=JSON.parse(t);let n,i="object"==typeof r&&-1!==["not-current","current","rejected"].indexOf(r.state)&&(void 0===r.error||"object"==typeof r.error);return i&&r.error&&(i="string"==typeof r.error.message&&"string"==typeof r.error.code)&&(n=new I(r.error.code,r.error.message)),i?new ku(e,r.state,n):(d(Du,`Failed to parse target state for ID '${e}': `+t),null)}Gs(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class Ru{constructor(e,t){this.clientId=e,this.activeTargetIds=t}static Ws(e,t){var r=JSON.parse(t);let n="object"==typeof r&&r.activeTargetIds instanceof Array,i=Bi;for(let s=0;n&&s<r.activeTargetIds.length;++s)n=Dt(r.activeTargetIds[s]),i=i.add(r.activeTargetIds[s]);return n?new Ru(e,i):(d(Du,`Failed to parse client data for instance '${e}': `+t),null)}}class Mu{constructor(e,t){this.clientId=e,this.onlineState=t}static Ws(e){var t=JSON.parse(e);return"object"==typeof t&&-1!==["Unknown","Online","Offline"].indexOf(t.onlineState)&&"string"==typeof t.clientId?new Mu(t.clientId,t.onlineState):(d(Du,"Failed to parse online state: "+e),null)}}class Ou{constructor(){this.activeTargetIds=Bi}zs(e){this.activeTargetIds=this.activeTargetIds.add(e)}js(e){this.activeTargetIds=this.activeTargetIds.delete(e)}Gs(){var e={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(e)}}class Lu{constructor(e,t,r,n,i){this.window=e,this.Mi=t,this.persistenceKey=r,this.Js=n,this.syncEngine=null,this.onlineStateHandler=null,this.sequenceNumberHandler=null,this.Hs=this.Ys.bind(this),this.Zs=new A(S),this.started=!1,this.Xs=[];var s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");this.storage=this.window.localStorage,this.currentUser=i,this.eo=Eu(this.persistenceKey,this.Js),this.no="firestore_sequence_number_"+this.persistenceKey,this.Zs=this.Zs.insert(this.Js,new Ou),this.ro=new RegExp(`^${Tu}_${s}_([^_]*)$`),this.io=new RegExp(`^${Su}_${s}_(\\d+)(?:_(.*))?$`),this.so=new RegExp(`^${Cu}_${s}_(\\d+)$`),this.oo="firestore_online_state_"+this.persistenceKey,this._o="firestore_bundle_loaded_v2_"+this.persistenceKey,this.window.addEventListener("storage",this.Hs)}static v(e){return!(!e||!e.localStorage)}async start(){let e=await this.syncEngine.Ts();for(let r of e)if(r!==this.Js){let e=this.getItem(Eu(this.persistenceKey,r));var t;e&&(t=Ru.Ws(r,e))&&(this.Zs=this.Zs.insert(t.clientId,t))}this.ao();let r=this.storage.getItem(this.oo);if(r){let e=this.uo(r);e&&this.co(e)}for(let e of this.Xs)this.Ys(e);this.Xs=[],this.window.addEventListener("pagehide",()=>this.shutdown()),this.started=!0}writeSequenceNumber(e){this.setItem(this.no,JSON.stringify(e))}getAllActiveQueryTargets(){return this.lo(this.Zs)}isActiveQueryTarget(r){let n=!1;return this.Zs.forEach((e,t)=>{t.activeTargetIds.has(r)&&(n=!0)}),n}addPendingMutation(e){this.ho(e,"pending")}updateMutationState(e,t,r){this.ho(e,t,r),this.Po(e)}addLocalQueryTarget(t,e=!0){let r="not-current";if(this.isActiveQueryTarget(t)){let e=this.storage.getItem(Au(this.persistenceKey,t));var n;e&&(n=ku.Ws(t,e))&&(r=n.state)}return e&&this.To.zs(t),this.ao(),r}removeLocalQueryTarget(e){this.To.js(e),this.ao()}isLocalQueryTarget(e){return this.To.activeTargetIds.has(e)}clearQueryState(e){this.removeItem(Au(this.persistenceKey,e))}updateQueryState(e,t,r){this.Io(e,t,r)}handleUserChange(e,t,r){t.forEach(e=>{this.Po(e)}),this.currentUser=e,r.forEach(e=>{this.addPendingMutation(e)})}setOnlineState(e){this.Eo(e)}notifyBundleLoaded(e){this.Ao(e)}shutdown(){this.started&&(this.window.removeEventListener("storage",this.Hs),this.removeItem(this.eo),this.started=!1)}getItem(e){var t=this.storage.getItem(e);return p(Du,"READ",e,t),t}setItem(e,t){p(Du,"SET",e,t),this.storage.setItem(e,t)}removeItem(e){p(Du,"REMOVE",e),this.storage.removeItem(e)}Ys(e){let t=e;t.storageArea===this.storage&&(p(Du,"EVENT",t.key,t.newValue),t.key===this.eo?d("Received WebStorage notification for local change. Another client might have garbage-collected our state"):this.Mi.enqueueRetryable(async()=>{if(this.started){if(null!==t.key){if(this.ro.test(t.key))return null==t.newValue?(e=this.Ro(t.key),this.Vo(e,null)):(e=this.mo(t.key,t.newValue))?this.Vo(e.clientId,e):void 0;if(this.io.test(t.key)){if(null!==t.newValue){var e=this.fo(t.key,t.newValue);if(e)return this.po(e)}}else if(this.so.test(t.key)){if(null!==t.newValue){var e=this.yo(t.key,t.newValue);if(e)return this.wo(e)}}else if(t.key===this.oo){if(null!==t.newValue){var e=this.uo(t.newValue);if(e)return this.co(e)}}else t.key===this.no?(e=(e=>{let t=St.ce;if(null!=e)try{var r=JSON.parse(e);y("number"==typeof r,30636,{So:e}),t=r}catch(e){d(Du,"Failed to read sequence number from WebStorage",e)}return t})(t.newValue))!==St.ce&&this.sequenceNumberHandler(e):t.key===this._o&&(e=this.bo(t.newValue),await Promise.all(e.map(e=>this.syncEngine.Do(e))))}}else this.Xs.push(t)}))}get To(){return this.Zs.get(this.Js)}ao(){this.setItem(this.eo,this.To.Gs())}ho(e,t,r){var n=new Nu(this.currentUser,e,t,r),i=xu(this.persistenceKey,this.currentUser,e);this.setItem(i,n.Gs())}Po(e){var t=xu(this.persistenceKey,this.currentUser,e);this.removeItem(t)}Eo(e){var t={clientId:this.Js,onlineState:e};this.storage.setItem(this.oo,JSON.stringify(t))}Io(e,t,r){var n=Au(this.persistenceKey,e),i=new ku(e,t,r);this.setItem(n,i.Gs())}Ao(e){var t=JSON.stringify(Array.from(e));this.setItem(this._o,t)}Ro(e){var t=this.ro.exec(e);return t?t[1]:null}mo(e,t){var r=this.Ro(e);return Ru.Ws(r,t)}fo(e,t){var r=this.io.exec(e),n=Number(r[1]),r=void 0!==r[2]?r[2]:null;return Nu.Ws(new l(r),n,t)}yo(e,t){var r=this.so.exec(e),r=Number(r[1]);return ku.Ws(r,t)}uo(e){return Mu.Ws(e)}bo(e){return JSON.parse(e)}async po(e){if(e.user.uid===this.currentUser.uid)return this.syncEngine.Co(e.batchId,e.state,e.error);p(Du,"Ignoring mutation for non-active user "+e.user.uid)}wo(e){return this.syncEngine.vo(e.targetId,e.state,e.error)}Vo(e,t){let r=t?this.Zs.insert(e,t):this.Zs.remove(e),n=this.lo(this.Zs),i=this.lo(r),s=[],a=[];return i.forEach(e=>{n.has(e)||s.push(e)}),n.forEach(e=>{i.has(e)||a.push(e)}),this.syncEngine.Fo(s,a).then(()=>{this.Zs=r})}co(e){this.Zs.get(e.clientId)&&this.onlineStateHandler(e.onlineState)}lo(e){let r=Bi;return e.forEach((e,t)=>{r=r.unionWith(t.activeTargetIds)}),r}}class Pu{constructor(){this.Mo=new Ou,this.xo={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,r){}addLocalQueryTarget(e,t=!0){return t&&this.Mo.zs(e),this.xo[e]||"not-current"}updateQueryState(e,t,r){this.xo[e]=t}removeLocalQueryTarget(e){this.Mo.js(e)}isLocalQueryTarget(e){return this.Mo.activeTargetIds.has(e)}clearQueryState(e){delete this.xo[e]}getAllActiveQueryTargets(){return this.Mo.activeTargetIds}isActiveQueryTarget(e){return this.Mo.activeTargetIds.has(e)}start(){return this.Mo=new Ou,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}class Vu{Oo(e){}shutdown(){}}let Fu="ConnectivityMonitor";class Uu{constructor(){this.No=()=>this.Bo(),this.Lo=()=>this.ko(),this.qo=[],this.Qo()}Oo(e){this.qo.push(e)}shutdown(){window.removeEventListener("online",this.No),window.removeEventListener("offline",this.Lo)}Qo(){window.addEventListener("online",this.No),window.addEventListener("offline",this.Lo)}Bo(){p(Fu,"Network connectivity changed: AVAILABLE");for(var e of this.qo)e(0)}ko(){p(Fu,"Network connectivity changed: UNAVAILABLE");for(var e of this.qo)e(1)}static v(){return"undefined"!=typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}let Bu=null;function qu(){return null===Bu?Bu=268435456+Math.round(2147483648*Math.random()):Bu++,"0x"+Bu.toString(16)}let ju="RestConnection",zu={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery"};class Gu{constructor(e){this.Yo=e.Yo,this.Zo=e.Zo}Xo(e){this.e_=e}t_(e){this.n_=e}r_(e){this.i_=e}onMessage(e){this.s_=e}close(){this.Zo()}send(e){this.Yo(e)}o_(){this.e_()}__(){this.n_()}a_(e){this.i_(e)}u_(e){this.s_(e)}}let Ku="WebChannelConnection";class Qu extends class{get $o(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;var t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),n=encodeURIComponent(this.databaseId.database);this.Uo=t+"://"+e.host,this.Ko=`projects/${r}/databases/`+n,this.Wo=this.databaseId.database===pn?"project_id="+r:`project_id=${r}&database_id=`+n}Go(t,e,r,n,i){let s=qu(),a=this.zo(t,e.toUriEncodedString());p(ju,`Sending RPC '${t}' ${s}:`,a,r);var o={"google-cloud-resource-prefix":this.Ko,"x-goog-request-params":this.Wo},u=(this.jo(o,n,i),new URL(a)).host,u=Y(u);return this.Jo(t,a,o,r,u).then(e=>(p(ju,`Received RPC '${t}' ${s}: `,e),e),e=>{throw Ie(ju,`RPC '${t}' ${s} failed with error: `,e,"url: ",a,"request:",r),e})}Ho(e,t,r,n,i,s){return this.Go(e,t,r,n,i)}jo(r,e,t){r["X-Goog-Api-Client"]="gl-js/ fire/"+we,r["Content-Type"]="text/plain",this.databaseInfo.appId&&(r["X-Firebase-GMPID"]=this.databaseInfo.appId),e&&e.headers.forEach((e,t)=>r[t]=e),t&&t.headers.forEach((e,t)=>r[t]=e)}zo(e,t){var r=zu[e];return this.Uo+`/v1/${t}:`+r}terminate(){}}{constructor(e){super(e),this.c_=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}Jo(u,t,r,n,e){let l=qu();return new Promise((s,a)=>{let o=new ar;o.setWithCredentials(!0),o.listenOnce(ur.COMPLETE,()=>{try{switch(o.getLastErrorCode()){case lr.NO_ERROR:var e=o.getResponseJson();p(Ku,`XHR for RPC '${u}' ${l} received:`,JSON.stringify(e)),s(e);break;case lr.TIMEOUT:p(Ku,`RPC '${u}' ${l} timed out`),a(new I(b.DEADLINE_EXCEEDED,"Request time out"));break;case lr.HTTP_ERROR:var t=o.getStatus();if(p(Ku,`RPC '${u}' ${l} failed with status:`,t,"response text:",o.getResponseText()),0<t){let e=o.getResponseJson();var r=(e=Array.isArray(e)?e[0]:e)?.error;if(r&&r.status&&r.message){n=r.status,i=n.toLowerCase().replace(/_/g,"-");let e=0<=Object.values(b).indexOf(i)?i:b.UNKNOWN;a(new I(e,r.message))}else a(new I(b.UNKNOWN,"Server responded with status "+o.getStatus()))}else a(new I(b.UNAVAILABLE,"Connection failed."));break;default:E(9055,{l_:u,streamId:l,h_:o.getLastErrorCode(),P_:o.getLastError()})}}finally{p(Ku,`RPC '${u}' ${l} completed.`)}var n,i});var e=JSON.stringify(n);p(Ku,`RPC '${u}' ${l} sending request:`,n),o.send(t,"POST",e,r,15)})}T_(i,e,t){let s=qu(),r=[this.Uo,"/","google.firestore.v1.Firestore","/",i,"/channel"],n=fr(),a=dr(),o={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},u=this.longPollingOptions.timeoutSeconds;void 0!==u&&(o.longPollingTimeout=Math.round(1e3*u)),this.useFetchStreams&&(o.useFetchStreams=!0),this.jo(o.initMessageHeaders,e,t),o.encodeInitMessageHeaders=!0;var l=r.join("");p(Ku,`Creating RPC '${i}' stream ${s}: `+l,o);let h=n.createWebChannel(l,o),c=(this.I_(h),!1),d=!1,f=new Gu({Yo:e=>{d?p(Ku,`Not sending because RPC '${i}' stream ${s} is closed:`,e):(c||(p(Ku,`Opening RPC '${i}' stream ${s} transport.`),h.open(),c=!0),p(Ku,`RPC '${i}' stream ${s} sending:`,e),h.send(e))},Zo:()=>h.close()}),g=(e,t,r)=>{e.listen(t,e=>{try{r(e)}catch(e){setTimeout(()=>{throw e},0)}})};return g(h,or.EventType.OPEN,()=>{d||(p(Ku,`RPC '${i}' stream ${s} transport opened.`),f.o_())}),g(h,or.EventType.CLOSE,()=>{d||(d=!0,p(Ku,`RPC '${i}' stream ${s} transport closed`),f.a_(),this.E_(h))}),g(h,or.EventType.ERROR,e=>{d||(d=!0,Ie(Ku,`RPC '${i}' stream ${s} transport errored. Name:`,e.name,"Message:",e.message),f.a_(new I(b.UNAVAILABLE,"The operation could not be completed")))}),g(h,or.EventType.MESSAGE,e=>{if(!d){var t=e.data[0],n=(y(!!t,16349),t),n=n?.error||n[0]?.error;if(n){p(Ku,`RPC '${i}' stream ${s} received error:`,n);let e=n.status,t=(e=>{var t=m[e];if(void 0!==t)return ws(t)})(e),r=n.message;void 0===t&&(t=b.INTERNAL,r="Unknown error status: "+e+" with message "+n.message),d=!0,f.a_(new I(t,r)),h.close()}else p(Ku,`RPC '${i}' stream ${s} received:`,t),f.u_(t)}}),g(a,cr.STAT_EVENT,e=>{e.stat===hr.PROXY?p(Ku,`RPC '${i}' stream ${s} detected buffering proxy`):e.stat===hr.NOPROXY&&p(Ku,`RPC '${i}' stream ${s} detected no buffering proxy`)}),setTimeout(()=>{f.__()},0),f}terminate(){this.c_.forEach(e=>e.close()),this.c_=[]}I_(e){this.c_.push(e)}E_(t){this.c_=this.c_.filter(e=>e===t)}}function $u(){return"undefined"!=typeof window?window:null}function Hu(){return"undefined"!=typeof document?document:null}function Wu(e){return new Fs(e,!0)}class Yu{constructor(e,t,r=1e3,n=1.5,i=6e4){this.Mi=e,this.timerId=t,this.d_=r,this.A_=n,this.R_=i,this.V_=0,this.m_=null,this.f_=Date.now(),this.reset()}reset(){this.V_=0}g_(){this.V_=this.R_}p_(e){this.cancel();var t=Math.floor(this.V_+this.y_()),r=Math.max(0,Date.now()-this.f_),n=Math.max(0,t-r);0<n&&p("ExponentialBackoff",`Backing off for ${n} ms (base delay: ${this.V_} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.m_=this.Mi.enqueueAfterDelay(this.timerId,n,()=>(this.f_=Date.now(),e())),this.V_*=this.A_,this.V_<this.d_&&(this.V_=this.d_),this.V_>this.R_&&(this.V_=this.R_)}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.V_}}let Ju="PersistentStream";class Xu{constructor(e,t,r,n,i,s,a,o){this.Mi=e,this.S_=r,this.b_=n,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 Yu(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.Mi.enqueueAfterDelay(this.S_,6e4,()=>this.k_()))}q_(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===b.RESOURCE_EXHAUSTED?(d(t.toString()),d("Using maximum backoff delay to prevent overloading the backend."),this.M_.g_()):t&&t.code===b.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(this.K_(),this.stream.close(),this.stream=null),this.state=e,await this.listener.r_(t)}K_(){}auth(){this.state=1;let e=this.W_(this.D_),r=this.D_;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([e,t])=>{this.D_===r&&this.G_(e,t)},t=>{e(()=>{var e=new I(b.UNKNOWN,"Fetching auth token failed: "+t.message);return this.z_(e)})})}G_(e,t){let r=this.W_(this.D_);this.stream=this.j_(e,t),this.stream.Xo(()=>{r(()=>this.listener.Xo())}),this.stream.t_(()=>{r(()=>(this.state=2,this.v_=this.Mi.enqueueAfterDelay(this.b_,1e4,()=>(this.O_()&&(this.state=3),Promise.resolve())),this.listener.t_()))}),this.stream.r_(e=>{r(()=>this.z_(e))}),this.stream.onMessage(e=>{r(()=>1==++this.F_?this.J_(e):this.onNext(e))})}N_(){this.state=5,this.M_.p_(async()=>{this.state=0,this.start()})}z_(e){return p(Ju,"close with error: "+e),this.stream=null,this.close(4,e)}W_(t){return e=>{this.Mi.enqueueAndForget(()=>this.D_===t?e():(p(Ju,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class Zu extends Xu{constructor(e,t,r,n,i,s){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,n,s),this.serializer=i}j_(e,t){return this.connection.T_("Listen",e,t)}J_(e){return this.onNext(e)}onNext(e){this.M_.reset();var t=((e,t)=>{let r;if("targetChange"in t){t.targetChange;var n="NO_CHANGE"===(u=t.targetChange.targetChangeType||"NO_CHANGE")?0:"ADD"===u?1:"REMOVE"===u?2:"CURRENT"===u?3:"RESET"===u?4:E(39313,{state:u}),i=t.targetChange.targetIds||[],s=(u=t.targetChange.resumeToken,e.useProto3Json?(y(void 0===u||"string"==typeof u,58123),N.fromBase64String(u||"")):(y(void 0===u||u instanceof Buffer||u instanceof Uint8Array,16193),N.fromUint8Array(u||new Uint8Array))),a=t.targetChange.cause,a=a&&(a=void 0===(u=a).code?b.UNKNOWN:ws(u.code),new I(a,u.message||""));r=new Ns(n,i,s,a||null)}else if("documentChange"in t){t.documentChange;var n=t.documentChange,i=(n.document,n.document.name,n.document.updateTime,Qs(e,n.document.name)),s=V(n.document.updateTime),a=n.document.createTime?V(n.document.createTime):w.min(),o=new zn({mapValue:{fields:n.document.fields}}),i=R.newFoundDocument(i,s,a,o),s=n.targetIds||[],o=n.removedTargetIds||[];r=new As(s,o,i.key,i)}else if("documentDelete"in t){t.documentDelete;n=t.documentDelete,s=(n.document,Qs(e,n.document)),o=n.readTime?V(n.readTime):w.min(),i=R.newNoDocument(s,o),s=n.removedTargetIds||[];r=new As([],s,i.key,i)}else if("documentRemove"in t){t.documentRemove;o=t.documentRemove,n=(o.document,Qs(e,o.document)),s=o.removedTargetIds||[];r=new As([],s,n,null)}else{if(!("filter"in t))return E(11601,{Rt:t});{t.filter;let e=t.filter;e.targetId;var{count:i=0,unchangedNames:o}=e,s=new ys(i,o),n=e.targetId;r=new Ds(n,s)}}var u;return r})(this.serializer,e),r="targetChange"in(e=e)&&(!(r=e.targetChange).targetIds||!r.targetIds.length)&&r.readTime?V(r.readTime):w.min();return this.listener.H_(t,r)}Y_(e){var t={},r=(t.database=Ws(this.serializer),t.addTarget=((t,r)=>{var n;let e=r.target;if((n=fi(e)?{documents:ra(t,e)}:{query:na(t,e).ft}).targetId=r.targetId,0<r.resumeToken.approximateByteSize()){n.resumeToken=qs(t,r.resumeToken);let e=Us(t,r.expectedCount);null!==e&&(n.expectedCount=e)}else if(0<r.snapshotVersion.compareTo(w.min())){n.readTime=Bs(t,r.snapshotVersion.toTimestamp());let e=Us(t,r.expectedCount);null!==e&&(n.expectedCount=e)}return n})(this.serializer,e),sa(this.serializer,e));r&&(t.labels=r),this.q_(t)}Z_(e){var t={};t.database=Ws(this.serializer),t.removeTarget=e,this.q_(t)}}class el extends Xu{constructor(e,t,r,n,i,s){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,n,s),this.serializer=i}get X_(){return 0<this.F_}start(){this.lastStreamToken=void 0,super.start()}K_(){this.X_&&this.ea([])}j_(e,t){return this.connection.T_("Write",e,t)}J_(e){return y(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,y(!e.writeResults||0===e.writeResults.length,55816),this.listener.ta()}onNext(e){y(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this.M_.reset();var t=ta(e.writeResults,e.commitTime),r=V(e.commitTime);return this.listener.na(r,t)}ra(){var e={};e.database=Ws(this.serializer),this.q_(e)}ea(e){var t={streamToken:this.lastStreamToken,writes:e.map(e=>Zs(this.serializer,e))};this.q_(t)}}class tl extends class{}{constructor(e,t,r,n){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=n,this.ia=!1}sa(){if(this.ia)throw new I(b.FAILED_PRECONDITION,"The client has already been terminated.")}Go(r,n,i,s){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection.Go(r,zs(n,i),s,e,t)).catch(e=>{throw"FirebaseError"===e.name?(e.code===b.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new I(b.UNKNOWN,e.toString())})}Ho(r,n,i,s,a){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection.Ho(r,zs(n,i),s,e,t,a)).catch(e=>{throw"FirebaseError"===e.name?(e.code===b.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new I(b.UNKNOWN,e.toString())})}terminate(){this.ia=!0,this.connection.terminate()}}class rl{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++,1<=this.oa&&(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){var t=`Could not reach Cloud Firestore backend. ${e}
|
|
21
21
|
This 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?(d(t),this.aa=!1):p("OnlineStateTracker",t)}Pa(){null!==this._a&&(this._a.cancel(),this._a=null)}}let nl="RemoteStore";class il{constructor(e,t,r,n,i){this.localStore=e,this.datastore=t,this.asyncQueue=r,this.remoteSyncer={},this.Ta=[],this.Ia=new Map,this.Ea=new Set,this.da=[],this.Aa=i,this.Aa.Oo(e=>{r.enqueueAndForget(async()=>{var e;fl(this)&&(p(nl,"Restarting streams for network reachability change."),(e=this).Ea.add(4),await al(e),e.Ra.set("Unknown"),e.Ea.delete(4),await sl(e))})}),this.Ra=new rl(r,n)}}async function sl(e){if(fl(e))for(var t of e.da)await t(!0)}async function al(e){for(var t of e.da)await t(!1)}function ol(e,t){var r=e;r.Ia.has(t.targetId)||(r.Ia.set(t.targetId,t),dl(r)?cl(r):Il(r).O_()&&ll(r,t))}function ul(e,t){var r=e,n=Il(r);r.Ia.delete(t),n.O_()&&hl(r,t),0===r.Ia.size&&(n.O_()?n.L_():fl(r)&&r.Ra.set("Unknown"))}function ll(e,t){var r;e.Va.Ue(t.targetId),(0<t.resumeToken.approximateByteSize()||0<t.snapshotVersion.compareTo(w.min()))&&(r=e.remoteSyncer.getRemoteKeysForTarget(t.targetId).size,t=t.withExpectedCount(r)),Il(e).Y_(t)}function hl(e,t){e.Va.Ue(t),Il(e).Z_(t)}function cl(t){t.Va=new Rs({getRemoteKeysForTarget:e=>t.remoteSyncer.getRemoteKeysForTarget(e),At:e=>t.Ia.get(e)||null,ht:()=>t.datastore.serializer.databaseId}),Il(t).start(),t.Ra.ua()}function dl(e){return fl(e)&&!Il(e).x_()&&0<e.Ia.size}function fl(e){return 0===e.Ea.size}function gl(e){e.Va=void 0}async function ml(e,t,r){if(!yt(t))throw t;e.Ea.add(1),await al(e),e.Ra.set("Offline"),r=r||(()=>gu(e.localStore)),e.asyncQueue.enqueueRetryable(async()=>{p(nl,"Retrying IndexedDB access"),await r(),e.Ea.delete(1),await sl(e)})}function pl(t,r){return r().catch(e=>ml(t,e,r))}async function yl(e){var t,r,n,i,s=e,a=Tl(s);let o=0<s.Ta.length?s.Ta[s.Ta.length-1].batchId:xt;for(;fl(i=s)&&i.Ta.length<10;)try{let e=await((e,t)=>{let r=e;return r.persistence.runTransaction("Get next mutation batch","readonly",e=>(void 0===t&&(t=xt),r.mutationQueue.getNextMutationBatchAfterBatchId(e,t)))})(s.localStore,o);if(null===e){0===s.Ta.length&&a.L_();break}o=e.batchId,t=s,r=e,n=void 0,t.Ta.push(r),(n=Tl(t)).O_()&&n.X_&&n.ea(r.mutations)}catch(e){await ml(s,e)}vl(s)&&wl(s)}function vl(e){return fl(e)&&!Tl(e).x_()&&0<e.Ta.length}function wl(e){Tl(e).start()}async function _l(e,t){var r=e,n=(r.asyncQueue.verifyOperationInProgress(),p(nl,"RemoteStore received new credentials"),fl(r));r.Ea.add(3),await al(r),n&&r.Ra.set("Unknown"),await r.remoteSyncer.handleCredentialChange(t),r.Ea.delete(3),await sl(r)}async function bl(e,t){var r=e;t?(r.Ea.delete(2),await sl(r)):(r.Ea.add(2),await al(r),r.Ra.set("Unknown"))}function Il(t){return t.ma||(t.ma=(e=t.datastore,r=t.asyncQueue,n={Xo:(async function(e){e.Ra.set("Online")}).bind(null,t),t_:(async function(r){r.Ia.forEach((e,t)=>{ll(r,e)})}).bind(null,t),r_:(async function(e,t){gl(e),dl(e)?(e.Ra.ha(t),cl(e)):e.Ra.set("Unknown")}).bind(null,t),H_:(async function(t,e,r){if(t.Ra.set("Online"),e instanceof Ns&&2===e.state&&e.cause)try{var n,i=t,s=e,a=s.cause;for(n of s.targetIds)i.Ia.has(n)&&(await i.remoteSyncer.rejectListen(n,a),i.Ia.delete(n),i.Va.removeTarget(n))}catch(r){p(nl,"Failed to remove targets %s: %s ",e.targetIds.join(","),r),await ml(t,r)}else if(e instanceof As?t.Va.Ze(e):e instanceof Ds?t.Va.st(e):t.Va.tt(e),!r.isEqual(w.min()))try{let e=await gu(t.localStore);0<=r.compareTo(e)&&(u=r,(l=(o=t).Va.Tt(u)).targetChanges.forEach((e,t)=>{var r;0<e.resumeToken.approximateByteSize()&&(r=o.Ia.get(t))&&o.Ia.set(t,r.withResumeToken(e.resumeToken,u))}),l.targetMismatches.forEach((e,t)=>{var r=o.Ia.get(e);r&&(o.Ia.set(e,r.withResumeToken(N.EMPTY_BYTE_STRING,r.snapshotVersion)),hl(o,e),r=new ca(r.target,e,t,r.sequenceNumber),ll(o,r))}),await o.remoteSyncer.applyRemoteEvent(l))}catch(e){p(nl,"Failed to raise snapshot:",e),await ml(t,e)}var o,u,l}).bind(null,t)},(i=e).sa(),new Zu(r,i.connection,i.authCredentials,i.appCheckCredentials,i.serializer,n)),t.da.push(async e=>{e?(t.ma.B_(),dl(t)?cl(t):t.Ra.set("Unknown")):(await t.ma.stop(),gl(t))})),t.ma;var e,r,n,i}function Tl(t){return t.fa||(t.fa=(e=t.datastore,r=t.asyncQueue,n={Xo:()=>Promise.resolve(),t_:(async function(e){Tl(e).ra()}).bind(null,t),r_:(async function(e,t){if(t&&Tl(e).X_){var r=e,n=t;if(vs(t=n.code)&&t!==b.ABORTED){let e=r.Ta.shift();Tl(r).B_(),await pl(r,()=>r.remoteSyncer.rejectFailedWrite(e.batchId,n)),await yl(r)}await 0}vl(e)&&wl(e)}).bind(null,t),ta:(async function(e){var t,r=Tl(e);for(t of e.Ta)r.ea(t.mutations)}).bind(null,t),na:(async function(e,t,r){let n=e.Ta.shift(),i=ms.from(n,t,r);await pl(e,()=>e.remoteSyncer.applySuccessfulWrite(i)),await yl(e)}).bind(null,t)},(i=e).sa(),new el(r,i.connection,i.authCredentials,i.appCheckCredentials,i.serializer,n)),t.da.push(async e=>{e?(t.fa.B_(),await yl(t)):(await t.fa.stop(),0<t.Ta.length&&(p(nl,`Stopping write stream with ${t.Ta.length} pending writes`),t.Ta=[]))})),t.fa;var e,r,n,i}class El{constructor(e,t,r,n,i){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=r,this.op=n,this.removalCallback=i,this.deferred=new f,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,r,n,i){var s=Date.now()+r,s=new El(e,t,s,n,i);return s.start(r),s}start(e){this.timerHandle=setTimeout(()=>this.handleDelayElapsed(),e)}skipDelay(){return this.handleDelayElapsed()}cancel(e){null!==this.timerHandle&&(this.clearTimeout(),this.deferred.reject(new I(b.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 Sl(e,t){if(d("AsyncQueue",t+": "+e),yt(e))return new I(b.UNAVAILABLE,t+": "+e);throw e}class xl{static emptySet(e){return new xl(e.comparator)}constructor(r){this.comparator=r?(e,t)=>r(e,t)||x.comparator(e.key,t.key):(e,t)=>x.comparator(e.key,t.key),this.keyedMap=Li(),this.sortedSet=new A(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){var t=this.keyedMap.get(e);return t?this.sortedSet.indexOf(t):-1}get size(){return this.sortedSet.size}forEach(r){this.sortedSet.inorderTraversal((e,t)=>(r(e),!1))}add(e){var t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){var t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof xl))return!1;if(this.size!==e.size)return!1;for(var r=this.sortedSet.getIterator(),n=e.sortedSet.getIterator();r.hasNext();){let e=r.getNext().key,t=n.getNext().key;if(!e.isEqual(t))return!1}return!0}toString(){let t=[];return this.forEach(e=>{t.push(e.toString())}),0===t.length?"DocumentSet ()":"DocumentSet (\n "+t.join(" \n")+"\n)"}copy(e,t){var r=new xl;return r.comparator=this.comparator,r.keyedMap=e,r.sortedSet=t,r}}class Cl{constructor(){this.ga=new A(x.comparator)}track(e){var t=e.doc.key,r=this.ga.get(t);!r||0!==e.type&&3===r.type?this.ga=this.ga.insert(t,e):3===e.type&&1!==r.type?this.ga=this.ga.insert(t,{type:r.type,doc:e.doc}):2===e.type&&2===r.type?this.ga=this.ga.insert(t,{type:2,doc:e.doc}):2===e.type&&0===r.type?this.ga=this.ga.insert(t,{type:0,doc:e.doc}):1===e.type&&0===r.type?this.ga=this.ga.remove(t):1===e.type&&2===r.type?this.ga=this.ga.insert(t,{type:1,doc:r.doc}):0===e.type&&1===r.type?this.ga=this.ga.insert(t,{type:2,doc:e.doc}):E(63341,{Rt:e,pa:r})}ya(){let r=[];return this.ga.inorderTraversal((e,t)=>{r.push(t)}),r}}class Al{constructor(e,t,r,n,i,s,a,o,u){this.query=e,this.docs=t,this.oldDocs=r,this.docChanges=n,this.mutatedKeys=i,this.fromCache=s,this.syncStateChanged=a,this.excludesMetadataChanges=o,this.hasCachedResults=u}static fromInitialDocuments(e,t,r,n,i){let s=[];return t.forEach(e=>{s.push({type:0,doc:e})}),new Al(e,t,xl.emptySet(t),s,r,n,!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)&&xi(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;var t=this.docChanges,r=e.docChanges;if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(t[n].type!==r[n].type||!t[n].doc.isEqual(r[n].doc))return!1;return!0}}class Dl{constructor(){this.wa=void 0,this.Sa=[]}ba(){return this.Sa.some(e=>e.Da())}}class Nl{constructor(){this.queries=kl(),this.onlineState="Unknown",this.Ca=new Set}terminate(){var e,r,t,n;e=this,r=new I(b.ABORTED,"Firestore shutting down"),n=(t=e).queries,t.queries=kl(),n.forEach((e,t)=>{for(let e of t.Sa)e.onError(r)})}}function kl(){return new Ri(e=>Ci(e),xi)}async function Rl(t,r){let e=t,n=3;var i=r.query;let s=e.queries.get(i);s?!s.ba()&&r.Da()&&(n=2):(s=new Dl,n=r.Da()?0:1);try{switch(n){case 0:s.wa=await e.onListen(i,!0);break;case 1:s.wa=await e.onListen(i,!1);break;case 2:await e.onFirstRemoteStoreListen(i)}}catch(t){let e=Sl(t,`Initialization of query '${Ai(r.query)}' failed`);return void r.onError(e)}e.queries.set(i,s),s.Sa.push(r),r.va(e.onlineState),s.wa&&r.Fa(s.wa)&&Ol(e)}async function Ml(e,t){var r=e,n=t.query;let i=3;var s=r.queries.get(n);if(s){let e=s.Sa.indexOf(t);0<=e&&(s.Sa.splice(e,1),0===s.Sa.length?i=t.Da()?0:1:!s.ba()&&t.Da()&&(i=2))}switch(i){case 0:return r.queries.delete(n),r.onUnlisten(n,!0);case 1:return r.queries.delete(n),r.onUnlisten(n,!1);case 2:return r.onLastRemoteStoreUnlisten(n);default:return}}function Ol(e){e.Ca.forEach(e=>{e.next()})}(pe=pe||{}).Ma="default",pe.Cache="cache";class Ll{constructor(e,t,r){this.query=e,this.xa=t,this.Oa=!1,this.Na=null,this.onlineState="Unknown",this.options=r||{}}Fa(t){if(!this.options.includeMetadataChanges){let e=[];for(var r of t.docChanges)3!==r.type&&e.push(r);t=new Al(t.query,t.docs,t.oldDocs,e,t.mutatedKeys,t.fromCache,t.syncStateChanged,!0,t.hasCachedResults)}let e=!1;return this.Oa?this.Ba(t)&&(this.xa.next(t),e=!0):this.La(t,this.onlineState)&&(this.ka(t),e=!0),this.Na=t,e}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.qa||!("Offline"!==t))&&(!e.docs.isEmpty()||e.hasCachedResults||"Offline"===t)}Ba(e){var t;return 0<e.docChanges.length||(t=this.Na&&this.Na.hasPendingWrites!==e.hasPendingWrites,!(!e.syncStateChanged&&!t)&&!0===this.options.includeMetadataChanges)}ka(e){e=Al.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.Oa=!0,this.xa.next(e)}Da(){return this.options.source!==pe.Cache}}class Pl{constructor(e,t){this.Qa=e,this.byteLength=t}$a(){return"metadata"in this.Qa}}class Vl{constructor(e){this.serializer=e}$s(e){return Qs(this.serializer,e)}Us(e){return e.metadata.exists?Xs(this.serializer,e.document,!1):R.newNoDocument(this.$s(e.metadata.name),this.Ks(e.metadata.readTime))}Ks(e){return V(e)}}class Fl{constructor(e,t){this.Ua=e,this.serializer=t,this.Ka=[],this.Wa=[],this.collectionGroups=new Set,this.progress=Ul(e)}get queries(){return this.Ka}get documents(){return this.Wa}Ga(e){this.progress.bytesLoaded+=e.byteLength;let t=this.progress.documentsLoaded;var r;return e.Qa.namedQuery?this.Ka.push(e.Qa.namedQuery):e.Qa.documentMetadata?(this.Wa.push({metadata:e.Qa.documentMetadata}),e.Qa.documentMetadata.exists||++t,r=T.fromString(e.Qa.documentMetadata.name),this.collectionGroups.add(r.get(r.length-2))):e.Qa.document&&(this.Wa[this.Wa.length-1].document=e.Qa.document,++t),t!==this.progress.documentsLoaded?(this.progress.documentsLoaded=t,{...this.progress}):null}za(e){let r=new Map,n=new Vl(this.serializer);for(var i of e)if(i.metadata.queries){let e=n.$s(i.metadata.name);for(let t of i.metadata.queries){var s=(r.get(t)||L()).add(e);r.set(t,s)}}return r}async ja(e){let t=await(async(r,n,e,t)=>{let i=r,s=L(),a=Mi;for(let r of e){let e=n.$s(r.metadata.name),t=(r.document&&(s=s.add(e)),n.Us(r));t.setReadTime(n.Ks(r.metadata.readTime)),a=a.insert(e,t)}let o=i.Ns.newChangeBuffer({trackRemovals:!0}),u=await yu(i,(r=t,Ti(wi(T.fromString("__bundle__/docs/"+r)))));return i.persistence.runTransaction("Apply bundle documents","readwrite",t=>pu(t,o,a).next(e=>(o.apply(t),e)).next(e=>i.Pi.removeMatchingKeysForTargetId(t,u.targetId).next(()=>i.Pi.addMatchingKeys(t,s,u.targetId)).next(()=>i.localDocuments.getLocalViewOfDocuments(t,e.ks,e.qs)).next(()=>e.ks)))})(e,new Vl(this.serializer),this.Wa,this.Ua.id),r=this.za(this.documents);for(let t of this.Ka)await(async(e,r,n=L())=>{let i=await yu(e,Ti(_a(r.bundledQuery))),s=e;return s.persistence.runTransaction("Save named query","readwrite",e=>{var t=V(r.readTime);return 0<=i.snapshotVersion.compareTo(t)?s.Ii.saveNamedQuery(e,r):(t=i.withResumeToken(N.EMPTY_BYTE_STRING,t),s.Ms=s.Ms.insert(t.targetId,t),s.Pi.updateTargetData(e,t).next(()=>s.Pi.removeMatchingKeysForTargetId(e,i.targetId)).next(()=>s.Pi.addMatchingKeys(e,n,i.targetId)).next(()=>s.Ii.saveNamedQuery(e,r)))})})(e,t,r.get(t.name));return this.progress.taskState="Success",{progress:this.progress,Ja:this.collectionGroups,Ha:t}}}function Ul(e){return{taskState:"Running",documentsLoaded:0,bytesLoaded:0,totalDocuments:e.totalDocuments,totalBytes:e.totalBytes}}class Bl{constructor(e){this.key=e}}class ql{constructor(e){this.key=e}}class jl{constructor(e,t){this.query=e,this.Ya=t,this.Za=null,this.hasCachedResults=!1,this.current=!1,this.Xa=L(),this.mutatedKeys=L(),this.eu=ki(e),this.tu=new xl(this.eu)}get nu(){return this.Ya}ru(e,t){let o=t?t.iu:new Cl,u=(t||this).tu,l=(t||this).mutatedKeys,h=u,c=!1,d="F"===this.query.limitType&&u.size===this.query.limit?u.last():null,f="L"===this.query.limitType&&u.size===this.query.limit?u.first():null;if(e.inorderTraversal((e,t)=>{var r=u.get(e),n=Di(this.query,t)?t:null,i=!!r&&this.mutatedKeys.has(r.key),s=!!n&&(n.hasLocalMutations||this.mutatedKeys.has(n.key)&&n.hasCommittedMutations);let a=!1;r&&n?r.data.isEqual(n.data)?i!==s&&(o.track({type:3,doc:n}),a=!0):!this.su(r,n)&&(o.track({type:2,doc:n}),a=!0,d&&0<this.eu(n,d)||f&&this.eu(n,f)<0)&&(c=!0):!r&&n?(o.track({type:0,doc:n}),a=!0):r&&!n&&(o.track({type:1,doc:r}),a=!0,d||f)&&(c=!0),a&&(l=n?(h=h.add(n),s?l.add(e):l.delete(e)):(h=h.delete(e),l.delete(e)))}),null!==this.query.limit)for(;h.size>this.query.limit;){let e="F"===this.query.limitType?h.last():h.first();h=h.delete(e.key),l=l.delete(e.key),o.track({type:1,doc:e})}return{tu:h,iu:o,Cs:c,mutatedKeys:l}}su(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,n){var i=this.tu,s=(this.tu=e.tu,this.mutatedKeys=e.mutatedKeys,e.iu.ya()),a=(s.sort((e,t)=>{return r=e.type,n=t.type,(i=e=>{switch(e){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return E(20277,{Rt:e})}})(r)-i(n)||this.eu(e.doc,t.doc);var r,n,i}),this.ou(r),n=n??!1,t&&!n?this._u():[]),o=0===this.Xa.size&&this.current&&!n?1:0,u=o!==this.Za;return this.Za=o,0!==s.length||u?{snapshot:new Al(this.query,e.tu,i,s,e.mutatedKeys,0==o,u,!1,!!r&&0<r.resumeToken.approximateByteSize()),au:a}:{au:a}}va(e){return this.current&&"Offline"===e?(this.current=!1,this.applyChanges({tu:this.tu,iu:new Cl,mutatedKeys:this.mutatedKeys,Cs:!1},!1)):{au:[]}}uu(e){return!this.Ya.has(e)&&!!this.tu.has(e)&&!this.tu.get(e).hasLocalMutations}ou(e){e&&(e.addedDocuments.forEach(e=>this.Ya=this.Ya.add(e)),e.modifiedDocuments.forEach(e=>{}),e.removedDocuments.forEach(e=>this.Ya=this.Ya.delete(e)),this.current=e.current)}_u(){if(!this.current)return[];let t=this.Xa,r=(this.Xa=L(),this.tu.forEach(e=>{this.uu(e.key)&&(this.Xa=this.Xa.add(e.key))}),[]);return t.forEach(e=>{this.Xa.has(e)||r.push(new ql(e))}),this.Xa.forEach(e=>{t.has(e)||r.push(new Bl(e))}),r}cu(e){this.Ya=e.Qs,this.Xa=L();var t=this.ru(e.documents);return this.applyChanges(t,!0)}lu(){return Al.fromInitialDocuments(this.query,this.tu,this.mutatedKeys,0===this.Za,this.hasCachedResults)}}let zl="SyncEngine";class Gl{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class Kl{constructor(e){this.key=e,this.hu=!1}}class Ql{constructor(e,t,r,n,i,s){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=n,this.currentUser=i,this.maxConcurrentLimboResolutions=s,this.Pu={},this.Tu=new Ri(e=>Ci(e),xi),this.Iu=new Map,this.Eu=new Set,this.du=new A(x.comparator),this.Au=new Map,this.Ru=new jo,this.Vu={},this.mu=new Map,this.fu=mo.cr(),this.onlineState="Unknown",this.gu=void 0}get isPrimaryClient(){return!0===this.gu}}async function $l(e,t,r,n){var i=await yu(e.localStore,Ti(t)),s=i.targetId,a=e.sharedClientState.addLocalQueryTarget(s,r);let o;return n&&(o=await Hl(e,t,s,"current"===a,i.resumeToken)),e.isPrimaryClient&&r&&ol(e.remoteStore,i),o}async function Hl(n,e,t,r,i){n.pu=(e,t,r)=>(async(e,t,r,n)=>{let i=t.view.ru(r);i.Cs&&(i=await wu(e.localStore,t.query,!1).then(({documents:e})=>t.view.ru(e,i)));var s=n&&n.targetChanges.get(t.targetId),a=n&&null!=n.targetMismatches.get(t.targetId),s=t.view.applyChanges(i,e.isPrimaryClient,s,a);return ih(e,t.targetId,s.au),s.snapshot})(n,e,t,r);var s=await wu(n.localStore,e,!0),a=new jl(e,s.Qs),s=a.ru(s.documents),o=Cs.createSynthesizedTargetChangeForCurrentChange(t,r&&"Offline"!==n.onlineState,i),s=a.applyChanges(s,n.isPrimaryClient,o),o=(ih(n,t,s.au),new Gl(e,t,a));return n.Tu.set(e,o),n.Iu.has(t)?n.Iu.get(t).push(e):n.Iu.set(t,[e]),s.snapshot}async function Wl(t,e,r){var n=ch(t);try{let t=await((e,i)=>{let s=e,a=v.now(),o=i.reduce((e,t)=>e.add(t.key),L()),u,l;return s.persistence.runTransaction("Locally write mutations","readwrite",n=>{let t=Mi,r=L();return s.Ns.getEntries(n,o).next(e=>{(t=e).forEach((e,t)=>{t.isValidDocument()||(r=r.add(e))})}).next(()=>s.localDocuments.getOverlayedDocuments(n,t)).next(e=>{u=e;var t=[];for(let r of i){let e=((e,r)=>{let n=null;for(var i of e.fieldTransforms){let e=r.data.field(i.field),t=Ki(i.transform,e||null);null!=t&&(n=null===n?zn.empty():n).set(i.field,t)}return n||null})(r,u.get(r.key).overlayedDocument);null!=e&&t.push(new us(r.key,e,function i(e){let s=[];return Yr(e.fields,(e,r)=>{var n=new h([e]);if(Pn(r)){let t=i(r.mapValue).fields;if(0===t.length)s.push(n);else for(let e of t)s.push(n.child(e))}else s.push(n)}),new rn(s)}(e.value.mapValue),P.exists(!0)))}return s.mutationQueue.addMutationBatch(n,a,t,i)}).next(e=>{var t=(l=e).applyToLocalDocumentSet(u,r);return s.documentOverlayCache.saveOverlays(n,e.batchId,t)})}).then(()=>({batchId:l.batchId,changes:Pi(u)}))})(n.localStore,e);n.sharedClientState.addPendingMutation(t.batchId);{var i=n;var s=t.batchId;var a=r;let e=i.Vu[i.currentUser.toKey()];e=(e=e||new A(S)).insert(s,a),i.Vu[i.currentUser.toKey()]=e}await ah(n,t.changes),await yl(n.remoteStore)}catch(t){let e=Sl(t,"Failed to persist write");r.reject(e)}}async function Yl(e,t){let n=e;try{let e=await mu(n.localStore,t);t.targetChanges.forEach((e,t)=>{var r=n.Au.get(t);r&&(y(e.addedDocuments.size+e.modifiedDocuments.size+e.removedDocuments.size<=1,22616),0<e.addedDocuments.size?r.hu=!0:0<e.modifiedDocuments.size?y(r.hu,14607):0<e.removedDocuments.size&&(y(r.hu,42227),r.hu=!1))}),await ah(n,e,t)}catch(e){await ht(e)}}function Jl(e,i,t){var s=e;if(s.isPrimaryClient&&0===t||!s.isPrimaryClient&&1===t){let n=[];s.Tu.forEach((e,t)=>{var r=t.view.va(i);r.snapshot&&n.push(r.snapshot)});{t=s.eventManager;var a=i;var o=t;o.onlineState=a;let r=!1;o.queries.forEach((e,t)=>{for(let e of t.Sa)e.va(a)&&(r=!0)}),r&&Ol(o)}n.length&&s.Pu.H_(n),s.onlineState=i,s.isPrimaryClient&&s.sharedClientState.setOnlineState(i)}}async function Xl(e,t,r){var n=e;try{let e=await((e,n)=>{let i=e;return i.persistence.runTransaction("Reject batch","readwrite-primary",t=>{let r;return i.mutationQueue.lookupMutationBatch(t,n).next(e=>(y(null!==e,37113),r=e.keys(),i.mutationQueue.removeMutationBatch(t,e))).next(()=>i.mutationQueue.performConsistencyCheck(t)).next(()=>i.documentOverlayCache.removeOverlaysForBatchId(t,r,n)).next(()=>i.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(t,r)).next(()=>i.localDocuments.getDocuments(t,r))})})(n.localStore,t);th(n,t,r),eh(n,t),n.sharedClientState.updateMutationState(t,"rejected",r),await ah(n,e)}catch(r){await ht(r)}}async function Zl(t,r){let n=t;fl(n.remoteStore)||p(zl,"The network is disabled. The task returned by 'awaitPendingWrites()' will not complete until the network is enabled.");try{let e=await(e=>{let t=e;return t.persistence.runTransaction("Get highest unacknowledged batch id","readonly",e=>t.mutationQueue.getHighestUnacknowledgedBatchId(e))})(n.localStore);var i;e===xt?r.resolve():((i=n.mu.get(e)||[]).push(r),n.mu.set(e,i))}catch(t){let e=Sl(t,"Initialization of waitForPendingWrites() operation failed");r.reject(e)}}function eh(e,t){(e.mu.get(t)||[]).forEach(e=>{e.resolve()}),e.mu.delete(t)}function th(e,t,r){var n=e;let i=n.Vu[n.currentUser.toKey()];if(i){let e=i.get(t);e&&(r?e.reject(r):e.resolve(),i=i.remove(t)),n.Vu[n.currentUser.toKey()]=i}}function rh(t,e,r=null){t.sharedClientState.removeLocalQueryTarget(e);for(var n of t.Iu.get(e))t.Tu.delete(n),r&&t.Pu.yu(n,r);t.Iu.delete(e),t.isPrimaryClient&&t.Ru.jr(e).forEach(e=>{t.Ru.containsKey(e)||nh(t,e)})}function nh(e,t){e.Eu.delete(t.path.canonicalString());var r=e.du.get(t);null!==r&&(ul(e.remoteStore,r),e.du=e.du.remove(t),e.Au.delete(r),sh(e))}function ih(e,t,r){for(var n of r)n instanceof Bl?(e.Ru.addReference(n.key,t),i=e,s=n,o=a=void 0,a=s.key,o=a.path.canonicalString(),i.du.get(a)||i.Eu.has(o)||(p(zl,"New document in limbo: "+a),i.Eu.add(o),sh(i))):n instanceof ql?(p(zl,"Document no longer in limbo: "+n.key),e.Ru.removeReference(n.key,t),e.Ru.containsKey(n.key)||nh(e,n.key)):E(19791,{wu:n});var i,s,a,o}function sh(e){for(;0<e.Eu.size&&e.du.size<e.maxConcurrentLimboResolutions;){var t=e.Eu.values().next().value,t=(e.Eu.delete(t),new x(T.fromString(t))),r=e.fu.next();e.Au.set(r,new Kl(t)),e.du=e.du.insert(t,r),ol(e.remoteStore,new ca(Ti(wi(t.path)),r,"TargetPurposeLimboResolution",St.ce))}}async function ah(e,t,n){let s=e,i=[],a=[],o=[];if(!s.Tu.isEmpty()){s.Tu.forEach((e,r)=>{o.push(s.pu(r,t,n).then(e=>{var t;(e||n)&&s.isPrimaryClient&&(t=e?!e.fromCache:n?.targetChanges.get(r.targetId)?.current,s.sharedClientState.updateQueryState(r.targetId,t?"current":"not-current")),e&&(i.push(e),t=su.As(r.targetId,e),a.push(t))}))}),await Promise.all(o),s.Pu.H_(i);{var r=s.localStore,u=a;let i=r;try{await i.persistence.runTransaction("notifyLocalViewChanges","readwrite",r=>C.forEach(u,t=>C.forEach(t.Es,e=>i.persistence.referenceDelegate.addReference(r,t.targetId,e)).next(()=>C.forEach(t.ds,e=>i.persistence.referenceDelegate.removeReference(r,t.targetId,e)))))}catch(r){if(!yt(r))throw r;p(uu,"Failed to update sequence numbers: "+r)}for(let e of u){let n=e.targetId;if(!e.fromCache){let e=i.Ms.get(n),t=e.snapshotVersion,r=e.withLastLimboFreeSnapshotVersion(t);i.Ms=i.Ms.insert(n,r)}}}}}async function oh(e,t,r,n){var i=e,s=await((e,r)=>{let n=e,i=n.mutationQueue;return n.persistence.runTransaction("Lookup mutation documents","readonly",t=>i.er(t,r).next(e=>e?n.localDocuments.getDocuments(t,e):C.resolve(null)))})(i.localStore,t);null!==s?("pending"===r?await yl(i.remoteStore):"acknowledged"===r||"rejected"===r?(th(i,t,n||null),eh(i,t),i.localStore.mutationQueue.ir(t)):E(6720,"Unknown batchState",{Su:r}),await ah(i,s)):p(zl,"Cannot apply mutation batch with id: "+t)}async function uh(r,e){var n,i,s,a=r,o=[],u=[];for(let r of e){let t,e=a.Iu.get(r);if(e&&0!==e.length){t=await yu(a.localStore,Ti(e[0]));for(let r of e){let e=a.Tu.get(r),t=(n=e,s=i=void 0,s=await wu((i=a).localStore,n.query,!0),s=n.view.cu(s),i.isPrimaryClient&&ih(i,n.targetId,s.au),await s);t.snapshot&&u.push(t.snapshot)}}else{let e=await _u(a.localStore,r);t=await yu(a.localStore,e),await Hl(a,lh(e),r,!1,t.resumeToken)}o.push(t)}return a.Pu.H_(u),o}function lh(e){return vi(e.path,e.collectionGroup,e.orderBy,e.filters,e.limit,"F",e.startAt,e.endAt)}function hh(e){var t=e;return t.remoteStore.remoteSyncer.applyRemoteEvent=Yl.bind(null,t),t.remoteStore.remoteSyncer.getRemoteKeysForTarget=(function(e,t){let n=e,r=n.Au.get(t);if(r&&r.hu)return L().add(r.key);{let r=L(),e=n.Iu.get(t);if(e)for(let t of e){let e=n.Tu.get(t);r=r.unionWith(e.view.nu)}return r}}).bind(null,t),t.remoteStore.remoteSyncer.rejectListen=(async function(e,n,t){let i=e,r=(i.sharedClientState.updateQueryState(n,"rejected",t),i.Au.get(n)),s=r&&r.key;if(s){let e=new A(x.comparator),t=(e=e.insert(s,R.newNoDocument(s,w.min())),L().add(s)),r=new xs(w.min(),new Map,new A(S),e,t);await Yl(i,r),i.du=i.du.remove(s),i.Au.delete(n),sh(i)}else await vu(i.localStore,n,!1).then(()=>rh(i,n,t)).catch(ht)}).bind(null,t),t.Pu.H_=(function(r,e){var n=r;let i=!1;for(let r of e){let e=r.query,t=n.queries.get(e);if(t){for(let e of t.Sa)e.Fa(r)&&(i=!0);t.wa=r}}i&&Ol(n)}).bind(null,t.eventManager),t.Pu.yu=(function(e,t,r){var n=e,i=n.queries.get(t);if(i)for(let e of i.Sa)e.onError(r);n.queries.delete(t)}).bind(null,t.eventManager),t}function ch(e){var t=e;return t.remoteStore.remoteSyncer.applySuccessfulWrite=(async function(e,t){var r=e,n=t.batch.batchId;try{let e=await fu(r.localStore,t);th(r,n,null),eh(r,n),r.sharedClientState.updateMutationState(n,"acknowledged"),await ah(r,e)}catch(e){await ht(e)}}).bind(null,t),t.remoteStore.remoteSyncer.rejectFailedWrite=Xl.bind(null,t),t}function dh(e,t,r){let n=e;(async(e,r,n)=>{try{var i=await r.getMetadata();if(await((e,t)=>{let r=e,n=V(t.createTime);return r.persistence.runTransaction("hasNewerBundle","readonly",e=>r.Ii.getBundleMetadata(e,t.id)).then(e=>!!e&&0<=e.createTime.compareTo(n))})(e.localStore,i))return await r.close(),n._completeWith({taskState:"Success",documentsLoaded:i.totalDocuments,bytesLoaded:i.totalBytes,totalDocuments:i.totalDocuments,totalBytes:i.totalBytes}),Promise.resolve(new Set);n._updateProgress(Ul(i));var s=new Fl(i,r.serializer);let t=await r.bu();for(;t;){let e=await s.Ga(t);e&&n._updateProgress(e),t=await r.bu()}var a=await s.ja(e.localStore);return await ah(e,a.Ha,void 0),await((e,t)=>{let r=e;return r.persistence.runTransaction("Save bundle","readwrite",e=>r.Ii.saveBundleMetadata(e,t))})(e.localStore,i),n._completeWith(a.progress),Promise.resolve(a.Ja)}catch(e){return Ie(zl,"Loading bundle failed with "+e),n._failWith(e),Promise.resolve(new Set)}})(n,t,r).then(e=>{n.sharedClientState.notifyBundleLoaded(e)})}class fh{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=Wu(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){return cu(this.persistence,new ou,e.initialUser,this.serializer)}Cu(e){return new $o(Wo.mi,this.serializer)}Du(e){return new Pu}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}fh.provider={build:()=>new fh};class gh extends fh{constructor(e){super(),this.cacheSizeBytes=e}Fu(e,t){y(this.persistence.referenceDelegate instanceof Yo,46915);var r=this.persistence.referenceDelegate.garbageCollector;return new To(r,e.asyncQueue,t)}Cu(e){let t=void 0!==this.cacheSizeBytes?ao.withCacheSize(this.cacheSizeBytes):ao.DEFAULT;return new $o(e=>Yo.mi(e,t),this.serializer)}}class mh extends fh{constructor(e,t,r){super(),this.xu=e,this.cacheSizeBytes=t,this.forceOwnership=r,this.kind="persistent",this.synchronizeTabs=!1}async initialize(e){await super.initialize(e),await this.xu.initialize(this,e),await ch(this.xu.syncEngine),await yl(this.xu.remoteStore),await this.persistence.Ji(()=>(this.gcScheduler&&!this.gcScheduler.started&&this.gcScheduler.start(),this.indexBackfillerScheduler&&!this.indexBackfillerScheduler.started&&this.indexBackfillerScheduler.start(),Promise.resolve()))}vu(e){return cu(this.persistence,new ou,e.initialUser,this.serializer)}Fu(e,t){var r=this.persistence.referenceDelegate.garbageCollector;return new To(r,e.asyncQueue,t)}Mu(e,t){var r=new Et(t,this.persistence);return new Tt(e.asyncQueue,r)}Cu(e){var t=iu(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),r=void 0!==this.cacheSizeBytes?ao.withCacheSize(this.cacheSizeBytes):ao.DEFAULT;return new tu(this.synchronizeTabs,t,e.clientId,r,e.asyncQueue,$u(),Hu(),this.serializer,this.sharedClientState,!!this.forceOwnership)}Du(e){return new Pu}}class ph extends mh{constructor(e,t){super(e,t,!1),this.xu=e,this.cacheSizeBytes=t,this.synchronizeTabs=!0}async initialize(e){await super.initialize(e);var t=this.xu.syncEngine;this.sharedClientState instanceof Lu&&(this.sharedClientState.syncEngine={Co:oh.bind(null,t),vo:(async function(e,r,n,t){var i=e;if(i.gu)p(zl,"Ignoring unexpected query state notification.");else{var s=i.Iu.get(r);if(s&&0<s.length)switch(n){case"current":case"not-current":{let e=await bu(i.localStore,Ni(s[0])),t=xs.createSynthesizedRemoteEventForCurrentChange(r,"current"===n,N.EMPTY_BYTE_STRING);await ah(i,e,t);break}case"rejected":await vu(i.localStore,r,!0),rh(i,r,t);break;default:E(64155,n)}}}).bind(null,t),Fo:(async function(e,t,n){let i=hh(e);if(i.gu){for(let r of t)if(i.Iu.has(r)&&i.sharedClientState.isActiveQueryTarget(r))p(zl,"Adding an already active target "+r);else{let e=await _u(i.localStore,r),t=await yu(i.localStore,e);await Hl(i,lh(e),t.targetId,!1,t.resumeToken),ol(i.remoteStore,t)}for(let r of n)i.Iu.has(r)&&await vu(i.localStore,r,!1).then(()=>{ul(i.remoteStore,r),rh(i,r)}).catch(ht)}}).bind(null,t),Ts:(function(e){return e.localStore.persistence.Ts()}).bind(null,t),Do:(async function(e,t){let r=e;return bu(r.localStore,t).then(e=>ah(r,e))}).bind(null,t)},await this.sharedClientState.start()),await this.persistence.Ji(async e=>{{var t=this.xu.syncEngine,s=e;let i=t;if(hh(i),ch(i),!0===s&&!0!==i.gu){let e=i.sharedClientState.getAllActiveQueryTargets(),t=await uh(i,e.toArray());i.gu=!0,await bl(i.remoteStore,!0);for(let e of t)ol(i.remoteStore,e)}else if(!1===s&&!1!==i.gu){let r=[],n=Promise.resolve();i.Iu.forEach((e,t)=>{i.sharedClientState.isLocalQueryTarget(t)?r.push(t):n=n.then(()=>(rh(i,t),vu(i.localStore,t,!0))),ul(i.remoteStore,t)}),await n,await uh(i,r);{s=i;let r=s;r.Au.forEach((e,t)=>{ul(r.remoteStore,t)}),r.Ru.Jr(),r.Au=new Map,r.du=new A(x.comparator)}i.gu=!1,await bl(i.remoteStore,!1)}}await 0,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){var t,r=$u();if(Lu.v(r))return t=iu(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),new Lu(r,e.asyncQueue,t,e.clientId,e.initialUser);throw new I(b.UNIMPLEMENTED,"IndexedDB persistence is only available on platforms that support LocalStorage.")}}class yh{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=>Jl(this.syncEngine,e,1),this.remoteStore.remoteSyncer.handleCredentialChange=(async function(e,t){var r,n,i=e;if(!i.currentUser.isEqual(t)){p(zl,"User change. New user:",t.toKey());let e=await du(i.localStore,t);i.currentUser=t,n="'waitForPendingWrites' promise is rejected due to a user change.",(r=i).mu.forEach(e=>{e.forEach(e=>{e.reject(new I(b.CANCELLED,n))})}),r.mu.clear(),i.sharedClientState.handleUserChange(t,e.removedBatchIds,e.addedBatchIds),await ah(i,e.Ls)}}).bind(null,this.syncEngine),await bl(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return new Nl}createDatastore(e){var t,r,n,i=Wu(e.databaseInfo.databaseId),s=(t=e.databaseInfo,new Qu(t));return t=e.authCredentials,e=e.appCheckCredentials,r=s,n=i,new tl(t,e,r,n)}createRemoteStore(e){return t=this.localStore,r=this.datastore,e=e.asyncQueue,n=e=>Jl(this.syncEngine,e,0),i=new(Uu.v()?Uu:Vu),new il(t,r,e,n,i);var t,r,n,i}createSyncEngine(e,t){return r=this.localStore,n=this.remoteStore,i=this.eventManager,s=this.sharedClientState,a=e.initialUser,e=e.maxConcurrentLimboResolutions,t=t,o=new Ql(r,n,i,s,a,e),t&&(o.gu=!0),o;var r,n,i,s,a,o}async terminate(){var e,t;e=this.remoteStore,t=e,p(nl,"RemoteStore shutting down."),t.Ea.add(5),await al(t),t.Aa.shutdown(),await!t.Ra.set("Unknown"),this.datastore?.terminate(),this.eventManager?.terminate()}}function vh(t,r=10240){let n=0;return{async read(){var e;return n<t.byteLength?(e={value:t.slice(n,n+r),done:!1},n+=r,e):{done:!0}},async cancel(){},releaseLock(){},closed:Promise.resolve()}}yh.provider={build:()=>new yh};class wh{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):d("Uncaught Error in snapshot listener:",e.toString()))}Nu(){this.muted=!0}Ou(e,t){setTimeout(()=>{this.muted||e(t)},0)}}class _h{constructor(e,t){this.Bu=e,this.serializer=t,this.metadata=new f,this.buffer=new Uint8Array,this.Lu=new TextDecoder("utf-8"),this.ku().then(e=>{e&&e.$a()?this.metadata.resolve(e.Qa.metadata):this.metadata.reject(new 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 bu(){return await this.getMetadata(),this.ku()}async ku(){var e,t,r=await this.qu();return null===r?null:(t=this.Lu.decode(r),e=Number(t),isNaN(e)&&this.Qu(`length string (${t}) is not valid number`),t=await this.$u(e),new Pl(JSON.parse(t),r.length+e))}Uu(){return this.buffer.findIndex(e=>e==="{".charCodeAt(0))}async qu(){for(;this.Uu()<0&&!await this.Ku(););var e,t;return 0===this.buffer.length?null:((e=this.Uu())<0&&this.Qu("Reached the end of bundle when a length string is expected."),t=this.buffer.slice(0,e),this.buffer=this.buffer.slice(e),t)}async $u(e){for(;this.buffer.length<e;)await this.Ku()&&this.Qu("Reached the end of bundle when more is expected.");var t=this.Lu.decode(this.buffer.slice(0,e));return this.buffer=this.buffer.slice(e),t}Qu(e){throw this.Bu.cancel(),new Error("Invalid bundle format: "+e)}async Ku(){var e,t=await this.Bu.read();return t.done||((e=new Uint8Array(this.buffer.length+t.value.length)).set(this.buffer),e.set(t.value,this.buffer.length),this.buffer=e),t.done}}class bh{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(),0<this.mutations.length)throw this.lastTransactionError=new I(b.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;var t=await(async(e,t)=>{let u=e,r={documents:t.map(e=>Ks(u.serializer,e))},n=await u.Ho("BatchGetDocuments",u.serializer.databaseId,T.emptyPath(),r,t.length),l=new Map,i=(n.forEach(e=>{t=u.serializer;var t,r,n,i,s,a,o="found"in(e=e)?(r=t,y(!!(n=e).found,43571),n.found.name,n.found.updateTime,i=Qs(r,n.found.name),s=V(n.found.updateTime),o=n.found.createTime?V(n.found.createTime):w.min(),a=new zn({mapValue:{fields:n.found.fields}}),R.newFoundDocument(i,s,o,a)):"missing"in e?(r=t,y(!!(n=e).missing,3894),y(!!n.readTime,22933),i=Qs(r,n.missing),s=V(n.readTime),R.newNoDocument(i,s)):E(7234,{result:e});l.set(o.key.toString(),o)}),[]);return t.forEach(e=>{var t=l.get(e.toString());y(!!t,55234,{key:e}),i.push(t)}),i})(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 ds(e,this.precondition(e))),this.writtenDocs.add(e.toString())}async commit(){if(this.ensureCommitNotCalled(),this.lastTransactionError)throw this.lastTransactionError;let t=this.readVersions;this.mutations.forEach(e=>{t.delete(e.key.toString())}),t.forEach((e,t)=>{var r=x.fromPath(t);this.mutations.push(new fs(r,this.precondition(r)))});{var r=this.datastore,n=this.mutations;let t=r,e={writes:n.map(e=>Zs(t.serializer,e))};await t.Go("Commit",t.serializer.databaseId,T.emptyPath(),e)}await 0,this.committed=!0}recordVersion(e){let t;if(e.isFoundDocument())t=e.version;else{if(!e.isNoDocument())throw E(50498,{Gu:e.constructor.name});t=w.min()}var r=this.readVersions.get(e.key.toString());if(r){if(!t.isEqual(r))throw new I(b.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),t)}precondition(e){var t=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&t?t.isEqual(w.min())?P.exists(!1):P.updateTime(t):P.none()}preconditionForUpdate(e){var t=this.readVersions.get(e.toString());if(this.writtenDocs.has(e.toString())||!t)return P.exists(!0);if(t.isEqual(w.min()))throw new I(b.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return P.updateTime(t)}write(e){this.ensureCommitNotCalled(),this.mutations.push(e)}ensureCommitNotCalled(){}}class Ih{constructor(e,t,r,n,i){this.asyncQueue=e,this.datastore=t,this.options=r,this.updateFunction=n,this.deferred=i,this.zu=r.maxAttempts,this.M_=new Yu(this.asyncQueue,"transaction_retry")}ju(){--this.zu,this.Ju()}Ju(){this.M_.p_(async()=>{let t=new bh(this.datastore),e=this.Hu(t);e&&e.then(e=>{this.asyncQueue.enqueueAndForget(()=>t.commit().then(()=>{this.deferred.resolve(e)}).catch(e=>{this.Yu(e)}))}).catch(e=>{this.Yu(e)})})}Hu(e){try{var t=this.updateFunction(e);return!Ct(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}}Yu(e){0<this.zu&&this.Zu(e)?(--this.zu,this.asyncQueue.enqueueAndForget(()=>(this.Ju(),Promise.resolve()))):this.deferred.reject(e)}Zu(e){var t;return"FirebaseError"===e?.name&&("aborted"===(t=e.code)||"failed-precondition"===t||"already-exists"===t||!vs(t))}}let Th="FirestoreClient";class Eh{constructor(e,t,r,n,i){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this.databaseInfo=n,this.user=l.UNAUTHENTICATED,this.clientId=Me.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=i,this.authCredentials.start(r,async e=>{p(Th,"Received user=",e.uid),await this.authCredentialListener(e),this.user=e}),this.appCheckCredentials.start(r,e=>(p(Th,"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 r=new f;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),r.resolve()}catch(e){var t=Sl(e,"Failed to shutdown persistence");r.reject(t)}}),r.promise}}async function Sh(e,t){e.asyncQueue.verifyOperationInProgress(),p(Th,"Initializing OfflineComponentProvider");var r=e.configuration;await t.initialize(r);let n=r.initialUser;e.setCredentialChangeListener(async e=>{n.isEqual(e)||(await du(t.localStore,e),n=e)}),t.persistence.setDatabaseDeletedListener(()=>e.terminate()),e._offlineComponents=t}async function xh(e,r){e.asyncQueue.verifyOperationInProgress();var t=await Ch(e);p(Th,"Initializing OnlineComponentProvider"),await r.initialize(t,e.configuration),e.setCredentialChangeListener(e=>_l(r.remoteStore,e)),e.setAppCheckTokenChangeListener((e,t)=>_l(r.remoteStore,t)),e._onlineComponents=r}async function Ch(t){if(!t._offlineComponents)if(t._uninitializedComponentsProvider){p(Th,"Using user provided OfflineComponentProvider");try{await Sh(t,t._uninitializedComponentsProvider._offline)}catch(e){var r=e;if(!("FirebaseError"===(n=r).name?n.code===b.FAILED_PRECONDITION||n.code===b.UNIMPLEMENTED:!("undefined"!=typeof DOMException&&n instanceof DOMException)||22===n.code||20===n.code||11===n.code))throw r;Ie("Error using user provided cache. Falling back to memory cache: "+r),await Sh(t,new fh)}}else p(Th,"Using default OfflineComponentProvider"),await Sh(t,new gh(void 0));var n;return t._offlineComponents}async function Ah(e){return e._onlineComponents||(e._uninitializedComponentsProvider?(p(Th,"Using user provided OnlineComponentProvider"),await xh(e,e._uninitializedComponentsProvider._online)):(p(Th,"Using default OnlineComponentProvider"),await xh(e,new yh))),e._onlineComponents}function Dh(e){return Ch(e).then(e=>e.persistence)}function Nh(e){return Ch(e).then(e=>e.localStore)}function kh(e){return Ah(e).then(e=>e.remoteStore)}function Rh(e){return Ah(e).then(e=>e.syncEngine)}async function Mh(e){var t=await Ah(e),r=t.eventManager;return r.onListen=(async function(e,t,r=!0){var n=hh(e);let i;var s=n.Tu.get(t);return i=s?(n.sharedClientState.addLocalQueryTarget(s.targetId),s.view.lu()):await $l(n,t,r,!0)}).bind(null,t.syncEngine),r.onUnlisten=(async function(e,t,r){let n=e,i=n.Tu.get(t),s=n.Iu.get(i.targetId);1<s.length?(n.Iu.set(i.targetId,s.filter(e=>!xi(e,t))),n.Tu.delete(t)):n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(i.targetId),n.sharedClientState.isActiveQueryTarget(i.targetId)||await vu(n.localStore,i.targetId,!1).then(()=>{n.sharedClientState.clearQueryState(i.targetId),r&&ul(n.remoteStore,i.targetId),rh(n,i.targetId)}).catch(ht)):(rh(n,i.targetId),await vu(n.localStore,i.targetId,!0))}).bind(null,t.syncEngine),r.onFirstRemoteStoreListen=(async function(e,t){await $l(hh(e),t,!0,!1)}).bind(null,t.syncEngine),r.onLastRemoteStoreUnlisten=(async function(e,t){var r=e,n=r.Tu.get(t),i=r.Iu.get(n.targetId);r.isPrimaryClient&&1===i.length&&(r.sharedClientState.removeLocalQueryTarget(n.targetId),ul(r.remoteStore,n.targetId))}).bind(null,t.syncEngine),r}function Oh(r){return r.asyncQueue.enqueue(async()=>{var e=await Dh(r),t=await kh(r);return e.setNetworkEnabled(!1),(async e=>{var t=e;t.Ea.add(0),await al(t),t.Ra.set("Offline")})(t)})}function Lh(e,t){let r=new f;return e.asyncQueue.enqueueAndForget(async()=>(async(e,t,r)=>{try{var n=await((e,t)=>{let r=e;return r.persistence.runTransaction("read document","readonly",e=>r.localDocuments.getDocument(e,t))})(e,t);n.isFoundDocument()?r.resolve(n):n.isNoDocument()?r.resolve(null):r.reject(new I(b.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(e){n=Sl(e,`Failed to get document '${t} from cache`);r.reject(n)}})(await Nh(e),t,r)),r.promise}function Ph(e,t,l={}){let h=new f;return e.asyncQueue.enqueueAndForget(async()=>{{var i=await Mh(e),s=e.asyncQueue,a=t,o=l,u=h;let r=new wh({next:e=>{r.Nu(),s.enqueueAndForget(()=>Ml(i,n));var t=e.docs.has(a);!t&&e.fromCache?u.reject(new I(b.UNAVAILABLE,"Failed to get document because the client is offline.")):t&&e.fromCache&&o&&"server"===o.source?u.reject(new I(b.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.)')):u.resolve(e)},error:e=>u.reject(e)}),n=new Ll(wi(a.path),r,{includeMetadataChanges:!0,qa:!0});return Rl(i,n)}}),h.promise}function Vh(e,t){let r=new f;return e.asyncQueue.enqueueAndForget(async()=>(async(e,t,r)=>{try{var n=await wu(e,t,!0),i=new jl(t,n.Qs),s=i.ru(n.documents),a=i.applyChanges(s,!1);r.resolve(a.snapshot)}catch(e){n=Sl(e,`Failed to execute query '${t} against cache`);r.reject(n)}})(await Nh(e),t,r)),r.promise}function Fh(o,u,l={}){let h=new f;return o.asyncQueue.enqueueAndForget(async()=>{{var n=await Mh(o),i=o.asyncQueue,e=u,s=l,a=h;let t=new wh({next:e=>{t.Nu(),i.enqueueAndForget(()=>Ml(n,r)),e.fromCache&&"server"===s.source?a.reject(new I(b.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.)')):a.resolve(e)},error:e=>a.reject(e)}),r=new Ll(e,t,{includeMetadataChanges:!0,qa:!0});return Rl(n,r)}}),h.promise}function Uh(r,e){let n=new wh(e);return r.asyncQueue.enqueueAndForget(async()=>{return e=await Mh(r),t=n,e.Ca.add(t),void t.next();var e,t}),()=>{n.Nu(),r.asyncQueue.enqueueAndForget(async()=>{var e,t;e=await Mh(r),t=n,e.Ca.delete(t)})}}function Bh(e,t,r,n){r=r,t=Wu(t),s="string"==typeof r?_s().encode(r):r,r=((e,t)=>{if(e instanceof Uint8Array)return vh(e,t);if(e instanceof ArrayBuffer)return vh(new Uint8Array(e),t);if(e instanceof ReadableStream)return e.getReader();throw new Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream")})(s),t=t;let i=new _h(r,t);var s;e.asyncQueue.enqueueAndForget(async()=>{dh(await Rh(e),i,n)})}function qh(n,i){return n.asyncQueue.enqueue(async()=>{{var e=await Nh(n),r=i;let t=e;return t.persistence.runTransaction("Get named query","readonly",e=>t.Ii.getNamedQuery(e,r))}})}function jh(e){var t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}let zh=new Map,Gh="firestore.googleapis.com";class Kh{constructor(e){if(void 0===e.host){if(void 0!==e.ssl)throw new I(b.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=Gh,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=41943040;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new I(b.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}Ge("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=jh(e.experimentalLongPollingOptions??{});var t=this.experimentalLongPollingOptions;if(void 0!==t.timeoutSeconds){if(isNaN(t.timeoutSeconds))throw new I(b.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (must not be NaN)`);if(t.timeoutSeconds<5)throw new I(b.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (minimum allowed value is 5)`);if(30<t.timeoutSeconds)throw new I(b.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (maximum allowed value is 30)`)}this.useFetchStreams=!!e.useFetchStreams}isEqual(e){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,r=e.experimentalLongPollingOptions,t.timeoutSeconds===r.timeoutSeconds)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams;var t,r}}class Qh{constructor(e,t,r,n){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=n,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new Kh({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(this._app)return this._app;throw new I(b.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available")}get _initialized(){return this._settingsFrozen}get _terminated(){return"notTerminated"!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new I(b.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 Kh(e),this._emulatorOptions=e.emulatorOptions||{},void 0!==e.credentials&&(this._authCredentials=(e=>{if(!e)return new xe;switch(e.type){case"firstParty":return new Ne(e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new I(b.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid 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(){return e=this,(t=zh.get(e))&&(p("ComponentProvider","Removing Datastore"),zh.delete(e),t.terminate()),Promise.resolve();var e,t}}function $h(n,e,t,i={}){n=g(n,Qh);let r=Y(e),s=n._getSettings(),a={...s,emulatorOptions:n._getEmulatorOptions()},o=e+":"+t;r&&((async e=>(await fetch(e,{credentials:"include"})).ok)("https://"+o),Z("Firestore",!0)),s.host!==Gh&&s.host!==o&&Ie("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.");var u={...s,host:o,ssl:r,emulatorOptions:i};if(!oe(u,a)&&(n._setSettings(u),i.mockUserToken)){let t,r;if("string"==typeof i.mockUserToken)t=i.mockUserToken,r=l.MOCK_USER;else{t=((e,t)=>{if(e.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');var r=t||"demo-project",n=e.iat||0,i=e.sub||e.user_id;if(i)return r={iss:"https://securetoken.google.com/"+r,aud:r,iat:n,exp:n+3600,auth_time:n,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}},...e},[z(JSON.stringify({alg:"none",type:"JWT"})),z(JSON.stringify(r)),""].join(".");throw new Error("mockUserToken must contain 'sub' or 'user_id' field!")})(i.mockUserToken,n._app?.options.projectId);let e=i.mockUserToken.sub||i.mockUserToken.user_id;if(!e)throw new I(b.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");r=new l(e)}n._authCredentials=new Ce(new Se(t,r))}}class Hh{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new Hh(this.firestore,e,this._query)}}class F{constructor(e,t,r){this.converter=t,this._key=r,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 Wh(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new F(this.firestore,e,this._key)}toJSON(){return{type:F._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(e,t,r){if(Ye(t,F._jsonSchema))return new F(e,r||null,new x(T.fromString(t.referencePath)))}}F._jsonSchemaVersion="firestore/documentReference/1.0",F._jsonSchema={type:t("string",F._jsonSchemaVersion),referencePath:t("string")};class Wh extends Hh{constructor(e,t,r){super(e,t,wi(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){var e=this._path.popLast();return e.isEmpty()?null:new F(this.firestore,null,new x(e))}withConverter(e){return new Wh(this.firestore,e,this._path)}}function Yh(e,t,...r){var n;if(e=_(e),ze("collection","path",t),e instanceof Qh)return Qe(n=T.fromString(t,...r)),new Wh(e,null,n);if(e instanceof F||e instanceof Wh)return Qe(n=e._path.child(T.fromString(t,...r))),new Wh(e.firestore,null,n);throw new I(b.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function Jh(e,t,...r){var n;if(e=_(e),ze("doc","path",t=1===arguments.length?Me.newId():t),e instanceof Qh)return Ke(n=T.fromString(t,...r)),new F(e,null,new x(n));if(e instanceof F||e instanceof Wh)return Ke(n=e._path.child(T.fromString(t,...r))),new F(e.firestore,e instanceof Wh?e.converter:null,new x(n));throw new I(b.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function Xh(e,t){return e=_(e),t=_(t),(e instanceof F||e instanceof Wh)&&(t instanceof F||t instanceof Wh)&&e.firestore===t.firestore&&e.path===t.path&&e.converter===t.converter}function Zh(e,t){return e=_(e),t=_(t),e instanceof Hh&&t instanceof Hh&&e.firestore===t.firestore&&xi(e._query,t._query)&&e.converter===t.converter}let ec="AsyncQueue";class tc{constructor(e=Promise.resolve()){this.Xu=[],this.ec=!1,this.tc=[],this.nc=null,this.rc=!1,this.sc=!1,this.oc=[],this.M_=new Yu(this,"async_queue_retry"),this._c=()=>{var e=Hu();e&&p(ec,"Visibility state changed to "+e.visibilityState),this.M_.w_()},this.ac=e;var t=Hu();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){var t;this.ec||(this.ec=!0,this.sc=e||!1,(t=Hu())&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",this._c))}enqueue(e){if(this.uc(),this.ec)return new Promise(()=>{});let t=new f;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.Xu.push(e),this.lc()))}async lc(){if(0!==this.Xu.length){try{await this.Xu[0](),this.Xu.shift(),this.M_.reset()}catch(e){if(!yt(e))throw e;p(ec,"Operation failed with retryable error: "+e)}0<this.Xu.length&&this.M_.p_(()=>this.lc())}}cc(e){var t=this.ac.then(()=>(this.rc=!0,e().catch(e=>{throw this.nc=e,this.rc=!1,d("INTERNAL UNHANDLED ERROR: ",rc(e)),e}).then(e=>(this.rc=!1,e))));return this.ac=t}enqueueAfterDelay(e,t,r){this.uc(),-1<this.oc.indexOf(e)&&(t=0);var n=El.createAndSchedule(this,e,t,r,e=>this.hc(e));return this.tc.push(n),n}uc(){this.nc&&E(47125,{Pc:rc(this.nc)})}verifyOperationInProgress(){}async Tc(){for(var e;await(e=this.ac),e!==this.ac;);}Ic(e){for(var t of this.tc)if(t.timerId===e)return!0;return!1}Ec(t){return this.Tc().then(()=>{this.tc.sort((e,t)=>e.targetTimeMs-t.targetTimeMs);for(var e of this.tc)if(e.skipDelay(),"all"!==t&&e.timerId===t)break;return this.Tc()})}dc(e){this.oc.push(e)}hc(e){var t=this.tc.indexOf(e);this.tc.splice(t,1)}}function rc(e){let t=e.message||"";return t=e.stack?e.stack.includes(e.message)?e.stack:e.message+"\n"+e.stack:t}function nc(t){var r=t,t=["next","error","complete"];if("object"==typeof r&&null!==r){var n=r;for(let e of t)if(e in n&&"function"==typeof n[e])return 1}}class ic{constructor(){this._progressObserver={},this._taskCompletionResolver=new f,this._lastProgress={taskState:"Running",totalBytes:0,totalDocuments:0,bytesLoaded:0,documentsLoaded:0}}onProgress(e,t,r){this._progressObserver={next:e,error:t,complete:r}}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)}}var sc,ac,n,oc;class U extends Qh{constructor(e,t,r,n){super(e,t,r,n),this.type="firestore",this._queue=new tc,this._persistenceKey=n?.name||"[DEFAULT]"}async _terminate(){var e;this._firestoreClient&&(e=this._firestoreClient.terminate(),this._queue=new tc(e),this._firestoreClient=void 0,await e)}}function uc(e){if(e._terminated)throw new I(b.FAILED_PRECONDITION,"The client has already been terminated.");return e._firestoreClient||lc(e),e._firestoreClient}function lc(e){var t,r,n,i,s=e._freezeSettings(),a=(i=e._databaseId,t=e._app?.options.appId||"",r=e._persistenceKey,n=s,new mn(i,t,r,n.host,n.ssl,n.experimentalForceLongPolling,n.experimentalAutoDetectLongPolling,jh(n.experimentalLongPollingOptions),n.useFetchStreams,n.isUsingEmulator));e._componentsProvider||s.localCache?._offlineComponentProvider&&s.localCache?._onlineComponentProvider&&(e._componentsProvider={_offline:s.localCache._offlineComponentProvider,_online:s.localCache._onlineComponentProvider}),e._firestoreClient=new Eh(e._authCredentials,e._appCheckCredentials,e._queue,a,e._componentsProvider&&(i=e._componentsProvider,s=i?._online.build(),{_offline:i?._offline.build(s),_online:s}))}function hc(e,t,r){if((e=g(e,U))._firestoreClient||e._terminated)throw new I(b.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 I(b.FAILED_PRECONDITION,"SDK cache is already specified.");e._componentsProvider={_online:t,_offline:r},lc(e)}function cc(r){if(r._initialized&&!r._terminated)throw new I(b.FAILED_PRECONDITION,"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");let n=new f;return r._queue.enqueueAndForgetEvenWhileRestricted(async()=>{try{e=iu(r._databaseId,r._persistenceKey),await(ft.v()?(t=e+"main",void await ft.delete(t)):Promise.resolve()),n.resolve()}catch(e){n.reject(e)}var e,t}),n.promise}function dc(e){return(r=uc(e=g(e,U))).asyncQueue.enqueue(async()=>{var e=await Dh(r),t=await kh(r);return e.setNetworkEnabled(!0),(e=t).Ea.delete(0),sl(e)});var r}class fc{constructor(e){this._byteString=e}static fromBase64String(e){try{return new fc(N.fromBase64String(e))}catch(e){throw new I(b.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new fc(N.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:fc._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(e){if(Ye(e,fc._jsonSchema))return fc.fromBase64String(e.bytes)}}fc._jsonSchemaVersion="firestore/bytes/1.0",fc._jsonSchema={type:t("string",fc._jsonSchemaVersion),bytes:t("string")};class gc{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new I(b.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new h(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}}class mc{constructor(e){this._methodName=e}}class pc{constructor(e,t){if(!isFinite(e)||e<-90||90<e)throw new I(b.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||180<t)throw new I(b.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 S(this._lat,e._lat)||S(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:pc._jsonSchemaVersion}}static fromJSON(e){if(Ye(e,pc._jsonSchema))return new pc(e.latitude,e.longitude)}}pc._jsonSchemaVersion="firestore/geoPoint/1.0",pc._jsonSchema={type:t("string",pc._jsonSchemaVersion),latitude:t("number"),longitude:t("number")};class yc{constructor(e){this._values=(e||[]).map(e=>e)}toArray(){return this._values.map(e=>e)}isEqual(e){var t=this._values,r=e._values;if(t.length!==r.length)return!1;for(let n=0;n<t.length;++n)if(t[n]!==r[n])return!1;return!0}toJSON(){return{type:yc._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(e){if(Ye(e,yc._jsonSchema)){if(Array.isArray(e.vectorValues)&&e.vectorValues.every(e=>"number"==typeof e))return new yc(e.vectorValues);throw new I(b.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}}yc._jsonSchemaVersion="firestore/vectorValue/1.0",yc._jsonSchema={type:t("string",yc._jsonSchemaVersion),vectorValues:t("object")};let vc=/^__.*__$/;class wc{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return null!==this.fieldMask?new us(e,this.data,this.fieldMask,t,this.fieldTransforms):new os(e,this.data,t,this.fieldTransforms)}}class _c{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new us(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function bc(e){switch(e){case 0:case 2:case 1:return 1;case 3:case 4:return;default:throw E(40011,{Ac:e})}}class Ic{constructor(e,t,r,n,i,s){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=n,void 0===i&&this.Rc(),this.fieldTransforms=i||[],this.fieldMask=s||[]}get path(){return this.settings.path}get Ac(){return this.settings.Ac}Vc(e){return new Ic({...this.settings,...e},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}mc(e){var t=this.path?.child(e),t=this.Vc({path:t,fc:!1});return t.gc(e),t}yc(e){var t=this.path?.child(e),t=this.Vc({path:t,fc:!1});return t.Rc(),t}wc(e){return this.Vc({path:void 0,fc:!0})}Sc(e){return jc(e,this.settings.methodName,this.settings.bc||!1,this.path,this.settings.Dc)}contains(t){return void 0!==this.fieldMask.find(e=>t.isPrefixOf(e))||void 0!==this.fieldTransforms.find(e=>t.isPrefixOf(e.field))}Rc(){if(this.path)for(let e=0;e<this.path.length;e++)this.gc(this.path.get(e))}gc(e){if(0===e.length)throw this.Sc("Document fields must not be empty");if(bc(this.Ac)&&vc.test(e))throw this.Sc('Document fields cannot begin and end with "__"')}}class Tc{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||Wu(e)}Cc(e,t,r,n=!1){return new Ic({Ac:e,methodName:t,Dc:r,path:h.emptyPath(),fc:!1,bc:n},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function Ec(e){var t=e._freezeSettings(),r=Wu(e._databaseId);return new Tc(e._databaseId,!!t.ignoreUndefinedProperties,r)}function Sc(e,n,i,t,r,s={}){var a=e.Cc(s.merge||s.mergeFields?2:0,n,i,r),o=(Fc("Data must be an object, but it was:",a,t),Pc(t,a));let u,l;if(s.merge)u=new rn(a.fieldMask),l=a.fieldTransforms;else if(s.mergeFields){let t=[];for(let r of s.mergeFields){let e=Uc(n,r,i);if(!a.contains(e))throw new I(b.INVALID_ARGUMENT,`Field '${e}' is specified in your field mask but missing from your input data.`);zc(t,e)||t.push(e)}u=new rn(t),l=a.fieldTransforms.filter(e=>u.covers(e.field))}else u=null,l=a.fieldTransforms;return new wc(new zn(o),u,l)}class xc extends mc{_toFieldTransform(e){if(2!==e.Ac)throw 1===e.Ac?e.Sc(this._methodName+"() can only appear at the top level of your update data"):e.Sc(this._methodName+"() cannot be used with set() unless you pass {merge:true}");return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof xc}}function Cc(e,t,r){return new Ic({Ac:3,Dc:t.settings.Dc,methodName:e._methodName,fc:r},t.databaseId,t.serializer,t.ignoreUndefinedProperties)}class Ac extends mc{_toFieldTransform(e){return new es(e.path,new Qi)}isEqual(e){return e instanceof Ac}}class Dc extends mc{constructor(e,t){super(e),this.vc=t}_toFieldTransform(e){let t=Cc(this,e,!0),r=this.vc.map(e=>Lc(e,t)),n=new $i(r);return new es(e.path,n)}isEqual(e){return e instanceof Dc&&oe(this.vc,e.vc)}}class Nc extends mc{constructor(e,t){super(e),this.vc=t}_toFieldTransform(e){let t=Cc(this,e,!0),r=this.vc.map(e=>Lc(e,t)),n=new Wi(r);return new es(e.path,n)}isEqual(e){return e instanceof Nc&&oe(this.vc,e.vc)}}class kc extends mc{constructor(e,t){super(e),this.Fc=t}_toFieldTransform(e){var t=new Ji(e.serializer,zi(e.serializer,this.Fc));return new es(e.path,t)}isEqual(e){return e instanceof kc&&this.Fc===e.Fc}}function Rc(e,i,s,t){let a=e.Cc(1,i,s),o=(Fc("Data must be an object, but it was:",a,t),[]),u=zn.empty();Yr(t,(e,t)=>{var r=qc(i,e,s),n=(t=_(t),a.yc(r));if(t instanceof xc)o.push(r);else{let e=Lc(t,n);null!=e&&(o.push(r),u.set(r,e))}});var r=new rn(o);return new _c(u,r,a.fieldTransforms)}function Mc(e,t,r,n,i,s){var a=e.Cc(1,t,r),o=[Uc(t,n,r)],u=[i];if(s.length%2!=0)throw new I(b.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let f=0;f<s.length;f+=2)o.push(Uc(t,s[f])),u.push(s[f+1]);var l=[],h=zn.empty();for(let g=o.length-1;0<=g;--g)if(!zc(l,o[g])){let t=o[g];var c=_(u[g]);let r=a.yc(t);if(c instanceof xc)l.push(t);else{let e=Lc(c,r);null!=e&&(l.push(t),h.set(t,e))}}var d=new rn(l);return new _c(h,d,a.fieldTransforms)}function Oc(e,t,r,n=!1){return Lc(r,e.Cc(n?4:3,t))}function Lc(e,r){if(Vc(e=_(e)))return Fc("Unsupported field value:",r,e),Pc(e,r);if(e instanceof mc){{var t=e;var n=r;if(!bc(n.Ac))throw n.Sc(t._methodName+"() can only be used with update() and set()");if(!n.path)throw n.Sc(t._methodName+"() is not currently supported inside arrays");var i=t._toFieldTransform(n);i&&n.fieldTransforms.push(i)}return null}if(void 0===e&&r.ignoreUndefinedProperties)return null;if(r.path&&r.fieldMask.push(r.path),e instanceof Array){if(r.settings.fc&&4!==r.Ac)throw r.Sc("Nested arrays are not supported");{var s,a=r,o=[];let t=0;for(s of e){let e=Lc(s,a.wc(t));null==e&&(e={nullValue:"NULL_VALUE"}),o.push(e),t++}return{arrayValue:{values:o}}}}var u,t=e,n=r;if(null===(t=_(t)))return{nullValue:"NULL_VALUE"};if("number"==typeof t)return zi(n.serializer,t);if("boolean"==typeof t)return{booleanValue:t};if("string"==typeof t)return{stringValue:t};if(t instanceof Date)return l=v.fromDate(t),{timestampValue:Bs(n.serializer,l)};if(t instanceof v)return l=new v(t.seconds,1e3*Math.floor(t.nanoseconds/1e3)),{timestampValue:Bs(n.serializer,l)};if(t instanceof pc)return{geoPointValue:{latitude:t.latitude,longitude:t.longitude}};if(t instanceof fc)return{bytesValue:qs(n.serializer,t._byteString)};if(t instanceof F){var l=n.databaseId,i=t.firestore._databaseId;if(i.isEqual(l))return{referenceValue:js(t.firestore._databaseId||n.databaseId,t._key.path)};throw n.Sc(`Document reference is for database ${i.projectId}/${i.database} but should be for database ${l.projectId}/`+l.database)}if(t instanceof yc)return e=t,u=n,{mapValue:{fields:{[vn]:{stringValue:bn},[In]:{arrayValue:{values:e.toArray().map(e=>{if("number"!=typeof e)throw u.Sc("VectorValues must only contain numeric values.");return qi(u.serializer,e)})}}}}};throw n.Sc("Unsupported field value: "+He(t))}function Pc(e,n){let i={};return Jr(e)?n.path&&0<n.path.length&&n.fieldMask.push(n.path):Yr(e,(e,t)=>{var r=Lc(t,n.mc(e));null!=r&&(i[e]=r)}),{mapValue:{fields:i}}}function Vc(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof v||e instanceof pc||e instanceof fc||e instanceof F||e instanceof mc||e instanceof yc)}function Fc(e,t,r){var n;if(!Vc(r)||!$e(r))throw"an object"===(n=He(r))?t.Sc(e+" a custom object"):t.Sc(e+" "+n)}function Uc(e,t,r){if((t=_(t))instanceof gc)return t._internalPath;if("string"==typeof t)return qc(e,t);throw jc("Field path arguments must be of type string or ",e,!1,void 0,r)}let Bc=new RegExp("[~\\*/\\[\\]]");function qc(t,r,n){if(0<=r.search(Bc))throw jc(`Invalid field path (${r}). Paths must not contain '~', '*', '/', '[', or ']'`,t,!1,void 0,n);try{return new gc(...r.split("."))._internalPath}catch(e){throw jc(`Invalid field path (${r}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,t,!1,void 0,n)}}function jc(e,t,r,n,i){var s=n&&!n.isEmpty(),a=void 0!==i;let o=`Function ${t}() called with invalid data`,u=(r&&(o+=" (via `toFirestore()`)"),o+=". ","");return(s||a)&&(u+=" (found",s&&(u+=" in field "+n),a&&(u+=" in document "+i),u+=")"),new I(b.INVALID_ARGUMENT,o+e+u)}function zc(e,t){return e.some(e=>e.isEqual(t))}class Gc{constructor(e,t,r,n,i){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=n,this._converter=i}get id(){return this._key.path.lastSegment()}get ref(){return new F(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){var e;if(this._document)return this._converter?(e=new Kc(this._firestore,this._userDataWriter,this._key,this._document,null),this._converter.fromFirestore(e)):this._userDataWriter.convertValue(this._document.data.value)}get(e){if(this._document){var t=this._document.data.field(Qc("DocumentSnapshot.get",e));if(null!==t)return this._userDataWriter.convertValue(t)}}}class Kc extends Gc{data(){return super.data()}}function Qc(e,t){return"string"==typeof t?qc(e,t):(t instanceof gc?t:t._delegate)._internalPath}function $c(e){if("L"===e.limitType&&0===e.explicitOrderBy.length)throw new I(b.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class Hc{}class Wc extends Hc{}function Yc(e,t,...r){let n=[];t instanceof Hc&&n.push(t);var t=n=n.concat(r),i=t.filter(e=>!1).length,s=t.filter(e=>e instanceof Jc).length;if(1<i||0<i&&0<s)throw new I(b.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(...)))`.");for(let t of n)e=t._apply(e);return e}class Jc extends Wc{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new Jc(e,t,r)}_apply(e){var t=this._parse(e);return sd(e._query,t),new Hh(e.firestore,e.converter,Ei(e._query,t))}_parse(e){var t=Ec(e.firestore);{var n=e._query,i="where",s=t,a=e.firestore._databaseId,o=(e=this._field,this._op),u=this._value;let r;if(e.isKeyField()){if("array-contains"===o||"array-contains-any"===o)throw new I(b.INVALID_ARGUMENT,`Invalid Query. You can't perform '${o}' queries on documentId().`);if("in"===o||"not-in"===o){id(u,o);let e=[];for(let t of u)e.push(nd(a,n,t));r={arrayValue:{values:e}}}else r=nd(a,n,u)}else"in"!==o&&"not-in"!==o&&"array-contains-any"!==o||id(u,o),r=Oc(s,i,u,"in"===o||"not-in"===o);return M.create(e,o,r)}}}(class extends Hc{});class Xc extends Wc{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new Xc(e,t)}_apply(e){var t=((e,t,r)=>{if(null!==e.startAt)throw new I(b.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(null!==e.endAt)throw new I(b.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new $n(t,r)})(e._query,this._field,this._direction);return new Hh(e.firestore,e.converter,(t=(e=e._query).explicitOrderBy.concat([t]),new yi(e.path,e.collectionGroup,t,e.filters.slice(),e.limit,e.limitType,e.startAt,e.endAt)))}}class Zc extends Wc{constructor(e,t,r){super(),this.type=e,this._limit=t,this._limitType=r}static _create(e,t,r){return new Zc(e,t,r)}_apply(e){return new Hh(e.firestore,e.converter,Si(e._query,this._limit,this._limitType))}}class ed extends Wc{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new ed(e,t,r)}_apply(e){var t,r=rd(e,this.type,this._docOrFields,this._inclusive);return new Hh(e.firestore,e.converter,(e=e._query,t=r,new yi(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,t,e.endAt)))}}class td extends Wc{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new td(e,t,r)}_apply(e){var t,r=rd(e,this.type,this._docOrFields,this._inclusive);return new Hh(e.firestore,e.converter,(e=e._query,t=r,new yi(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,e.startAt,t)))}}function rd(e,r,n,i){if(n[0]=_(n[0]),n[0]instanceof Gc){var s=e._query,a=e.firestore._databaseId,o=r,u=n[0]._document,l=i;if(!u)throw new I(b.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${o}().`);var h=[];for(let t of Ii(s))if(t.field.isKeyField())h.push(kn(a,u.key));else{let e=u.data.field(t.field);if(dn(e))throw new I(b.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field "'+t.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=t.field.canonicalString();throw new I(b.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.`)}h.push(e)}return new Gn(h,l)}var t=Ec(e.firestore),c=e._query,d=e.firestore._databaseId,f=t,g=r,m=n,o=i,p=c.explicitOrderBy;if(m.length>p.length)throw new I(b.INVALID_ARGUMENT,`Too many arguments provided to ${g}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);var y=[];for(let w=0;w<m.length;w++){var v=m[w];if(p[w].field.isKeyField()){if("string"!=typeof v)throw new I(b.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${g}(), but got a `+typeof v);if(!bi(c)&&-1!==v.indexOf("/"))throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${g}() must be a plain document ID, but '${v}' contains a slash.`);let e=c.path.child(T.fromString(v));if(!x.isDocumentKey(e))throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${g}() must result in a valid document path, but '${e}' is not because it contains an odd number of segments.`);let t=new x(e);y.push(kn(d,t))}else{let e=Oc(f,g,v);y.push(e)}}return new Gn(y,o)}function nd(e,t,r){if("string"==typeof(r=_(r))){if(""===r)throw new I(b.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!bi(t)&&-1!==r.indexOf("/"))throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${r}' contains a '/' character.`);var n=t.path.child(T.fromString(r));if(x.isDocumentKey(n))return kn(e,new x(n));throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${n}' is not because it has an odd number of segments (${n.length}).`)}if(r instanceof F)return kn(e,r._key);throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${He(r)}.`)}function id(e,t){if(!Array.isArray(e)||0===e.length)throw new I(b.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function sd(e,t){var r=((t,r)=>{for(var n of t)for(let e of n.getFlattenedFilters())if(0<=r.indexOf(e.op))return e.op;return null})(e.filters,(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!==r)throw r===t.op?new I(b.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new I(b.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${r.toString()}' filters.`)}class ad{convertValue(e,t="none"){switch(En(e)){case 0:return null;case 1:return e.booleanValue;case 2:return k(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(on(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 E(62114,{value:e})}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,r="none"){let n={};return Yr(e,(e,t)=>{n[e]=this.convertValue(t,r)}),n}convertVectorValue(e){var t=e.fields?.[In].arrayValue?.values?.map(e=>k(e.doubleValue));return new yc(t)}convertGeoPoint(e){return new pc(k(e.latitude),k(e.longitude))}convertArray(e,t){return(e.values||[]).map(e=>this.convertValue(e,t))}convertServerTimestamp(e,t){switch(t){case"previous":var r=fn(e);return null==r?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(gn(e));default:return null}}convertTimestamp(e){var t=an(e);return new v(t.seconds,t.nanos)}convertDocumentKey(e,t){var r=T.fromString(e),n=(y(ha(r),9688,{name:e}),new yn(r.get(1),r.get(3))),r=new x(r.popFirst(5));return n.isEqual(t)||d(`Document ${r} contains a document reference within a different database (${n.projectId}/${n.database}) which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),r}}function od(e,t,r){return e?r&&(r.merge||r.mergeFields)?e.toFirestore(t,r):e.toFirestore(t):t}class ud extends ad{constructor(e){super(),this.firestore=e}convertBytes(e){return new fc(e)}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return new F(this.firestore,null,t)}}class ld{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class hd extends Gc{constructor(e,t,r,n,i,s){super(e,t,r,n,s),this._firestore=e,this._firestoreImpl=e,this.metadata=i}exists(){return super.exists()}data(e={}){var t;if(this._document)return this._converter?(t=new cd(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null),this._converter.fromFirestore(t,e)):this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}get(e,t={}){if(this._document){var r=this._document.data.field(Qc("DocumentSnapshot.get",e));if(null!==r)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new I(b.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");var e=this._document,t={};return t.type=hd._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"),t.bundle=(this._firestore,this.ref.path,"NOT SUPPORTED")),t}}hd._jsonSchemaVersion="firestore/documentSnapshot/1.0",hd._jsonSchema={type:t("string",hd._jsonSchemaVersion),bundleSource:t("string","DocumentSnapshot"),bundleName:t("string"),bundle:t("string")};class cd extends hd{data(e={}){return super.data(e)}}class dd{constructor(e,t,r,n){this._firestore=e,this._userDataWriter=t,this._snapshot=n,this.metadata=new ld(n.hasPendingWrites,n.fromCache),this.query=r}get docs(){let t=[];return this.forEach(e=>t.push(e)),t}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(t,r){this._snapshot.docs.forEach(e=>{t.call(r,new cd(this._firestore,this._userDataWriter,e.key,e,new ld(this._snapshot.mutatedKeys.has(e.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){var t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new I(b.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=((s,t)=>{if(s._snapshot.oldDocs.isEmpty()){let r=0;return s._snapshot.docChanges.map(e=>{var t=new cd(s._firestore,s._userDataWriter,e.doc.key,e.doc,new ld(s._snapshot.mutatedKeys.has(e.doc.key),s._snapshot.fromCache),s.query.converter);return e.doc,{type:"added",doc:t,oldIndex:-1,newIndex:r++}})}{let i=s._snapshot.oldDocs;return s._snapshot.docChanges.filter(e=>t||3!==e.type).map(e=>{var t=new cd(s._firestore,s._userDataWriter,e.doc.key,e.doc,new ld(s._snapshot.mutatedKeys.has(e.doc.key),s._snapshot.fromCache),s.query.converter);let r=-1,n=-1;return 0!==e.type&&(r=i.indexOf(e.doc.key),i=i.delete(e.doc.key)),1!==e.type&&(i=i.add(e.doc),n=i.indexOf(e.doc.key)),{type:(e=>{switch(e){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return E(61501,{type:e})}})(e.type),doc:t,oldIndex:r,newIndex:n}})}})(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new I(b.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");var e={};e.type=dd._jsonSchemaVersion,e.bundleSource="QuerySnapshot",e.bundleName=Me.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let t=[],r=[],n=[];return this.docs.forEach(e=>{null!==e._document&&(t.push(e._document),r.push(this._userDataWriter.convertObjectMap(e._document.data.value.mapValue.fields,"previous")),n.push(e.ref.path))}),e.bundle=(this._firestore,this.query._query,"NOT SUPPORTED"),e}}function fd(e,t){return e instanceof hd&&t instanceof hd?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 dd&&t instanceof dd&&e._firestore===t._firestore&&Zh(e.query,t.query)&&e.metadata.isEqual(t.metadata)&&e._snapshot.isEqual(t._snapshot)}dd._jsonSchemaVersion="firestore/querySnapshot/1.0",dd._jsonSchema={type:t("string",dd._jsonSchemaVersion),bundleSource:t("string","QuerySnapshot"),bundleName:t("string"),bundle:t("string")};class gd extends ad{constructor(e){super(),this.firestore=e}convertBytes(e){return new fc(e)}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return new F(this.firestore,null,t)}}function md(e,t,r){e=g(e,F);var n=g(e.firestore,U),i=od(e.converter,t,r);return vd(n,[Sc(Ec(n),"setDoc",e._key,i,null!==e.converter,r).toMutation(e._key,P.none())])}function pd(e,t,r,...n){e=g(e,F);var i=g(e.firestore,U),s=Ec(i);return vd(i,[("string"==typeof(t=_(t))||t instanceof gc?Mc(s,"updateDoc",e._key,t,r,n):Rc(s,"updateDoc",e._key,t)).toMutation(e._key,P.exists(!0))])}function yd(n,...i){n=_(n);let e={includeMetadataChanges:!1,source:"default"},s=0,r={includeMetadataChanges:(e="object"!=typeof i[s]||nc(i[s])?e:i[s++]).includeMetadataChanges,source:e.source};if(nc(i[s])){let e=i[s];i[s]=e.next?.bind(e),i[s+1]=e.error?.bind(e),i[s+2]=e.complete?.bind(e)}let a,o,u;if(n instanceof F)o=g(n.firestore,U),u=wi(n._key.path),a={next:e=>{i[s]&&i[s](wd(o,n,e))},error:i[s+1],complete:i[s+2]};else{let t=g(n,Hh),r=(o=g(t.firestore,U),u=t._query,new gd(o));a={next:e=>{i[s]&&i[s](new dd(o,r,t,e))},error:i[s+1],complete:i[s+2]},$c(n._query)}{var l=uc(o),h=u,c=r,d=a;let e=new wh(d),t=new Ll(h,e,c);return l.asyncQueue.enqueueAndForget(async()=>Rl(await Mh(l),t)),()=>{e.Nu(),l.asyncQueue.enqueueAndForget(async()=>Ml(await Mh(l),t))}}}function vd(t,r){{var n=uc(t),i=r;let e=new f;return n.asyncQueue.enqueueAndForget(async()=>Wl(await Rh(n),i,e)),e.promise}}function wd(e,t,r){var n=r.docs.get(t._key),i=new gd(e);return new hd(e,i,t._key,n,new ld(r.hasPendingWrites,r.fromCache),t.converter)}let _d={maxAttempts:5};class bd{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=Ec(e)}set(e,t,r){this._verifyNotCommitted();var n=Id(e,this._firestore),i=od(n.converter,t,r),i=Sc(this._dataReader,"WriteBatch.set",n._key,i,null!==n.converter,r);return this._mutations.push(i.toMutation(n._key,P.none())),this}update(e,t,r,...n){this._verifyNotCommitted();var i=Id(e,this._firestore),s="string"==typeof(t=_(t))||t instanceof gc?Mc(this._dataReader,"WriteBatch.update",i._key,t,r,n):Rc(this._dataReader,"WriteBatch.update",i._key,t);return this._mutations.push(s.toMutation(i._key,P.exists(!0))),this}delete(e){this._verifyNotCommitted();var t=Id(e,this._firestore);return this._mutations=this._mutations.concat(new ds(t._key,P.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,0<this._mutations.length?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new I(b.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}}function Id(e,t){if((e=_(e)).firestore!==t)throw new I(b.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return e}class Td extends class{constructor(e,t){this._firestore=e,this._transaction=t,this._dataReader=Ec(e)}get(e){let r=Id(e,this._firestore),n=new ud(this._firestore);return this._transaction.lookup([r._key]).then(e=>{if(!e||1!==e.length)return E(24041);var t=e[0];if(t.isFoundDocument())return new Gc(this._firestore,n,t.key,t,r.converter);if(t.isNoDocument())return new Gc(this._firestore,n,r._key,null,r.converter);throw E(18433,{doc:t})})}set(e,t,r){var n=Id(e,this._firestore),i=od(n.converter,t,r),i=Sc(this._dataReader,"Transaction.set",n._key,i,null!==n.converter,r);return this._transaction.set(n._key,i),this}update(e,t,r,...n){var i=Id(e,this._firestore),s="string"==typeof(t=_(t))||t instanceof gc?Mc(this._dataReader,"Transaction.update",i._key,t,r,n):Rc(this._dataReader,"Transaction.update",i._key,t);return this._transaction.update(i._key,s),this}delete(e){var t=Id(e,this._firestore);return this._transaction.delete(t._key),this}}{constructor(e,t){super(e,t),this._firestore=e}get(e){let t=Id(e,this._firestore),r=new gd(this._firestore);return super.get(e).then(e=>new hd(this._firestore,r,t._key,e._document,new ld(!1,!1),t.converter))}}function Ed(r,n,e){r=g(r,U);var i={..._d,...e};if(i.maxAttempts<1)throw new I(b.INVALID_ARGUMENT,"Max attempts must be at least 1");{var s=uc(r),a=e=>n(new Td(r,e)),o=i;let t=new f;return s.asyncQueue.enqueueAndForget(async()=>{var e=await Ah(s).then(e=>e.datastore);new Ih(s.asyncQueue,e,o,a,t).ju()}),t.promise}}ac=!0,n=Jd.SDK_VERSION,we=n,Jd._registerComponent(new le("firestore",(e,{instanceIdentifier:t,options:r})=>{var n=e.getProvider("app").getImmediate(),n=new U(new Ae(e.getProvider("auth-internal")),new Re(n,e.getProvider("app-check-internal")),((e,t)=>{if(Object.prototype.hasOwnProperty.apply(e.options,["projectId"]))return new yn(e.options.projectId,t);throw new I(b.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.')})(n,t),n);return r={useFetchStreams:ac,...r},n._setSettings(r),n},"PUBLIC").setMultipleInstances(!0)),Jd.registerVersion(ye,ve,sc),Jd.registerVersion(ye,ve,"esm2020");function Sd(e,t){if(void 0===t)return{merge:!1};if(void 0!==t.mergeFields&&void 0!==t.merge)throw new I("invalid-argument",`Invalid options passed to function ${e}(): You cannot `+'specify both "merge" and "mergeFields".');return t}function xd(){if("undefined"==typeof Uint8Array)throw new I("unimplemented","Uint8Arrays are not available in this environment.")}function Cd(){if("undefined"==typeof atob)throw new I("unimplemented","Blobs are unavailable in Firestore in this environment.")}class Ad{constructor(e){this._delegate=e}static fromBase64String(e){return Cd(),new Ad(fc.fromBase64String(e))}static fromUint8Array(e){return xd(),new Ad(fc.fromUint8Array(e))}toBase64(){return Cd(),this._delegate.toBase64()}toUint8Array(){return xd(),this._delegate.toUint8Array()}isEqual(e){return this._delegate.isEqual(e._delegate)}toString(){return"Blob(base64: "+this.toBase64()+")"}}function Dd(e){var t=["next","error","complete"];if("object"==typeof e&&null!==e){var r,n=e;for(r of t)if(r in n&&"function"==typeof n[r])return 1}}class Nd{enableIndexedDbPersistence(e,r){{e=e._delegate;var n={forceOwnership:r};Ie("enableIndexedDbPersistence() will be deprecated in the future, you can use `FirestoreSettings.cache` instead.");let t=e._freezeSettings();return hc(e,yh.provider,{build:e=>new mh(e,t.cacheSizeBytes,n?.forceOwnership)}),Promise.resolve()}}enableMultiTabIndexedDbPersistence(e){return(async e=>{Ie("enableMultiTabIndexedDbPersistence() will be deprecated in the future, you can use `FirestoreSettings.cache` instead.");let t=e._freezeSettings();hc(e,yh.provider,{build:e=>new ph(e,t.cacheSizeBytes)})})(e._delegate)}clearIndexedDbPersistence(e){return cc(e._delegate)}}class kd{constructor(e,t,r){this._delegate=t,this._persistenceProvider=r,this.INTERNAL={delete:()=>this.terminate()},e instanceof yn||(this._appCompat=e)}get _databaseId(){return this._delegate._databaseId}settings(e){var t=this._delegate._getSettings();e.merge||t.host===e.host||Ie("You are overriding the original host. If you did not intend to override your settings, use {merge: true}."),e.merge&&delete(e={...t,...e}).merge,this._delegate._setSettings(e)}useEmulator(e,t,r={}){$h(this._delegate,e,t,r)}enableNetwork(){return dc(this._delegate)}disableNetwork(){return Oh(uc(g(this._delegate,U)))}enablePersistence(e){let t=!1,r=!1;return e&&(t=!!e.synchronizeTabs,r=!!e.experimentalForceOwningTab,Ge("synchronizeTabs",t,"experimentalForceOwningTab",r)),t?this._persistenceProvider.enableMultiTabIndexedDbPersistence(this):this._persistenceProvider.enableIndexedDbPersistence(this,r)}clearPersistence(){return this._persistenceProvider.clearIndexedDbPersistence(this)}terminate(){return this._appCompat&&(this._appCompat._removeServiceInstance("firestore-compat"),this._appCompat._removeServiceInstance("firestore")),this._delegate._delete()}waitForPendingWrites(){var t=this._delegate;{var r=uc(t=g(t,U));let e=new f;return r.asyncQueue.enqueueAndForget(async()=>Zl(await Rh(r),e)),e.promise}}onSnapshotsInSync(e){return t=this._delegate,e=e,Uh(uc(t=g(t,U)),nc(e)?e:{next:e});var t}get app(){if(this._appCompat)return this._appCompat;throw new I("failed-precondition","Firestore was not initialized using the Firebase SDK. 'app' is not available")}collection(e){try{return new Kd(this,Yh(this._delegate,e))}catch(e){throw Vd(e,"collection()","Firestore.collection()")}}doc(e){try{return new Pd(this,Jh(this._delegate,e))}catch(e){throw Vd(e,"doc()","Firestore.doc()")}}collectionGroup(e){try{return new jd(this,((e,t)=>{if(e=g(e,Qh),ze("collectionGroup","collection id",t),0<=t.indexOf("/"))throw new I(b.INVALID_ARGUMENT,`Invalid collection ID '${t}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);return new Hh(e,null,(e=t,new yi(T.emptyPath(),e)))})(this._delegate,e))}catch(e){throw Vd(e,"collectionGroup()","Firestore.collectionGroup()")}}runTransaction(t){return Ed(this._delegate,e=>t(new Md(this,e)))}batch(){return uc(this._delegate),new Od(new bd(this._delegate,e=>vd(this._delegate,e)))}loadBundle(e){return t=this._delegate,e=e,r=uc(t=g(t,U)),n=new ic,Bh(r,t._databaseId,e,n),n;var t,r,n}namedQuery(e){return t=this._delegate,e=e,qh(uc(t=g(t,U)),e).then(e=>e?new Hh(t,null,e.query):null).then(e=>e?new jd(this,e):null);var t}}class Rd extends ad{constructor(e){super(),this.firestore=e}convertBytes(e){return new Ad(new fc(e))}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return Pd.forKey(t,this.firestore,null)}}class Md{constructor(e,t){this._firestore=e,this._delegate=t,this._userDataWriter=new Rd(e)}get(e){let t=Qd(e);return this._delegate.get(t).then(e=>new Bd(this._firestore,new hd(this._firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,t.converter)))}set(e,t,r){var n=Qd(e);return r?(Sd("Transaction.set",r),this._delegate.set(n,t,r)):this._delegate.set(n,t),this}update(e,t,r,...n){var i=Qd(e);return 2===arguments.length?this._delegate.update(i,t):this._delegate.update(i,t,r,...n),this}delete(e){var t=Qd(e);return this._delegate.delete(t),this}}class Od{constructor(e){this._delegate=e}set(e,t,r){var n=Qd(e);return r?(Sd("WriteBatch.set",r),this._delegate.set(n,t,r)):this._delegate.set(n,t),this}update(e,t,r,...n){var i=Qd(e);return 2===arguments.length?this._delegate.update(i,t):this._delegate.update(i,t,r,...n),this}delete(e){var t=Qd(e);return this._delegate.delete(t),this}commit(){return this._delegate.commit()}}class Ld{constructor(e,t,r){this._firestore=e,this._userDataWriter=t,this._delegate=r}fromFirestore(e,t){var r=new cd(this._firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,null);return this._delegate.fromFirestore(new qd(this._firestore,r),t??{})}toFirestore(e,t){return t?this._delegate.toFirestore(e,t):this._delegate.toFirestore(e)}static getInstance(e,t){var r=Ld.INSTANCES;let n=r.get(e),i=(n||(n=new WeakMap,r.set(e,n)),n.get(t));return i||(i=new Ld(e,new Rd(e),t),n.set(t,i)),i}}Ld.INSTANCES=new WeakMap;class Pd{constructor(e,t){this.firestore=e,this._delegate=t,this._userDataWriter=new Rd(e)}static forPath(e,t,r){if(e.length%2!=0)throw new I("invalid-argument","Invalid document reference. Document references must have an even number of segments, but "+e.canonicalString()+" has "+e.length);return new Pd(t,new F(t._delegate,r,new x(e)))}static forKey(e,t,r){return new Pd(t,new F(t._delegate,r,e))}get id(){return this._delegate.id}get parent(){return new Kd(this.firestore,this._delegate.parent)}get path(){return this._delegate.path}collection(e){try{return new Kd(this.firestore,Yh(this._delegate,e))}catch(e){throw Vd(e,"collection()","DocumentReference.collection()")}}isEqual(e){return(e=_(e))instanceof F&&Xh(this._delegate,e)}set(e,t){t=Sd("DocumentReference.set",t);try{return t?md(this._delegate,e,t):md(this._delegate,e)}catch(e){throw Vd(e,"setDoc()","DocumentReference.set()")}}update(e,t,...r){try{return 1===arguments.length?pd(this._delegate,e):pd(this._delegate,e,t,...r)}catch(e){throw Vd(e,"updateDoc()","DocumentReference.update()")}}delete(){return vd(g((e=this._delegate).firestore,U),[new ds(e._key,P.none())]);var e}onSnapshot(...e){var t=Fd(e),r=Ud(e,e=>new Bd(this.firestore,new hd(this.firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,this._delegate.converter)));return yd(this._delegate,t,r)}get(e){let t;return(t=("cache"===e?.source?t=>{t=g(t,F);let r=g(t.firestore,U),e=uc(r),n=new gd(r);return Lh(e,t._key).then(e=>new hd(r,n,t._key,e,new ld(null!==e&&e.hasLocalMutations,!0),t.converter))}:"server"===e?.source?t=>{t=g(t,F);let r=g(t.firestore,U);return Ph(uc(r),t._key,{source:"server"}).then(e=>wd(r,t,e))}:t=>{t=g(t,F);let r=g(t.firestore,U);return Ph(uc(r),t._key).then(e=>wd(r,t,e))})(this._delegate)).then(e=>new Bd(this.firestore,new hd(this.firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,this._delegate.converter)))}withConverter(e){return new Pd(this.firestore,e?this._delegate.withConverter(Ld.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}function Vd(e,t,r){return e.message=e.message.replace(t,r),e}function Fd(e){for(var t of e)if("object"==typeof t&&!Dd(t))return t;return{}}function Ud(e,t){let r;return{next:e=>{r.next&&r.next(t(e))},error:(r=Dd(e[0])?e[0]:Dd(e[1])?e[1]:"function"==typeof e[0]?{next:e[0],error:e[1],complete:e[2]}:{next:e[1],error:e[2],complete:e[3]}).error?.bind(r),complete:r.complete?.bind(r)}}class Bd{constructor(e,t){this._firestore=e,this._delegate=t}get ref(){return new Pd(this._firestore,this._delegate.ref)}get id(){return this._delegate.id}get metadata(){return this._delegate.metadata}get exists(){return this._delegate.exists()}data(e){return this._delegate.data(e)}get(e,t){return this._delegate.get(e,t)}isEqual(e){return fd(this._delegate,e._delegate)}}class qd extends Bd{data(e){var t=this._delegate.data(e);return this._delegate._converter||(e="Document in a QueryDocumentSnapshot should exist",void 0!==t)||E(57014,e),t}}class jd{constructor(e,t){this.firestore=e,this._delegate=t,this._userDataWriter=new Rd(e)}where(e,t,r){try{return new jd(this.firestore,Yc(this._delegate,(n=r,i=t,s=Qc("where",e),Jc._create(s,i,n))))}catch(e){throw Vd(e,/(orderBy|where)\(\)/,"Query.$1()")}var n,i,s}orderBy(e,t){try{return new jd(this.firestore,Yc(this._delegate,([r,n="asc"]=[e,t],i=n,s=Qc("orderBy",r),Xc._create(s,i))))}catch(e){throw Vd(e,/(orderBy|where)\(\)/,"Query.$1()")}var r,n,i,s}limit(e){try{return new jd(this.firestore,Yc(this._delegate,(We("limit",t=e),Zc._create("limit",t,"F"))))}catch(e){throw Vd(e,"limit()","Query.limit()")}var t}limitToLast(e){try{return new jd(this.firestore,Yc(this._delegate,(We("limitToLast",t=e),Zc._create("limitToLast",t,"L"))))}catch(e){throw Vd(e,"limitToLast()","Query.limitToLast()")}var t}startAt(...e){try{return new jd(this.firestore,Yc(this._delegate,([...t]=[...e],ed._create("startAt",t,!0))))}catch(e){throw Vd(e,"startAt()","Query.startAt()")}var t}startAfter(...e){try{return new jd(this.firestore,Yc(this._delegate,([...t]=[...e],ed._create("startAfter",t,!1))))}catch(e){throw Vd(e,"startAfter()","Query.startAfter()")}var t}endBefore(...e){try{return new jd(this.firestore,Yc(this._delegate,([...t]=[...e],td._create("endBefore",t,!1))))}catch(e){throw Vd(e,"endBefore()","Query.endBefore()")}var t}endAt(...e){try{return new jd(this.firestore,Yc(this._delegate,([...t]=[...e],td._create("endAt",t,!0))))}catch(e){throw Vd(e,"endAt()","Query.endAt()")}var t}isEqual(e){return Zh(this._delegate,e._delegate)}get(e){let t;return(t=("cache"===e?.source?t=>{t=g(t,Hh);let r=g(t.firestore,U),e=uc(r),n=new gd(r);return Vh(e,t._query).then(e=>new dd(r,n,t,e))}:"server"===e?.source?t=>{t=g(t,Hh);let r=g(t.firestore,U),e=uc(r),n=new gd(r);return Fh(e,t._query,{source:"server"}).then(e=>new dd(r,n,t,e))}:t=>{t=g(t,Hh);let r=g(t.firestore,U),e=uc(r),n=new gd(r);return $c(t._query),Fh(e,t._query).then(e=>new dd(r,n,t,e))})(this._delegate)).then(e=>new Gd(this.firestore,new dd(this.firestore._delegate,this._userDataWriter,this._delegate,e._snapshot)))}onSnapshot(...e){var t=Fd(e),r=Ud(e,e=>new Gd(this.firestore,new dd(this.firestore._delegate,this._userDataWriter,this._delegate,e._snapshot)));return yd(this._delegate,t,r)}withConverter(e){return new jd(this.firestore,e?this._delegate.withConverter(Ld.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}class zd{constructor(e,t){this._firestore=e,this._delegate=t}get type(){return this._delegate.type}get doc(){return new qd(this._firestore,this._delegate.doc)}get oldIndex(){return this._delegate.oldIndex}get newIndex(){return this._delegate.newIndex}}class Gd{constructor(e,t){this._firestore=e,this._delegate=t}get query(){return new jd(this._firestore,this._delegate.query)}get metadata(){return this._delegate.metadata}get size(){return this._delegate.size}get empty(){return this._delegate.empty}get docs(){return this._delegate.docs.map(e=>new qd(this._firestore,e))}docChanges(e){return this._delegate.docChanges(e).map(e=>new zd(this._firestore,e))}forEach(t,r){this._delegate.forEach(e=>{t.call(r,new qd(this._firestore,e))})}isEqual(e){return fd(this._delegate,e._delegate)}}class Kd extends jd{constructor(e,t){super(e,t),this.firestore=e,this._delegate=t}get id(){return this._delegate.id}get path(){return this._delegate.path}get parent(){var e=this._delegate.parent;return e?new Pd(this.firestore,e):null}doc(e){try{return void 0===e?new Pd(this.firestore,Jh(this._delegate)):new Pd(this.firestore,Jh(this._delegate,e))}catch(e){throw Vd(e,"doc()","CollectionReference.doc()")}}add(e){return((e,t)=>{let r=g(e.firestore,U),n=Jh(e),i=od(e.converter,t);return vd(r,[Sc(Ec(e.firestore),"addDoc",n._key,i,null!==e.converter,{}).toMutation(n._key,P.exists(!1))]).then(()=>n)})(this._delegate,e).then(e=>new Pd(this.firestore,e))}isEqual(e){return Xh(this._delegate,e._delegate)}withConverter(e){return new Kd(this.firestore,e?this._delegate.withConverter(Ld.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}function Qd(e){return g(e,F)}class $d{static serverTimestamp(){var e=new Ac("serverTimestamp");return e._methodName="FieldValue.serverTimestamp",new $d(e)}static delete(){var e=new xc("deleteField");return e._methodName="FieldValue.delete",new $d(e)}static arrayUnion(...e){[...e]=[...e];var t=new Dc("arrayUnion",e);return t._methodName="FieldValue.arrayUnion",new $d(t)}static arrayRemove(...e){[...e]=[...e];var t=new Nc("arrayRemove",e);return t._methodName="FieldValue.arrayRemove",new $d(t)}static increment(e){e=e;var t=new kc("increment",e);return t._methodName="FieldValue.increment",new $d(t)}constructor(e){this._delegate=e}isEqual(e){return this._delegate.isEqual(e._delegate)}}let Hd={Firestore:kd,GeoPoint:pc,Timestamp:v,Blob:Ad,Transaction:Md,WriteBatch:Od,DocumentReference:Pd,DocumentSnapshot:Bd,Query:jd,QueryDocumentSnapshot:qd,QuerySnapshot:Gd,CollectionReference:Kd,FieldPath:class Wd{constructor(...e){this._delegate=new gc(...e)}static documentId(){return new Wd(h.keyField().canonicalString())}isEqual(e){return(e=_(e))instanceof gc&&this._delegate._internalPath.isEqual(e._internalPath)}},FieldValue:$d,setLogLevel:function(e){e=e,_e.setLogLevel(e)},CACHE_SIZE_UNLIMITED:-1};n=s.default,oc=(e,t)=>new kd(e,t,new Nd),n.INTERNAL.registerComponent(new le("firestore-compat",e=>{var t=e.getProvider("app-compat").getImmediate(),r=e.getProvider("firestore").getImmediate();return oc(t,r)},"PUBLIC").setServiceProps({...Hd})),n.registerVersion("@firebase/firestore-compat","0.4.2-canary.d1d898f55")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-firestore-compat.js - be sure to load firebase-app.js first.")}});
|
|
22
|
+
`+JSON.stringify(e?.Qa)))},e=>this.metadata.reject(e))}close(){return this.Bu.cancel()}async getMetadata(){return this.metadata.promise}async bu(){return await this.getMetadata(),this.ku()}async ku(){var e,t,r=await this.qu();return null===r?null:(t=this.Lu.decode(r),e=Number(t),isNaN(e)&&this.Qu(`length string (${t}) is not valid number`),t=await this.$u(e),new Pl(JSON.parse(t),r.length+e))}Uu(){return this.buffer.findIndex(e=>e==="{".charCodeAt(0))}async qu(){for(;this.Uu()<0&&!await this.Ku(););var e,t;return 0===this.buffer.length?null:((e=this.Uu())<0&&this.Qu("Reached the end of bundle when a length string is expected."),t=this.buffer.slice(0,e),this.buffer=this.buffer.slice(e),t)}async $u(e){for(;this.buffer.length<e;)await this.Ku()&&this.Qu("Reached the end of bundle when more is expected.");var t=this.Lu.decode(this.buffer.slice(0,e));return this.buffer=this.buffer.slice(e),t}Qu(e){throw this.Bu.cancel(),new Error("Invalid bundle format: "+e)}async Ku(){var e,t=await this.Bu.read();return t.done||((e=new Uint8Array(this.buffer.length+t.value.length)).set(this.buffer),e.set(t.value,this.buffer.length),this.buffer=e),t.done}}class bh{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(),0<this.mutations.length)throw this.lastTransactionError=new I(b.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;var t=await(async(e,t)=>{let u=e,r={documents:t.map(e=>Ks(u.serializer,e))},n=await u.Ho("BatchGetDocuments",u.serializer.databaseId,T.emptyPath(),r,t.length),l=new Map,i=(n.forEach(e=>{t=u.serializer;var t,r,n,i,s,a,o="found"in(e=e)?(r=t,y(!!(n=e).found,43571),n.found.name,n.found.updateTime,i=Qs(r,n.found.name),s=V(n.found.updateTime),o=n.found.createTime?V(n.found.createTime):w.min(),a=new zn({mapValue:{fields:n.found.fields}}),R.newFoundDocument(i,s,o,a)):"missing"in e?(r=t,y(!!(n=e).missing,3894),y(!!n.readTime,22933),i=Qs(r,n.missing),s=V(n.readTime),R.newNoDocument(i,s)):E(7234,{result:e});l.set(o.key.toString(),o)}),[]);return t.forEach(e=>{var t=l.get(e.toString());y(!!t,55234,{key:e}),i.push(t)}),i})(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 ds(e,this.precondition(e))),this.writtenDocs.add(e.toString())}async commit(){if(this.ensureCommitNotCalled(),this.lastTransactionError)throw this.lastTransactionError;let t=this.readVersions;this.mutations.forEach(e=>{t.delete(e.key.toString())}),t.forEach((e,t)=>{var r=x.fromPath(t);this.mutations.push(new fs(r,this.precondition(r)))});{var r=this.datastore,n=this.mutations;let t=r,e={writes:n.map(e=>Zs(t.serializer,e))};await t.Go("Commit",t.serializer.databaseId,T.emptyPath(),e)}await 0,this.committed=!0}recordVersion(e){let t;if(e.isFoundDocument())t=e.version;else{if(!e.isNoDocument())throw E(50498,{Gu:e.constructor.name});t=w.min()}var r=this.readVersions.get(e.key.toString());if(r){if(!t.isEqual(r))throw new I(b.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),t)}precondition(e){var t=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&t?t.isEqual(w.min())?P.exists(!1):P.updateTime(t):P.none()}preconditionForUpdate(e){var t=this.readVersions.get(e.toString());if(this.writtenDocs.has(e.toString())||!t)return P.exists(!0);if(t.isEqual(w.min()))throw new I(b.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return P.updateTime(t)}write(e){this.ensureCommitNotCalled(),this.mutations.push(e)}ensureCommitNotCalled(){}}class Ih{constructor(e,t,r,n,i){this.asyncQueue=e,this.datastore=t,this.options=r,this.updateFunction=n,this.deferred=i,this.zu=r.maxAttempts,this.M_=new Yu(this.asyncQueue,"transaction_retry")}ju(){--this.zu,this.Ju()}Ju(){this.M_.p_(async()=>{let t=new bh(this.datastore),e=this.Hu(t);e&&e.then(e=>{this.asyncQueue.enqueueAndForget(()=>t.commit().then(()=>{this.deferred.resolve(e)}).catch(e=>{this.Yu(e)}))}).catch(e=>{this.Yu(e)})})}Hu(e){try{var t=this.updateFunction(e);return!Ct(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}}Yu(e){0<this.zu&&this.Zu(e)?(--this.zu,this.asyncQueue.enqueueAndForget(()=>(this.Ju(),Promise.resolve()))):this.deferred.reject(e)}Zu(e){var t;return"FirebaseError"===e?.name&&("aborted"===(t=e.code)||"failed-precondition"===t||"already-exists"===t||!vs(t))}}let Th="FirestoreClient";class Eh{constructor(e,t,r,n,i){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this.databaseInfo=n,this.user=l.UNAUTHENTICATED,this.clientId=Me.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=i,this.authCredentials.start(r,async e=>{p(Th,"Received user=",e.uid),await this.authCredentialListener(e),this.user=e}),this.appCheckCredentials.start(r,e=>(p(Th,"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 r=new f;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),r.resolve()}catch(e){var t=Sl(e,"Failed to shutdown persistence");r.reject(t)}}),r.promise}}async function Sh(e,t){e.asyncQueue.verifyOperationInProgress(),p(Th,"Initializing OfflineComponentProvider");var r=e.configuration;await t.initialize(r);let n=r.initialUser;e.setCredentialChangeListener(async e=>{n.isEqual(e)||(await du(t.localStore,e),n=e)}),t.persistence.setDatabaseDeletedListener(()=>e.terminate()),e._offlineComponents=t}async function xh(e,r){e.asyncQueue.verifyOperationInProgress();var t=await Ch(e);p(Th,"Initializing OnlineComponentProvider"),await r.initialize(t,e.configuration),e.setCredentialChangeListener(e=>_l(r.remoteStore,e)),e.setAppCheckTokenChangeListener((e,t)=>_l(r.remoteStore,t)),e._onlineComponents=r}async function Ch(t){if(!t._offlineComponents)if(t._uninitializedComponentsProvider){p(Th,"Using user provided OfflineComponentProvider");try{await Sh(t,t._uninitializedComponentsProvider._offline)}catch(e){var r=e;if(!("FirebaseError"===(n=r).name?n.code===b.FAILED_PRECONDITION||n.code===b.UNIMPLEMENTED:!("undefined"!=typeof DOMException&&n instanceof DOMException)||22===n.code||20===n.code||11===n.code))throw r;Ie("Error using user provided cache. Falling back to memory cache: "+r),await Sh(t,new fh)}}else p(Th,"Using default OfflineComponentProvider"),await Sh(t,new gh(void 0));var n;return t._offlineComponents}async function Ah(e){return e._onlineComponents||(e._uninitializedComponentsProvider?(p(Th,"Using user provided OnlineComponentProvider"),await xh(e,e._uninitializedComponentsProvider._online)):(p(Th,"Using default OnlineComponentProvider"),await xh(e,new yh))),e._onlineComponents}function Dh(e){return Ch(e).then(e=>e.persistence)}function Nh(e){return Ch(e).then(e=>e.localStore)}function kh(e){return Ah(e).then(e=>e.remoteStore)}function Rh(e){return Ah(e).then(e=>e.syncEngine)}async function Mh(e){var t=await Ah(e),r=t.eventManager;return r.onListen=(async function(e,t,r=!0){var n=hh(e);let i;var s=n.Tu.get(t);return i=s?(n.sharedClientState.addLocalQueryTarget(s.targetId),s.view.lu()):await $l(n,t,r,!0)}).bind(null,t.syncEngine),r.onUnlisten=(async function(e,t,r){let n=e,i=n.Tu.get(t),s=n.Iu.get(i.targetId);1<s.length?(n.Iu.set(i.targetId,s.filter(e=>!xi(e,t))),n.Tu.delete(t)):n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(i.targetId),n.sharedClientState.isActiveQueryTarget(i.targetId)||await vu(n.localStore,i.targetId,!1).then(()=>{n.sharedClientState.clearQueryState(i.targetId),r&&ul(n.remoteStore,i.targetId),rh(n,i.targetId)}).catch(ht)):(rh(n,i.targetId),await vu(n.localStore,i.targetId,!0))}).bind(null,t.syncEngine),r.onFirstRemoteStoreListen=(async function(e,t){await $l(hh(e),t,!0,!1)}).bind(null,t.syncEngine),r.onLastRemoteStoreUnlisten=(async function(e,t){var r=e,n=r.Tu.get(t),i=r.Iu.get(n.targetId);r.isPrimaryClient&&1===i.length&&(r.sharedClientState.removeLocalQueryTarget(n.targetId),ul(r.remoteStore,n.targetId))}).bind(null,t.syncEngine),r}function Oh(r){return r.asyncQueue.enqueue(async()=>{var e=await Dh(r),t=await kh(r);return e.setNetworkEnabled(!1),(async e=>{var t=e;t.Ea.add(0),await al(t),t.Ra.set("Offline")})(t)})}function Lh(e,t){let r=new f;return e.asyncQueue.enqueueAndForget(async()=>(async(e,t,r)=>{try{var n=await((e,t)=>{let r=e;return r.persistence.runTransaction("read document","readonly",e=>r.localDocuments.getDocument(e,t))})(e,t);n.isFoundDocument()?r.resolve(n):n.isNoDocument()?r.resolve(null):r.reject(new I(b.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(e){n=Sl(e,`Failed to get document '${t} from cache`);r.reject(n)}})(await Nh(e),t,r)),r.promise}function Ph(e,t,l={}){let h=new f;return e.asyncQueue.enqueueAndForget(async()=>{{var i=await Mh(e),s=e.asyncQueue,a=t,o=l,u=h;let r=new wh({next:e=>{r.Nu(),s.enqueueAndForget(()=>Ml(i,n));var t=e.docs.has(a);!t&&e.fromCache?u.reject(new I(b.UNAVAILABLE,"Failed to get document because the client is offline.")):t&&e.fromCache&&o&&"server"===o.source?u.reject(new I(b.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.)')):u.resolve(e)},error:e=>u.reject(e)}),n=new Ll(wi(a.path),r,{includeMetadataChanges:!0,qa:!0});return Rl(i,n)}}),h.promise}function Vh(e,t){let r=new f;return e.asyncQueue.enqueueAndForget(async()=>(async(e,t,r)=>{try{var n=await wu(e,t,!0),i=new jl(t,n.Qs),s=i.ru(n.documents),a=i.applyChanges(s,!1);r.resolve(a.snapshot)}catch(e){n=Sl(e,`Failed to execute query '${t} against cache`);r.reject(n)}})(await Nh(e),t,r)),r.promise}function Fh(o,u,l={}){let h=new f;return o.asyncQueue.enqueueAndForget(async()=>{{var n=await Mh(o),i=o.asyncQueue,e=u,s=l,a=h;let t=new wh({next:e=>{t.Nu(),i.enqueueAndForget(()=>Ml(n,r)),e.fromCache&&"server"===s.source?a.reject(new I(b.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.)')):a.resolve(e)},error:e=>a.reject(e)}),r=new Ll(e,t,{includeMetadataChanges:!0,qa:!0});return Rl(n,r)}}),h.promise}function Uh(r,e){let n=new wh(e);return r.asyncQueue.enqueueAndForget(async()=>{return e=await Mh(r),t=n,e.Ca.add(t),void t.next();var e,t}),()=>{n.Nu(),r.asyncQueue.enqueueAndForget(async()=>{var e,t;e=await Mh(r),t=n,e.Ca.delete(t)})}}function Bh(e,t,r,n){r=r,t=Wu(t),s="string"==typeof r?_s().encode(r):r,r=((e,t)=>{if(e instanceof Uint8Array)return vh(e,t);if(e instanceof ArrayBuffer)return vh(new Uint8Array(e),t);if(e instanceof ReadableStream)return e.getReader();throw new Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream")})(s),t=t;let i=new _h(r,t);var s;e.asyncQueue.enqueueAndForget(async()=>{dh(await Rh(e),i,n)})}function qh(n,i){return n.asyncQueue.enqueue(async()=>{{var e=await Nh(n),r=i;let t=e;return t.persistence.runTransaction("Get named query","readonly",e=>t.Ii.getNamedQuery(e,r))}})}function jh(e){var t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}let zh=new Map,Gh="firestore.googleapis.com";class Kh{constructor(e){if(void 0===e.host){if(void 0!==e.ssl)throw new I(b.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=Gh,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=41943040;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new I(b.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}Ge("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=jh(e.experimentalLongPollingOptions??{});var t=this.experimentalLongPollingOptions;if(void 0!==t.timeoutSeconds){if(isNaN(t.timeoutSeconds))throw new I(b.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (must not be NaN)`);if(t.timeoutSeconds<5)throw new I(b.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (minimum allowed value is 5)`);if(30<t.timeoutSeconds)throw new I(b.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (maximum allowed value is 30)`)}this.useFetchStreams=!!e.useFetchStreams}isEqual(e){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,r=e.experimentalLongPollingOptions,t.timeoutSeconds===r.timeoutSeconds)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams;var t,r}}class Qh{constructor(e,t,r,n){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=n,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new Kh({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(this._app)return this._app;throw new I(b.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available")}get _initialized(){return this._settingsFrozen}get _terminated(){return"notTerminated"!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new I(b.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 Kh(e),this._emulatorOptions=e.emulatorOptions||{},void 0!==e.credentials&&(this._authCredentials=(e=>{if(!e)return new xe;switch(e.type){case"firstParty":return new Ne(e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new I(b.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid 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(){return e=this,(t=zh.get(e))&&(p("ComponentProvider","Removing Datastore"),zh.delete(e),t.terminate()),Promise.resolve();var e,t}}function $h(n,e,t,i={}){n=g(n,Qh);let r=Y(e),s=n._getSettings(),a={...s,emulatorOptions:n._getEmulatorOptions()},o=e+":"+t;r&&((async e=>(await fetch(e,{credentials:"include"})).ok)("https://"+o),Z("Firestore",!0)),s.host!==Gh&&s.host!==o&&Ie("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.");var u={...s,host:o,ssl:r,emulatorOptions:i};if(!oe(u,a)&&(n._setSettings(u),i.mockUserToken)){let t,r;if("string"==typeof i.mockUserToken)t=i.mockUserToken,r=l.MOCK_USER;else{t=((e,t)=>{if(e.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');var r=t||"demo-project",n=e.iat||0,i=e.sub||e.user_id;if(i)return r={iss:"https://securetoken.google.com/"+r,aud:r,iat:n,exp:n+3600,auth_time:n,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}},...e},[z(JSON.stringify({alg:"none",type:"JWT"})),z(JSON.stringify(r)),""].join(".");throw new Error("mockUserToken must contain 'sub' or 'user_id' field!")})(i.mockUserToken,n._app?.options.projectId);let e=i.mockUserToken.sub||i.mockUserToken.user_id;if(!e)throw new I(b.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");r=new l(e)}n._authCredentials=new Ce(new Se(t,r))}}class Hh{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new Hh(this.firestore,e,this._query)}}class F{constructor(e,t,r){this.converter=t,this._key=r,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 Wh(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new F(this.firestore,e,this._key)}toJSON(){return{type:F._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(e,t,r){if(Ye(t,F._jsonSchema))return new F(e,r||null,new x(T.fromString(t.referencePath)))}}F._jsonSchemaVersion="firestore/documentReference/1.0",F._jsonSchema={type:t("string",F._jsonSchemaVersion),referencePath:t("string")};class Wh extends Hh{constructor(e,t,r){super(e,t,wi(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){var e=this._path.popLast();return e.isEmpty()?null:new F(this.firestore,null,new x(e))}withConverter(e){return new Wh(this.firestore,e,this._path)}}function Yh(e,t,...r){var n;if(e=_(e),ze("collection","path",t),e instanceof Qh)return Qe(n=T.fromString(t,...r)),new Wh(e,null,n);if(e instanceof F||e instanceof Wh)return Qe(n=e._path.child(T.fromString(t,...r))),new Wh(e.firestore,null,n);throw new I(b.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function Jh(e,t,...r){var n;if(e=_(e),ze("doc","path",t=1===arguments.length?Me.newId():t),e instanceof Qh)return Ke(n=T.fromString(t,...r)),new F(e,null,new x(n));if(e instanceof F||e instanceof Wh)return Ke(n=e._path.child(T.fromString(t,...r))),new F(e.firestore,e instanceof Wh?e.converter:null,new x(n));throw new I(b.INVALID_ARGUMENT,"Expected first argument to doc() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function Xh(e,t){return e=_(e),t=_(t),(e instanceof F||e instanceof Wh)&&(t instanceof F||t instanceof Wh)&&e.firestore===t.firestore&&e.path===t.path&&e.converter===t.converter}function Zh(e,t){return e=_(e),t=_(t),e instanceof Hh&&t instanceof Hh&&e.firestore===t.firestore&&xi(e._query,t._query)&&e.converter===t.converter}let ec="AsyncQueue";class tc{constructor(e=Promise.resolve()){this.Xu=[],this.ec=!1,this.tc=[],this.nc=null,this.rc=!1,this.sc=!1,this.oc=[],this.M_=new Yu(this,"async_queue_retry"),this._c=()=>{var e=Hu();e&&p(ec,"Visibility state changed to "+e.visibilityState),this.M_.w_()},this.ac=e;var t=Hu();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){var t;this.ec||(this.ec=!0,this.sc=e||!1,(t=Hu())&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",this._c))}enqueue(e){if(this.uc(),this.ec)return new Promise(()=>{});let t=new f;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.Xu.push(e),this.lc()))}async lc(){if(0!==this.Xu.length){try{await this.Xu[0](),this.Xu.shift(),this.M_.reset()}catch(e){if(!yt(e))throw e;p(ec,"Operation failed with retryable error: "+e)}0<this.Xu.length&&this.M_.p_(()=>this.lc())}}cc(e){var t=this.ac.then(()=>(this.rc=!0,e().catch(e=>{throw this.nc=e,this.rc=!1,d("INTERNAL UNHANDLED ERROR: ",rc(e)),e}).then(e=>(this.rc=!1,e))));return this.ac=t}enqueueAfterDelay(e,t,r){this.uc(),-1<this.oc.indexOf(e)&&(t=0);var n=El.createAndSchedule(this,e,t,r,e=>this.hc(e));return this.tc.push(n),n}uc(){this.nc&&E(47125,{Pc:rc(this.nc)})}verifyOperationInProgress(){}async Tc(){for(var e;await(e=this.ac),e!==this.ac;);}Ic(e){for(var t of this.tc)if(t.timerId===e)return!0;return!1}Ec(t){return this.Tc().then(()=>{this.tc.sort((e,t)=>e.targetTimeMs-t.targetTimeMs);for(var e of this.tc)if(e.skipDelay(),"all"!==t&&e.timerId===t)break;return this.Tc()})}dc(e){this.oc.push(e)}hc(e){var t=this.tc.indexOf(e);this.tc.splice(t,1)}}function rc(e){let t=e.message||"";return t=e.stack?e.stack.includes(e.message)?e.stack:e.message+"\n"+e.stack:t}function nc(t){var r=t,t=["next","error","complete"];if("object"==typeof r&&null!==r){var n=r;for(let e of t)if(e in n&&"function"==typeof n[e])return 1}}class ic{constructor(){this._progressObserver={},this._taskCompletionResolver=new f,this._lastProgress={taskState:"Running",totalBytes:0,totalDocuments:0,bytesLoaded:0,documentsLoaded:0}}onProgress(e,t,r){this._progressObserver={next:e,error:t,complete:r}}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)}}var sc,ac,n,oc;class U extends Qh{constructor(e,t,r,n){super(e,t,r,n),this.type="firestore",this._queue=new tc,this._persistenceKey=n?.name||"[DEFAULT]"}async _terminate(){var e;this._firestoreClient&&(e=this._firestoreClient.terminate(),this._queue=new tc(e),this._firestoreClient=void 0,await e)}}function uc(e){if(e._terminated)throw new I(b.FAILED_PRECONDITION,"The client has already been terminated.");return e._firestoreClient||lc(e),e._firestoreClient}function lc(e){var t,r,n,i,s=e._freezeSettings(),a=(i=e._databaseId,t=e._app?.options.appId||"",r=e._persistenceKey,n=s,new mn(i,t,r,n.host,n.ssl,n.experimentalForceLongPolling,n.experimentalAutoDetectLongPolling,jh(n.experimentalLongPollingOptions),n.useFetchStreams,n.isUsingEmulator));e._componentsProvider||s.localCache?._offlineComponentProvider&&s.localCache?._onlineComponentProvider&&(e._componentsProvider={_offline:s.localCache._offlineComponentProvider,_online:s.localCache._onlineComponentProvider}),e._firestoreClient=new Eh(e._authCredentials,e._appCheckCredentials,e._queue,a,e._componentsProvider&&(i=e._componentsProvider,s=i?._online.build(),{_offline:i?._offline.build(s),_online:s}))}function hc(e,t,r){if((e=g(e,U))._firestoreClient||e._terminated)throw new I(b.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 I(b.FAILED_PRECONDITION,"SDK cache is already specified.");e._componentsProvider={_online:t,_offline:r},lc(e)}function cc(r){if(r._initialized&&!r._terminated)throw new I(b.FAILED_PRECONDITION,"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");let n=new f;return r._queue.enqueueAndForgetEvenWhileRestricted(async()=>{try{e=iu(r._databaseId,r._persistenceKey),await(ft.v()?(t=e+"main",void await ft.delete(t)):Promise.resolve()),n.resolve()}catch(e){n.reject(e)}var e,t}),n.promise}function dc(e){return(r=uc(e=g(e,U))).asyncQueue.enqueue(async()=>{var e=await Dh(r),t=await kh(r);return e.setNetworkEnabled(!0),(e=t).Ea.delete(0),sl(e)});var r}class fc{constructor(e){this._byteString=e}static fromBase64String(e){try{return new fc(N.fromBase64String(e))}catch(e){throw new I(b.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new fc(N.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:fc._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(e){if(Ye(e,fc._jsonSchema))return fc.fromBase64String(e.bytes)}}fc._jsonSchemaVersion="firestore/bytes/1.0",fc._jsonSchema={type:t("string",fc._jsonSchemaVersion),bytes:t("string")};class gc{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new I(b.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new h(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}}class mc{constructor(e){this._methodName=e}}class pc{constructor(e,t){if(!isFinite(e)||e<-90||90<e)throw new I(b.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||180<t)throw new I(b.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 S(this._lat,e._lat)||S(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:pc._jsonSchemaVersion}}static fromJSON(e){if(Ye(e,pc._jsonSchema))return new pc(e.latitude,e.longitude)}}pc._jsonSchemaVersion="firestore/geoPoint/1.0",pc._jsonSchema={type:t("string",pc._jsonSchemaVersion),latitude:t("number"),longitude:t("number")};class yc{constructor(e){this._values=(e||[]).map(e=>e)}toArray(){return this._values.map(e=>e)}isEqual(e){var t=this._values,r=e._values;if(t.length!==r.length)return!1;for(let n=0;n<t.length;++n)if(t[n]!==r[n])return!1;return!0}toJSON(){return{type:yc._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(e){if(Ye(e,yc._jsonSchema)){if(Array.isArray(e.vectorValues)&&e.vectorValues.every(e=>"number"==typeof e))return new yc(e.vectorValues);throw new I(b.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}}yc._jsonSchemaVersion="firestore/vectorValue/1.0",yc._jsonSchema={type:t("string",yc._jsonSchemaVersion),vectorValues:t("object")};let vc=/^__.*__$/;class wc{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return null!==this.fieldMask?new us(e,this.data,this.fieldMask,t,this.fieldTransforms):new os(e,this.data,t,this.fieldTransforms)}}class _c{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new us(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function bc(e){switch(e){case 0:case 2:case 1:return 1;case 3:case 4:return;default:throw E(40011,{Ac:e})}}class Ic{constructor(e,t,r,n,i,s){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=n,void 0===i&&this.Rc(),this.fieldTransforms=i||[],this.fieldMask=s||[]}get path(){return this.settings.path}get Ac(){return this.settings.Ac}Vc(e){return new Ic({...this.settings,...e},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}mc(e){var t=this.path?.child(e),t=this.Vc({path:t,fc:!1});return t.gc(e),t}yc(e){var t=this.path?.child(e),t=this.Vc({path:t,fc:!1});return t.Rc(),t}wc(e){return this.Vc({path:void 0,fc:!0})}Sc(e){return jc(e,this.settings.methodName,this.settings.bc||!1,this.path,this.settings.Dc)}contains(t){return void 0!==this.fieldMask.find(e=>t.isPrefixOf(e))||void 0!==this.fieldTransforms.find(e=>t.isPrefixOf(e.field))}Rc(){if(this.path)for(let e=0;e<this.path.length;e++)this.gc(this.path.get(e))}gc(e){if(0===e.length)throw this.Sc("Document fields must not be empty");if(bc(this.Ac)&&vc.test(e))throw this.Sc('Document fields cannot begin and end with "__"')}}class Tc{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||Wu(e)}Cc(e,t,r,n=!1){return new Ic({Ac:e,methodName:t,Dc:r,path:h.emptyPath(),fc:!1,bc:n},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function Ec(e){var t=e._freezeSettings(),r=Wu(e._databaseId);return new Tc(e._databaseId,!!t.ignoreUndefinedProperties,r)}function Sc(e,n,i,t,r,s={}){var a=e.Cc(s.merge||s.mergeFields?2:0,n,i,r),o=(Fc("Data must be an object, but it was:",a,t),Pc(t,a));let u,l;if(s.merge)u=new rn(a.fieldMask),l=a.fieldTransforms;else if(s.mergeFields){let t=[];for(let r of s.mergeFields){let e=Uc(n,r,i);if(!a.contains(e))throw new I(b.INVALID_ARGUMENT,`Field '${e}' is specified in your field mask but missing from your input data.`);zc(t,e)||t.push(e)}u=new rn(t),l=a.fieldTransforms.filter(e=>u.covers(e.field))}else u=null,l=a.fieldTransforms;return new wc(new zn(o),u,l)}class xc extends mc{_toFieldTransform(e){if(2!==e.Ac)throw 1===e.Ac?e.Sc(this._methodName+"() can only appear at the top level of your update data"):e.Sc(this._methodName+"() cannot be used with set() unless you pass {merge:true}");return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof xc}}function Cc(e,t,r){return new Ic({Ac:3,Dc:t.settings.Dc,methodName:e._methodName,fc:r},t.databaseId,t.serializer,t.ignoreUndefinedProperties)}class Ac extends mc{_toFieldTransform(e){return new es(e.path,new Qi)}isEqual(e){return e instanceof Ac}}class Dc extends mc{constructor(e,t){super(e),this.vc=t}_toFieldTransform(e){let t=Cc(this,e,!0),r=this.vc.map(e=>Lc(e,t)),n=new $i(r);return new es(e.path,n)}isEqual(e){return e instanceof Dc&&oe(this.vc,e.vc)}}class Nc extends mc{constructor(e,t){super(e),this.vc=t}_toFieldTransform(e){let t=Cc(this,e,!0),r=this.vc.map(e=>Lc(e,t)),n=new Wi(r);return new es(e.path,n)}isEqual(e){return e instanceof Nc&&oe(this.vc,e.vc)}}class kc extends mc{constructor(e,t){super(e),this.Fc=t}_toFieldTransform(e){var t=new Ji(e.serializer,zi(e.serializer,this.Fc));return new es(e.path,t)}isEqual(e){return e instanceof kc&&this.Fc===e.Fc}}function Rc(e,i,s,t){let a=e.Cc(1,i,s),o=(Fc("Data must be an object, but it was:",a,t),[]),u=zn.empty();Yr(t,(e,t)=>{var r=qc(i,e,s),n=(t=_(t),a.yc(r));if(t instanceof xc)o.push(r);else{let e=Lc(t,n);null!=e&&(o.push(r),u.set(r,e))}});var r=new rn(o);return new _c(u,r,a.fieldTransforms)}function Mc(e,t,r,n,i,s){var a=e.Cc(1,t,r),o=[Uc(t,n,r)],u=[i];if(s.length%2!=0)throw new I(b.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let f=0;f<s.length;f+=2)o.push(Uc(t,s[f])),u.push(s[f+1]);var l=[],h=zn.empty();for(let g=o.length-1;0<=g;--g)if(!zc(l,o[g])){let t=o[g];var c=_(u[g]);let r=a.yc(t);if(c instanceof xc)l.push(t);else{let e=Lc(c,r);null!=e&&(l.push(t),h.set(t,e))}}var d=new rn(l);return new _c(h,d,a.fieldTransforms)}function Oc(e,t,r,n=!1){return Lc(r,e.Cc(n?4:3,t))}function Lc(e,r){if(Vc(e=_(e)))return Fc("Unsupported field value:",r,e),Pc(e,r);if(e instanceof mc){{var t=e;var n=r;if(!bc(n.Ac))throw n.Sc(t._methodName+"() can only be used with update() and set()");if(!n.path)throw n.Sc(t._methodName+"() is not currently supported inside arrays");var i=t._toFieldTransform(n);i&&n.fieldTransforms.push(i)}return null}if(void 0===e&&r.ignoreUndefinedProperties)return null;if(r.path&&r.fieldMask.push(r.path),e instanceof Array){if(r.settings.fc&&4!==r.Ac)throw r.Sc("Nested arrays are not supported");{var s,a=r,o=[];let t=0;for(s of e){let e=Lc(s,a.wc(t));null==e&&(e={nullValue:"NULL_VALUE"}),o.push(e),t++}return{arrayValue:{values:o}}}}var u,t=e,n=r;if(null===(t=_(t)))return{nullValue:"NULL_VALUE"};if("number"==typeof t)return zi(n.serializer,t);if("boolean"==typeof t)return{booleanValue:t};if("string"==typeof t)return{stringValue:t};if(t instanceof Date)return l=v.fromDate(t),{timestampValue:Bs(n.serializer,l)};if(t instanceof v)return l=new v(t.seconds,1e3*Math.floor(t.nanoseconds/1e3)),{timestampValue:Bs(n.serializer,l)};if(t instanceof pc)return{geoPointValue:{latitude:t.latitude,longitude:t.longitude}};if(t instanceof fc)return{bytesValue:qs(n.serializer,t._byteString)};if(t instanceof F){var l=n.databaseId,i=t.firestore._databaseId;if(i.isEqual(l))return{referenceValue:js(t.firestore._databaseId||n.databaseId,t._key.path)};throw n.Sc(`Document reference is for database ${i.projectId}/${i.database} but should be for database ${l.projectId}/`+l.database)}if(t instanceof yc)return e=t,u=n,{mapValue:{fields:{[vn]:{stringValue:bn},[In]:{arrayValue:{values:e.toArray().map(e=>{if("number"!=typeof e)throw u.Sc("VectorValues must only contain numeric values.");return qi(u.serializer,e)})}}}}};throw n.Sc("Unsupported field value: "+He(t))}function Pc(e,n){let i={};return Jr(e)?n.path&&0<n.path.length&&n.fieldMask.push(n.path):Yr(e,(e,t)=>{var r=Lc(t,n.mc(e));null!=r&&(i[e]=r)}),{mapValue:{fields:i}}}function Vc(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof v||e instanceof pc||e instanceof fc||e instanceof F||e instanceof mc||e instanceof yc)}function Fc(e,t,r){var n;if(!Vc(r)||!$e(r))throw"an object"===(n=He(r))?t.Sc(e+" a custom object"):t.Sc(e+" "+n)}function Uc(e,t,r){if((t=_(t))instanceof gc)return t._internalPath;if("string"==typeof t)return qc(e,t);throw jc("Field path arguments must be of type string or ",e,!1,void 0,r)}let Bc=new RegExp("[~\\*/\\[\\]]");function qc(t,r,n){if(0<=r.search(Bc))throw jc(`Invalid field path (${r}). Paths must not contain '~', '*', '/', '[', or ']'`,t,!1,void 0,n);try{return new gc(...r.split("."))._internalPath}catch(e){throw jc(`Invalid field path (${r}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,t,!1,void 0,n)}}function jc(e,t,r,n,i){var s=n&&!n.isEmpty(),a=void 0!==i;let o=`Function ${t}() called with invalid data`,u=(r&&(o+=" (via `toFirestore()`)"),o+=". ","");return(s||a)&&(u+=" (found",s&&(u+=" in field "+n),a&&(u+=" in document "+i),u+=")"),new I(b.INVALID_ARGUMENT,o+e+u)}function zc(e,t){return e.some(e=>e.isEqual(t))}class Gc{constructor(e,t,r,n,i){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=n,this._converter=i}get id(){return this._key.path.lastSegment()}get ref(){return new F(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){var e;if(this._document)return this._converter?(e=new Kc(this._firestore,this._userDataWriter,this._key,this._document,null),this._converter.fromFirestore(e)):this._userDataWriter.convertValue(this._document.data.value)}get(e){if(this._document){var t=this._document.data.field(Qc("DocumentSnapshot.get",e));if(null!==t)return this._userDataWriter.convertValue(t)}}}class Kc extends Gc{data(){return super.data()}}function Qc(e,t){return"string"==typeof t?qc(e,t):(t instanceof gc?t:t._delegate)._internalPath}function $c(e){if("L"===e.limitType&&0===e.explicitOrderBy.length)throw new I(b.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class Hc{}class Wc extends Hc{}function Yc(e,t,...r){let n=[];t instanceof Hc&&n.push(t);var t=n=n.concat(r),i=t.filter(e=>!1).length,s=t.filter(e=>e instanceof Jc).length;if(1<i||0<i&&0<s)throw new I(b.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(...)))`.");for(let t of n)e=t._apply(e);return e}class Jc extends Wc{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new Jc(e,t,r)}_apply(e){var t=this._parse(e);return sd(e._query,t),new Hh(e.firestore,e.converter,Ei(e._query,t))}_parse(e){var t=Ec(e.firestore);{var n=e._query,i="where",s=t,a=e.firestore._databaseId,o=(e=this._field,this._op),u=this._value;let r;if(e.isKeyField()){if("array-contains"===o||"array-contains-any"===o)throw new I(b.INVALID_ARGUMENT,`Invalid Query. You can't perform '${o}' queries on documentId().`);if("in"===o||"not-in"===o){id(u,o);let e=[];for(let t of u)e.push(nd(a,n,t));r={arrayValue:{values:e}}}else r=nd(a,n,u)}else"in"!==o&&"not-in"!==o&&"array-contains-any"!==o||id(u,o),r=Oc(s,i,u,"in"===o||"not-in"===o);return M.create(e,o,r)}}}(class extends Hc{});class Xc extends Wc{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new Xc(e,t)}_apply(e){var t=((e,t,r)=>{if(null!==e.startAt)throw new I(b.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(null!==e.endAt)throw new I(b.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new $n(t,r)})(e._query,this._field,this._direction);return new Hh(e.firestore,e.converter,(t=(e=e._query).explicitOrderBy.concat([t]),new yi(e.path,e.collectionGroup,t,e.filters.slice(),e.limit,e.limitType,e.startAt,e.endAt)))}}class Zc extends Wc{constructor(e,t,r){super(),this.type=e,this._limit=t,this._limitType=r}static _create(e,t,r){return new Zc(e,t,r)}_apply(e){return new Hh(e.firestore,e.converter,Si(e._query,this._limit,this._limitType))}}class ed extends Wc{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new ed(e,t,r)}_apply(e){var t,r=rd(e,this.type,this._docOrFields,this._inclusive);return new Hh(e.firestore,e.converter,(e=e._query,t=r,new yi(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,t,e.endAt)))}}class td extends Wc{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new td(e,t,r)}_apply(e){var t,r=rd(e,this.type,this._docOrFields,this._inclusive);return new Hh(e.firestore,e.converter,(e=e._query,t=r,new yi(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,e.startAt,t)))}}function rd(e,r,n,i){if(n[0]=_(n[0]),n[0]instanceof Gc){var s=e._query,a=e.firestore._databaseId,o=r,u=n[0]._document,l=i;if(!u)throw new I(b.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${o}().`);var h=[];for(let t of Ii(s))if(t.field.isKeyField())h.push(kn(a,u.key));else{let e=u.data.field(t.field);if(dn(e))throw new I(b.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field "'+t.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=t.field.canonicalString();throw new I(b.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.`)}h.push(e)}return new Gn(h,l)}var t=Ec(e.firestore),c=e._query,d=e.firestore._databaseId,f=t,g=r,m=n,o=i,p=c.explicitOrderBy;if(m.length>p.length)throw new I(b.INVALID_ARGUMENT,`Too many arguments provided to ${g}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);var y=[];for(let w=0;w<m.length;w++){var v=m[w];if(p[w].field.isKeyField()){if("string"!=typeof v)throw new I(b.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${g}(), but got a `+typeof v);if(!bi(c)&&-1!==v.indexOf("/"))throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${g}() must be a plain document ID, but '${v}' contains a slash.`);let e=c.path.child(T.fromString(v));if(!x.isDocumentKey(e))throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${g}() must result in a valid document path, but '${e}' is not because it contains an odd number of segments.`);let t=new x(e);y.push(kn(d,t))}else{let e=Oc(f,g,v);y.push(e)}}return new Gn(y,o)}function nd(e,t,r){if("string"==typeof(r=_(r))){if(""===r)throw new I(b.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!bi(t)&&-1!==r.indexOf("/"))throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${r}' contains a '/' character.`);var n=t.path.child(T.fromString(r));if(x.isDocumentKey(n))return kn(e,new x(n));throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${n}' is not because it has an odd number of segments (${n.length}).`)}if(r instanceof F)return kn(e,r._key);throw new I(b.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${He(r)}.`)}function id(e,t){if(!Array.isArray(e)||0===e.length)throw new I(b.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function sd(e,t){var r=((t,r)=>{for(var n of t)for(let e of n.getFlattenedFilters())if(0<=r.indexOf(e.op))return e.op;return null})(e.filters,(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!==r)throw r===t.op?new I(b.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new I(b.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${r.toString()}' filters.`)}class ad{convertValue(e,t="none"){switch(En(e)){case 0:return null;case 1:return e.booleanValue;case 2:return k(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(on(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 E(62114,{value:e})}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,r="none"){let n={};return Yr(e,(e,t)=>{n[e]=this.convertValue(t,r)}),n}convertVectorValue(e){var t=e.fields?.[In].arrayValue?.values?.map(e=>k(e.doubleValue));return new yc(t)}convertGeoPoint(e){return new pc(k(e.latitude),k(e.longitude))}convertArray(e,t){return(e.values||[]).map(e=>this.convertValue(e,t))}convertServerTimestamp(e,t){switch(t){case"previous":var r=fn(e);return null==r?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(gn(e));default:return null}}convertTimestamp(e){var t=an(e);return new v(t.seconds,t.nanos)}convertDocumentKey(e,t){var r=T.fromString(e),n=(y(ha(r),9688,{name:e}),new yn(r.get(1),r.get(3))),r=new x(r.popFirst(5));return n.isEqual(t)||d(`Document ${r} contains a document reference within a different database (${n.projectId}/${n.database}) which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),r}}function od(e,t,r){return e?r&&(r.merge||r.mergeFields)?e.toFirestore(t,r):e.toFirestore(t):t}class ud extends ad{constructor(e){super(),this.firestore=e}convertBytes(e){return new fc(e)}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return new F(this.firestore,null,t)}}class ld{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class hd extends Gc{constructor(e,t,r,n,i,s){super(e,t,r,n,s),this._firestore=e,this._firestoreImpl=e,this.metadata=i}exists(){return super.exists()}data(e={}){var t;if(this._document)return this._converter?(t=new cd(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null),this._converter.fromFirestore(t,e)):this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}get(e,t={}){if(this._document){var r=this._document.data.field(Qc("DocumentSnapshot.get",e));if(null!==r)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new I(b.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");var e=this._document,t={};return t.type=hd._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"),t.bundle=(this._firestore,this.ref.path,"NOT SUPPORTED")),t}}hd._jsonSchemaVersion="firestore/documentSnapshot/1.0",hd._jsonSchema={type:t("string",hd._jsonSchemaVersion),bundleSource:t("string","DocumentSnapshot"),bundleName:t("string"),bundle:t("string")};class cd extends hd{data(e={}){return super.data(e)}}class dd{constructor(e,t,r,n){this._firestore=e,this._userDataWriter=t,this._snapshot=n,this.metadata=new ld(n.hasPendingWrites,n.fromCache),this.query=r}get docs(){let t=[];return this.forEach(e=>t.push(e)),t}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(t,r){this._snapshot.docs.forEach(e=>{t.call(r,new cd(this._firestore,this._userDataWriter,e.key,e,new ld(this._snapshot.mutatedKeys.has(e.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){var t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new I(b.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=((s,t)=>{if(s._snapshot.oldDocs.isEmpty()){let r=0;return s._snapshot.docChanges.map(e=>{var t=new cd(s._firestore,s._userDataWriter,e.doc.key,e.doc,new ld(s._snapshot.mutatedKeys.has(e.doc.key),s._snapshot.fromCache),s.query.converter);return e.doc,{type:"added",doc:t,oldIndex:-1,newIndex:r++}})}{let i=s._snapshot.oldDocs;return s._snapshot.docChanges.filter(e=>t||3!==e.type).map(e=>{var t=new cd(s._firestore,s._userDataWriter,e.doc.key,e.doc,new ld(s._snapshot.mutatedKeys.has(e.doc.key),s._snapshot.fromCache),s.query.converter);let r=-1,n=-1;return 0!==e.type&&(r=i.indexOf(e.doc.key),i=i.delete(e.doc.key)),1!==e.type&&(i=i.add(e.doc),n=i.indexOf(e.doc.key)),{type:(e=>{switch(e){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return E(61501,{type:e})}})(e.type),doc:t,oldIndex:r,newIndex:n}})}})(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new I(b.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");var e={};e.type=dd._jsonSchemaVersion,e.bundleSource="QuerySnapshot",e.bundleName=Me.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let t=[],r=[],n=[];return this.docs.forEach(e=>{null!==e._document&&(t.push(e._document),r.push(this._userDataWriter.convertObjectMap(e._document.data.value.mapValue.fields,"previous")),n.push(e.ref.path))}),e.bundle=(this._firestore,this.query._query,"NOT SUPPORTED"),e}}function fd(e,t){return e instanceof hd&&t instanceof hd?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 dd&&t instanceof dd&&e._firestore===t._firestore&&Zh(e.query,t.query)&&e.metadata.isEqual(t.metadata)&&e._snapshot.isEqual(t._snapshot)}dd._jsonSchemaVersion="firestore/querySnapshot/1.0",dd._jsonSchema={type:t("string",dd._jsonSchemaVersion),bundleSource:t("string","QuerySnapshot"),bundleName:t("string"),bundle:t("string")};class gd extends ad{constructor(e){super(),this.firestore=e}convertBytes(e){return new fc(e)}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return new F(this.firestore,null,t)}}function md(e,t,r){e=g(e,F);var n=g(e.firestore,U),i=od(e.converter,t,r);return vd(n,[Sc(Ec(n),"setDoc",e._key,i,null!==e.converter,r).toMutation(e._key,P.none())])}function pd(e,t,r,...n){e=g(e,F);var i=g(e.firestore,U),s=Ec(i);return vd(i,[("string"==typeof(t=_(t))||t instanceof gc?Mc(s,"updateDoc",e._key,t,r,n):Rc(s,"updateDoc",e._key,t)).toMutation(e._key,P.exists(!0))])}function yd(n,...i){n=_(n);let e={includeMetadataChanges:!1,source:"default"},s=0,r={includeMetadataChanges:(e="object"!=typeof i[s]||nc(i[s])?e:i[s++]).includeMetadataChanges,source:e.source};if(nc(i[s])){let e=i[s];i[s]=e.next?.bind(e),i[s+1]=e.error?.bind(e),i[s+2]=e.complete?.bind(e)}let a,o,u;if(n instanceof F)o=g(n.firestore,U),u=wi(n._key.path),a={next:e=>{i[s]&&i[s](wd(o,n,e))},error:i[s+1],complete:i[s+2]};else{let t=g(n,Hh),r=(o=g(t.firestore,U),u=t._query,new gd(o));a={next:e=>{i[s]&&i[s](new dd(o,r,t,e))},error:i[s+1],complete:i[s+2]},$c(n._query)}{var l=uc(o),h=u,c=r,d=a;let e=new wh(d),t=new Ll(h,e,c);return l.asyncQueue.enqueueAndForget(async()=>Rl(await Mh(l),t)),()=>{e.Nu(),l.asyncQueue.enqueueAndForget(async()=>Ml(await Mh(l),t))}}}function vd(t,r){{var n=uc(t),i=r;let e=new f;return n.asyncQueue.enqueueAndForget(async()=>Wl(await Rh(n),i,e)),e.promise}}function wd(e,t,r){var n=r.docs.get(t._key),i=new gd(e);return new hd(e,i,t._key,n,new ld(r.hasPendingWrites,r.fromCache),t.converter)}let _d={maxAttempts:5};class bd{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=Ec(e)}set(e,t,r){this._verifyNotCommitted();var n=Id(e,this._firestore),i=od(n.converter,t,r),i=Sc(this._dataReader,"WriteBatch.set",n._key,i,null!==n.converter,r);return this._mutations.push(i.toMutation(n._key,P.none())),this}update(e,t,r,...n){this._verifyNotCommitted();var i=Id(e,this._firestore),s="string"==typeof(t=_(t))||t instanceof gc?Mc(this._dataReader,"WriteBatch.update",i._key,t,r,n):Rc(this._dataReader,"WriteBatch.update",i._key,t);return this._mutations.push(s.toMutation(i._key,P.exists(!0))),this}delete(e){this._verifyNotCommitted();var t=Id(e,this._firestore);return this._mutations=this._mutations.concat(new ds(t._key,P.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,0<this._mutations.length?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new I(b.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}}function Id(e,t){if((e=_(e)).firestore!==t)throw new I(b.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return e}class Td extends class{constructor(e,t){this._firestore=e,this._transaction=t,this._dataReader=Ec(e)}get(e){let r=Id(e,this._firestore),n=new ud(this._firestore);return this._transaction.lookup([r._key]).then(e=>{if(!e||1!==e.length)return E(24041);var t=e[0];if(t.isFoundDocument())return new Gc(this._firestore,n,t.key,t,r.converter);if(t.isNoDocument())return new Gc(this._firestore,n,r._key,null,r.converter);throw E(18433,{doc:t})})}set(e,t,r){var n=Id(e,this._firestore),i=od(n.converter,t,r),i=Sc(this._dataReader,"Transaction.set",n._key,i,null!==n.converter,r);return this._transaction.set(n._key,i),this}update(e,t,r,...n){var i=Id(e,this._firestore),s="string"==typeof(t=_(t))||t instanceof gc?Mc(this._dataReader,"Transaction.update",i._key,t,r,n):Rc(this._dataReader,"Transaction.update",i._key,t);return this._transaction.update(i._key,s),this}delete(e){var t=Id(e,this._firestore);return this._transaction.delete(t._key),this}}{constructor(e,t){super(e,t),this._firestore=e}get(e){let t=Id(e,this._firestore),r=new gd(this._firestore);return super.get(e).then(e=>new hd(this._firestore,r,t._key,e._document,new ld(!1,!1),t.converter))}}function Ed(r,n,e){r=g(r,U);var i={..._d,...e};if(i.maxAttempts<1)throw new I(b.INVALID_ARGUMENT,"Max attempts must be at least 1");{var s=uc(r),a=e=>n(new Td(r,e)),o=i;let t=new f;return s.asyncQueue.enqueueAndForget(async()=>{var e=await Ah(s).then(e=>e.datastore);new Ih(s.asyncQueue,e,o,a,t).ju()}),t.promise}}ac=!0,n=Jd.SDK_VERSION,we=n,Jd._registerComponent(new le("firestore",(e,{instanceIdentifier:t,options:r})=>{var n=e.getProvider("app").getImmediate(),n=new U(new Ae(e.getProvider("auth-internal")),new Re(n,e.getProvider("app-check-internal")),((e,t)=>{if(Object.prototype.hasOwnProperty.apply(e.options,["projectId"]))return new yn(e.options.projectId,t);throw new I(b.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.')})(n,t),n);return r={useFetchStreams:ac,...r},n._setSettings(r),n},"PUBLIC").setMultipleInstances(!0)),Jd.registerVersion(ye,ve,sc),Jd.registerVersion(ye,ve,"esm2020");function Sd(e,t){if(void 0===t)return{merge:!1};if(void 0!==t.mergeFields&&void 0!==t.merge)throw new I("invalid-argument",`Invalid options passed to function ${e}(): You cannot `+'specify both "merge" and "mergeFields".');return t}function xd(){if("undefined"==typeof Uint8Array)throw new I("unimplemented","Uint8Arrays are not available in this environment.")}function Cd(){if("undefined"==typeof atob)throw new I("unimplemented","Blobs are unavailable in Firestore in this environment.")}class Ad{constructor(e){this._delegate=e}static fromBase64String(e){return Cd(),new Ad(fc.fromBase64String(e))}static fromUint8Array(e){return xd(),new Ad(fc.fromUint8Array(e))}toBase64(){return Cd(),this._delegate.toBase64()}toUint8Array(){return xd(),this._delegate.toUint8Array()}isEqual(e){return this._delegate.isEqual(e._delegate)}toString(){return"Blob(base64: "+this.toBase64()+")"}}function Dd(e){var t=["next","error","complete"];if("object"==typeof e&&null!==e){var r,n=e;for(r of t)if(r in n&&"function"==typeof n[r])return 1}}class Nd{enableIndexedDbPersistence(e,r){{e=e._delegate;var n={forceOwnership:r};Ie("enableIndexedDbPersistence() will be deprecated in the future, you can use `FirestoreSettings.cache` instead.");let t=e._freezeSettings();return hc(e,yh.provider,{build:e=>new mh(e,t.cacheSizeBytes,n?.forceOwnership)}),Promise.resolve()}}enableMultiTabIndexedDbPersistence(e){return(async e=>{Ie("enableMultiTabIndexedDbPersistence() will be deprecated in the future, you can use `FirestoreSettings.cache` instead.");let t=e._freezeSettings();hc(e,yh.provider,{build:e=>new ph(e,t.cacheSizeBytes)})})(e._delegate)}clearIndexedDbPersistence(e){return cc(e._delegate)}}class kd{constructor(e,t,r){this._delegate=t,this._persistenceProvider=r,this.INTERNAL={delete:()=>this.terminate()},e instanceof yn||(this._appCompat=e)}get _databaseId(){return this._delegate._databaseId}settings(e){var t=this._delegate._getSettings();e.merge||t.host===e.host||Ie("You are overriding the original host. If you did not intend to override your settings, use {merge: true}."),e.merge&&delete(e={...t,...e}).merge,this._delegate._setSettings(e)}useEmulator(e,t,r={}){$h(this._delegate,e,t,r)}enableNetwork(){return dc(this._delegate)}disableNetwork(){return Oh(uc(g(this._delegate,U)))}enablePersistence(e){let t=!1,r=!1;return e&&(t=!!e.synchronizeTabs,r=!!e.experimentalForceOwningTab,Ge("synchronizeTabs",t,"experimentalForceOwningTab",r)),t?this._persistenceProvider.enableMultiTabIndexedDbPersistence(this):this._persistenceProvider.enableIndexedDbPersistence(this,r)}clearPersistence(){return this._persistenceProvider.clearIndexedDbPersistence(this)}terminate(){return this._appCompat&&(this._appCompat._removeServiceInstance("firestore-compat"),this._appCompat._removeServiceInstance("firestore")),this._delegate._delete()}waitForPendingWrites(){var t=this._delegate;{var r=uc(t=g(t,U));let e=new f;return r.asyncQueue.enqueueAndForget(async()=>Zl(await Rh(r),e)),e.promise}}onSnapshotsInSync(e){return t=this._delegate,e=e,Uh(uc(t=g(t,U)),nc(e)?e:{next:e});var t}get app(){if(this._appCompat)return this._appCompat;throw new I("failed-precondition","Firestore was not initialized using the Firebase SDK. 'app' is not available")}collection(e){try{return new Kd(this,Yh(this._delegate,e))}catch(e){throw Vd(e,"collection()","Firestore.collection()")}}doc(e){try{return new Pd(this,Jh(this._delegate,e))}catch(e){throw Vd(e,"doc()","Firestore.doc()")}}collectionGroup(e){try{return new jd(this,((e,t)=>{if(e=g(e,Qh),ze("collectionGroup","collection id",t),0<=t.indexOf("/"))throw new I(b.INVALID_ARGUMENT,`Invalid collection ID '${t}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);return new Hh(e,null,(e=t,new yi(T.emptyPath(),e)))})(this._delegate,e))}catch(e){throw Vd(e,"collectionGroup()","Firestore.collectionGroup()")}}runTransaction(t){return Ed(this._delegate,e=>t(new Md(this,e)))}batch(){return uc(this._delegate),new Od(new bd(this._delegate,e=>vd(this._delegate,e)))}loadBundle(e){return t=this._delegate,e=e,r=uc(t=g(t,U)),n=new ic,Bh(r,t._databaseId,e,n),n;var t,r,n}namedQuery(e){return t=this._delegate,e=e,qh(uc(t=g(t,U)),e).then(e=>e?new Hh(t,null,e.query):null).then(e=>e?new jd(this,e):null);var t}}class Rd extends ad{constructor(e){super(),this.firestore=e}convertBytes(e){return new Ad(new fc(e))}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return Pd.forKey(t,this.firestore,null)}}class Md{constructor(e,t){this._firestore=e,this._delegate=t,this._userDataWriter=new Rd(e)}get(e){let t=Qd(e);return this._delegate.get(t).then(e=>new Bd(this._firestore,new hd(this._firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,t.converter)))}set(e,t,r){var n=Qd(e);return r?(Sd("Transaction.set",r),this._delegate.set(n,t,r)):this._delegate.set(n,t),this}update(e,t,r,...n){var i=Qd(e);return 2===arguments.length?this._delegate.update(i,t):this._delegate.update(i,t,r,...n),this}delete(e){var t=Qd(e);return this._delegate.delete(t),this}}class Od{constructor(e){this._delegate=e}set(e,t,r){var n=Qd(e);return r?(Sd("WriteBatch.set",r),this._delegate.set(n,t,r)):this._delegate.set(n,t),this}update(e,t,r,...n){var i=Qd(e);return 2===arguments.length?this._delegate.update(i,t):this._delegate.update(i,t,r,...n),this}delete(e){var t=Qd(e);return this._delegate.delete(t),this}commit(){return this._delegate.commit()}}class Ld{constructor(e,t,r){this._firestore=e,this._userDataWriter=t,this._delegate=r}fromFirestore(e,t){var r=new cd(this._firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,null);return this._delegate.fromFirestore(new qd(this._firestore,r),t??{})}toFirestore(e,t){return t?this._delegate.toFirestore(e,t):this._delegate.toFirestore(e)}static getInstance(e,t){var r=Ld.INSTANCES;let n=r.get(e),i=(n||(n=new WeakMap,r.set(e,n)),n.get(t));return i||(i=new Ld(e,new Rd(e),t),n.set(t,i)),i}}Ld.INSTANCES=new WeakMap;class Pd{constructor(e,t){this.firestore=e,this._delegate=t,this._userDataWriter=new Rd(e)}static forPath(e,t,r){if(e.length%2!=0)throw new I("invalid-argument","Invalid document reference. Document references must have an even number of segments, but "+e.canonicalString()+" has "+e.length);return new Pd(t,new F(t._delegate,r,new x(e)))}static forKey(e,t,r){return new Pd(t,new F(t._delegate,r,e))}get id(){return this._delegate.id}get parent(){return new Kd(this.firestore,this._delegate.parent)}get path(){return this._delegate.path}collection(e){try{return new Kd(this.firestore,Yh(this._delegate,e))}catch(e){throw Vd(e,"collection()","DocumentReference.collection()")}}isEqual(e){return(e=_(e))instanceof F&&Xh(this._delegate,e)}set(e,t){t=Sd("DocumentReference.set",t);try{return t?md(this._delegate,e,t):md(this._delegate,e)}catch(e){throw Vd(e,"setDoc()","DocumentReference.set()")}}update(e,t,...r){try{return 1===arguments.length?pd(this._delegate,e):pd(this._delegate,e,t,...r)}catch(e){throw Vd(e,"updateDoc()","DocumentReference.update()")}}delete(){return vd(g((e=this._delegate).firestore,U),[new ds(e._key,P.none())]);var e}onSnapshot(...e){var t=Fd(e),r=Ud(e,e=>new Bd(this.firestore,new hd(this.firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,this._delegate.converter)));return yd(this._delegate,t,r)}get(e){let t;return(t=("cache"===e?.source?t=>{t=g(t,F);let r=g(t.firestore,U),e=uc(r),n=new gd(r);return Lh(e,t._key).then(e=>new hd(r,n,t._key,e,new ld(null!==e&&e.hasLocalMutations,!0),t.converter))}:"server"===e?.source?t=>{t=g(t,F);let r=g(t.firestore,U);return Ph(uc(r),t._key,{source:"server"}).then(e=>wd(r,t,e))}:t=>{t=g(t,F);let r=g(t.firestore,U);return Ph(uc(r),t._key).then(e=>wd(r,t,e))})(this._delegate)).then(e=>new Bd(this.firestore,new hd(this.firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,this._delegate.converter)))}withConverter(e){return new Pd(this.firestore,e?this._delegate.withConverter(Ld.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}function Vd(e,t,r){return e.message=e.message.replace(t,r),e}function Fd(e){for(var t of e)if("object"==typeof t&&!Dd(t))return t;return{}}function Ud(e,t){let r;return{next:e=>{r.next&&r.next(t(e))},error:(r=Dd(e[0])?e[0]:Dd(e[1])?e[1]:"function"==typeof e[0]?{next:e[0],error:e[1],complete:e[2]}:{next:e[1],error:e[2],complete:e[3]}).error?.bind(r),complete:r.complete?.bind(r)}}class Bd{constructor(e,t){this._firestore=e,this._delegate=t}get ref(){return new Pd(this._firestore,this._delegate.ref)}get id(){return this._delegate.id}get metadata(){return this._delegate.metadata}get exists(){return this._delegate.exists()}data(e){return this._delegate.data(e)}get(e,t){return this._delegate.get(e,t)}isEqual(e){return fd(this._delegate,e._delegate)}}class qd extends Bd{data(e){var t=this._delegate.data(e);return this._delegate._converter||(e="Document in a QueryDocumentSnapshot should exist",void 0!==t)||E(57014,e),t}}class jd{constructor(e,t){this.firestore=e,this._delegate=t,this._userDataWriter=new Rd(e)}where(e,t,r){try{return new jd(this.firestore,Yc(this._delegate,(n=r,i=t,s=Qc("where",e),Jc._create(s,i,n))))}catch(e){throw Vd(e,/(orderBy|where)\(\)/,"Query.$1()")}var n,i,s}orderBy(e,t){try{return new jd(this.firestore,Yc(this._delegate,([r,n="asc"]=[e,t],i=n,s=Qc("orderBy",r),Xc._create(s,i))))}catch(e){throw Vd(e,/(orderBy|where)\(\)/,"Query.$1()")}var r,n,i,s}limit(e){try{return new jd(this.firestore,Yc(this._delegate,(We("limit",t=e),Zc._create("limit",t,"F"))))}catch(e){throw Vd(e,"limit()","Query.limit()")}var t}limitToLast(e){try{return new jd(this.firestore,Yc(this._delegate,(We("limitToLast",t=e),Zc._create("limitToLast",t,"L"))))}catch(e){throw Vd(e,"limitToLast()","Query.limitToLast()")}var t}startAt(...e){try{return new jd(this.firestore,Yc(this._delegate,([...t]=[...e],ed._create("startAt",t,!0))))}catch(e){throw Vd(e,"startAt()","Query.startAt()")}var t}startAfter(...e){try{return new jd(this.firestore,Yc(this._delegate,([...t]=[...e],ed._create("startAfter",t,!1))))}catch(e){throw Vd(e,"startAfter()","Query.startAfter()")}var t}endBefore(...e){try{return new jd(this.firestore,Yc(this._delegate,([...t]=[...e],td._create("endBefore",t,!1))))}catch(e){throw Vd(e,"endBefore()","Query.endBefore()")}var t}endAt(...e){try{return new jd(this.firestore,Yc(this._delegate,([...t]=[...e],td._create("endAt",t,!0))))}catch(e){throw Vd(e,"endAt()","Query.endAt()")}var t}isEqual(e){return Zh(this._delegate,e._delegate)}get(e){let t;return(t=("cache"===e?.source?t=>{t=g(t,Hh);let r=g(t.firestore,U),e=uc(r),n=new gd(r);return Vh(e,t._query).then(e=>new dd(r,n,t,e))}:"server"===e?.source?t=>{t=g(t,Hh);let r=g(t.firestore,U),e=uc(r),n=new gd(r);return Fh(e,t._query,{source:"server"}).then(e=>new dd(r,n,t,e))}:t=>{t=g(t,Hh);let r=g(t.firestore,U),e=uc(r),n=new gd(r);return $c(t._query),Fh(e,t._query).then(e=>new dd(r,n,t,e))})(this._delegate)).then(e=>new Gd(this.firestore,new dd(this.firestore._delegate,this._userDataWriter,this._delegate,e._snapshot)))}onSnapshot(...e){var t=Fd(e),r=Ud(e,e=>new Gd(this.firestore,new dd(this.firestore._delegate,this._userDataWriter,this._delegate,e._snapshot)));return yd(this._delegate,t,r)}withConverter(e){return new jd(this.firestore,e?this._delegate.withConverter(Ld.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}class zd{constructor(e,t){this._firestore=e,this._delegate=t}get type(){return this._delegate.type}get doc(){return new qd(this._firestore,this._delegate.doc)}get oldIndex(){return this._delegate.oldIndex}get newIndex(){return this._delegate.newIndex}}class Gd{constructor(e,t){this._firestore=e,this._delegate=t}get query(){return new jd(this._firestore,this._delegate.query)}get metadata(){return this._delegate.metadata}get size(){return this._delegate.size}get empty(){return this._delegate.empty}get docs(){return this._delegate.docs.map(e=>new qd(this._firestore,e))}docChanges(e){return this._delegate.docChanges(e).map(e=>new zd(this._firestore,e))}forEach(t,r){this._delegate.forEach(e=>{t.call(r,new qd(this._firestore,e))})}isEqual(e){return fd(this._delegate,e._delegate)}}class Kd extends jd{constructor(e,t){super(e,t),this.firestore=e,this._delegate=t}get id(){return this._delegate.id}get path(){return this._delegate.path}get parent(){var e=this._delegate.parent;return e?new Pd(this.firestore,e):null}doc(e){try{return void 0===e?new Pd(this.firestore,Jh(this._delegate)):new Pd(this.firestore,Jh(this._delegate,e))}catch(e){throw Vd(e,"doc()","CollectionReference.doc()")}}add(e){return((e,t)=>{let r=g(e.firestore,U),n=Jh(e),i=od(e.converter,t);return vd(r,[Sc(Ec(e.firestore),"addDoc",n._key,i,null!==e.converter,{}).toMutation(n._key,P.exists(!1))]).then(()=>n)})(this._delegate,e).then(e=>new Pd(this.firestore,e))}isEqual(e){return Xh(this._delegate,e._delegate)}withConverter(e){return new Kd(this.firestore,e?this._delegate.withConverter(Ld.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}function Qd(e){return g(e,F)}class $d{static serverTimestamp(){var e=new Ac("serverTimestamp");return e._methodName="FieldValue.serverTimestamp",new $d(e)}static delete(){var e=new xc("deleteField");return e._methodName="FieldValue.delete",new $d(e)}static arrayUnion(...e){[...e]=[...e];var t=new Dc("arrayUnion",e);return t._methodName="FieldValue.arrayUnion",new $d(t)}static arrayRemove(...e){[...e]=[...e];var t=new Nc("arrayRemove",e);return t._methodName="FieldValue.arrayRemove",new $d(t)}static increment(e){e=e;var t=new kc("increment",e);return t._methodName="FieldValue.increment",new $d(t)}constructor(e){this._delegate=e}isEqual(e){return this._delegate.isEqual(e._delegate)}}let Hd={Firestore:kd,GeoPoint:pc,Timestamp:v,Blob:Ad,Transaction:Md,WriteBatch:Od,DocumentReference:Pd,DocumentSnapshot:Bd,Query:jd,QueryDocumentSnapshot:qd,QuerySnapshot:Gd,CollectionReference:Kd,FieldPath:class Wd{constructor(...e){this._delegate=new gc(...e)}static documentId(){return new Wd(h.keyField().canonicalString())}isEqual(e){return(e=_(e))instanceof gc&&this._delegate._internalPath.isEqual(e._internalPath)}},FieldValue:$d,setLogLevel:function(e){e=e,_e.setLogLevel(e)},CACHE_SIZE_UNLIMITED:-1};n=s.default,oc=(e,t)=>new kd(e,t,new Nd),n.INTERNAL.registerComponent(new le("firestore-compat",e=>{var t=e.getProvider("app-compat").getImmediate(),r=e.getProvider("firestore").getImmediate();return oc(t,r)},"PUBLIC").setServiceProps({...Hd})),n.registerVersion("@firebase/firestore-compat","0.4.2-canary.f5fc6bf76")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-firestore-compat.js - be sure to load firebase-app.js first.")}});
|
|
23
23
|
//# sourceMappingURL=firebase-firestore-compat.js.map
|