@blinkk/root-cms 3.1.3 → 3.1.5
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/dist/app.js +3 -5
- package/dist/{chunk-4VZTYUQ7.js → chunk-6CTCV2PN.js} +192 -14
- package/dist/{chunk-AFBSITEO.js → chunk-ETHWZSNM.js} +4 -0
- package/dist/chunk-MUXSUGFF.js +764 -0
- package/dist/cli.js +1 -1
- package/dist/client.js +1 -1
- package/dist/core/ai-tools.d.ts +82 -42
- package/dist/core/ai.d.ts +54 -218
- package/dist/core/plugin.d.ts +10 -4
- package/dist/core/schema.d.ts +88 -3
- package/dist/core.js +1 -1
- package/dist/functions.js +2 -3
- package/dist/plugin.js +43 -209
- package/dist/shared/ai/models.d.ts +110 -0
- package/dist/shared/ai/prompt-utils.d.ts +59 -0
- package/dist/ui/AIPage-25WICIOT.js +1 -0
- package/dist/ui/AssetsPage-WKTM2J2G.js +1 -0
- package/dist/ui/CollectionPage-5ZOVG7IG.js +1 -0
- package/dist/ui/ComparePage-DDIFYYTK.js +1 -0
- package/dist/ui/DataPage-RFNGSDDN.js +1 -0
- package/dist/ui/DataSourcePage-U46CDIH2.js +1 -0
- package/dist/ui/DocTranslationsPage-BFCM2PE3.js +1 -0
- package/dist/ui/DocumentPage-OTBXM55S.js +1 -0
- package/dist/ui/EditDataSourcePage-NKKIF6AD.js +1 -0
- package/dist/ui/EditReleasePage-TKNOUT7A.js +1 -0
- package/dist/ui/EmbeddedAIPage-4AX7VO3T.js +1 -0
- package/dist/ui/EmbeddedDocumentPage-2CNQJTW5.js +1 -0
- package/dist/ui/{ImageEditorDialog-GGS4VFEA.js → ImageEditorDialog-YDKOGVJV.js} +1 -1
- package/dist/ui/LogsPage-SCECIAZH.js +1 -0
- package/dist/ui/NewDataSourcePage-FAOPK2RZ.js +1 -0
- package/dist/ui/NewReleasePage-HD6T6UV2.js +1 -0
- package/dist/ui/{NotFoundPage-WXEZQZK6.js → NotFoundPage-JRYFUENW.js} +1 -1
- package/dist/ui/ProjectPage-2WIMWCSX.js +1 -0
- package/dist/ui/ReleasePage-GUMEMLF6.js +1 -0
- package/dist/ui/ReleasesPage-AW6PICTQ.js +1 -0
- package/dist/ui/SettingsPage-KFLNZ356.js +1 -0
- package/dist/ui/{SidebarToolsPage-API53RRR.js → SidebarToolsPage-3R7BQ2F7.js} +1 -1
- package/dist/ui/TaskPage-GZGPKIL5.js +1 -0
- package/dist/ui/TasksPage-G3GBTV3L.js +1 -0
- package/dist/ui/TranslationsArbPage-K272JEAA.js +2 -0
- package/dist/ui/TranslationsEditPage-XWXPNKRQ.js +1 -0
- package/dist/ui/{TranslationsPage-NGGZB4L6.js → TranslationsPage-7KUHVTLK.js} +1 -1
- package/dist/ui/ai-tools-7S4URTMT.js +1 -0
- package/dist/ui/{chunk-TVYAZN2Q.js → chunk-2FQMT5AB.js} +1 -1
- package/dist/ui/{chunk-J5E457OI.js → chunk-2PTLQRTU.js} +1 -1
- package/dist/ui/{chunk-UPDL6UXI.js → chunk-2RRM4HEQ.js} +1 -1
- package/dist/ui/{chunk-WYJJZTCI.js → chunk-34W6H4YG.js} +1 -1
- package/dist/ui/{chunk-4FGASIIX.js → chunk-44ZU5WMI.js} +1 -1
- package/dist/ui/{chunk-3E6CASIN.js → chunk-535JU7FU.js} +1 -1
- package/dist/ui/chunk-5KSGCGYY.js +1 -0
- package/dist/ui/{chunk-ZMS6NIGG.js → chunk-75NMQ3LW.js} +1 -1
- package/dist/ui/{chunk-Y3MCFLQU.js → chunk-7UHZS56B.js} +57 -57
- package/dist/ui/chunk-AAR7DBEN.js +110 -0
- package/dist/ui/{chunk-JS6TK4OP.js → chunk-ATTW36EM.js} +1 -1
- package/dist/ui/{chunk-DIFPCF7I.js → chunk-DWV5J2W7.js} +1 -1
- package/dist/ui/chunk-DZYYWCHX.js +3 -0
- package/dist/ui/chunk-F7RQT4XN.js +1 -0
- package/dist/ui/chunk-FVWSVOOY.js +1 -0
- package/dist/ui/chunk-GCSN3YEC.js +31 -0
- package/dist/ui/{chunk-CAY5NM4Z.js → chunk-H37RXS4R.js} +1 -1
- package/dist/ui/{chunk-JTIQBW33.js → chunk-HV3JJ5UT.js} +1 -1
- package/dist/ui/{chunk-MSYTAJBV.js → chunk-HXSB6YB2.js} +1 -1
- package/dist/ui/chunk-IGZDFHVM.js +1 -0
- package/dist/ui/chunk-ISUGBMXC.js +1 -0
- package/dist/ui/{chunk-G5ZZDHWA.js → chunk-JBLSUM6W.js} +1 -1
- package/dist/ui/{chunk-T77VOWHP.js → chunk-N5RJIILP.js} +1 -1
- package/dist/ui/{chunk-BW2MKGNP.js → chunk-NCZD5IWS.js} +1 -1
- package/dist/ui/chunk-NXWYS4HG.js +19 -0
- package/dist/ui/{chunk-FXIR2RBE.js → chunk-OWBT6YUM.js} +1 -1
- package/dist/ui/chunk-OWYV43BT.js +1 -0
- package/dist/ui/{chunk-QHJOTXYB.js → chunk-PIJ3E47R.js} +1 -1
- package/dist/ui/{chunk-ENQKSLGJ.js → chunk-PLYSJ7W5.js} +1 -1
- package/dist/ui/{chunk-FJLNXXE3.js → chunk-QFDU6FXP.js} +1 -1
- package/dist/ui/{chunk-P2Z66DHV.js → chunk-QLIIVG5Q.js} +1 -1
- package/dist/ui/{chunk-HARRKJFZ.js → chunk-QRAFYIAW.js} +1 -1
- package/dist/ui/{chunk-2EPQJUGM.js → chunk-QWB6MAPJ.js} +1 -1
- package/dist/ui/{chunk-W6LP22IK.js → chunk-RB23LLKL.js} +1 -1
- package/dist/ui/chunk-RN4XVVWD.js +1 -0
- package/dist/ui/{chunk-BOER3EAW.js → chunk-SYDHFYRC.js} +1 -1
- package/dist/ui/{chunk-NSI5JSVV.js → chunk-T5BJNOWE.js} +1 -1
- package/dist/ui/chunk-TNW2GNUR.js +1 -0
- package/dist/ui/{chunk-WFQU7V3W.js → chunk-UCYWQEAS.js} +1 -1
- package/dist/ui/{chunk-GT5EQSEX.js → chunk-UJX25CXD.js} +1 -1
- package/dist/ui/chunk-UPN3EMUS.js +1 -0
- package/dist/ui/{chunk-NJMNOITA.js → chunk-VPZHG7JL.js} +1 -1
- package/dist/ui/{chunk-BUNR5EU3.js → chunk-WASID5UU.js} +1 -1
- package/dist/ui/chunk-WC7KMPEQ.js +1 -0
- package/dist/ui/chunk-WRA24P66.js +7 -0
- package/dist/ui/{chunk-LROR6N3B.js.LEGAL.txt → chunk-WRA24P66.js.LEGAL.txt} +5 -1
- package/dist/ui/chunk-XACLTYBB.js +5 -0
- package/dist/ui/{chunk-VD6G5NV4.js → chunk-XOWWPE7X.js} +12 -12
- package/dist/ui/chunk-XUBZH4ON.js +1 -0
- package/dist/ui/{chunk-QF3GPZTI.js → chunk-Y5EOMMNI.js} +1 -1
- package/dist/ui/{chunk-NSOTG64N.js → chunk-YBHFGQ3Z.js} +1 -1
- package/dist/ui/chunk-YP6ZH3MT.js +1 -0
- package/dist/ui/{chunk-UUVAD4U4.js → chunk-Z3ZJJWFT.js} +1 -1
- package/dist/ui/ui.css +1 -1
- package/dist/ui/ui.js +1 -1
- package/package.json +3 -3
- package/dist/chunk-4G7S2LJH.js +0 -1411
- package/dist/chunk-AJDMNTZQ.js +0 -187
- package/dist/ui/AIPage-VOTAEVJE.js +0 -1
- package/dist/ui/AssetsPage-EWGRMRPJ.js +0 -1
- package/dist/ui/CollectionPage-N5JIAUDS.js +0 -1
- package/dist/ui/ComparePage-JDPVU2VA.js +0 -1
- package/dist/ui/DataPage-37D4CMLZ.js +0 -1
- package/dist/ui/DataSourcePage-LX5ASYQN.js +0 -1
- package/dist/ui/DocTranslationsPage-V5M4KB7X.js +0 -1
- package/dist/ui/DocumentPage-SURTQJPG.js +0 -1
- package/dist/ui/EditDataSourcePage-O7DOV5LX.js +0 -1
- package/dist/ui/EditReleasePage-NDYTKGXY.js +0 -1
- package/dist/ui/EmbeddedAIPage-RJOUIPF2.js +0 -1
- package/dist/ui/EmbeddedDocumentPage-SLEULNNI.js +0 -1
- package/dist/ui/LogsPage-ZGBP3I35.js +0 -1
- package/dist/ui/NewDataSourcePage-GQONTMP4.js +0 -1
- package/dist/ui/NewReleasePage-7ZKXHDTD.js +0 -1
- package/dist/ui/ProjectPage-F7W7X6YO.js +0 -1
- package/dist/ui/ReleasePage-ZKMNYPML.js +0 -1
- package/dist/ui/ReleasesPage-JHCE6AEJ.js +0 -1
- package/dist/ui/SettingsPage-MWCPZPGE.js +0 -1
- package/dist/ui/TaskPage-73NLAR4J.js +0 -1
- package/dist/ui/TasksPage-IKPW2OQO.js +0 -1
- package/dist/ui/TranslationsArbPage-QVN66DIW.js +0 -2
- package/dist/ui/TranslationsEditPage-ZOELF5PK.js +0 -1
- package/dist/ui/ai-tools-4DWMFQS6.js +0 -1
- package/dist/ui/chunk-2RAVKX2Z.js +0 -19
- package/dist/ui/chunk-344GZOGG.js +0 -84
- package/dist/ui/chunk-4ISFTE2G.js +0 -5
- package/dist/ui/chunk-BT2NTAW2.js +0 -1
- package/dist/ui/chunk-C2BLMTPR.js +0 -3
- package/dist/ui/chunk-D3UIZHRK.js +0 -1
- package/dist/ui/chunk-DS27MO63.js +0 -1
- package/dist/ui/chunk-HO3W4RVG.js +0 -1
- package/dist/ui/chunk-IOR72US3.js +0 -1
- package/dist/ui/chunk-KRNQ6L35.js +0 -1
- package/dist/ui/chunk-LROR6N3B.js +0 -7
- package/dist/ui/chunk-N3JSLTMV.js +0 -1
- package/dist/ui/chunk-PPYM4O5N.js +0 -1
- package/dist/ui/chunk-TOGLZDK3.js +0 -1
- package/dist/ui/chunk-TPJCPCRR.js +0 -1
- package/dist/ui/chunk-VPHBKJ3I.js +0 -1
- package/dist/ui/chunk-YUU6LWQK.js +0 -1
- package/dist/ui/chunk-Z6DBYLIM.js +0 -1
- /package/dist/ui/{ImageEditorDialog-GGS4VFEA.js.LEGAL.txt → ImageEditorDialog-YDKOGVJV.js.LEGAL.txt} +0 -0
- /package/dist/ui/{chunk-Y3MCFLQU.js.LEGAL.txt → chunk-7UHZS56B.js.LEGAL.txt} +0 -0
- /package/dist/ui/{chunk-NJMNOITA.js.LEGAL.txt → chunk-VPZHG7JL.js.LEGAL.txt} +0 -0
- /package/dist/ui/{chunk-VD6G5NV4.js.LEGAL.txt → chunk-XOWWPE7X.js.LEGAL.txt} +0 -0
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import{A as Cu,B as xu,C as Du,D as Nu,E as ku,H as Hs,e as Qs,f as Su,i as bu,o as Ru,p as Pu,s as Ws,x as wt,y as Vu,z as kt}from"./chunk-DTMZLUNY.js";var Mu=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ou={};var Gt,Js;(function(){var n;function t(E,g){function y(){}y.prototype=g.prototype,E.D=g.prototype,E.prototype=new y,E.prototype.constructor=E,E.C=function(_,w,v){for(var p=Array(arguments.length-2),Ut=2;Ut<arguments.length;Ut++)p[Ut-2]=arguments[Ut];return g.prototype[w].apply(_,p)}}function e(){this.blockSize=-1}function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.B=Array(this.blockSize),this.o=this.h=0,this.s()}t(r,e),r.prototype.s=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0};function i(E,g,y){y||(y=0);var _=Array(16);if(typeof g=="string")for(var w=0;16>w;++w)_[w]=g.charCodeAt(y++)|g.charCodeAt(y++)<<8|g.charCodeAt(y++)<<16|g.charCodeAt(y++)<<24;else for(w=0;16>w;++w)_[w]=g[y++]|g[y++]<<8|g[y++]<<16|g[y++]<<24;g=E.g[0],y=E.g[1],w=E.g[2];var v=E.g[3],p=g+(v^y&(w^v))+_[0]+3614090360&4294967295;g=y+(p<<7&4294967295|p>>>25),p=v+(w^g&(y^w))+_[1]+3905402710&4294967295,v=g+(p<<12&4294967295|p>>>20),p=w+(y^v&(g^y))+_[2]+606105819&4294967295,w=v+(p<<17&4294967295|p>>>15),p=y+(g^w&(v^g))+_[3]+3250441966&4294967295,y=w+(p<<22&4294967295|p>>>10),p=g+(v^y&(w^v))+_[4]+4118548399&4294967295,g=y+(p<<7&4294967295|p>>>25),p=v+(w^g&(y^w))+_[5]+1200080426&4294967295,v=g+(p<<12&4294967295|p>>>20),p=w+(y^v&(g^y))+_[6]+2821735955&4294967295,w=v+(p<<17&4294967295|p>>>15),p=y+(g^w&(v^g))+_[7]+4249261313&4294967295,y=w+(p<<22&4294967295|p>>>10),p=g+(v^y&(w^v))+_[8]+1770035416&4294967295,g=y+(p<<7&4294967295|p>>>25),p=v+(w^g&(y^w))+_[9]+2336552879&4294967295,v=g+(p<<12&4294967295|p>>>20),p=w+(y^v&(g^y))+_[10]+4294925233&4294967295,w=v+(p<<17&4294967295|p>>>15),p=y+(g^w&(v^g))+_[11]+2304563134&4294967295,y=w+(p<<22&4294967295|p>>>10),p=g+(v^y&(w^v))+_[12]+1804603682&4294967295,g=y+(p<<7&4294967295|p>>>25),p=v+(w^g&(y^w))+_[13]+4254626195&4294967295,v=g+(p<<12&4294967295|p>>>20),p=w+(y^v&(g^y))+_[14]+2792965006&4294967295,w=v+(p<<17&4294967295|p>>>15),p=y+(g^w&(v^g))+_[15]+1236535329&4294967295,y=w+(p<<22&4294967295|p>>>10),p=g+(w^v&(y^w))+_[1]+4129170786&4294967295,g=y+(p<<5&4294967295|p>>>27),p=v+(y^w&(g^y))+_[6]+3225465664&4294967295,v=g+(p<<9&4294967295|p>>>23),p=w+(g^y&(v^g))+_[11]+643717713&4294967295,w=v+(p<<14&4294967295|p>>>18),p=y+(v^g&(w^v))+_[0]+3921069994&4294967295,y=w+(p<<20&4294967295|p>>>12),p=g+(w^v&(y^w))+_[5]+3593408605&4294967295,g=y+(p<<5&4294967295|p>>>27),p=v+(y^w&(g^y))+_[10]+38016083&4294967295,v=g+(p<<9&4294967295|p>>>23),p=w+(g^y&(v^g))+_[15]+3634488961&4294967295,w=v+(p<<14&4294967295|p>>>18),p=y+(v^g&(w^v))+_[4]+3889429448&4294967295,y=w+(p<<20&4294967295|p>>>12),p=g+(w^v&(y^w))+_[9]+568446438&4294967295,g=y+(p<<5&4294967295|p>>>27),p=v+(y^w&(g^y))+_[14]+3275163606&4294967295,v=g+(p<<9&4294967295|p>>>23),p=w+(g^y&(v^g))+_[3]+4107603335&4294967295,w=v+(p<<14&4294967295|p>>>18),p=y+(v^g&(w^v))+_[8]+1163531501&4294967295,y=w+(p<<20&4294967295|p>>>12),p=g+(w^v&(y^w))+_[13]+2850285829&4294967295,g=y+(p<<5&4294967295|p>>>27),p=v+(y^w&(g^y))+_[2]+4243563512&4294967295,v=g+(p<<9&4294967295|p>>>23),p=w+(g^y&(v^g))+_[7]+1735328473&4294967295,w=v+(p<<14&4294967295|p>>>18),p=y+(v^g&(w^v))+_[12]+2368359562&4294967295,y=w+(p<<20&4294967295|p>>>12),p=g+(y^w^v)+_[5]+4294588738&4294967295,g=y+(p<<4&4294967295|p>>>28),p=v+(g^y^w)+_[8]+2272392833&4294967295,v=g+(p<<11&4294967295|p>>>21),p=w+(v^g^y)+_[11]+1839030562&4294967295,w=v+(p<<16&4294967295|p>>>16),p=y+(w^v^g)+_[14]+4259657740&4294967295,y=w+(p<<23&4294967295|p>>>9),p=g+(y^w^v)+_[1]+2763975236&4294967295,g=y+(p<<4&4294967295|p>>>28),p=v+(g^y^w)+_[4]+1272893353&4294967295,v=g+(p<<11&4294967295|p>>>21),p=w+(v^g^y)+_[7]+4139469664&4294967295,w=v+(p<<16&4294967295|p>>>16),p=y+(w^v^g)+_[10]+3200236656&4294967295,y=w+(p<<23&4294967295|p>>>9),p=g+(y^w^v)+_[13]+681279174&4294967295,g=y+(p<<4&4294967295|p>>>28),p=v+(g^y^w)+_[0]+3936430074&4294967295,v=g+(p<<11&4294967295|p>>>21),p=w+(v^g^y)+_[3]+3572445317&4294967295,w=v+(p<<16&4294967295|p>>>16),p=y+(w^v^g)+_[6]+76029189&4294967295,y=w+(p<<23&4294967295|p>>>9),p=g+(y^w^v)+_[9]+3654602809&4294967295,g=y+(p<<4&4294967295|p>>>28),p=v+(g^y^w)+_[12]+3873151461&4294967295,v=g+(p<<11&4294967295|p>>>21),p=w+(v^g^y)+_[15]+530742520&4294967295,w=v+(p<<16&4294967295|p>>>16),p=y+(w^v^g)+_[2]+3299628645&4294967295,y=w+(p<<23&4294967295|p>>>9),p=g+(w^(y|~v))+_[0]+4096336452&4294967295,g=y+(p<<6&4294967295|p>>>26),p=v+(y^(g|~w))+_[7]+1126891415&4294967295,v=g+(p<<10&4294967295|p>>>22),p=w+(g^(v|~y))+_[14]+2878612391&4294967295,w=v+(p<<15&4294967295|p>>>17),p=y+(v^(w|~g))+_[5]+4237533241&4294967295,y=w+(p<<21&4294967295|p>>>11),p=g+(w^(y|~v))+_[12]+1700485571&4294967295,g=y+(p<<6&4294967295|p>>>26),p=v+(y^(g|~w))+_[3]+2399980690&4294967295,v=g+(p<<10&4294967295|p>>>22),p=w+(g^(v|~y))+_[10]+4293915773&4294967295,w=v+(p<<15&4294967295|p>>>17),p=y+(v^(w|~g))+_[1]+2240044497&4294967295,y=w+(p<<21&4294967295|p>>>11),p=g+(w^(y|~v))+_[8]+1873313359&4294967295,g=y+(p<<6&4294967295|p>>>26),p=v+(y^(g|~w))+_[15]+4264355552&4294967295,v=g+(p<<10&4294967295|p>>>22),p=w+(g^(v|~y))+_[6]+2734768916&4294967295,w=v+(p<<15&4294967295|p>>>17),p=y+(v^(w|~g))+_[13]+1309151649&4294967295,y=w+(p<<21&4294967295|p>>>11),p=g+(w^(y|~v))+_[4]+4149444226&4294967295,g=y+(p<<6&4294967295|p>>>26),p=v+(y^(g|~w))+_[11]+3174756917&4294967295,v=g+(p<<10&4294967295|p>>>22),p=w+(g^(v|~y))+_[2]+718787259&4294967295,w=v+(p<<15&4294967295|p>>>17),p=y+(v^(w|~g))+_[9]+3951481745&4294967295,E.g[0]=E.g[0]+g&4294967295,E.g[1]=E.g[1]+(w+(p<<21&4294967295|p>>>11))&4294967295,E.g[2]=E.g[2]+w&4294967295,E.g[3]=E.g[3]+v&4294967295}r.prototype.u=function(E,g){g===void 0&&(g=E.length);for(var y=g-this.blockSize,_=this.B,w=this.h,v=0;v<g;){if(w==0)for(;v<=y;)i(this,E,v),v+=this.blockSize;if(typeof E=="string"){for(;v<g;)if(_[w++]=E.charCodeAt(v++),w==this.blockSize){i(this,_),w=0;break}}else for(;v<g;)if(_[w++]=E[v++],w==this.blockSize){i(this,_),w=0;break}}this.h=w,this.o+=g},r.prototype.v=function(){var E=Array((56>this.h?this.blockSize:2*this.blockSize)-this.h);E[0]=128;for(var g=1;g<E.length-8;++g)E[g]=0;var y=8*this.o;for(g=E.length-8;g<E.length;++g)E[g]=y&255,y/=256;for(this.u(E),E=Array(16),g=y=0;4>g;++g)for(var _=0;32>_;_+=8)E[y++]=this.g[g]>>>_&255;return E};function o(E,g){var y=l;return Object.prototype.hasOwnProperty.call(y,E)?y[E]:y[E]=g(E)}function u(E,g){this.h=g;for(var y=[],_=!0,w=E.length-1;0<=w;w--){var v=E[w]|0;_&&v==g||(y[w]=v,_=!1)}this.g=y}var l={};function h(E){return-128<=E&&128>E?o(E,function(g){return new u([g|0],0>g?-1:0)}):new u([E|0],0>E?-1:0)}function f(E){if(isNaN(E)||!isFinite(E))return T;if(0>E)return C(f(-E));for(var g=[],y=1,_=0;E>=y;_++)g[_]=E/y|0,y*=4294967296;return new u(g,0)}function m(E,g){if(E.length==0)throw Error("number format error: empty string");if(g=g||10,2>g||36<g)throw Error("radix out of range: "+g);if(E.charAt(0)=="-")return C(m(E.substring(1),g));if(0<=E.indexOf("-"))throw Error('number format error: interior "-" character');for(var y=f(Math.pow(g,8)),_=T,w=0;w<E.length;w+=8){var v=Math.min(8,E.length-w),p=parseInt(E.substring(w,w+v),g);8>v?(v=f(Math.pow(g,v)),_=_.j(v).add(f(p))):(_=_.j(y),_=_.add(f(p)))}return _}var T=h(0),A=h(1),R=h(16777216);n=u.prototype,n.m=function(){if(k(this))return-C(this).m();for(var E=0,g=1,y=0;y<this.g.length;y++){var _=this.i(y);E+=(0<=_?_:4294967296+_)*g,g*=4294967296}return E},n.toString=function(E){if(E=E||10,2>E||36<E)throw Error("radix out of range: "+E);if(D(this))return"0";if(k(this))return"-"+C(this).toString(E);for(var g=f(Math.pow(E,6)),y=this,_="";;){var w=pt(y,g).g;y=G(y,w.j(g));var v=((0<y.g.length?y.g[0]:y.h)>>>0).toString(E);if(y=w,D(y))return v+_;for(;6>v.length;)v="0"+v;_=v+_}},n.i=function(E){return 0>E?0:E<this.g.length?this.g[E]:this.h};function D(E){if(E.h!=0)return!1;for(var g=0;g<E.g.length;g++)if(E.g[g]!=0)return!1;return!0}function k(E){return E.h==-1}n.l=function(E){return E=G(this,E),k(E)?-1:D(E)?0:1};function C(E){for(var g=E.g.length,y=[],_=0;_<g;_++)y[_]=~E.g[_];return new u(y,~E.h).add(A)}n.abs=function(){return k(this)?C(this):this},n.add=function(E){for(var g=Math.max(this.g.length,E.g.length),y=[],_=0,w=0;w<=g;w++){var v=_+(this.i(w)&65535)+(E.i(w)&65535),p=(v>>>16)+(this.i(w)>>>16)+(E.i(w)>>>16);_=p>>>16,v&=65535,p&=65535,y[w]=p<<16|v}return new u(y,y[y.length-1]&-2147483648?-1:0)};function G(E,g){return E.add(C(g))}n.j=function(E){if(D(this)||D(E))return T;if(k(this))return k(E)?C(this).j(C(E)):C(C(this).j(E));if(k(E))return C(this.j(C(E)));if(0>this.l(R)&&0>E.l(R))return f(this.m()*E.m());for(var g=this.g.length+E.g.length,y=[],_=0;_<2*g;_++)y[_]=0;for(_=0;_<this.g.length;_++)for(var w=0;w<E.g.length;w++){var v=this.i(_)>>>16,p=this.i(_)&65535,Ut=E.i(w)>>>16,hn=E.i(w)&65535;y[2*_+2*w]+=p*hn,K(y,2*_+2*w),y[2*_+2*w+1]+=v*hn,K(y,2*_+2*w+1),y[2*_+2*w+1]+=p*Ut,K(y,2*_+2*w+1),y[2*_+2*w+2]+=v*Ut,K(y,2*_+2*w+2)}for(_=0;_<g;_++)y[_]=y[2*_+1]<<16|y[2*_];for(_=g;_<2*g;_++)y[_]=0;return new u(y,0)};function K(E,g){for(;(E[g]&65535)!=E[g];)E[g+1]+=E[g]>>>16,E[g]&=65535,g++}function $(E,g){this.g=E,this.h=g}function pt(E,g){if(D(g))throw Error("division by zero");if(D(E))return new $(T,T);if(k(E))return g=pt(C(E),g),new $(C(g.g),C(g.h));if(k(g))return g=pt(E,C(g)),new $(C(g.g),g.h);if(30<E.g.length){if(k(E)||k(g))throw Error("slowDivide_ only works with positive integers.");for(var y=A,_=g;0>=_.l(E);)y=Nt(y),_=Nt(_);var w=ut(y,1),v=ut(_,1);for(_=ut(_,2),y=ut(y,2);!D(_);){var p=v.add(_);0>=p.l(E)&&(w=w.add(y),v=p),_=ut(_,1),y=ut(y,1)}return g=G(E,w.j(g)),new $(w,g)}for(w=T;0<=E.l(g);){for(y=Math.max(1,Math.floor(E.m()/g.m())),_=Math.ceil(Math.log(y)/Math.LN2),_=48>=_?1:Math.pow(2,_-48),v=f(y),p=v.j(g);k(p)||0<p.l(E);)y-=_,v=f(y),p=v.j(g);D(v)&&(v=A),w=w.add(v),E=G(E,p)}return new $(w,E)}n.A=function(E){return pt(this,E).h},n.and=function(E){for(var g=Math.max(this.g.length,E.g.length),y=[],_=0;_<g;_++)y[_]=this.i(_)&E.i(_);return new u(y,this.h&E.h)},n.or=function(E){for(var g=Math.max(this.g.length,E.g.length),y=[],_=0;_<g;_++)y[_]=this.i(_)|E.i(_);return new u(y,this.h|E.h)},n.xor=function(E){for(var g=Math.max(this.g.length,E.g.length),y=[],_=0;_<g;_++)y[_]=this.i(_)^E.i(_);return new u(y,this.h^E.h)};function Nt(E){for(var g=E.g.length+1,y=[],_=0;_<g;_++)y[_]=E.i(_)<<1|E.i(_-1)>>>31;return new u(y,E.h)}function ut(E,g){var y=g>>5;g%=32;for(var _=E.g.length-y,w=[],v=0;v<_;v++)w[v]=0<g?E.i(v+y)>>>g|E.i(v+y+1)<<32-g:E.i(v+y);return new u(w,E.h)}r.prototype.digest=r.prototype.v,r.prototype.reset=r.prototype.s,r.prototype.update=r.prototype.u,Js=Ou.Md5=r,u.prototype.add=u.prototype.add,u.prototype.multiply=u.prototype.j,u.prototype.modulo=u.prototype.A,u.prototype.compare=u.prototype.l,u.prototype.toNumber=u.prototype.m,u.prototype.toString=u.prototype.toString,u.prototype.getBits=u.prototype.i,u.fromNumber=f,u.fromString=m,Gt=Ou.Integer=u}).apply(typeof Mu<"u"?Mu:typeof self<"u"?self:typeof window<"u"?window:{});var Tr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},zt={};var Xs,xh,Fe,Ys,Cn,Ir,Zs,ti,ei;(function(){var n,t=typeof Object.defineProperties=="function"?Object.defineProperty:function(s,a,c){return s==Array.prototype||s==Object.prototype||(s[a]=c.value),s};function e(s){s=[typeof globalThis=="object"&&globalThis,s,typeof window=="object"&&window,typeof self=="object"&&self,typeof Tr=="object"&&Tr];for(var a=0;a<s.length;++a){var c=s[a];if(c&&c.Math==Math)return c}throw Error("Cannot find global object")}var r=e(this);function i(s,a){if(a)t:{var c=r;s=s.split(".");for(var d=0;d<s.length-1;d++){var I=s[d];if(!(I in c))break t;c=c[I]}s=s[s.length-1],d=c[s],a=a(d),a!=d&&a!=null&&t(c,s,{configurable:!0,writable:!0,value:a})}}function o(s,a){s instanceof String&&(s+="");var c=0,d=!1,I={next:function(){if(!d&&c<s.length){var S=c++;return{value:a(S,s[S]),done:!1}}return d=!0,{done:!0,value:void 0}}};return I[Symbol.iterator]=function(){return I},I}i("Array.prototype.values",function(s){return s||function(){return o(this,function(a,c){return c})}});var u=u||{},l=this||self;function h(s){var a=typeof s;return a=a!="object"?a:s?Array.isArray(s)?"array":a:"null",a=="array"||a=="object"&&typeof s.length=="number"}function f(s){var a=typeof s;return a=="object"&&s!=null||a=="function"}function m(s,a,c){return s.call.apply(s.bind,arguments)}function T(s,a,c){if(!s)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var I=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(I,d),s.apply(a,I)}}return function(){return s.apply(a,arguments)}}function A(s,a,c){return A=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?m:T,A.apply(null,arguments)}function R(s,a){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),s.apply(this,d)}}function D(s,a){function c(){}c.prototype=a.prototype,s.aa=a.prototype,s.prototype=new c,s.prototype.constructor=s,s.Qb=function(d,I,S){for(var x=Array(arguments.length-2),Q=2;Q<arguments.length;Q++)x[Q-2]=arguments[Q];return a.prototype[I].apply(d,x)}}function k(s){let a=s.length;if(0<a){let c=Array(a);for(let d=0;d<a;d++)c[d]=s[d];return c}return[]}function C(s,a){for(let c=1;c<arguments.length;c++){let d=arguments[c];if(h(d)){let I=s.length||0,S=d.length||0;s.length=I+S;for(let x=0;x<S;x++)s[I+x]=d[x]}else s.push(d)}}class G{constructor(a,c){this.i=a,this.j=c,this.h=0,this.g=null}get(){let a;return 0<this.h?(this.h--,a=this.g,this.g=a.next,a.next=null):a=this.i(),a}}function K(s){return/^[\s\xa0]*$/.test(s)}function $(){var s=l.navigator;return s&&(s=s.userAgent)?s:""}function pt(s){return pt[" "](s),s}pt[" "]=function(){};var Nt=$().indexOf("Gecko")!=-1&&!($().toLowerCase().indexOf("webkit")!=-1&&$().indexOf("Edge")==-1)&&!($().indexOf("Trident")!=-1||$().indexOf("MSIE")!=-1)&&$().indexOf("Edge")==-1;function ut(s,a,c){for(let d in s)a.call(c,s[d],d,s)}function E(s,a){for(let c in s)a.call(void 0,s[c],c,s)}function g(s){let a={};for(let c in s)a[c]=s[c];return a}let y="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function _(s,a){let c,d;for(let I=1;I<arguments.length;I++){d=arguments[I];for(c in d)s[c]=d[c];for(let S=0;S<y.length;S++)c=y[S],Object.prototype.hasOwnProperty.call(d,c)&&(s[c]=d[c])}}function w(s){var a=1;s=s.split(":");let c=[];for(;0<a&&s.length;)c.push(s.shift()),a--;return s.length&&c.push(s.join(":")),c}function v(s){l.setTimeout(()=>{throw s},0)}function p(){var s=Es;let a=null;return s.g&&(a=s.g,s.g=s.g.next,s.g||(s.h=null),a.next=null),a}class Ut{constructor(){this.h=this.g=null}add(a,c){let d=hn.get();d.set(a,c),this.h?this.h.next=d:this.g=d,this.h=d}}var hn=new G(()=>new Xl,s=>s.reset());class Xl{constructor(){this.next=this.g=this.h=null}set(a,c){this.h=a,this.g=c,this.next=null}reset(){this.next=this.g=this.h=null}}let dn,fn=!1,Es=new Ut,Aa=()=>{let s=l.Promise.resolve(void 0);dn=()=>{s.then(Yl)}};var Yl=()=>{for(var s;s=p();){try{s.h.call(s.g)}catch(c){v(c)}var a=hn;a.j(s),100>a.h&&(a.h++,s.next=a.g,a.g=s)}fn=!1};function Yt(){this.s=this.s,this.C=this.C}Yt.prototype.s=!1,Yt.prototype.ma=function(){this.s||(this.s=!0,this.N())},Yt.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function ct(s,a){this.type=s,this.g=this.target=a,this.defaultPrevented=!1}ct.prototype.h=function(){this.defaultPrevented=!0};var Zl=(function(){if(!l.addEventListener||!Object.defineProperty)return!1;var s=!1,a=Object.defineProperty({},"passive",{get:function(){s=!0}});try{let c=()=>{};l.addEventListener("test",c,a),l.removeEventListener("test",c,a)}catch{}return s})();function mn(s,a){if(ct.call(this,s?s.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,s){var c=this.type=s.type,d=s.changedTouches&&s.changedTouches.length?s.changedTouches[0]:null;if(this.target=s.target||s.srcElement,this.g=a,a=s.relatedTarget){if(Nt){t:{try{pt(a.nodeName);var I=!0;break t}catch{}I=!1}I||(a=null)}}else c=="mouseover"?a=s.fromElement:c=="mouseout"&&(a=s.toElement);this.relatedTarget=a,d?(this.clientX=d.clientX!==void 0?d.clientX:d.pageX,this.clientY=d.clientY!==void 0?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0):(this.clientX=s.clientX!==void 0?s.clientX:s.pageX,this.clientY=s.clientY!==void 0?s.clientY:s.pageY,this.screenX=s.screenX||0,this.screenY=s.screenY||0),this.button=s.button,this.key=s.key||"",this.ctrlKey=s.ctrlKey,this.altKey=s.altKey,this.shiftKey=s.shiftKey,this.metaKey=s.metaKey,this.pointerId=s.pointerId||0,this.pointerType=typeof s.pointerType=="string"?s.pointerType:th[s.pointerType]||"",this.state=s.state,this.i=s,s.defaultPrevented&&mn.aa.h.call(this)}}D(mn,ct);var th={2:"touch",3:"pen",4:"mouse"};mn.prototype.h=function(){mn.aa.h.call(this);var s=this.i;s.preventDefault?s.preventDefault():s.returnValue=!1};var gn="closure_listenable_"+(1e6*Math.random()|0),eh=0;function nh(s,a,c,d,I){this.listener=s,this.proxy=null,this.src=a,this.type=c,this.capture=!!d,this.ha=I,this.key=++eh,this.da=this.fa=!1}function rr(s){s.da=!0,s.listener=null,s.proxy=null,s.src=null,s.ha=null}function sr(s){this.src=s,this.g={},this.h=0}sr.prototype.add=function(s,a,c,d,I){var S=s.toString();s=this.g[S],s||(s=this.g[S]=[],this.h++);var x=As(s,a,d,I);return-1<x?(a=s[x],c||(a.fa=!1)):(a=new nh(a,this.src,S,!!d,I),a.fa=c,s.push(a)),a};function vs(s,a){var c=a.type;if(c in s.g){var d=s.g[c],I=Array.prototype.indexOf.call(d,a,void 0),S;(S=0<=I)&&Array.prototype.splice.call(d,I,1),S&&(rr(a),s.g[c].length==0&&(delete s.g[c],s.h--))}}function As(s,a,c,d){for(var I=0;I<s.length;++I){var S=s[I];if(!S.da&&S.listener==a&&S.capture==!!c&&S.ha==d)return I}return-1}var Ss="closure_lm_"+(1e6*Math.random()|0),bs={};function Sa(s,a,c,d,I){if(d&&d.once)return Ra(s,a,c,d,I);if(Array.isArray(a)){for(var S=0;S<a.length;S++)Sa(s,a[S],c,d,I);return null}return c=Cs(c),s&&s[gn]?s.K(a,c,f(d)?!!d.capture:!!d,I):ba(s,a,c,!1,d,I)}function ba(s,a,c,d,I,S){if(!a)throw Error("Invalid event type");var x=f(I)?!!I.capture:!!I,Q=Ps(s);if(Q||(s[Ss]=Q=new sr(s)),c=Q.add(a,c,d,x,S),c.proxy)return c;if(d=rh(),c.proxy=d,d.src=s,d.listener=c,s.addEventListener)Zl||(I=x),I===void 0&&(I=!1),s.addEventListener(a.toString(),d,I);else if(s.attachEvent)s.attachEvent(Va(a.toString()),d);else if(s.addListener&&s.removeListener)s.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");return c}function rh(){function s(c){return a.call(s.src,s.listener,c)}let a=sh;return s}function Ra(s,a,c,d,I){if(Array.isArray(a)){for(var S=0;S<a.length;S++)Ra(s,a[S],c,d,I);return null}return c=Cs(c),s&&s[gn]?s.L(a,c,f(d)?!!d.capture:!!d,I):ba(s,a,c,!0,d,I)}function Pa(s,a,c,d,I){if(Array.isArray(a))for(var S=0;S<a.length;S++)Pa(s,a[S],c,d,I);else d=f(d)?!!d.capture:!!d,c=Cs(c),s&&s[gn]?(s=s.i,a=String(a).toString(),a in s.g&&(S=s.g[a],c=As(S,c,d,I),-1<c&&(rr(S[c]),Array.prototype.splice.call(S,c,1),S.length==0&&(delete s.g[a],s.h--)))):s&&(s=Ps(s))&&(a=s.g[a.toString()],s=-1,a&&(s=As(a,c,d,I)),(c=-1<s?a[s]:null)&&Rs(c))}function Rs(s){if(typeof s!="number"&&s&&!s.da){var a=s.src;if(a&&a[gn])vs(a.i,s);else{var c=s.type,d=s.proxy;a.removeEventListener?a.removeEventListener(c,d,s.capture):a.detachEvent?a.detachEvent(Va(c),d):a.addListener&&a.removeListener&&a.removeListener(d),(c=Ps(a))?(vs(c,s),c.h==0&&(c.src=null,a[Ss]=null)):rr(s)}}}function Va(s){return s in bs?bs[s]:bs[s]="on"+s}function sh(s,a){if(s.da)s=!0;else{a=new mn(a,this);var c=s.listener,d=s.ha||s.src;s.fa&&Rs(s),s=c.call(d,a)}return s}function Ps(s){return s=s[Ss],s instanceof sr?s:null}var Vs="__closure_events_fn_"+(1e9*Math.random()>>>0);function Cs(s){return typeof s=="function"?s:(s[Vs]||(s[Vs]=function(a){return s.handleEvent(a)}),s[Vs])}function lt(){Yt.call(this),this.i=new sr(this),this.M=this,this.F=null}D(lt,Yt),lt.prototype[gn]=!0,lt.prototype.removeEventListener=function(s,a,c,d){Pa(this,s,a,c,d)};function yt(s,a){var c,d=s.F;if(d)for(c=[];d;d=d.F)c.push(d);if(s=s.M,d=a.type||a,typeof a=="string")a=new ct(a,s);else if(a instanceof ct)a.target=a.target||s;else{var I=a;a=new ct(d,s),_(a,I)}if(I=!0,c)for(var S=c.length-1;0<=S;S--){var x=a.g=c[S];I=ir(x,d,!0,a)&&I}if(x=a.g=s,I=ir(x,d,!0,a)&&I,I=ir(x,d,!1,a)&&I,c)for(S=0;S<c.length;S++)x=a.g=c[S],I=ir(x,d,!1,a)&&I}lt.prototype.N=function(){if(lt.aa.N.call(this),this.i){var s=this.i,a;for(a in s.g){for(var c=s.g[a],d=0;d<c.length;d++)rr(c[d]);delete s.g[a],s.h--}}this.F=null},lt.prototype.K=function(s,a,c,d){return this.i.add(String(s),a,!1,c,d)},lt.prototype.L=function(s,a,c,d){return this.i.add(String(s),a,!0,c,d)};function ir(s,a,c,d){if(a=s.i.g[String(a)],!a)return!0;a=a.concat();for(var I=!0,S=0;S<a.length;++S){var x=a[S];if(x&&!x.da&&x.capture==c){var Q=x.listener,ot=x.ha||x.src;x.fa&&vs(s.i,x),I=Q.call(ot,d)!==!1&&I}}return I&&!d.defaultPrevented}function Ca(s,a,c){if(typeof s=="function")c&&(s=A(s,c));else if(s&&typeof s.handleEvent=="function")s=A(s.handleEvent,s);else throw Error("Invalid listener argument");return 2147483647<Number(a)?-1:l.setTimeout(s,a||0)}function xa(s){s.g=Ca(()=>{s.g=null,s.i&&(s.i=!1,xa(s))},s.l);let a=s.h;s.h=null,s.m.apply(null,a)}class ih extends Yt{constructor(a,c){super(),this.m=a,this.l=c,this.h=null,this.i=!1,this.g=null}j(a){this.h=arguments,this.g?this.i=!0:xa(this)}N(){super.N(),this.g&&(l.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function pn(s){Yt.call(this),this.h=s,this.g={}}D(pn,Yt);var Da=[];function Na(s){ut(s.g,function(a,c){this.g.hasOwnProperty(c)&&Rs(a)},s),s.g={}}pn.prototype.N=function(){pn.aa.N.call(this),Na(this)},pn.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var xs=l.JSON.stringify,oh=l.JSON.parse,ah=class{stringify(s){return l.JSON.stringify(s,void 0)}parse(s){return l.JSON.parse(s,void 0)}};function Ds(){}Ds.prototype.h=null;function ka(s){return s.h||(s.h=s.i())}function Ma(){}var yn={OPEN:"a",kb:"b",Ja:"c",wb:"d"};function Ns(){ct.call(this,"d")}D(Ns,ct);function ks(){ct.call(this,"c")}D(ks,ct);var me={},Oa=null;function or(){return Oa=Oa||new lt}me.La="serverreachability";function Fa(s){ct.call(this,me.La,s)}D(Fa,ct);function _n(s){let a=or();yt(a,new Fa(a))}me.STAT_EVENT="statevent";function La(s,a){ct.call(this,me.STAT_EVENT,s),this.stat=a}D(La,ct);function _t(s){let a=or();yt(a,new La(a,s))}me.Ma="timingevent";function qa(s,a){ct.call(this,me.Ma,s),this.size=a}D(qa,ct);function wn(s,a){if(typeof s!="function")throw Error("Fn must not be null and must be a function");return l.setTimeout(function(){s()},a)}function Tn(){this.g=!0}Tn.prototype.xa=function(){this.g=!1};function uh(s,a,c,d,I,S){s.info(function(){if(s.g)if(S)for(var x="",Q=S.split("&"),ot=0;ot<Q.length;ot++){var z=Q[ot].split("=");if(1<z.length){var ht=z[0];z=z[1];var dt=ht.split("_");x=2<=dt.length&&dt[1]=="type"?x+(ht+"="+z+"&"):x+(ht+"=redacted&")}}else x=null;else x=S;return"XMLHTTP REQ ("+d+") [attempt "+I+"]: "+a+`
|
|
1
|
+
import{A as ku,B as Mu,C as Ou,D as Fu,E as Lu,H as Js,e as Ws,f as Vu,i as Cu,o as xu,p as Du,s as Hs,x as wt,y as Nu,z as Mt}from"./chunk-DTMZLUNY.js";var qu=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Uu={};var zt,Xs;(function(){var n;function t(E,g){function y(){}y.prototype=g.prototype,E.D=g.prototype,E.prototype=new y,E.prototype.constructor=E,E.C=function(_,w,v){for(var p=Array(arguments.length-2),Bt=2;Bt<arguments.length;Bt++)p[Bt-2]=arguments[Bt];return g.prototype[w].apply(_,p)}}function e(){this.blockSize=-1}function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.B=Array(this.blockSize),this.o=this.h=0,this.s()}t(r,e),r.prototype.s=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0};function i(E,g,y){y||(y=0);var _=Array(16);if(typeof g=="string")for(var w=0;16>w;++w)_[w]=g.charCodeAt(y++)|g.charCodeAt(y++)<<8|g.charCodeAt(y++)<<16|g.charCodeAt(y++)<<24;else for(w=0;16>w;++w)_[w]=g[y++]|g[y++]<<8|g[y++]<<16|g[y++]<<24;g=E.g[0],y=E.g[1],w=E.g[2];var v=E.g[3],p=g+(v^y&(w^v))+_[0]+3614090360&4294967295;g=y+(p<<7&4294967295|p>>>25),p=v+(w^g&(y^w))+_[1]+3905402710&4294967295,v=g+(p<<12&4294967295|p>>>20),p=w+(y^v&(g^y))+_[2]+606105819&4294967295,w=v+(p<<17&4294967295|p>>>15),p=y+(g^w&(v^g))+_[3]+3250441966&4294967295,y=w+(p<<22&4294967295|p>>>10),p=g+(v^y&(w^v))+_[4]+4118548399&4294967295,g=y+(p<<7&4294967295|p>>>25),p=v+(w^g&(y^w))+_[5]+1200080426&4294967295,v=g+(p<<12&4294967295|p>>>20),p=w+(y^v&(g^y))+_[6]+2821735955&4294967295,w=v+(p<<17&4294967295|p>>>15),p=y+(g^w&(v^g))+_[7]+4249261313&4294967295,y=w+(p<<22&4294967295|p>>>10),p=g+(v^y&(w^v))+_[8]+1770035416&4294967295,g=y+(p<<7&4294967295|p>>>25),p=v+(w^g&(y^w))+_[9]+2336552879&4294967295,v=g+(p<<12&4294967295|p>>>20),p=w+(y^v&(g^y))+_[10]+4294925233&4294967295,w=v+(p<<17&4294967295|p>>>15),p=y+(g^w&(v^g))+_[11]+2304563134&4294967295,y=w+(p<<22&4294967295|p>>>10),p=g+(v^y&(w^v))+_[12]+1804603682&4294967295,g=y+(p<<7&4294967295|p>>>25),p=v+(w^g&(y^w))+_[13]+4254626195&4294967295,v=g+(p<<12&4294967295|p>>>20),p=w+(y^v&(g^y))+_[14]+2792965006&4294967295,w=v+(p<<17&4294967295|p>>>15),p=y+(g^w&(v^g))+_[15]+1236535329&4294967295,y=w+(p<<22&4294967295|p>>>10),p=g+(w^v&(y^w))+_[1]+4129170786&4294967295,g=y+(p<<5&4294967295|p>>>27),p=v+(y^w&(g^y))+_[6]+3225465664&4294967295,v=g+(p<<9&4294967295|p>>>23),p=w+(g^y&(v^g))+_[11]+643717713&4294967295,w=v+(p<<14&4294967295|p>>>18),p=y+(v^g&(w^v))+_[0]+3921069994&4294967295,y=w+(p<<20&4294967295|p>>>12),p=g+(w^v&(y^w))+_[5]+3593408605&4294967295,g=y+(p<<5&4294967295|p>>>27),p=v+(y^w&(g^y))+_[10]+38016083&4294967295,v=g+(p<<9&4294967295|p>>>23),p=w+(g^y&(v^g))+_[15]+3634488961&4294967295,w=v+(p<<14&4294967295|p>>>18),p=y+(v^g&(w^v))+_[4]+3889429448&4294967295,y=w+(p<<20&4294967295|p>>>12),p=g+(w^v&(y^w))+_[9]+568446438&4294967295,g=y+(p<<5&4294967295|p>>>27),p=v+(y^w&(g^y))+_[14]+3275163606&4294967295,v=g+(p<<9&4294967295|p>>>23),p=w+(g^y&(v^g))+_[3]+4107603335&4294967295,w=v+(p<<14&4294967295|p>>>18),p=y+(v^g&(w^v))+_[8]+1163531501&4294967295,y=w+(p<<20&4294967295|p>>>12),p=g+(w^v&(y^w))+_[13]+2850285829&4294967295,g=y+(p<<5&4294967295|p>>>27),p=v+(y^w&(g^y))+_[2]+4243563512&4294967295,v=g+(p<<9&4294967295|p>>>23),p=w+(g^y&(v^g))+_[7]+1735328473&4294967295,w=v+(p<<14&4294967295|p>>>18),p=y+(v^g&(w^v))+_[12]+2368359562&4294967295,y=w+(p<<20&4294967295|p>>>12),p=g+(y^w^v)+_[5]+4294588738&4294967295,g=y+(p<<4&4294967295|p>>>28),p=v+(g^y^w)+_[8]+2272392833&4294967295,v=g+(p<<11&4294967295|p>>>21),p=w+(v^g^y)+_[11]+1839030562&4294967295,w=v+(p<<16&4294967295|p>>>16),p=y+(w^v^g)+_[14]+4259657740&4294967295,y=w+(p<<23&4294967295|p>>>9),p=g+(y^w^v)+_[1]+2763975236&4294967295,g=y+(p<<4&4294967295|p>>>28),p=v+(g^y^w)+_[4]+1272893353&4294967295,v=g+(p<<11&4294967295|p>>>21),p=w+(v^g^y)+_[7]+4139469664&4294967295,w=v+(p<<16&4294967295|p>>>16),p=y+(w^v^g)+_[10]+3200236656&4294967295,y=w+(p<<23&4294967295|p>>>9),p=g+(y^w^v)+_[13]+681279174&4294967295,g=y+(p<<4&4294967295|p>>>28),p=v+(g^y^w)+_[0]+3936430074&4294967295,v=g+(p<<11&4294967295|p>>>21),p=w+(v^g^y)+_[3]+3572445317&4294967295,w=v+(p<<16&4294967295|p>>>16),p=y+(w^v^g)+_[6]+76029189&4294967295,y=w+(p<<23&4294967295|p>>>9),p=g+(y^w^v)+_[9]+3654602809&4294967295,g=y+(p<<4&4294967295|p>>>28),p=v+(g^y^w)+_[12]+3873151461&4294967295,v=g+(p<<11&4294967295|p>>>21),p=w+(v^g^y)+_[15]+530742520&4294967295,w=v+(p<<16&4294967295|p>>>16),p=y+(w^v^g)+_[2]+3299628645&4294967295,y=w+(p<<23&4294967295|p>>>9),p=g+(w^(y|~v))+_[0]+4096336452&4294967295,g=y+(p<<6&4294967295|p>>>26),p=v+(y^(g|~w))+_[7]+1126891415&4294967295,v=g+(p<<10&4294967295|p>>>22),p=w+(g^(v|~y))+_[14]+2878612391&4294967295,w=v+(p<<15&4294967295|p>>>17),p=y+(v^(w|~g))+_[5]+4237533241&4294967295,y=w+(p<<21&4294967295|p>>>11),p=g+(w^(y|~v))+_[12]+1700485571&4294967295,g=y+(p<<6&4294967295|p>>>26),p=v+(y^(g|~w))+_[3]+2399980690&4294967295,v=g+(p<<10&4294967295|p>>>22),p=w+(g^(v|~y))+_[10]+4293915773&4294967295,w=v+(p<<15&4294967295|p>>>17),p=y+(v^(w|~g))+_[1]+2240044497&4294967295,y=w+(p<<21&4294967295|p>>>11),p=g+(w^(y|~v))+_[8]+1873313359&4294967295,g=y+(p<<6&4294967295|p>>>26),p=v+(y^(g|~w))+_[15]+4264355552&4294967295,v=g+(p<<10&4294967295|p>>>22),p=w+(g^(v|~y))+_[6]+2734768916&4294967295,w=v+(p<<15&4294967295|p>>>17),p=y+(v^(w|~g))+_[13]+1309151649&4294967295,y=w+(p<<21&4294967295|p>>>11),p=g+(w^(y|~v))+_[4]+4149444226&4294967295,g=y+(p<<6&4294967295|p>>>26),p=v+(y^(g|~w))+_[11]+3174756917&4294967295,v=g+(p<<10&4294967295|p>>>22),p=w+(g^(v|~y))+_[2]+718787259&4294967295,w=v+(p<<15&4294967295|p>>>17),p=y+(v^(w|~g))+_[9]+3951481745&4294967295,E.g[0]=E.g[0]+g&4294967295,E.g[1]=E.g[1]+(w+(p<<21&4294967295|p>>>11))&4294967295,E.g[2]=E.g[2]+w&4294967295,E.g[3]=E.g[3]+v&4294967295}r.prototype.u=function(E,g){g===void 0&&(g=E.length);for(var y=g-this.blockSize,_=this.B,w=this.h,v=0;v<g;){if(w==0)for(;v<=y;)i(this,E,v),v+=this.blockSize;if(typeof E=="string"){for(;v<g;)if(_[w++]=E.charCodeAt(v++),w==this.blockSize){i(this,_),w=0;break}}else for(;v<g;)if(_[w++]=E[v++],w==this.blockSize){i(this,_),w=0;break}}this.h=w,this.o+=g},r.prototype.v=function(){var E=Array((56>this.h?this.blockSize:2*this.blockSize)-this.h);E[0]=128;for(var g=1;g<E.length-8;++g)E[g]=0;var y=8*this.o;for(g=E.length-8;g<E.length;++g)E[g]=y&255,y/=256;for(this.u(E),E=Array(16),g=y=0;4>g;++g)for(var _=0;32>_;_+=8)E[y++]=this.g[g]>>>_&255;return E};function o(E,g){var y=l;return Object.prototype.hasOwnProperty.call(y,E)?y[E]:y[E]=g(E)}function u(E,g){this.h=g;for(var y=[],_=!0,w=E.length-1;0<=w;w--){var v=E[w]|0;_&&v==g||(y[w]=v,_=!1)}this.g=y}var l={};function h(E){return-128<=E&&128>E?o(E,function(g){return new u([g|0],0>g?-1:0)}):new u([E|0],0>E?-1:0)}function f(E){if(isNaN(E)||!isFinite(E))return T;if(0>E)return C(f(-E));for(var g=[],y=1,_=0;E>=y;_++)g[_]=E/y|0,y*=4294967296;return new u(g,0)}function m(E,g){if(E.length==0)throw Error("number format error: empty string");if(g=g||10,2>g||36<g)throw Error("radix out of range: "+g);if(E.charAt(0)=="-")return C(m(E.substring(1),g));if(0<=E.indexOf("-"))throw Error('number format error: interior "-" character');for(var y=f(Math.pow(g,8)),_=T,w=0;w<E.length;w+=8){var v=Math.min(8,E.length-w),p=parseInt(E.substring(w,w+v),g);8>v?(v=f(Math.pow(g,v)),_=_.j(v).add(f(p))):(_=_.j(y),_=_.add(f(p)))}return _}var T=h(0),A=h(1),R=h(16777216);n=u.prototype,n.m=function(){if(k(this))return-C(this).m();for(var E=0,g=1,y=0;y<this.g.length;y++){var _=this.i(y);E+=(0<=_?_:4294967296+_)*g,g*=4294967296}return E},n.toString=function(E){if(E=E||10,2>E||36<E)throw Error("radix out of range: "+E);if(D(this))return"0";if(k(this))return"-"+C(this).toString(E);for(var g=f(Math.pow(E,6)),y=this,_="";;){var w=pt(y,g).g;y=G(y,w.j(g));var v=((0<y.g.length?y.g[0]:y.h)>>>0).toString(E);if(y=w,D(y))return v+_;for(;6>v.length;)v="0"+v;_=v+_}},n.i=function(E){return 0>E?0:E<this.g.length?this.g[E]:this.h};function D(E){if(E.h!=0)return!1;for(var g=0;g<E.g.length;g++)if(E.g[g]!=0)return!1;return!0}function k(E){return E.h==-1}n.l=function(E){return E=G(this,E),k(E)?-1:D(E)?0:1};function C(E){for(var g=E.g.length,y=[],_=0;_<g;_++)y[_]=~E.g[_];return new u(y,~E.h).add(A)}n.abs=function(){return k(this)?C(this):this},n.add=function(E){for(var g=Math.max(this.g.length,E.g.length),y=[],_=0,w=0;w<=g;w++){var v=_+(this.i(w)&65535)+(E.i(w)&65535),p=(v>>>16)+(this.i(w)>>>16)+(E.i(w)>>>16);_=p>>>16,v&=65535,p&=65535,y[w]=p<<16|v}return new u(y,y[y.length-1]&-2147483648?-1:0)};function G(E,g){return E.add(C(g))}n.j=function(E){if(D(this)||D(E))return T;if(k(this))return k(E)?C(this).j(C(E)):C(C(this).j(E));if(k(E))return C(this.j(C(E)));if(0>this.l(R)&&0>E.l(R))return f(this.m()*E.m());for(var g=this.g.length+E.g.length,y=[],_=0;_<2*g;_++)y[_]=0;for(_=0;_<this.g.length;_++)for(var w=0;w<E.g.length;w++){var v=this.i(_)>>>16,p=this.i(_)&65535,Bt=E.i(w)>>>16,dn=E.i(w)&65535;y[2*_+2*w]+=p*dn,K(y,2*_+2*w),y[2*_+2*w+1]+=v*dn,K(y,2*_+2*w+1),y[2*_+2*w+1]+=p*Bt,K(y,2*_+2*w+1),y[2*_+2*w+2]+=v*Bt,K(y,2*_+2*w+2)}for(_=0;_<g;_++)y[_]=y[2*_+1]<<16|y[2*_];for(_=g;_<2*g;_++)y[_]=0;return new u(y,0)};function K(E,g){for(;(E[g]&65535)!=E[g];)E[g+1]+=E[g]>>>16,E[g]&=65535,g++}function $(E,g){this.g=E,this.h=g}function pt(E,g){if(D(g))throw Error("division by zero");if(D(E))return new $(T,T);if(k(E))return g=pt(C(E),g),new $(C(g.g),C(g.h));if(k(g))return g=pt(E,C(g)),new $(C(g.g),g.h);if(30<E.g.length){if(k(E)||k(g))throw Error("slowDivide_ only works with positive integers.");for(var y=A,_=g;0>=_.l(E);)y=kt(y),_=kt(_);var w=ut(y,1),v=ut(_,1);for(_=ut(_,2),y=ut(y,2);!D(_);){var p=v.add(_);0>=p.l(E)&&(w=w.add(y),v=p),_=ut(_,1),y=ut(y,1)}return g=G(E,w.j(g)),new $(w,g)}for(w=T;0<=E.l(g);){for(y=Math.max(1,Math.floor(E.m()/g.m())),_=Math.ceil(Math.log(y)/Math.LN2),_=48>=_?1:Math.pow(2,_-48),v=f(y),p=v.j(g);k(p)||0<p.l(E);)y-=_,v=f(y),p=v.j(g);D(v)&&(v=A),w=w.add(v),E=G(E,p)}return new $(w,E)}n.A=function(E){return pt(this,E).h},n.and=function(E){for(var g=Math.max(this.g.length,E.g.length),y=[],_=0;_<g;_++)y[_]=this.i(_)&E.i(_);return new u(y,this.h&E.h)},n.or=function(E){for(var g=Math.max(this.g.length,E.g.length),y=[],_=0;_<g;_++)y[_]=this.i(_)|E.i(_);return new u(y,this.h|E.h)},n.xor=function(E){for(var g=Math.max(this.g.length,E.g.length),y=[],_=0;_<g;_++)y[_]=this.i(_)^E.i(_);return new u(y,this.h^E.h)};function kt(E){for(var g=E.g.length+1,y=[],_=0;_<g;_++)y[_]=E.i(_)<<1|E.i(_-1)>>>31;return new u(y,E.h)}function ut(E,g){var y=g>>5;g%=32;for(var _=E.g.length-y,w=[],v=0;v<_;v++)w[v]=0<g?E.i(v+y)>>>g|E.i(v+y+1)<<32-g:E.i(v+y);return new u(w,E.h)}r.prototype.digest=r.prototype.v,r.prototype.reset=r.prototype.s,r.prototype.update=r.prototype.u,Xs=Uu.Md5=r,u.prototype.add=u.prototype.add,u.prototype.multiply=u.prototype.j,u.prototype.modulo=u.prototype.A,u.prototype.compare=u.prototype.l,u.prototype.toNumber=u.prototype.m,u.prototype.toString=u.prototype.toString,u.prototype.getBits=u.prototype.i,u.fromNumber=f,u.fromString=m,zt=Uu.Integer=u}).apply(typeof qu<"u"?qu:typeof self<"u"?self:typeof window<"u"?window:{});var Ir=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Kt={};var Ys,qh,Le,Zs,xn,Er,ti,ei,ni;(function(){var n,t=typeof Object.defineProperties=="function"?Object.defineProperty:function(s,a,c){return s==Array.prototype||s==Object.prototype||(s[a]=c.value),s};function e(s){s=[typeof globalThis=="object"&&globalThis,s,typeof window=="object"&&window,typeof self=="object"&&self,typeof Ir=="object"&&Ir];for(var a=0;a<s.length;++a){var c=s[a];if(c&&c.Math==Math)return c}throw Error("Cannot find global object")}var r=e(this);function i(s,a){if(a)t:{var c=r;s=s.split(".");for(var d=0;d<s.length-1;d++){var I=s[d];if(!(I in c))break t;c=c[I]}s=s[s.length-1],d=c[s],a=a(d),a!=d&&a!=null&&t(c,s,{configurable:!0,writable:!0,value:a})}}function o(s,a){s instanceof String&&(s+="");var c=0,d=!1,I={next:function(){if(!d&&c<s.length){var S=c++;return{value:a(S,s[S]),done:!1}}return d=!0,{done:!0,value:void 0}}};return I[Symbol.iterator]=function(){return I},I}i("Array.prototype.values",function(s){return s||function(){return o(this,function(a,c){return c})}});var u=u||{},l=this||self;function h(s){var a=typeof s;return a=a!="object"?a:s?Array.isArray(s)?"array":a:"null",a=="array"||a=="object"&&typeof s.length=="number"}function f(s){var a=typeof s;return a=="object"&&s!=null||a=="function"}function m(s,a,c){return s.call.apply(s.bind,arguments)}function T(s,a,c){if(!s)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var I=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(I,d),s.apply(a,I)}}return function(){return s.apply(a,arguments)}}function A(s,a,c){return A=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?m:T,A.apply(null,arguments)}function R(s,a){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),s.apply(this,d)}}function D(s,a){function c(){}c.prototype=a.prototype,s.aa=a.prototype,s.prototype=new c,s.prototype.constructor=s,s.Qb=function(d,I,S){for(var x=Array(arguments.length-2),Q=2;Q<arguments.length;Q++)x[Q-2]=arguments[Q];return a.prototype[I].apply(d,x)}}function k(s){let a=s.length;if(0<a){let c=Array(a);for(let d=0;d<a;d++)c[d]=s[d];return c}return[]}function C(s,a){for(let c=1;c<arguments.length;c++){let d=arguments[c];if(h(d)){let I=s.length||0,S=d.length||0;s.length=I+S;for(let x=0;x<S;x++)s[I+x]=d[x]}else s.push(d)}}class G{constructor(a,c){this.i=a,this.j=c,this.h=0,this.g=null}get(){let a;return 0<this.h?(this.h--,a=this.g,this.g=a.next,a.next=null):a=this.i(),a}}function K(s){return/^[\s\xa0]*$/.test(s)}function $(){var s=l.navigator;return s&&(s=s.userAgent)?s:""}function pt(s){return pt[" "](s),s}pt[" "]=function(){};var kt=$().indexOf("Gecko")!=-1&&!($().toLowerCase().indexOf("webkit")!=-1&&$().indexOf("Edge")==-1)&&!($().indexOf("Trident")!=-1||$().indexOf("MSIE")!=-1)&&$().indexOf("Edge")==-1;function ut(s,a,c){for(let d in s)a.call(c,s[d],d,s)}function E(s,a){for(let c in s)a.call(void 0,s[c],c,s)}function g(s){let a={};for(let c in s)a[c]=s[c];return a}let y="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function _(s,a){let c,d;for(let I=1;I<arguments.length;I++){d=arguments[I];for(c in d)s[c]=d[c];for(let S=0;S<y.length;S++)c=y[S],Object.prototype.hasOwnProperty.call(d,c)&&(s[c]=d[c])}}function w(s){var a=1;s=s.split(":");let c=[];for(;0<a&&s.length;)c.push(s.shift()),a--;return s.length&&c.push(s.join(":")),c}function v(s){l.setTimeout(()=>{throw s},0)}function p(){var s=vs;let a=null;return s.g&&(a=s.g,s.g=s.g.next,s.g||(s.h=null),a.next=null),a}class Bt{constructor(){this.h=this.g=null}add(a,c){let d=dn.get();d.set(a,c),this.h?this.h.next=d:this.g=d,this.h=d}}var dn=new G(()=>new ih,s=>s.reset());class ih{constructor(){this.next=this.g=this.h=null}set(a,c){this.h=a,this.g=c,this.next=null}reset(){this.next=this.g=this.h=null}}let fn,mn=!1,vs=new Bt,Pa=()=>{let s=l.Promise.resolve(void 0);fn=()=>{s.then(oh)}};var oh=()=>{for(var s;s=p();){try{s.h.call(s.g)}catch(c){v(c)}var a=dn;a.j(s),100>a.h&&(a.h++,s.next=a.g,a.g=s)}mn=!1};function Zt(){this.s=this.s,this.C=this.C}Zt.prototype.s=!1,Zt.prototype.ma=function(){this.s||(this.s=!0,this.N())},Zt.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function ct(s,a){this.type=s,this.g=this.target=a,this.defaultPrevented=!1}ct.prototype.h=function(){this.defaultPrevented=!0};var ah=(function(){if(!l.addEventListener||!Object.defineProperty)return!1;var s=!1,a=Object.defineProperty({},"passive",{get:function(){s=!0}});try{let c=()=>{};l.addEventListener("test",c,a),l.removeEventListener("test",c,a)}catch{}return s})();function gn(s,a){if(ct.call(this,s?s.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,s){var c=this.type=s.type,d=s.changedTouches&&s.changedTouches.length?s.changedTouches[0]:null;if(this.target=s.target||s.srcElement,this.g=a,a=s.relatedTarget){if(kt){t:{try{pt(a.nodeName);var I=!0;break t}catch{}I=!1}I||(a=null)}}else c=="mouseover"?a=s.fromElement:c=="mouseout"&&(a=s.toElement);this.relatedTarget=a,d?(this.clientX=d.clientX!==void 0?d.clientX:d.pageX,this.clientY=d.clientY!==void 0?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0):(this.clientX=s.clientX!==void 0?s.clientX:s.pageX,this.clientY=s.clientY!==void 0?s.clientY:s.pageY,this.screenX=s.screenX||0,this.screenY=s.screenY||0),this.button=s.button,this.key=s.key||"",this.ctrlKey=s.ctrlKey,this.altKey=s.altKey,this.shiftKey=s.shiftKey,this.metaKey=s.metaKey,this.pointerId=s.pointerId||0,this.pointerType=typeof s.pointerType=="string"?s.pointerType:uh[s.pointerType]||"",this.state=s.state,this.i=s,s.defaultPrevented&&gn.aa.h.call(this)}}D(gn,ct);var uh={2:"touch",3:"pen",4:"mouse"};gn.prototype.h=function(){gn.aa.h.call(this);var s=this.i;s.preventDefault?s.preventDefault():s.returnValue=!1};var pn="closure_listenable_"+(1e6*Math.random()|0),ch=0;function lh(s,a,c,d,I){this.listener=s,this.proxy=null,this.src=a,this.type=c,this.capture=!!d,this.ha=I,this.key=++ch,this.da=this.fa=!1}function sr(s){s.da=!0,s.listener=null,s.proxy=null,s.src=null,s.ha=null}function ir(s){this.src=s,this.g={},this.h=0}ir.prototype.add=function(s,a,c,d,I){var S=s.toString();s=this.g[S],s||(s=this.g[S]=[],this.h++);var x=Ss(s,a,d,I);return-1<x?(a=s[x],c||(a.fa=!1)):(a=new lh(a,this.src,S,!!d,I),a.fa=c,s.push(a)),a};function As(s,a){var c=a.type;if(c in s.g){var d=s.g[c],I=Array.prototype.indexOf.call(d,a,void 0),S;(S=0<=I)&&Array.prototype.splice.call(d,I,1),S&&(sr(a),s.g[c].length==0&&(delete s.g[c],s.h--))}}function Ss(s,a,c,d){for(var I=0;I<s.length;++I){var S=s[I];if(!S.da&&S.listener==a&&S.capture==!!c&&S.ha==d)return I}return-1}var bs="closure_lm_"+(1e6*Math.random()|0),Rs={};function Va(s,a,c,d,I){if(d&&d.once)return xa(s,a,c,d,I);if(Array.isArray(a)){for(var S=0;S<a.length;S++)Va(s,a[S],c,d,I);return null}return c=xs(c),s&&s[pn]?s.K(a,c,f(d)?!!d.capture:!!d,I):Ca(s,a,c,!1,d,I)}function Ca(s,a,c,d,I,S){if(!a)throw Error("Invalid event type");var x=f(I)?!!I.capture:!!I,Q=Vs(s);if(Q||(s[bs]=Q=new ir(s)),c=Q.add(a,c,d,x,S),c.proxy)return c;if(d=hh(),c.proxy=d,d.src=s,d.listener=c,s.addEventListener)ah||(I=x),I===void 0&&(I=!1),s.addEventListener(a.toString(),d,I);else if(s.attachEvent)s.attachEvent(Na(a.toString()),d);else if(s.addListener&&s.removeListener)s.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");return c}function hh(){function s(c){return a.call(s.src,s.listener,c)}let a=dh;return s}function xa(s,a,c,d,I){if(Array.isArray(a)){for(var S=0;S<a.length;S++)xa(s,a[S],c,d,I);return null}return c=xs(c),s&&s[pn]?s.L(a,c,f(d)?!!d.capture:!!d,I):Ca(s,a,c,!0,d,I)}function Da(s,a,c,d,I){if(Array.isArray(a))for(var S=0;S<a.length;S++)Da(s,a[S],c,d,I);else d=f(d)?!!d.capture:!!d,c=xs(c),s&&s[pn]?(s=s.i,a=String(a).toString(),a in s.g&&(S=s.g[a],c=Ss(S,c,d,I),-1<c&&(sr(S[c]),Array.prototype.splice.call(S,c,1),S.length==0&&(delete s.g[a],s.h--)))):s&&(s=Vs(s))&&(a=s.g[a.toString()],s=-1,a&&(s=Ss(a,c,d,I)),(c=-1<s?a[s]:null)&&Ps(c))}function Ps(s){if(typeof s!="number"&&s&&!s.da){var a=s.src;if(a&&a[pn])As(a.i,s);else{var c=s.type,d=s.proxy;a.removeEventListener?a.removeEventListener(c,d,s.capture):a.detachEvent?a.detachEvent(Na(c),d):a.addListener&&a.removeListener&&a.removeListener(d),(c=Vs(a))?(As(c,s),c.h==0&&(c.src=null,a[bs]=null)):sr(s)}}}function Na(s){return s in Rs?Rs[s]:Rs[s]="on"+s}function dh(s,a){if(s.da)s=!0;else{a=new gn(a,this);var c=s.listener,d=s.ha||s.src;s.fa&&Ps(s),s=c.call(d,a)}return s}function Vs(s){return s=s[bs],s instanceof ir?s:null}var Cs="__closure_events_fn_"+(1e9*Math.random()>>>0);function xs(s){return typeof s=="function"?s:(s[Cs]||(s[Cs]=function(a){return s.handleEvent(a)}),s[Cs])}function lt(){Zt.call(this),this.i=new ir(this),this.M=this,this.F=null}D(lt,Zt),lt.prototype[pn]=!0,lt.prototype.removeEventListener=function(s,a,c,d){Da(this,s,a,c,d)};function yt(s,a){var c,d=s.F;if(d)for(c=[];d;d=d.F)c.push(d);if(s=s.M,d=a.type||a,typeof a=="string")a=new ct(a,s);else if(a instanceof ct)a.target=a.target||s;else{var I=a;a=new ct(d,s),_(a,I)}if(I=!0,c)for(var S=c.length-1;0<=S;S--){var x=a.g=c[S];I=or(x,d,!0,a)&&I}if(x=a.g=s,I=or(x,d,!0,a)&&I,I=or(x,d,!1,a)&&I,c)for(S=0;S<c.length;S++)x=a.g=c[S],I=or(x,d,!1,a)&&I}lt.prototype.N=function(){if(lt.aa.N.call(this),this.i){var s=this.i,a;for(a in s.g){for(var c=s.g[a],d=0;d<c.length;d++)sr(c[d]);delete s.g[a],s.h--}}this.F=null},lt.prototype.K=function(s,a,c,d){return this.i.add(String(s),a,!1,c,d)},lt.prototype.L=function(s,a,c,d){return this.i.add(String(s),a,!0,c,d)};function or(s,a,c,d){if(a=s.i.g[String(a)],!a)return!0;a=a.concat();for(var I=!0,S=0;S<a.length;++S){var x=a[S];if(x&&!x.da&&x.capture==c){var Q=x.listener,ot=x.ha||x.src;x.fa&&As(s.i,x),I=Q.call(ot,d)!==!1&&I}}return I&&!d.defaultPrevented}function ka(s,a,c){if(typeof s=="function")c&&(s=A(s,c));else if(s&&typeof s.handleEvent=="function")s=A(s.handleEvent,s);else throw Error("Invalid listener argument");return 2147483647<Number(a)?-1:l.setTimeout(s,a||0)}function Ma(s){s.g=ka(()=>{s.g=null,s.i&&(s.i=!1,Ma(s))},s.l);let a=s.h;s.h=null,s.m.apply(null,a)}class fh extends Zt{constructor(a,c){super(),this.m=a,this.l=c,this.h=null,this.i=!1,this.g=null}j(a){this.h=arguments,this.g?this.i=!0:Ma(this)}N(){super.N(),this.g&&(l.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function yn(s){Zt.call(this),this.h=s,this.g={}}D(yn,Zt);var Oa=[];function Fa(s){ut(s.g,function(a,c){this.g.hasOwnProperty(c)&&Ps(a)},s),s.g={}}yn.prototype.N=function(){yn.aa.N.call(this),Fa(this)},yn.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var Ds=l.JSON.stringify,mh=l.JSON.parse,gh=class{stringify(s){return l.JSON.stringify(s,void 0)}parse(s){return l.JSON.parse(s,void 0)}};function Ns(){}Ns.prototype.h=null;function La(s){return s.h||(s.h=s.i())}function qa(){}var _n={OPEN:"a",kb:"b",Ja:"c",wb:"d"};function ks(){ct.call(this,"d")}D(ks,ct);function Ms(){ct.call(this,"c")}D(Ms,ct);var ge={},Ua=null;function ar(){return Ua=Ua||new lt}ge.La="serverreachability";function Ba(s){ct.call(this,ge.La,s)}D(Ba,ct);function wn(s){let a=ar();yt(a,new Ba(a))}ge.STAT_EVENT="statevent";function ja(s,a){ct.call(this,ge.STAT_EVENT,s),this.stat=a}D(ja,ct);function _t(s){let a=ar();yt(a,new ja(a,s))}ge.Ma="timingevent";function Ga(s,a){ct.call(this,ge.Ma,s),this.size=a}D(Ga,ct);function Tn(s,a){if(typeof s!="function")throw Error("Fn must not be null and must be a function");return l.setTimeout(function(){s()},a)}function In(){this.g=!0}In.prototype.xa=function(){this.g=!1};function ph(s,a,c,d,I,S){s.info(function(){if(s.g)if(S)for(var x="",Q=S.split("&"),ot=0;ot<Q.length;ot++){var z=Q[ot].split("=");if(1<z.length){var ht=z[0];z=z[1];var dt=ht.split("_");x=2<=dt.length&&dt[1]=="type"?x+(ht+"="+z+"&"):x+(ht+"=redacted&")}}else x=null;else x=S;return"XMLHTTP REQ ("+d+") [attempt "+I+"]: "+a+`
|
|
2
2
|
`+c+`
|
|
3
|
-
`+x})}function
|
|
3
|
+
`+x})}function yh(s,a,c,d,I,S,x){s.info(function(){return"XMLHTTP RESP ("+d+") [ attempt "+I+"]: "+a+`
|
|
4
4
|
`+c+`
|
|
5
|
-
`+S+" "+x})}function
|
|
6
|
-
`,c);return d==-1?Os:(c=Number(a.substring(c,d)),isNaN(c)?ja:(d+=1,d+c>a.length?Os:(a=a.slice(d,d+c),s.C=d+c,a)))}Zt.prototype.cancel=function(){this.J=!0,ge(this)};function cr(s){s.S=Date.now()+s.I,Ka(s,s.I)}function Ka(s,a){if(s.B!=null)throw Error("WatchDog timer not null");s.B=wn(A(s.ba,s),a)}function Ls(s){s.B&&(l.clearTimeout(s.B),s.B=null)}Zt.prototype.ba=function(){this.B=null;let s=Date.now();0<=s-this.S?(lh(this.i,this.A),this.L!=2&&(_n(),_t(17)),ge(this),this.s=2,In(this)):Ka(this,this.S-s)};function In(s){s.j.G==0||s.J||yu(s.j,s)}function ge(s){Ls(s);var a=s.M;a&&typeof a.ma=="function"&&a.ma(),s.M=null,Na(s.U),s.g&&(a=s.g,s.g=null,a.abort(),a.ma())}function qs(s,a){try{var c=s.j;if(c.G!=0&&(c.g==s||Us(c.h,s))){if(!s.K&&Us(c.h,s)&&c.G==3){try{var d=c.Da.g.parse(a)}catch{d=null}if(Array.isArray(d)&&d.length==3){var I=d;if(I[0]==0){t:if(!c.u){if(c.g)if(c.g.F+3e3<s.F)yr(c),gr(c);else break t;zs(c),_t(18)}}else c.za=I[1],0<c.za-c.T&&37500>I[2]&&c.F&&c.v==0&&!c.C&&(c.C=wn(A(c.Za,c),6e3));if(1>=Wa(c.h)&&c.ca){try{c.ca()}catch{}c.ca=void 0}}else ye(c,11)}else if((s.K||c.g==s)&&yr(c),!K(a))for(I=c.Da.g.parse(a),a=0;a<I.length;a++){let z=I[a];if(c.T=z[0],z=z[1],c.G==2)if(z[0]=="c"){c.K=z[1],c.ia=z[2];let ht=z[3];ht!=null&&(c.la=ht,c.j.info("VER="+c.la));let dt=z[4];dt!=null&&(c.Aa=dt,c.j.info("SVER="+c.Aa));let Oe=z[5];Oe!=null&&typeof Oe=="number"&&0<Oe&&(d=1.5*Oe,c.L=d,c.j.info("backChannelRequestTimeoutMs_="+d)),d=c;let Ct=s.g;if(Ct){let wr=Ct.g?Ct.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(wr){var S=d.h;S.g||wr.indexOf("spdy")==-1&&wr.indexOf("quic")==-1&&wr.indexOf("h2")==-1||(S.j=S.l,S.g=new Set,S.h&&(Bs(S,S.h),S.h=null))}if(d.D){let $s=Ct.g?Ct.g.getResponseHeader("X-HTTP-Session-Id"):null;$s&&(d.ya=$s,H(d.I,d.D,$s))}}c.G=3,c.l&&c.l.ua(),c.ba&&(c.R=Date.now()-s.F,c.j.info("Handshake RTT: "+c.R+"ms")),d=c;var x=s;if(d.qa=Tu(d,d.J?d.ia:null,d.W),x.K){Ha(d.h,x);var Q=x,ot=d.L;ot&&(Q.I=ot),Q.B&&(Ls(Q),cr(Q)),d.g=x}else gu(d);0<c.i.length&&pr(c)}else z[0]!="stop"&&z[0]!="close"||ye(c,7);else c.G==3&&(z[0]=="stop"||z[0]=="close"?z[0]=="stop"?ye(c,7):Gs(c):z[0]!="noop"&&c.l&&c.l.ta(z),c.v=0)}}_n(4)}catch{}}var fh=class{constructor(s,a){this.g=s,this.map=a}};function $a(s){this.l=s||10,l.PerformanceNavigationTiming?(s=l.performance.getEntriesByType("navigation"),s=0<s.length&&(s[0].nextHopProtocol=="hq"||s[0].nextHopProtocol=="h2")):s=!!(l.chrome&&l.chrome.loadTimes&&l.chrome.loadTimes()&&l.chrome.loadTimes().wasFetchedViaSpdy),this.j=s?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function Qa(s){return s.h?!0:s.g?s.g.size>=s.j:!1}function Wa(s){return s.h?1:s.g?s.g.size:0}function Us(s,a){return s.h?s.h==a:s.g?s.g.has(a):!1}function Bs(s,a){s.g?s.g.add(a):s.h=a}function Ha(s,a){s.h&&s.h==a?s.h=null:s.g&&s.g.has(a)&&s.g.delete(a)}$a.prototype.cancel=function(){if(this.i=Ja(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){for(let s of this.g.values())s.cancel();this.g.clear()}};function Ja(s){if(s.h!=null)return s.i.concat(s.h.D);if(s.g!=null&&s.g.size!==0){let a=s.i;for(let c of s.g.values())a=a.concat(c.D);return a}return k(s.i)}function mh(s){if(s.V&&typeof s.V=="function")return s.V();if(typeof Map<"u"&&s instanceof Map||typeof Set<"u"&&s instanceof Set)return Array.from(s.values());if(typeof s=="string")return s.split("");if(h(s)){for(var a=[],c=s.length,d=0;d<c;d++)a.push(s[d]);return a}a=[],c=0;for(d in s)a[c++]=s[d];return a}function gh(s){if(s.na&&typeof s.na=="function")return s.na();if(!s.V||typeof s.V!="function"){if(typeof Map<"u"&&s instanceof Map)return Array.from(s.keys());if(!(typeof Set<"u"&&s instanceof Set)){if(h(s)||typeof s=="string"){var a=[];s=s.length;for(var c=0;c<s;c++)a.push(c);return a}a=[],c=0;for(let d in s)a[c++]=d;return a}}}function Xa(s,a){if(s.forEach&&typeof s.forEach=="function")s.forEach(a,void 0);else if(h(s)||typeof s=="string")Array.prototype.forEach.call(s,a,void 0);else for(var c=gh(s),d=mh(s),I=d.length,S=0;S<I;S++)a.call(void 0,d[S],c&&c[S],s)}var Ya=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function ph(s,a){if(s){s=s.split("&");for(var c=0;c<s.length;c++){var d=s[c].indexOf("="),I=null;if(0<=d){var S=s[c].substring(0,d);I=s[c].substring(d+1)}else S=s[c];a(S,I?decodeURIComponent(I.replace(/\+/g," ")):"")}}}function pe(s){if(this.g=this.o=this.j="",this.s=null,this.m=this.l="",this.h=!1,s instanceof pe){this.h=s.h,lr(this,s.j),this.o=s.o,this.g=s.g,hr(this,s.s),this.l=s.l;var a=s.i,c=new An;c.i=a.i,a.g&&(c.g=new Map(a.g),c.h=a.h),Za(this,c),this.m=s.m}else s&&(a=String(s).match(Ya))?(this.h=!1,lr(this,a[1]||"",!0),this.o=En(a[2]||""),this.g=En(a[3]||"",!0),hr(this,a[4]),this.l=En(a[5]||"",!0),Za(this,a[6]||"",!0),this.m=En(a[7]||"")):(this.h=!1,this.i=new An(null,this.h))}pe.prototype.toString=function(){var s=[],a=this.j;a&&s.push(vn(a,tu,!0),":");var c=this.g;return(c||a=="file")&&(s.push("//"),(a=this.o)&&s.push(vn(a,tu,!0),"@"),s.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),c=this.s,c!=null&&s.push(":",String(c))),(c=this.l)&&(this.g&&c.charAt(0)!="/"&&s.push("/"),s.push(vn(c,c.charAt(0)=="/"?wh:_h,!0))),(c=this.i.toString())&&s.push("?",c),(c=this.m)&&s.push("#",vn(c,Ih)),s.join("")};function Bt(s){return new pe(s)}function lr(s,a,c){s.j=c?En(a,!0):a,s.j&&(s.j=s.j.replace(/:$/,""))}function hr(s,a){if(a){if(a=Number(a),isNaN(a)||0>a)throw Error("Bad port number "+a);s.s=a}else s.s=null}function Za(s,a,c){a instanceof An?(s.i=a,Eh(s.i,s.h)):(c||(a=vn(a,Th)),s.i=new An(a,s.h))}function H(s,a,c){s.i.set(a,c)}function dr(s){return H(s,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),s}function En(s,a){return s?a?decodeURI(s.replace(/%25/g,"%2525")):decodeURIComponent(s):""}function vn(s,a,c){return typeof s=="string"?(s=encodeURI(s).replace(a,yh),c&&(s=s.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),s):null}function yh(s){return s=s.charCodeAt(0),"%"+(s>>4&15).toString(16)+(s&15).toString(16)}var tu=/[#\/\?@]/g,_h=/[#\?:]/g,wh=/[#\?]/g,Th=/[#\?@]/g,Ih=/#/g;function An(s,a){this.h=this.g=null,this.i=s||null,this.j=!!a}function te(s){s.g||(s.g=new Map,s.h=0,s.i&&ph(s.i,function(a,c){s.add(decodeURIComponent(a.replace(/\+/g," ")),c)}))}n=An.prototype,n.add=function(s,a){te(this),this.i=null,s=ke(this,s);var c=this.g.get(s);return c||this.g.set(s,c=[]),c.push(a),this.h+=1,this};function eu(s,a){te(s),a=ke(s,a),s.g.has(a)&&(s.i=null,s.h-=s.g.get(a).length,s.g.delete(a))}function nu(s,a){return te(s),a=ke(s,a),s.g.has(a)}n.forEach=function(s,a){te(this),this.g.forEach(function(c,d){c.forEach(function(I){s.call(a,I,d,this)},this)},this)},n.na=function(){te(this);let s=Array.from(this.g.values()),a=Array.from(this.g.keys()),c=[];for(let d=0;d<a.length;d++){let I=s[d];for(let S=0;S<I.length;S++)c.push(a[d])}return c},n.V=function(s){te(this);let a=[];if(typeof s=="string")nu(this,s)&&(a=a.concat(this.g.get(ke(this,s))));else{s=Array.from(this.g.values());for(let c=0;c<s.length;c++)a=a.concat(s[c])}return a},n.set=function(s,a){return te(this),this.i=null,s=ke(this,s),nu(this,s)&&(this.h-=this.g.get(s).length),this.g.set(s,[a]),this.h+=1,this},n.get=function(s,a){return s?(s=this.V(s),0<s.length?String(s[0]):a):a};function ru(s,a,c){eu(s,a),0<c.length&&(s.i=null,s.g.set(ke(s,a),k(c)),s.h+=c.length)}n.toString=function(){if(this.i)return this.i;if(!this.g)return"";let s=[],a=Array.from(this.g.keys());for(var c=0;c<a.length;c++){var d=a[c];let S=encodeURIComponent(String(d)),x=this.V(d);for(d=0;d<x.length;d++){var I=S;x[d]!==""&&(I+="="+encodeURIComponent(String(x[d]))),s.push(I)}}return this.i=s.join("&")};function ke(s,a){return a=String(a),s.j&&(a=a.toLowerCase()),a}function Eh(s,a){a&&!s.j&&(te(s),s.i=null,s.g.forEach(function(c,d){var I=d.toLowerCase();d!=I&&(eu(this,d),ru(this,I,c))},s)),s.j=a}function vh(s,a){let c=new Tn;if(l.Image){let d=new Image;d.onload=R(ee,c,"TestLoadImage: loaded",!0,a,d),d.onerror=R(ee,c,"TestLoadImage: error",!1,a,d),d.onabort=R(ee,c,"TestLoadImage: abort",!1,a,d),d.ontimeout=R(ee,c,"TestLoadImage: timeout",!1,a,d),l.setTimeout(function(){d.ontimeout&&d.ontimeout()},1e4),d.src=s}else a(!1)}function Ah(s,a){let c=new Tn,d=new AbortController,I=setTimeout(()=>{d.abort(),ee(c,"TestPingServer: timeout",!1,a)},1e4);fetch(s,{signal:d.signal}).then(S=>{clearTimeout(I),S.ok?ee(c,"TestPingServer: ok",!0,a):ee(c,"TestPingServer: server error",!1,a)}).catch(()=>{clearTimeout(I),ee(c,"TestPingServer: error",!1,a)})}function ee(s,a,c,d,I){try{I&&(I.onload=null,I.onerror=null,I.onabort=null,I.ontimeout=null),d(c)}catch{}}function Sh(){this.g=new ah}function bh(s,a,c){let d=c||"";try{Xa(s,function(I,S){let x=I;f(I)&&(x=xs(I)),a.push(d+S+"="+encodeURIComponent(x))})}catch(I){throw a.push(d+"type="+encodeURIComponent("_badmap")),I}}function Sn(s){this.l=s.Ub||null,this.j=s.eb||!1}D(Sn,Ds),Sn.prototype.g=function(){return new fr(this.l,this.j)},Sn.prototype.i=(function(s){return function(){return s}})({});function fr(s,a){lt.call(this),this.D=s,this.o=a,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.u=new Headers,this.h=null,this.B="GET",this.A="",this.g=!1,this.v=this.j=this.l=null}D(fr,lt),n=fr.prototype,n.open=function(s,a){if(this.readyState!=0)throw this.abort(),Error("Error reopening a connection");this.B=s,this.A=a,this.readyState=1,Rn(this)},n.send=function(s){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;let a={headers:this.u,method:this.B,credentials:this.m,cache:void 0};s&&(a.body=s),(this.D||l).fetch(new Request(this.A,a)).then(this.Sa.bind(this),this.ga.bind(this))},n.abort=function(){this.response=this.responseText="",this.u=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,bn(this)),this.readyState=0},n.Sa=function(s){if(this.g&&(this.l=s,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=s.headers,this.readyState=2,Rn(this)),this.g&&(this.readyState=3,Rn(this),this.g)))if(this.responseType==="arraybuffer")s.arrayBuffer().then(this.Qa.bind(this),this.ga.bind(this));else if(typeof l.ReadableStream<"u"&&"body"in s){if(this.j=s.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.v=new TextDecoder;su(this)}else s.text().then(this.Ra.bind(this),this.ga.bind(this))};function su(s){s.j.read().then(s.Pa.bind(s)).catch(s.ga.bind(s))}n.Pa=function(s){if(this.g){if(this.o&&s.value)this.response.push(s.value);else if(!this.o){var a=s.value?s.value:new Uint8Array(0);(a=this.v.decode(a,{stream:!s.done}))&&(this.response=this.responseText+=a)}s.done?bn(this):Rn(this),this.readyState==3&&su(this)}},n.Ra=function(s){this.g&&(this.response=this.responseText=s,bn(this))},n.Qa=function(s){this.g&&(this.response=s,bn(this))},n.ga=function(){this.g&&bn(this)};function bn(s){s.readyState=4,s.l=null,s.j=null,s.v=null,Rn(s)}n.setRequestHeader=function(s,a){this.u.append(s,a)},n.getResponseHeader=function(s){return this.h&&this.h.get(s.toLowerCase())||""},n.getAllResponseHeaders=function(){if(!this.h)return"";let s=[],a=this.h.entries();for(var c=a.next();!c.done;)c=c.value,s.push(c[0]+": "+c[1]),c=a.next();return s.join(`\r
|
|
7
|
-
`)};function
|
|
8
|
-
`}),a}function
|
|
9
|
-
`);for(let d=0;d<s.length;d++){if(K(s[d]))continue;var c=w(s[d]);let I=c[0];if(c=c[1],typeof c!="string")continue;c=c.trim();let S=a[I]||[];a[I]=S,S.push(c)}E(a,function(d){return d.join(", ")})}n.Ba=function(){return this.m},n.Ka=function(){return typeof this.l=="string"?this.l:String(this.l)};function Pn(s,a,c){return c&&c.internalChannelParams&&c.internalChannelParams[s]||a}function hu(s){this.Aa=0,this.i=[],this.j=new Tn,this.ia=this.qa=this.I=this.W=this.g=this.ya=this.D=this.H=this.m=this.S=this.o=null,this.Ya=this.U=0,this.Va=Pn("failFast",!1,s),this.F=this.C=this.u=this.s=this.l=null,this.X=!0,this.za=this.T=-1,this.Y=this.v=this.B=0,this.Ta=Pn("baseRetryDelayMs",5e3,s),this.cb=Pn("retryDelaySeedMs",1e4,s),this.Wa=Pn("forwardChannelMaxRetries",2,s),this.wa=Pn("forwardChannelRequestTimeoutMs",2e4,s),this.pa=s&&s.xmlHttpFactory||void 0,this.Xa=s&&s.Tb||void 0,this.Ca=s&&s.useFetchStreams||!1,this.L=void 0,this.J=s&&s.supportsCrossDomainXhr||!1,this.K="",this.h=new $a(s&&s.concurrentRequestLimit),this.Da=new Sh,this.P=s&&s.fastHandshake||!1,this.O=s&&s.encodeInitMessageHeaders||!1,this.P&&this.O&&(this.O=!1),this.Ua=s&&s.Rb||!1,s&&s.xa&&this.j.xa(),s&&s.forceLongPolling&&(this.X=!1),this.ba=!this.P&&this.X&&s&&s.detectBufferingProxy||!1,this.ja=void 0,s&&s.longPollingTimeout&&0<s.longPollingTimeout&&(this.ja=s.longPollingTimeout),this.ca=void 0,this.R=0,this.M=!1,this.ka=this.A=null}n=hu.prototype,n.la=8,n.G=1,n.connect=function(s,a,c,d){_t(0),this.W=s,this.H=a||{},c&&d!==void 0&&(this.H.OSID=c,this.H.OAID=d),this.F=this.X,this.I=Tu(this,null,this.W),pr(this)};function Gs(s){if(du(s),s.G==3){var a=s.U++,c=Bt(s.I);if(H(c,"SID",s.K),H(c,"RID",a),H(c,"TYPE","terminate"),Vn(s,c),a=new Zt(s,s.j,a),a.L=2,a.v=dr(Bt(c)),c=!1,l.navigator&&l.navigator.sendBeacon)try{c=l.navigator.sendBeacon(a.v.toString(),"")}catch{}!c&&l.Image&&(new Image().src=a.v,c=!0),c||(a.g=Iu(a.j,null),a.g.ea(a.v)),a.F=Date.now(),cr(a)}wu(s)}function gr(s){s.g&&(Ks(s),s.g.cancel(),s.g=null)}function du(s){gr(s),s.u&&(l.clearTimeout(s.u),s.u=null),yr(s),s.h.cancel(),s.s&&(typeof s.s=="number"&&l.clearTimeout(s.s),s.s=null)}function pr(s){if(!Qa(s.h)&&!s.s){s.s=!0;var a=s.Ga;dn||Aa(),fn||(dn(),fn=!0),Es.add(a,s),s.B=0}}function Ch(s,a){return Wa(s.h)>=s.h.j-(s.s?1:0)?!1:s.s?(s.i=a.D.concat(s.i),!0):s.G==1||s.G==2||s.B>=(s.Va?0:s.Wa)?!1:(s.s=wn(A(s.Ga,s,a),_u(s,s.B)),s.B++,!0)}n.Ga=function(s){if(this.s)if(this.s=null,this.G==1){if(!s){this.U=Math.floor(1e5*Math.random()),s=this.U++;let I=new Zt(this,this.j,s),S=this.o;if(this.S&&(S?(S=g(S),_(S,this.S)):S=this.S),this.m!==null||this.O||(I.H=S,S=null),this.P)t:{for(var a=0,c=0;c<this.i.length;c++){e:{var d=this.i[c];if("__data__"in d.map&&(d=d.map.__data__,typeof d=="string")){d=d.length;break e}d=void 0}if(d===void 0)break;if(a+=d,4096<a){a=c;break t}if(a===4096||c===this.i.length-1){a=c+1;break t}}a=1e3}else a=1e3;a=mu(this,I,a),c=Bt(this.I),H(c,"RID",s),H(c,"CVER",22),this.D&&H(c,"X-HTTP-Session-Id",this.D),Vn(this,c),S&&(this.O?a="headers="+encodeURIComponent(String(iu(S)))+"&"+a:this.m&&js(c,this.m,S)),Bs(this.h,I),this.Ua&&H(c,"TYPE","init"),this.P?(H(c,"$req",a),H(c,"SID","null"),I.T=!0,Fs(I,c,null)):Fs(I,c,a),this.G=2}}else this.G==3&&(s?fu(this,s):this.i.length==0||Qa(this.h)||fu(this))};function fu(s,a){var c;a?c=a.l:c=s.U++;let d=Bt(s.I);H(d,"SID",s.K),H(d,"RID",c),H(d,"AID",s.T),Vn(s,d),s.m&&s.o&&js(d,s.m,s.o),c=new Zt(s,s.j,c,s.B+1),s.m===null&&(c.H=s.o),a&&(s.i=a.D.concat(s.i)),a=mu(s,c,1e3),c.I=Math.round(.5*s.wa)+Math.round(.5*s.wa*Math.random()),Bs(s.h,c),Fs(c,d,a)}function Vn(s,a){s.H&&ut(s.H,function(c,d){H(a,d,c)}),s.l&&Xa({},function(c,d){H(a,d,c)})}function mu(s,a,c){c=Math.min(s.i.length,c);var d=s.l?A(s.l.Na,s.l,s):null;t:{var I=s.i;let S=-1;for(;;){let x=["count="+c];S==-1?0<c?(S=I[0].g,x.push("ofs="+S)):S=0:x.push("ofs="+S);let Q=!0;for(let ot=0;ot<c;ot++){let z=I[ot].g,ht=I[ot].map;if(z-=S,0>z)S=Math.max(0,I[ot].g-100),Q=!1;else try{bh(ht,x,"req"+z+"_")}catch{d&&d(ht)}}if(Q){d=x.join("&");break t}}}return s=s.i.splice(0,c),a.D=s,d}function gu(s){if(!s.g&&!s.u){s.Y=1;var a=s.Fa;dn||Aa(),fn||(dn(),fn=!0),Es.add(a,s),s.v=0}}function zs(s){return s.g||s.u||3<=s.v?!1:(s.Y++,s.u=wn(A(s.Fa,s),_u(s,s.v)),s.v++,!0)}n.Fa=function(){if(this.u=null,pu(this),this.ba&&!(this.M||this.g==null||0>=this.R)){var s=2*this.R;this.j.info("BP detection timer enabled: "+s),this.A=wn(A(this.ab,this),s)}},n.ab=function(){this.A&&(this.A=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.M=!0,_t(10),gr(this),pu(this))};function Ks(s){s.A!=null&&(l.clearTimeout(s.A),s.A=null)}function pu(s){s.g=new Zt(s,s.j,"rpc",s.Y),s.m===null&&(s.g.H=s.o),s.g.O=0;var a=Bt(s.qa);H(a,"RID","rpc"),H(a,"SID",s.K),H(a,"AID",s.T),H(a,"CI",s.F?"0":"1"),!s.F&&s.ja&&H(a,"TO",s.ja),H(a,"TYPE","xmlhttp"),Vn(s,a),s.m&&s.o&&js(a,s.m,s.o),s.L&&(s.g.I=s.L);var c=s.g;s=s.ia,c.L=1,c.v=dr(Bt(a)),c.m=null,c.P=!0,Ga(c,s)}n.Za=function(){this.C!=null&&(this.C=null,gr(this),zs(this),_t(19))};function yr(s){s.C!=null&&(l.clearTimeout(s.C),s.C=null)}function yu(s,a){var c=null;if(s.g==a){yr(s),Ks(s),s.g=null;var d=2}else if(Us(s.h,a))c=a.D,Ha(s.h,a),d=1;else return;if(s.G!=0){if(a.o)if(d==1){c=a.m?a.m.length:0,a=Date.now()-a.F;var I=s.B;d=or(),yt(d,new qa(d,c)),pr(s)}else gu(s);else if(I=a.s,I==3||I==0&&0<a.X||!(d==1&&Ch(s,a)||d==2&&zs(s)))switch(c&&0<c.length&&(a=s.h,a.i=a.i.concat(c)),I){case 1:ye(s,5);break;case 4:ye(s,10);break;case 3:ye(s,6);break;default:ye(s,2)}}}function _u(s,a){let c=s.Ta+Math.floor(Math.random()*s.cb);return s.isActive()||(c*=2),c*a}function ye(s,a){if(s.j.info("Error code "+a),a==2){var c=A(s.fb,s),d=s.Xa;let I=!d;d=new pe(d||"//www.google.com/images/cleardot.gif"),l.location&&l.location.protocol=="http"||lr(d,"https"),dr(d),I?vh(d.toString(),c):Ah(d.toString(),c)}else _t(2);s.G=0,s.l&&s.l.sa(a),wu(s),du(s)}n.fb=function(s){s?(this.j.info("Successfully pinged google.com"),_t(2)):(this.j.info("Failed to ping google.com"),_t(1))};function wu(s){if(s.G=0,s.ka=[],s.l){let a=Ja(s.h);(a.length!=0||s.i.length!=0)&&(C(s.ka,a),C(s.ka,s.i),s.h.i.length=0,k(s.i),s.i.length=0),s.l.ra()}}function Tu(s,a,c){var d=c instanceof pe?Bt(c):new pe(c);if(d.g!="")a&&(d.g=a+"."+d.g),hr(d,d.s);else{var I=l.location;d=I.protocol,a=a?a+"."+I.hostname:I.hostname,I=+I.port;var S=new pe(null);d&&lr(S,d),a&&(S.g=a),I&&hr(S,I),c&&(S.l=c),d=S}return c=s.D,a=s.ya,c&&a&&H(d,c,a),H(d,"VER",s.la),Vn(s,d),d}function Iu(s,a,c){if(a&&!s.J)throw Error("Can't create secondary domain capable XhrIo object.");return a=s.Ca&&!s.pa?new X(new Sn({eb:c})):new X(s.pa),a.Ha(s.J),a}n.isActive=function(){return!!this.l&&this.l.isActive(this)};function Eu(){}n=Eu.prototype,n.ua=function(){},n.ta=function(){},n.sa=function(){},n.ra=function(){},n.isActive=function(){return!0},n.Na=function(){};function _r(){}_r.prototype.g=function(s,a){return new Et(s,a)};function Et(s,a){lt.call(this),this.g=new hu(a),this.l=s,this.h=a&&a.messageUrlParams||null,s=a&&a.messageHeaders||null,a&&a.clientProtocolHeaderRequired&&(s?s["X-Client-Protocol"]="webchannel":s={"X-Client-Protocol":"webchannel"}),this.g.o=s,s=a&&a.initMessageHeaders||null,a&&a.messageContentType&&(s?s["X-WebChannel-Content-Type"]=a.messageContentType:s={"X-WebChannel-Content-Type":a.messageContentType}),a&&a.va&&(s?s["X-WebChannel-Client-Profile"]=a.va:s={"X-WebChannel-Client-Profile":a.va}),this.g.S=s,(s=a&&a.Sb)&&!K(s)&&(this.g.m=s),this.v=a&&a.supportsCrossDomainXhr||!1,this.u=a&&a.sendRawJson||!1,(a=a&&a.httpSessionIdParam)&&!K(a)&&(this.g.D=a,s=this.h,s!==null&&a in s&&(s=this.h,a in s&&delete s[a])),this.j=new Me(this)}D(Et,lt),Et.prototype.m=function(){this.g.l=this.j,this.v&&(this.g.J=!0),this.g.connect(this.l,this.h||void 0)},Et.prototype.close=function(){Gs(this.g)},Et.prototype.o=function(s){var a=this.g;if(typeof s=="string"){var c={};c.__data__=s,s=c}else this.u&&(c={},c.__data__=xs(s),s=c);a.i.push(new fh(a.Ya++,s)),a.G==3&&pr(a)},Et.prototype.N=function(){this.g.l=null,delete this.j,Gs(this.g),delete this.g,Et.aa.N.call(this)};function vu(s){Ns.call(this),s.__headers__&&(this.headers=s.__headers__,this.statusCode=s.__status__,delete s.__headers__,delete s.__status__);var a=s.__sm__;if(a){t:{for(let c in a){s=c;break t}s=void 0}(this.i=s)&&(s=this.i,a=a!==null&&s in a?a[s]:void 0),this.data=a}else this.data=s}D(vu,Ns);function Au(){ks.call(this),this.status=1}D(Au,ks);function Me(s){this.g=s}D(Me,Eu),Me.prototype.ua=function(){yt(this.g,"a")},Me.prototype.ta=function(s){yt(this.g,new vu(s))},Me.prototype.sa=function(s){yt(this.g,new Au)},Me.prototype.ra=function(){yt(this.g,"b")},_r.prototype.createWebChannel=_r.prototype.g,Et.prototype.send=Et.prototype.o,Et.prototype.open=Et.prototype.m,Et.prototype.close=Et.prototype.close,ei=zt.createWebChannelTransport=function(){return new _r},ti=zt.getStatEventTarget=function(){return or()},Zs=zt.Event=me,Ir=zt.Stat={mb:0,pb:1,qb:2,Jb:3,Ob:4,Lb:5,Mb:6,Kb:7,Ib:8,Nb:9,PROXY:10,NOPROXY:11,Gb:12,Cb:13,Db:14,Bb:15,Eb:16,Fb:17,ib:18,hb:19,jb:20},ar.NO_ERROR=0,ar.TIMEOUT=8,ar.HTTP_ERROR=6,Cn=zt.ErrorCode=ar,Ua.COMPLETE="complete",Ys=zt.EventType=Ua,Ma.EventType=yn,yn.OPEN="a",yn.CLOSE="b",yn.ERROR="c",yn.MESSAGE="d",lt.prototype.listen=lt.prototype.K,Fe=zt.WebChannel=Ma,xh=zt.FetchXmlHttpFactory=Sn,X.prototype.listenOnce=X.prototype.L,X.prototype.getLastError=X.prototype.Ka,X.prototype.getLastErrorCode=X.prototype.Ba,X.prototype.getStatus=X.prototype.Z,X.prototype.getResponseJson=X.prototype.Oa,X.prototype.getResponseText=X.prototype.oa,X.prototype.send=X.prototype.ea,X.prototype.setWithCredentials=X.prototype.Ha,Xs=zt.XhrIo=X}).apply(typeof Tr<"u"?Tr:typeof self<"u"?self:typeof window<"u"?window:{});var Fu="@firebase/firestore",Lu="4.9.1";var mt=class{constructor(t){this.uid=t}isAuthenticated(){return this.uid!=null}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(t){return t.uid===this.uid}};mt.UNAUTHENTICATED=new mt(null),mt.GOOGLE_CREDENTIALS=new mt("google-credentials-uid"),mt.FIRST_PARTY=new mt("first-party-uid"),mt.MOCK_USER=new mt("mock-user");var rn="12.2.0";var Ie=new Cu("@firebase/firestore");function Le(){return Ie.logLevel}function N(n,...t){if(Ie.logLevel<=kt.DEBUG){let e=t.map(Jo);Ie.debug(`Firestore (${rn}): ${n}`,...e)}}function $t(n,...t){if(Ie.logLevel<=kt.ERROR){let e=t.map(Jo);Ie.error(`Firestore (${rn}): ${n}`,...e)}}function On(n,...t){if(Ie.logLevel<=kt.WARN){let e=t.map(Jo);Ie.warn(`Firestore (${rn}): ${n}`,...e)}}function Jo(n){if(typeof n=="string")return n;try{return(function(e){return JSON.stringify(e)})(n)}catch{return n}}function O(n,t,e){let r="Unexpected state";typeof t=="string"?r=t:e=t,bc(n,r,e)}function bc(n,t,e){let r=`FIRESTORE (${rn}) INTERNAL ASSERTION FAILED: ${t} (ID: ${n.toString(16)})`;if(e!==void 0)try{r+=" CONTEXT: "+JSON.stringify(e)}catch{r+=" CONTEXT: "+e}throw $t(r),new Error(r)}function j(n,t,e,r){let i="Unexpected state";typeof e=="string"?i=e:r=e,n||bc(t,i,r)}function L(n,t){return n}var 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"},V=class extends Pu{constructor(t,e){super(t,e),this.code=t,this.message=e,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}};var Pt=class{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}};var oi=class{constructor(t,e){this.user=e,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${t}`)}},ai=class{getToken(){return Promise.resolve(null)}invalidateToken(){}start(t,e){t.enqueueRetryable((()=>e(mt.UNAUTHENTICATED)))}shutdown(){}};var ui=class{constructor(t){this.t=t,this.currentUser=mt.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(t,e){j(this.o===void 0,42304);let r=this.i,i=h=>this.i!==r?(r=this.i,e(h)):Promise.resolve(),o=new Pt;this.o=()=>{this.i++,this.currentUser=this.u(),o.resolve(),o=new Pt,t.enqueueRetryable((()=>i(this.currentUser)))};let u=()=>{let h=o;t.enqueueRetryable((async()=>{await h.promise,await i(this.currentUser)}))},l=h=>{N("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=h,this.o&&(this.auth.addAuthTokenListener(this.o),u())};this.t.onInit((h=>l(h))),setTimeout((()=>{if(!this.auth){let h=this.t.getImmediate({optional:!0});h?l(h):(N("FirebaseAuthCredentialsProvider","Auth not yet detected"),o.resolve(),o=new Pt)}}),0),u()}getToken(){let t=this.i,e=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(e).then((r=>this.i!==t?(N("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):r?(j(typeof r.accessToken=="string",31837,{l:r}),new oi(r.accessToken,this.currentUser)):null)):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.o&&this.auth.removeAuthTokenListener(this.o),this.o=void 0}u(){let t=this.auth&&this.auth.getUid();return j(t===null||typeof t=="string",2055,{h:t}),new mt(t)}},ci=class{constructor(t,e,r){this.P=t,this.T=e,this.I=r,this.type="FirstParty",this.user=mt.FIRST_PARTY,this.A=new Map}R(){return this.I?this.I():null}get headers(){this.A.set("X-Goog-AuthUser",this.P);let t=this.R();return t&&this.A.set("Authorization",t),this.T&&this.A.set("X-Goog-Iam-Authorization-Token",this.T),this.A}},li=class{constructor(t,e,r){this.P=t,this.T=e,this.I=r}getToken(){return Promise.resolve(new ci(this.P,this.T,this.I))}start(t,e){t.enqueueRetryable((()=>e(mt.FIRST_PARTY)))}shutdown(){}invalidateToken(){}},Pr=class{constructor(t){this.value=t,this.type="AppCheck",this.headers=new Map,t&&t.length>0&&this.headers.set("x-firebase-appcheck",this.value)}},hi=class{constructor(t,e){this.V=e,this.forceRefresh=!1,this.appCheck=null,this.m=null,this.p=null,Nu(t)&&t.settings.appCheckToken&&(this.p=t.settings.appCheckToken)}start(t,e){j(this.o===void 0,3512);let r=o=>{o.error!=null&&N("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${o.error.message}`);let u=o.token!==this.m;return this.m=o.token,N("FirebaseAppCheckTokenProvider",`Received ${u?"new":"existing"} token.`),u?e(o.token):Promise.resolve()};this.o=o=>{t.enqueueRetryable((()=>r(o)))};let i=o=>{N("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=o,this.o&&this.appCheck.addTokenListener(this.o)};this.V.onInit((o=>i(o))),setTimeout((()=>{if(!this.appCheck){let o=this.V.getImmediate({optional:!0});o?i(o):N("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}}),0)}getToken(){if(this.p)return Promise.resolve(new Pr(this.p));let t=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(t).then((e=>e?(j(typeof e.token=="string",44558,{tokenResult:e}),this.m=e.token,new Pr(e.token)):null)):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.o&&this.appCheck.removeTokenListener(this.o),this.o=void 0}};function Dh(n){let t=typeof self<"u"&&(self.crypto||self.msCrypto),e=new Uint8Array(n);if(t&&typeof t.getRandomValues=="function")t.getRandomValues(e);else for(let r=0;r<n;r++)e[r]=Math.floor(256*Math.random());return e}var Fn=class{static newId(){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",e=62*Math.floor(4.129032258064516),r="";for(;r.length<20;){let i=Dh(40);for(let o=0;o<i.length;++o)r.length<20&&i[o]<e&&(r+=t.charAt(i[o]%62))}return r}};function q(n,t){return n<t?-1:n>t?1:0}function di(n,t){let e=Math.min(n.length,t.length);for(let r=0;r<e;r++){let i=n.charAt(r),o=t.charAt(r);if(i!==o)return ni(i)===ni(o)?q(i,o):ni(i)?1:-1}return q(n.length,t.length)}var Nh=55296,kh=57343;function ni(n){let t=n.charCodeAt(0);return t>=Nh&&t<=kh}function $e(n,t,e){return n.length===t.length&&n.every(((r,i)=>e(r,t[i])))}var fi="__name__",Vr=class n{constructor(t,e,r){e===void 0?e=0:e>t.length&&O(637,{offset:e,range:t.length}),r===void 0?r=t.length-e:r>t.length-e&&O(1746,{length:r,range:t.length-e}),this.segments=t,this.offset=e,this.len=r}get length(){return this.len}isEqual(t){return n.comparator(this,t)===0}child(t){let e=this.segments.slice(this.offset,this.limit());return t instanceof n?t.forEach((r=>{e.push(r)})):e.push(t),this.construct(e)}limit(){return this.offset+this.length}popFirst(t){return t=t===void 0?1:t,this.construct(this.segments,this.offset+t,this.length-t)}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(t){return this.segments[this.offset+t]}isEmpty(){return this.length===0}isPrefixOf(t){if(t.length<this.length)return!1;for(let e=0;e<this.length;e++)if(this.get(e)!==t.get(e))return!1;return!0}isImmediateParentOf(t){if(this.length+1!==t.length)return!1;for(let e=0;e<this.length;e++)if(this.get(e)!==t.get(e))return!1;return!0}forEach(t){for(let e=this.offset,r=this.limit();e<r;e++)t(this.segments[e])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,e){let r=Math.min(t.length,e.length);for(let i=0;i<r;i++){let o=n.compareSegments(t.get(i),e.get(i));if(o!==0)return o}return q(t.length,e.length)}static compareSegments(t,e){let r=n.isNumericId(t),i=n.isNumericId(e);return r&&!i?-1:!r&&i?1:r&&i?n.extractNumericId(t).compare(n.extractNumericId(e)):di(t,e)}static isNumericId(t){return t.startsWith("__id")&&t.endsWith("__")}static extractNumericId(t){return Gt.fromString(t.substring(4,t.length-2))}},W=class n extends Vr{construct(t,e,r){return new n(t,e,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...t){let e=[];for(let r of t){if(r.indexOf("//")>=0)throw new V(b.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);e.push(...r.split("/").filter((i=>i.length>0)))}return new n(e)}static emptyPath(){return new n([])}},Mh=/^[_a-zA-Z][_a-zA-Z0-9]*$/,vt=class n extends Vr{construct(t,e,r){return new n(t,e,r)}static isValidIdentifier(t){return Mh.test(t)}canonicalString(){return this.toArray().map((t=>(t=t.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),n.isValidIdentifier(t)||(t="`"+t+"`"),t))).join(".")}toString(){return this.canonicalString()}isKeyField(){return this.length===1&&this.get(0)===fi}static keyField(){return new n([fi])}static fromServerFormat(t){let e=[],r="",i=0,o=()=>{if(r.length===0)throw new V(b.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);e.push(r),r=""},u=!1;for(;i<t.length;){let l=t[i];if(l==="\\"){if(i+1===t.length)throw new V(b.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let h=t[i+1];if(h!=="\\"&&h!=="."&&h!=="`")throw new V(b.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);r+=h,i+=2}else l==="`"?(u=!u,i++):l!=="."||u?(r+=l,i++):(o(),i++)}if(o(),u)throw new V(b.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new n(e)}static emptyPath(){return new n([])}};var M=class n{constructor(t){this.path=t}static fromPath(t){return new n(W.fromString(t))}static fromName(t){return new n(W.fromString(t).popFirst(5))}static empty(){return new n(W.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(t){return this.path.length>=2&&this.path.get(this.path.length-2)===t}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(t){return t!==null&&W.comparator(this.path,t.path)===0}toString(){return this.path.toString()}static comparator(t,e){return W.comparator(t.path,e.path)}static isDocumentKey(t){return t.length%2==0}static fromSegments(t){return new n(new W(t.slice()))}};function Rc(n,t,e){if(!e)throw new V(b.INVALID_ARGUMENT,`Function ${n}() cannot be called with an empty ${t}.`)}function Oh(n,t,e,r){if(t===!0&&r===!0)throw new V(b.INVALID_ARGUMENT,`${n} and ${e} cannot be used together.`)}function qu(n){if(!M.isDocumentKey(n))throw new V(b.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${n} has ${n.length}.`)}function Uu(n){if(M.isDocumentKey(n))throw new V(b.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${n} has ${n.length}.`)}function Pc(n){return typeof n=="object"&&n!==null&&(Object.getPrototypeOf(n)===Object.prototype||Object.getPrototypeOf(n)===null)}function hs(n){if(n===void 0)return"undefined";if(n===null)return"null";if(typeof n=="string")return n.length>20&&(n=`${n.substring(0,20)}...`),JSON.stringify(n);if(typeof n=="number"||typeof n=="boolean")return""+n;if(typeof n=="object"){if(n instanceof Array)return"an array";{let t=(function(r){return r.constructor?r.constructor.name:null})(n);return t?`a custom ${t} object`:"an object"}}return typeof n=="function"?"a function":O(12329,{type:typeof n})}function It(n,t){if("_delegate"in n&&(n=n._delegate),!(n instanceof t)){if(t.name===n.constructor.name)throw new V(b.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{let e=hs(n);throw new V(b.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: ${e}`)}}return n}function Fh(n,t){if(t<=0)throw new V(b.INVALID_ARGUMENT,`Function ${n}() requires a positive number, but it was: ${t}.`)}function nt(n,t){let e={typeString:n};return t&&(e.value=t),e}function Zn(n,t){if(!Pc(n))throw new V(b.INVALID_ARGUMENT,"JSON must be an object");let e;for(let r in t)if(t[r]){let i=t[r].typeString,o="value"in t[r]?{value:t[r].value}:void 0;if(!(r in n)){e=`JSON missing required field: '${r}'`;break}let u=n[r];if(i&&typeof u!==i){e=`JSON field '${r}' must be a ${i}.`;break}if(o!==void 0&&u!==o.value){e=`Expected '${r}' field to equal '${o.value}'`;break}}if(e)throw new V(b.INVALID_ARGUMENT,e);return!0}var Bu=-62135596800,ju=1e6,rt=class n{static now(){return n.fromMillis(Date.now())}static fromDate(t){return n.fromMillis(t.getTime())}static fromMillis(t){let e=Math.floor(t/1e3),r=Math.floor((t-1e3*e)*ju);return new n(e,r)}constructor(t,e){if(this.seconds=t,this.nanoseconds=e,e<0)throw new V(b.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+e);if(e>=1e9)throw new V(b.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+e);if(t<Bu)throw new V(b.INVALID_ARGUMENT,"Timestamp seconds out of range: "+t);if(t>=253402300800)throw new V(b.INVALID_ARGUMENT,"Timestamp seconds out of range: "+t)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/ju}_compareTo(t){return this.seconds===t.seconds?q(this.nanoseconds,t.nanoseconds):q(this.seconds,t.seconds)}isEqual(t){return t.seconds===this.seconds&&t.nanoseconds===this.nanoseconds}toString(){return"Timestamp(seconds="+this.seconds+", nanoseconds="+this.nanoseconds+")"}toJSON(){return{type:n._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(t){if(Zn(t,n._jsonSchema))return new n(t.seconds,t.nanoseconds)}valueOf(){let t=this.seconds-Bu;return String(t).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}};rt._jsonSchemaVersion="firestore/timestamp/1.0",rt._jsonSchema={type:nt("string",rt._jsonSchemaVersion),seconds:nt("number"),nanoseconds:nt("number")};var F=class n{static fromTimestamp(t){return new n(t)}static min(){return new n(new rt(0,0))}static max(){return new n(new rt(253402300799,999999999))}constructor(t){this.timestamp=t}compareTo(t){return this.timestamp._compareTo(t.timestamp)}isEqual(t){return this.timestamp.isEqual(t.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}};var Ln=-1,mi=class{constructor(t,e,r,i){this.indexId=t,this.collectionGroup=e,this.fields=r,this.indexState=i}};mi.UNKNOWN_ID=-1;function Lh(n,t){let e=n.toTimestamp().seconds,r=n.toTimestamp().nanoseconds+1,i=F.fromTimestamp(r===1e9?new rt(e+1,0):new rt(e,r));return new Ee(i,M.empty(),t)}function qh(n){return new Ee(n.readTime,n.key,Ln)}var Ee=class n{constructor(t,e,r){this.readTime=t,this.documentKey=e,this.largestBatchId=r}static min(){return new n(F.min(),M.empty(),Ln)}static max(){return new n(F.max(),M.empty(),Ln)}};function Uh(n,t){let e=n.readTime.compareTo(t.readTime);return e!==0?e:(e=M.comparator(n.documentKey,t.documentKey),e!==0?e:q(n.largestBatchId,t.largestBatchId))}var Bh="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.",gi=class{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(t){this.onCommittedListeners.push(t)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach((t=>t()))}};async function sn(n){if(n.code!==b.FAILED_PRECONDITION||n.message!==Bh)throw n;N("LocalStore","Unexpectedly lost primary lease")}var P=class n{constructor(t){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,t((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(t){return this.next(void 0,t)}next(t,e){return this.callbackAttached&&O(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(e,this.error):this.wrapSuccess(t,this.result):new n(((r,i)=>{this.nextCallback=o=>{this.wrapSuccess(t,o).next(r,i)},this.catchCallback=o=>{this.wrapFailure(e,o).next(r,i)}}))}toPromise(){return new Promise(((t,e)=>{this.next(t,e)}))}wrapUserFunction(t){try{let e=t();return e instanceof n?e:n.resolve(e)}catch(e){return n.reject(e)}}wrapSuccess(t,e){return t?this.wrapUserFunction((()=>t(e))):n.resolve(e)}wrapFailure(t,e){return t?this.wrapUserFunction((()=>t(e))):n.reject(e)}static resolve(t){return new n(((e,r)=>{e(t)}))}static reject(t){return new n(((e,r)=>{r(t)}))}static waitFor(t){return new n(((e,r)=>{let i=0,o=0,u=!1;t.forEach((l=>{++i,l.next((()=>{++o,u&&o===i&&e()}),(h=>r(h)))})),u=!0,o===i&&e()}))}static or(t){let e=n.resolve(!1);for(let r of t)e=e.next((i=>i?n.resolve(i):r()));return e}static forEach(t,e){let r=[];return t.forEach(((i,o)=>{r.push(e.call(this,i,o))})),this.waitFor(r)}static mapArray(t,e){return new n(((r,i)=>{let o=t.length,u=new Array(o),l=0;for(let h=0;h<o;h++){let f=h;e(t[f]).next((m=>{u[f]=m,++l,l===o&&r(u)}),(m=>i(m)))}}))}static doWhile(t,e){return new n(((r,i)=>{let o=()=>{t()===!0?e().next((()=>{o()}),i):r()};o()}))}};function jh(n){let t=n.match(/Android ([\d.]+)/i),e=t?t[1].split(".").slice(0,2).join("."):"-1";return Number(e)}function on(n){return n.name==="IndexedDbTransactionError"}var Qe=class{constructor(t,e){this.previousValue=t,e&&(e.sequenceNumberHandler=r=>this.ae(r),this.ue=r=>e.writeSequenceNumber(r))}ae(t){return this.previousValue=Math.max(t,this.previousValue),this.previousValue}next(){let t=++this.previousValue;return this.ue&&this.ue(t),t}};Qe.ce=-1;var Xo=-1;function tr(n){return n==null}function qn(n){return n===0&&1/n==-1/0}function Gh(n){return typeof n=="number"&&Number.isInteger(n)&&!qn(n)&&n<=Number.MAX_SAFE_INTEGER&&n>=Number.MIN_SAFE_INTEGER}var Vc="";function zh(n){let t="";for(let e=0;e<n.length;e++)t.length>0&&(t=Gu(t)),t=Kh(n.get(e),t);return Gu(t)}function Kh(n,t){let e=t,r=n.length;for(let i=0;i<r;i++){let o=n.charAt(i);switch(o){case"\0":e+="";break;case Vc:e+="";break;default:e+=o}}return e}function Gu(n){return n+Vc+""}var $h="remoteDocuments",Cc="owner";var xc="mutationQueues";var Dc="mutations";var Nc="documentMutations",Qh="remoteDocumentsV14";var kc="remoteDocumentGlobal";var Mc="targets";var Oc="targetDocuments";var Fc="targetGlobal",Lc="collectionParents";var qc="clientMetadata";var Uc="bundles";var Bc="namedQueries";var Wh="indexConfiguration";var Hh="indexState";var Jh="indexEntries";var jc="documentOverlays";var Xh="globals";var Yh=[xc,Dc,Nc,$h,Mc,Cc,Fc,Oc,qc,kc,Lc,Uc,Bc],Zf=[...Yh,jc],Zh=[xc,Dc,Nc,Qh,Mc,Cc,Fc,Oc,qc,kc,Lc,Uc,Bc,jc],td=Zh,ed=[...td,Wh,Hh,Jh];var tm=[...ed,Xh];function zu(n){let t=0;for(let e in n)Object.prototype.hasOwnProperty.call(n,e)&&t++;return t}function fe(n,t){for(let e in n)Object.prototype.hasOwnProperty.call(n,e)&&t(e,n[e])}function Gc(n){for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t))return!1;return!0}var Y=class n{constructor(t,e){this.comparator=t,this.root=e||Mt.EMPTY}insert(t,e){return new n(this.comparator,this.root.insert(t,e,this.comparator).copy(null,null,Mt.BLACK,null,null))}remove(t){return new n(this.comparator,this.root.remove(t,this.comparator).copy(null,null,Mt.BLACK,null,null))}get(t){let e=this.root;for(;!e.isEmpty();){let r=this.comparator(t,e.key);if(r===0)return e.value;r<0?e=e.left:r>0&&(e=e.right)}return null}indexOf(t){let e=0,r=this.root;for(;!r.isEmpty();){let i=this.comparator(t,r.key);if(i===0)return e+r.left.size;i<0?r=r.left:(e+=r.left.size+1,r=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(t){return this.root.inorderTraversal(t)}forEach(t){this.inorderTraversal(((e,r)=>(t(e,r),!1)))}toString(){let t=[];return this.inorderTraversal(((e,r)=>(t.push(`${e}:${r}`),!1))),`{${t.join(", ")}}`}reverseTraversal(t){return this.root.reverseTraversal(t)}getIterator(){return new je(this.root,null,this.comparator,!1)}getIteratorFrom(t){return new je(this.root,t,this.comparator,!1)}getReverseIterator(){return new je(this.root,null,this.comparator,!0)}getReverseIteratorFrom(t){return new je(this.root,t,this.comparator,!0)}},je=class{constructor(t,e,r,i){this.isReverse=i,this.nodeStack=[];let o=1;for(;!t.isEmpty();)if(o=e?r(t.key,e):1,e&&i&&(o*=-1),o<0)t=this.isReverse?t.left:t.right;else{if(o===0){this.nodeStack.push(t);break}this.nodeStack.push(t),t=this.isReverse?t.right:t.left}}getNext(){let t=this.nodeStack.pop(),e={key:t.key,value:t.value};if(this.isReverse)for(t=t.left;!t.isEmpty();)this.nodeStack.push(t),t=t.right;else for(t=t.right;!t.isEmpty();)this.nodeStack.push(t),t=t.left;return e}hasNext(){return this.nodeStack.length>0}peek(){if(this.nodeStack.length===0)return null;let t=this.nodeStack[this.nodeStack.length-1];return{key:t.key,value:t.value}}},Mt=class n{constructor(t,e,r,i,o){this.key=t,this.value=e,this.color=r??n.RED,this.left=i??n.EMPTY,this.right=o??n.EMPTY,this.size=this.left.size+1+this.right.size}copy(t,e,r,i,o){return new n(t??this.key,e??this.value,r??this.color,i??this.left,o??this.right)}isEmpty(){return!1}inorderTraversal(t){return this.left.inorderTraversal(t)||t(this.key,this.value)||this.right.inorderTraversal(t)}reverseTraversal(t){return this.right.reverseTraversal(t)||t(this.key,this.value)||this.left.reverseTraversal(t)}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(t,e,r){let i=this,o=r(t,i.key);return i=o<0?i.copy(null,null,null,i.left.insert(t,e,r),null):o===0?i.copy(null,e,null,null,null):i.copy(null,null,null,null,i.right.insert(t,e,r)),i.fixUp()}removeMin(){if(this.left.isEmpty())return n.EMPTY;let t=this;return t.left.isRed()||t.left.left.isRed()||(t=t.moveRedLeft()),t=t.copy(null,null,null,t.left.removeMin(),null),t.fixUp()}remove(t,e){let r,i=this;if(e(t,i.key)<0)i.left.isEmpty()||i.left.isRed()||i.left.left.isRed()||(i=i.moveRedLeft()),i=i.copy(null,null,null,i.left.remove(t,e),null);else{if(i.left.isRed()&&(i=i.rotateRight()),i.right.isEmpty()||i.right.isRed()||i.right.left.isRed()||(i=i.moveRedRight()),e(t,i.key)===0){if(i.right.isEmpty())return n.EMPTY;r=i.right.min(),i=i.copy(r.key,r.value,null,null,i.right.removeMin())}i=i.copy(null,null,null,null,i.right.remove(t,e))}return i.fixUp()}isRed(){return this.color}fixUp(){let t=this;return t.right.isRed()&&!t.left.isRed()&&(t=t.rotateLeft()),t.left.isRed()&&t.left.left.isRed()&&(t=t.rotateRight()),t.left.isRed()&&t.right.isRed()&&(t=t.colorFlip()),t}moveRedLeft(){let t=this.colorFlip();return t.right.left.isRed()&&(t=t.copy(null,null,null,null,t.right.rotateRight()),t=t.rotateLeft(),t=t.colorFlip()),t}moveRedRight(){let t=this.colorFlip();return t.left.left.isRed()&&(t=t.rotateRight(),t=t.colorFlip()),t}rotateLeft(){let t=this.copy(null,null,n.RED,null,this.right.left);return this.right.copy(null,null,this.color,t,null)}rotateRight(){let t=this.copy(null,null,n.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,t)}colorFlip(){let t=this.left.copy(null,null,!this.left.color,null,null),e=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,t,e)}checkMaxDepth(){let t=this.check();return Math.pow(2,t)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw O(43730,{key:this.key,value:this.value});if(this.right.isRed())throw O(14113,{key:this.key,value:this.value});let t=this.left.check();if(t!==this.right.check())throw O(27949);return t+(this.isRed()?0:1)}};Mt.EMPTY=null,Mt.RED=!0,Mt.BLACK=!1;Mt.EMPTY=new class{constructor(){this.size=0}get key(){throw O(57766)}get value(){throw O(16141)}get color(){throw O(16727)}get left(){throw O(29726)}get right(){throw O(36894)}copy(t,e,r,i,o){return this}insert(t,e,r){return new Mt(t,e)}remove(t,e){return this}isEmpty(){return!0}inorderTraversal(t){return!1}reverseTraversal(t){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};var it=class n{constructor(t){this.comparator=t,this.data=new Y(this.comparator)}has(t){return this.data.get(t)!==null}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(t){return this.data.indexOf(t)}forEach(t){this.data.inorderTraversal(((e,r)=>(t(e),!1)))}forEachInRange(t,e){let r=this.data.getIteratorFrom(t[0]);for(;r.hasNext();){let i=r.getNext();if(this.comparator(i.key,t[1])>=0)return;e(i.key)}}forEachWhile(t,e){let r;for(r=e!==void 0?this.data.getIteratorFrom(e):this.data.getIterator();r.hasNext();)if(!t(r.getNext().key))return}firstAfterOrEqual(t){let e=this.data.getIteratorFrom(t);return e.hasNext()?e.getNext().key:null}getIterator(){return new Cr(this.data.getIterator())}getIteratorFrom(t){return new Cr(this.data.getIteratorFrom(t))}add(t){return this.copy(this.data.remove(t).insert(t,!0))}delete(t){return this.has(t)?this.copy(this.data.remove(t)):this}isEmpty(){return this.data.isEmpty()}unionWith(t){let e=this;return e.size<t.size&&(e=t,t=this),t.forEach((r=>{e=e.add(r)})),e}isEqual(t){if(!(t instanceof n)||this.size!==t.size)return!1;let e=this.data.getIterator(),r=t.data.getIterator();for(;e.hasNext();){let i=e.getNext().key,o=r.getNext().key;if(this.comparator(i,o)!==0)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(t){let e=new n(this.comparator);return e.data=t,e}},Cr=class{constructor(t){this.iter=t}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}};var Rt=class n{constructor(t){this.fields=t,t.sort(vt.comparator)}static empty(){return new n([])}unionWith(t){let e=new it(vt.comparator);for(let r of this.fields)e=e.add(r);for(let r of t)e=e.add(r);return new n(e.toArray())}covers(t){for(let e of this.fields)if(e.isPrefixOf(t))return!0;return!1}isEqual(t){return $e(this.fields,t.fields,((e,r)=>e.isEqual(r)))}};var xr=class extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}};var gt=class n{constructor(t){this.binaryString=t}static fromBase64String(t){let e=(function(i){try{return atob(i)}catch(o){throw typeof DOMException<"u"&&o instanceof DOMException?new xr("Invalid base64 string: "+o):o}})(t);return new n(e)}static fromUint8Array(t){let e=(function(i){let o="";for(let u=0;u<i.length;++u)o+=String.fromCharCode(i[u]);return o})(t);return new n(e)}[Symbol.iterator](){let t=0;return{next:()=>t<this.binaryString.length?{value:this.binaryString.charCodeAt(t++),done:!1}:{value:void 0,done:!0}}}toBase64(){return(function(e){return btoa(e)})(this.binaryString)}toUint8Array(){return(function(e){let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i);return r})(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(t){return q(this.binaryString,t.binaryString)}isEqual(t){return this.binaryString===t.binaryString}};gt.EMPTY_BYTE_STRING=new gt("");var nd=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function Qt(n){if(j(!!n,39018),typeof n=="string"){let t=0,e=nd.exec(n);if(j(!!e,46558,{timestamp:n}),e[1]){let i=e[1];i=(i+"000000000").substr(0,9),t=Number(i)}let r=new Date(n);return{seconds:Math.floor(r.getTime()/1e3),nanos:t}}return{seconds:J(n.seconds),nanos:J(n.nanos)}}function J(n){return typeof n=="number"?n:typeof n=="string"?Number(n):0}function Wt(n){return typeof n=="string"?gt.fromBase64String(n):gt.fromUint8Array(n)}var zc="server_timestamp",Kc="__type__",$c="__previous_value__",Qc="__local_write_time__";function ds(n){return(n?.mapValue?.fields||{})[Kc]?.stringValue===zc}function fs(n){let t=n.mapValue.fields[$c];return ds(t)?fs(t):t}function Un(n){let t=Qt(n.mapValue.fields[Qc].timestampValue);return new rt(t.seconds,t.nanos)}var pi=class{constructor(t,e,r,i,o,u,l,h,f,m){this.databaseId=t,this.appId=e,this.persistenceKey=r,this.host=i,this.ssl=o,this.forceLongPolling=u,this.autoDetectLongPolling=l,this.longPollingOptions=h,this.useFetchStreams=f,this.isUsingEmulator=m}},Dr="(default)",Nr=class n{constructor(t,e){this.projectId=t,this.database=e||Dr}static empty(){return new n("","")}get isDefaultDatabase(){return this.database===Dr}isEqual(t){return t instanceof n&&t.projectId===this.projectId&&t.database===this.database}};var Yo="__type__",Wc="__max__",Er={mapValue:{fields:{__type__:{stringValue:Wc}}}},Zo="__vector__",We="value";function ue(n){return"nullValue"in n?0:"booleanValue"in n?1:"integerValue"in n||"doubleValue"in n?2:"timestampValue"in n?3:"stringValue"in n?5:"bytesValue"in n?6:"referenceValue"in n?7:"geoPointValue"in n?8:"arrayValue"in n?9:"mapValue"in n?ds(n)?4:Jc(n)?9007199254740991:Hc(n)?10:11:O(28295,{value:n})}function Ft(n,t){if(n===t)return!0;let e=ue(n);if(e!==ue(t))return!1;switch(e){case 0:case 9007199254740991:return!0;case 1:return n.booleanValue===t.booleanValue;case 4:return Un(n).isEqual(Un(t));case 3:return(function(i,o){if(typeof i.timestampValue=="string"&&typeof o.timestampValue=="string"&&i.timestampValue.length===o.timestampValue.length)return i.timestampValue===o.timestampValue;let u=Qt(i.timestampValue),l=Qt(o.timestampValue);return u.seconds===l.seconds&&u.nanos===l.nanos})(n,t);case 5:return n.stringValue===t.stringValue;case 6:return(function(i,o){return Wt(i.bytesValue).isEqual(Wt(o.bytesValue))})(n,t);case 7:return n.referenceValue===t.referenceValue;case 8:return(function(i,o){return J(i.geoPointValue.latitude)===J(o.geoPointValue.latitude)&&J(i.geoPointValue.longitude)===J(o.geoPointValue.longitude)})(n,t);case 2:return(function(i,o){if("integerValue"in i&&"integerValue"in o)return J(i.integerValue)===J(o.integerValue);if("doubleValue"in i&&"doubleValue"in o){let u=J(i.doubleValue),l=J(o.doubleValue);return u===l?qn(u)===qn(l):isNaN(u)&&isNaN(l)}return!1})(n,t);case 9:return $e(n.arrayValue.values||[],t.arrayValue.values||[],Ft);case 10:case 11:return(function(i,o){let u=i.mapValue.fields||{},l=o.mapValue.fields||{};if(zu(u)!==zu(l))return!1;for(let h in u)if(u.hasOwnProperty(h)&&(l[h]===void 0||!Ft(u[h],l[h])))return!1;return!0})(n,t);default:return O(52216,{left:n})}}function Bn(n,t){return(n.values||[]).find((e=>Ft(e,t)))!==void 0}function He(n,t){if(n===t)return 0;let e=ue(n),r=ue(t);if(e!==r)return q(e,r);switch(e){case 0:case 9007199254740991:return 0;case 1:return q(n.booleanValue,t.booleanValue);case 2:return(function(o,u){let l=J(o.integerValue||o.doubleValue),h=J(u.integerValue||u.doubleValue);return l<h?-1:l>h?1:l===h?0:isNaN(l)?isNaN(h)?0:-1:1})(n,t);case 3:return Ku(n.timestampValue,t.timestampValue);case 4:return Ku(Un(n),Un(t));case 5:return di(n.stringValue,t.stringValue);case 6:return(function(o,u){let l=Wt(o),h=Wt(u);return l.compareTo(h)})(n.bytesValue,t.bytesValue);case 7:return(function(o,u){let l=o.split("/"),h=u.split("/");for(let f=0;f<l.length&&f<h.length;f++){let m=q(l[f],h[f]);if(m!==0)return m}return q(l.length,h.length)})(n.referenceValue,t.referenceValue);case 8:return(function(o,u){let l=q(J(o.latitude),J(u.latitude));return l!==0?l:q(J(o.longitude),J(u.longitude))})(n.geoPointValue,t.geoPointValue);case 9:return $u(n.arrayValue,t.arrayValue);case 10:return(function(o,u){let l=o.fields||{},h=u.fields||{},f=l[We]?.arrayValue,m=h[We]?.arrayValue,T=q(f?.values?.length||0,m?.values?.length||0);return T!==0?T:$u(f,m)})(n.mapValue,t.mapValue);case 11:return(function(o,u){if(o===Er.mapValue&&u===Er.mapValue)return 0;if(o===Er.mapValue)return 1;if(u===Er.mapValue)return-1;let l=o.fields||{},h=Object.keys(l),f=u.fields||{},m=Object.keys(f);h.sort(),m.sort();for(let T=0;T<h.length&&T<m.length;++T){let A=di(h[T],m[T]);if(A!==0)return A;let R=He(l[h[T]],f[m[T]]);if(R!==0)return R}return q(h.length,m.length)})(n.mapValue,t.mapValue);default:throw O(23264,{he:e})}}function Ku(n,t){if(typeof n=="string"&&typeof t=="string"&&n.length===t.length)return q(n,t);let e=Qt(n),r=Qt(t),i=q(e.seconds,r.seconds);return i!==0?i:q(e.nanos,r.nanos)}function $u(n,t){let e=n.values||[],r=t.values||[];for(let i=0;i<e.length&&i<r.length;++i){let o=He(e[i],r[i]);if(o)return o}return q(e.length,r.length)}function Je(n){return yi(n)}function yi(n){return"nullValue"in n?"null":"booleanValue"in n?""+n.booleanValue:"integerValue"in n?""+n.integerValue:"doubleValue"in n?""+n.doubleValue:"timestampValue"in n?(function(e){let r=Qt(e);return`time(${r.seconds},${r.nanos})`})(n.timestampValue):"stringValue"in n?n.stringValue:"bytesValue"in n?(function(e){return Wt(e).toBase64()})(n.bytesValue):"referenceValue"in n?(function(e){return M.fromName(e).toString()})(n.referenceValue):"geoPointValue"in n?(function(e){return`geo(${e.latitude},${e.longitude})`})(n.geoPointValue):"arrayValue"in n?(function(e){let r="[",i=!0;for(let o of e.values||[])i?i=!1:r+=",",r+=yi(o);return r+"]"})(n.arrayValue):"mapValue"in n?(function(e){let r=Object.keys(e.fields||{}).sort(),i="{",o=!0;for(let u of r)o?o=!1:i+=",",i+=`${u}:${yi(e.fields[u])}`;return i+"}"})(n.mapValue):O(61005,{value:n})}function Sr(n){switch(ue(n)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:let t=fs(n);return t?16+Sr(t):16;case 5:return 2*n.stringValue.length;case 6:return Wt(n.bytesValue).approximateByteSize();case 7:return n.referenceValue.length;case 9:return(function(r){return(r.values||[]).reduce(((i,o)=>i+Sr(o)),0)})(n.arrayValue);case 10:case 11:return(function(r){let i=0;return fe(r.fields,((o,u)=>{i+=o.length+Sr(u)})),i})(n.mapValue);default:throw O(13486,{value:n})}}function kr(n,t){return{referenceValue:`projects/${n.projectId}/databases/${n.database}/documents/${t.path.canonicalString()}`}}function _i(n){return!!n&&"integerValue"in n}function ta(n){return!!n&&"arrayValue"in n}function Qu(n){return!!n&&"nullValue"in n}function Wu(n){return!!n&&"doubleValue"in n&&isNaN(Number(n.doubleValue))}function br(n){return!!n&&"mapValue"in n}function Hc(n){return(n?.mapValue?.fields||{})[Yo]?.stringValue===Zo}function Dn(n){if(n.geoPointValue)return{geoPointValue:{...n.geoPointValue}};if(n.timestampValue&&typeof n.timestampValue=="object")return{timestampValue:{...n.timestampValue}};if(n.mapValue){let t={mapValue:{fields:{}}};return fe(n.mapValue.fields,((e,r)=>t.mapValue.fields[e]=Dn(r))),t}if(n.arrayValue){let t={arrayValue:{values:[]}};for(let e=0;e<(n.arrayValue.values||[]).length;++e)t.arrayValue.values[e]=Dn(n.arrayValue.values[e]);return t}return{...n}}function Jc(n){return(((n.mapValue||{}).fields||{}).__type__||{}).stringValue===Wc}var nm={mapValue:{fields:{[Yo]:{stringValue:Zo},[We]:{arrayValue:{}}}}};var Tt=class n{constructor(t){this.value=t}static empty(){return new n({mapValue:{}})}field(t){if(t.isEmpty())return this.value;{let e=this.value;for(let r=0;r<t.length-1;++r)if(e=(e.mapValue.fields||{})[t.get(r)],!br(e))return null;return e=(e.mapValue.fields||{})[t.lastSegment()],e||null}}set(t,e){this.getFieldsMap(t.popLast())[t.lastSegment()]=Dn(e)}setAll(t){let e=vt.emptyPath(),r={},i=[];t.forEach(((u,l)=>{if(!e.isImmediateParentOf(l)){let h=this.getFieldsMap(e);this.applyChanges(h,r,i),r={},i=[],e=l.popLast()}u?r[l.lastSegment()]=Dn(u):i.push(l.lastSegment())}));let o=this.getFieldsMap(e);this.applyChanges(o,r,i)}delete(t){let e=this.field(t.popLast());br(e)&&e.mapValue.fields&&delete e.mapValue.fields[t.lastSegment()]}isEqual(t){return Ft(this.value,t.value)}getFieldsMap(t){let e=this.value;e.mapValue.fields||(e.mapValue={fields:{}});for(let r=0;r<t.length;++r){let i=e.mapValue.fields[t.get(r)];br(i)&&i.mapValue.fields||(i={mapValue:{fields:{}}},e.mapValue.fields[t.get(r)]=i),e=i}return e.mapValue.fields}applyChanges(t,e,r){fe(e,((i,o)=>t[i]=o));for(let i of r)delete t[i]}clone(){return new n(Dn(this.value))}};function Xc(n){let t=[];return fe(n.fields,((e,r)=>{let i=new vt([e]);if(br(r)){let o=Xc(r.mapValue).fields;if(o.length===0)t.push(i);else for(let u of o)t.push(i.child(u))}else t.push(i)})),new Rt(t)}var St=class n{constructor(t,e,r,i,o,u,l){this.key=t,this.documentType=e,this.version=r,this.readTime=i,this.createTime=o,this.data=u,this.documentState=l}static newInvalidDocument(t){return new n(t,0,F.min(),F.min(),F.min(),Tt.empty(),0)}static newFoundDocument(t,e,r,i){return new n(t,1,e,F.min(),r,i,0)}static newNoDocument(t,e){return new n(t,2,e,F.min(),F.min(),Tt.empty(),0)}static newUnknownDocument(t,e){return new n(t,3,e,F.min(),F.min(),Tt.empty(),2)}convertToFoundDocument(t,e){return!this.createTime.isEqual(F.min())||this.documentType!==2&&this.documentType!==0||(this.createTime=t),this.version=t,this.documentType=1,this.data=e,this.documentState=0,this}convertToNoDocument(t){return this.version=t,this.documentType=2,this.data=Tt.empty(),this.documentState=0,this}convertToUnknownDocument(t){return this.version=t,this.documentType=3,this.data=Tt.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=F.min(),this}setReadTime(t){return this.readTime=t,this}get hasLocalMutations(){return this.documentState===1}get hasCommittedMutations(){return this.documentState===2}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return this.documentType!==0}isFoundDocument(){return this.documentType===1}isNoDocument(){return this.documentType===2}isUnknownDocument(){return this.documentType===3}isEqual(t){return t instanceof n&&this.key.isEqual(t.key)&&this.version.isEqual(t.version)&&this.documentType===t.documentType&&this.documentState===t.documentState&&this.data.isEqual(t.data)}mutableCopy(){return new n(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}})`}};var ce=class{constructor(t,e){this.position=t,this.inclusive=e}};function Hu(n,t,e){let r=0;for(let i=0;i<n.position.length;i++){let o=t[i],u=n.position[i];if(o.field.isKeyField()?r=M.comparator(M.fromName(u.referenceValue),e.key):r=He(u,e.data.field(o.field)),o.dir==="desc"&&(r*=-1),r!==0)break}return r}function Ju(n,t){if(n===null)return t===null;if(t===null||n.inclusive!==t.inclusive||n.position.length!==t.position.length)return!1;for(let e=0;e<n.position.length;e++)if(!Ft(n.position[e],t.position[e]))return!1;return!0}var ve=class{constructor(t,e="asc"){this.field=t,this.dir=e}};function rd(n,t){return n.dir===t.dir&&n.field.isEqual(t.field)}var Mr=class{},et=class n extends Mr{constructor(t,e,r){super(),this.field=t,this.op=e,this.value=r}static create(t,e,r){return t.isKeyField()?e==="in"||e==="not-in"?this.createKeyFieldInFilter(t,e,r):new Ti(t,e,r):e==="array-contains"?new vi(t,r):e==="in"?new Ai(t,r):e==="not-in"?new Si(t,r):e==="array-contains-any"?new bi(t,r):new n(t,e,r)}static createKeyFieldInFilter(t,e,r){return e==="in"?new Ii(t,r):new Ei(t,r)}matches(t){let e=t.data.field(this.field);return this.op==="!="?e!==null&&e.nullValue===void 0&&this.matchesComparison(He(e,this.value)):e!==null&&ue(this.value)===ue(e)&&this.matchesComparison(He(e,this.value))}matchesComparison(t){switch(this.op){case"<":return t<0;case"<=":return t<=0;case"==":return t===0;case"!=":return t!==0;case">":return t>0;case">=":return t>=0;default:return O(47266,{operator:this.op})}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}},xt=class n extends Mr{constructor(t,e){super(),this.filters=t,this.op=e,this.Pe=null}static create(t,e){return new n(t,e)}matches(t){return Yc(this)?this.filters.find((e=>!e.matches(t)))===void 0:this.filters.find((e=>e.matches(t)))!==void 0}getFlattenedFilters(){return this.Pe!==null||(this.Pe=this.filters.reduce(((t,e)=>t.concat(e.getFlattenedFilters())),[])),this.Pe}getFilters(){return Object.assign([],this.filters)}};function Yc(n){return n.op==="and"}function Zc(n){return sd(n)&&Yc(n)}function sd(n){for(let t of n.filters)if(t instanceof xt)return!1;return!0}function wi(n){if(n instanceof et)return n.field.canonicalString()+n.op.toString()+Je(n.value);if(Zc(n))return n.filters.map((t=>wi(t))).join(",");{let t=n.filters.map((e=>wi(e))).join(",");return`${n.op}(${t})`}}function tl(n,t){return n instanceof et?(function(r,i){return i instanceof et&&r.op===i.op&&r.field.isEqual(i.field)&&Ft(r.value,i.value)})(n,t):n instanceof xt?(function(r,i){return i instanceof xt&&r.op===i.op&&r.filters.length===i.filters.length?r.filters.reduce(((o,u,l)=>o&&tl(u,i.filters[l])),!0):!1})(n,t):void O(19439)}function el(n){return n instanceof et?(function(e){return`${e.field.canonicalString()} ${e.op} ${Je(e.value)}`})(n):n instanceof xt?(function(e){return e.op.toString()+" {"+e.getFilters().map(el).join(" ,")+"}"})(n):"Filter"}var Ti=class extends et{constructor(t,e,r){super(t,e,r),this.key=M.fromName(r.referenceValue)}matches(t){let e=M.comparator(t.key,this.key);return this.matchesComparison(e)}},Ii=class extends et{constructor(t,e){super(t,"in",e),this.keys=nl("in",e)}matches(t){return this.keys.some((e=>e.isEqual(t.key)))}},Ei=class extends et{constructor(t,e){super(t,"not-in",e),this.keys=nl("not-in",e)}matches(t){return!this.keys.some((e=>e.isEqual(t.key)))}};function nl(n,t){return(t.arrayValue?.values||[]).map((e=>M.fromName(e.referenceValue)))}var vi=class extends et{constructor(t,e){super(t,"array-contains",e)}matches(t){let e=t.data.field(this.field);return ta(e)&&Bn(e.arrayValue,this.value)}},Ai=class extends et{constructor(t,e){super(t,"in",e)}matches(t){let e=t.data.field(this.field);return e!==null&&Bn(this.value.arrayValue,e)}},Si=class extends et{constructor(t,e){super(t,"not-in",e)}matches(t){if(Bn(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;let e=t.data.field(this.field);return e!==null&&e.nullValue===void 0&&!Bn(this.value.arrayValue,e)}},bi=class extends et{constructor(t,e){super(t,"array-contains-any",e)}matches(t){let e=t.data.field(this.field);return!(!ta(e)||!e.arrayValue.values)&&e.arrayValue.values.some((r=>Bn(this.value.arrayValue,r)))}};var Ri=class{constructor(t,e=null,r=[],i=[],o=null,u=null,l=null){this.path=t,this.collectionGroup=e,this.orderBy=r,this.filters=i,this.limit=o,this.startAt=u,this.endAt=l,this.Te=null}};function Xu(n,t=null,e=[],r=[],i=null,o=null,u=null){return new Ri(n,t,e,r,i,o,u)}function ea(n){let t=L(n);if(t.Te===null){let e=t.path.canonicalString();t.collectionGroup!==null&&(e+="|cg:"+t.collectionGroup),e+="|f:",e+=t.filters.map((r=>wi(r))).join(","),e+="|ob:",e+=t.orderBy.map((r=>(function(o){return o.field.canonicalString()+o.dir})(r))).join(","),tr(t.limit)||(e+="|l:",e+=t.limit),t.startAt&&(e+="|lb:",e+=t.startAt.inclusive?"b:":"a:",e+=t.startAt.position.map((r=>Je(r))).join(",")),t.endAt&&(e+="|ub:",e+=t.endAt.inclusive?"a:":"b:",e+=t.endAt.position.map((r=>Je(r))).join(",")),t.Te=e}return t.Te}function na(n,t){if(n.limit!==t.limit||n.orderBy.length!==t.orderBy.length)return!1;for(let e=0;e<n.orderBy.length;e++)if(!rd(n.orderBy[e],t.orderBy[e]))return!1;if(n.filters.length!==t.filters.length)return!1;for(let e=0;e<n.filters.length;e++)if(!tl(n.filters[e],t.filters[e]))return!1;return n.collectionGroup===t.collectionGroup&&!!n.path.isEqual(t.path)&&!!Ju(n.startAt,t.startAt)&&Ju(n.endAt,t.endAt)}function Pi(n){return M.isDocumentKey(n.path)&&n.collectionGroup===null&&n.filters.length===0}var Lt=class{constructor(t,e=null,r=[],i=[],o=null,u="F",l=null,h=null){this.path=t,this.collectionGroup=e,this.explicitOrderBy=r,this.filters=i,this.limit=o,this.limitType=u,this.startAt=l,this.endAt=h,this.Ie=null,this.Ee=null,this.de=null,this.startAt,this.endAt}};function id(n,t,e,r,i,o,u,l){return new Lt(n,t,e,r,i,o,u,l)}function ms(n){return new Lt(n)}function Yu(n){return n.filters.length===0&&n.limit===null&&n.startAt==null&&n.endAt==null&&(n.explicitOrderBy.length===0||n.explicitOrderBy.length===1&&n.explicitOrderBy[0].field.isKeyField())}function ra(n){return n.collectionGroup!==null}function Ge(n){let t=L(n);if(t.Ie===null){t.Ie=[];let e=new Set;for(let o of t.explicitOrderBy)t.Ie.push(o),e.add(o.field.canonicalString());let r=t.explicitOrderBy.length>0?t.explicitOrderBy[t.explicitOrderBy.length-1].dir:"asc";(function(u){let l=new it(vt.comparator);return u.filters.forEach((h=>{h.getFlattenedFilters().forEach((f=>{f.isInequality()&&(l=l.add(f.field))}))})),l})(t).forEach((o=>{e.has(o.canonicalString())||o.isKeyField()||t.Ie.push(new ve(o,r))})),e.has(vt.keyField().canonicalString())||t.Ie.push(new ve(vt.keyField(),r))}return t.Ie}function Ot(n){let t=L(n);return t.Ee||(t.Ee=od(t,Ge(n))),t.Ee}function od(n,t){if(n.limitType==="F")return Xu(n.path,n.collectionGroup,t,n.filters,n.limit,n.startAt,n.endAt);{t=t.map((i=>{let o=i.dir==="desc"?"asc":"desc";return new ve(i.field,o)}));let e=n.endAt?new ce(n.endAt.position,n.endAt.inclusive):null,r=n.startAt?new ce(n.startAt.position,n.startAt.inclusive):null;return Xu(n.path,n.collectionGroup,t,n.filters,n.limit,e,r)}}function Vi(n,t){let e=n.filters.concat([t]);return new Lt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),e,n.limit,n.limitType,n.startAt,n.endAt)}function Or(n,t,e){return new Lt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),n.filters.slice(),t,e,n.startAt,n.endAt)}function gs(n,t){return na(Ot(n),Ot(t))&&n.limitType===t.limitType}function rl(n){return`${ea(Ot(n))}|lt:${n.limitType}`}function qe(n){return`Query(target=${(function(e){let r=e.path.canonicalString();return e.collectionGroup!==null&&(r+=" collectionGroup="+e.collectionGroup),e.filters.length>0&&(r+=`, filters: [${e.filters.map((i=>el(i))).join(", ")}]`),tr(e.limit)||(r+=", limit: "+e.limit),e.orderBy.length>0&&(r+=`, orderBy: [${e.orderBy.map((i=>(function(u){return`${u.field.canonicalString()} (${u.dir})`})(i))).join(", ")}]`),e.startAt&&(r+=", startAt: ",r+=e.startAt.inclusive?"b:":"a:",r+=e.startAt.position.map((i=>Je(i))).join(",")),e.endAt&&(r+=", endAt: ",r+=e.endAt.inclusive?"a:":"b:",r+=e.endAt.position.map((i=>Je(i))).join(",")),`Target(${r})`})(Ot(n))}; limitType=${n.limitType})`}function ps(n,t){return t.isFoundDocument()&&(function(r,i){let o=i.key.path;return r.collectionGroup!==null?i.key.hasCollectionId(r.collectionGroup)&&r.path.isPrefixOf(o):M.isDocumentKey(r.path)?r.path.isEqual(o):r.path.isImmediateParentOf(o)})(n,t)&&(function(r,i){for(let o of Ge(r))if(!o.field.isKeyField()&&i.data.field(o.field)===null)return!1;return!0})(n,t)&&(function(r,i){for(let o of r.filters)if(!o.matches(i))return!1;return!0})(n,t)&&(function(r,i){return!(r.startAt&&!(function(u,l,h){let f=Hu(u,l,h);return u.inclusive?f<=0:f<0})(r.startAt,Ge(r),i)||r.endAt&&!(function(u,l,h){let f=Hu(u,l,h);return u.inclusive?f>=0:f>0})(r.endAt,Ge(r),i))})(n,t)}function ad(n){return n.collectionGroup||(n.path.length%2==1?n.path.lastSegment():n.path.get(n.path.length-2))}function sl(n){return(t,e)=>{let r=!1;for(let i of Ge(n)){let o=ud(i,t,e);if(o!==0)return o;r=r||i.field.isKeyField()}return 0}}function ud(n,t,e){let r=n.field.isKeyField()?M.comparator(t.key,e.key):(function(o,u,l){let h=u.data.field(o),f=l.data.field(o);return h!==null&&f!==null?He(h,f):O(42886)})(n.field,t,e);switch(n.dir){case"asc":return r;case"desc":return-1*r;default:return O(19790,{direction:n.dir})}}var Ht=class{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.innerSize=0}get(t){let e=this.mapKeyFn(t),r=this.inner[e];if(r!==void 0){for(let[i,o]of r)if(this.equalsFn(i,t))return o}}has(t){return this.get(t)!==void 0}set(t,e){let r=this.mapKeyFn(t),i=this.inner[r];if(i===void 0)return this.inner[r]=[[t,e]],void this.innerSize++;for(let o=0;o<i.length;o++)if(this.equalsFn(i[o][0],t))return void(i[o]=[t,e]);i.push([t,e]),this.innerSize++}delete(t){let e=this.mapKeyFn(t),r=this.inner[e];if(r===void 0)return!1;for(let i=0;i<r.length;i++)if(this.equalsFn(r[i][0],t))return r.length===1?delete this.inner[e]:r.splice(i,1),this.innerSize--,!0;return!1}forEach(t){fe(this.inner,((e,r)=>{for(let[i,o]of r)t(i,o)}))}isEmpty(){return Gc(this.inner)}size(){return this.innerSize}};var cd=new Y(M.comparator);function Jt(){return cd}var il=new Y(M.comparator);function xn(...n){let t=il;for(let e of n)t=t.insert(e.key,e);return t}function ol(n){let t=il;return n.forEach(((e,r)=>t=t.insert(e,r.overlayedDocument))),t}function _e(){return Nn()}function al(){return Nn()}function Nn(){return new Ht((n=>n.toString()),((n,t)=>n.isEqual(t)))}var ld=new Y(M.comparator),hd=new it(M.comparator);function U(...n){let t=hd;for(let e of n)t=t.add(e);return t}var dd=new it(q);function fd(){return dd}function sa(n,t){if(n.useProto3Json){if(isNaN(t))return{doubleValue:"NaN"};if(t===1/0)return{doubleValue:"Infinity"};if(t===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:qn(t)?"-0":t}}function ul(n){return{integerValue:""+n}}function md(n,t){return Gh(t)?ul(t):sa(n,t)}var Xe=class{constructor(){this._=void 0}};function gd(n,t,e){return n instanceof Ae?(function(i,o){let u={fields:{[Kc]:{stringValue:zc},[Qc]:{timestampValue:{seconds:i.seconds,nanos:i.nanoseconds}}}};return o&&ds(o)&&(o=fs(o)),o&&(u.fields[$c]=o),{mapValue:u}})(e,t):n instanceof le?ll(n,t):n instanceof Se?hl(n,t):(function(i,o){let u=cl(i,o),l=Zu(u)+Zu(i.Ae);return _i(u)&&_i(i.Ae)?ul(l):sa(i.serializer,l)})(n,t)}function pd(n,t,e){return n instanceof le?ll(n,t):n instanceof Se?hl(n,t):e}function cl(n,t){return n instanceof Ye?(function(r){return _i(r)||(function(o){return!!o&&"doubleValue"in o})(r)})(t)?t:{integerValue:0}:null}var Ae=class extends Xe{},le=class extends Xe{constructor(t){super(),this.elements=t}};function ll(n,t){let e=dl(t);for(let r of n.elements)e.some((i=>Ft(i,r)))||e.push(r);return{arrayValue:{values:e}}}var Se=class extends Xe{constructor(t){super(),this.elements=t}};function hl(n,t){let e=dl(t);for(let r of n.elements)e=e.filter((i=>!Ft(i,r)));return{arrayValue:{values:e}}}var Ye=class extends Xe{constructor(t,e){super(),this.serializer=t,this.Ae=e}};function Zu(n){return J(n.integerValue||n.doubleValue)}function dl(n){return ta(n)&&n.arrayValue.values?n.arrayValue.values.slice():[]}var Fr=class{constructor(t,e){this.field=t,this.transform=e}};function yd(n,t){return n.field.isEqual(t.field)&&(function(r,i){return r instanceof le&&i instanceof le||r instanceof Se&&i instanceof Se?$e(r.elements,i.elements,Ft):r instanceof Ye&&i instanceof Ye?Ft(r.Ae,i.Ae):r instanceof Ae&&i instanceof Ae})(n.transform,t.transform)}var Ci=class{constructor(t,e){this.version=t,this.transformResults=e}},at=class n{constructor(t,e){this.updateTime=t,this.exists=e}static none(){return new n}static exists(t){return new n(void 0,t)}static updateTime(t){return new n(t)}get isNone(){return this.updateTime===void 0&&this.exists===void 0}isEqual(t){return this.exists===t.exists&&(this.updateTime?!!t.updateTime&&this.updateTime.isEqual(t.updateTime):!t.updateTime)}};function Rr(n,t){return n.updateTime!==void 0?t.isFoundDocument()&&t.version.isEqual(n.updateTime):n.exists===void 0||n.exists===t.isFoundDocument()}var Ze=class{};function fl(n,t){if(!n.hasLocalMutations||t&&t.fields.length===0)return null;if(t===null)return n.isNoDocument()?new Re(n.key,at.none()):new be(n.key,n.data,at.none());{let e=n.data,r=Tt.empty(),i=new it(vt.comparator);for(let o of t.fields)if(!i.has(o)){let u=e.field(o);u===null&&o.length>1&&(o=o.popLast(),u=e.field(o)),u===null?r.delete(o):r.set(o,u),i=i.add(o)}return new qt(n.key,r,new Rt(i.toArray()),at.none())}}function _d(n,t,e){n instanceof be?(function(i,o,u){let l=i.value.clone(),h=ec(i.fieldTransforms,o,u.transformResults);l.setAll(h),o.convertToFoundDocument(u.version,l).setHasCommittedMutations()})(n,t,e):n instanceof qt?(function(i,o,u){if(!Rr(i.precondition,o))return void o.convertToUnknownDocument(u.version);let l=ec(i.fieldTransforms,o,u.transformResults),h=o.data;h.setAll(ml(i)),h.setAll(l),o.convertToFoundDocument(u.version,h).setHasCommittedMutations()})(n,t,e):(function(i,o,u){o.convertToNoDocument(u.version).setHasCommittedMutations()})(0,t,e)}function kn(n,t,e,r){return n instanceof be?(function(o,u,l,h){if(!Rr(o.precondition,u))return l;let f=o.value.clone(),m=nc(o.fieldTransforms,h,u);return f.setAll(m),u.convertToFoundDocument(u.version,f).setHasLocalMutations(),null})(n,t,e,r):n instanceof qt?(function(o,u,l,h){if(!Rr(o.precondition,u))return l;let f=nc(o.fieldTransforms,h,u),m=u.data;return m.setAll(ml(o)),m.setAll(f),u.convertToFoundDocument(u.version,m).setHasLocalMutations(),l===null?null:l.unionWith(o.fieldMask.fields).unionWith(o.fieldTransforms.map((T=>T.field)))})(n,t,e,r):(function(o,u,l){return Rr(o.precondition,u)?(u.convertToNoDocument(u.version).setHasLocalMutations(),null):l})(n,t,e)}function wd(n,t){let e=null;for(let r of n.fieldTransforms){let i=t.data.field(r.field),o=cl(r.transform,i||null);o!=null&&(e===null&&(e=Tt.empty()),e.set(r.field,o))}return e||null}function tc(n,t){return n.type===t.type&&!!n.key.isEqual(t.key)&&!!n.precondition.isEqual(t.precondition)&&!!(function(r,i){return r===void 0&&i===void 0||!(!r||!i)&&$e(r,i,((o,u)=>yd(o,u)))})(n.fieldTransforms,t.fieldTransforms)&&(n.type===0?n.value.isEqual(t.value):n.type!==1||n.data.isEqual(t.data)&&n.fieldMask.isEqual(t.fieldMask))}var be=class extends Ze{constructor(t,e,r,i=[]){super(),this.key=t,this.value=e,this.precondition=r,this.fieldTransforms=i,this.type=0}getFieldMask(){return null}},qt=class extends Ze{constructor(t,e,r,i,o=[]){super(),this.key=t,this.data=e,this.fieldMask=r,this.precondition=i,this.fieldTransforms=o,this.type=1}getFieldMask(){return this.fieldMask}};function ml(n){let t=new Map;return n.fieldMask.fields.forEach((e=>{if(!e.isEmpty()){let r=n.data.field(e);t.set(e,r)}})),t}function ec(n,t,e){let r=new Map;j(n.length===e.length,32656,{Re:e.length,Ve:n.length});for(let i=0;i<e.length;i++){let o=n[i],u=o.transform,l=t.data.field(o.field);r.set(o.field,pd(u,l,e[i]))}return r}function nc(n,t,e){let r=new Map;for(let i of n){let o=i.transform,u=e.data.field(i.field);r.set(i.field,gd(o,u,t))}return r}var Re=class extends Ze{constructor(t,e){super(),this.key=t,this.precondition=e,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}},Lr=class extends Ze{constructor(t,e){super(),this.key=t,this.precondition=e,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}};var xi=class{constructor(t,e,r,i){this.batchId=t,this.localWriteTime=e,this.baseMutations=r,this.mutations=i}applyToRemoteDocument(t,e){let r=e.mutationResults;for(let i=0;i<this.mutations.length;i++){let o=this.mutations[i];o.key.isEqual(t.key)&&_d(o,t,r[i])}}applyToLocalView(t,e){for(let r of this.baseMutations)r.key.isEqual(t.key)&&(e=kn(r,t,e,this.localWriteTime));for(let r of this.mutations)r.key.isEqual(t.key)&&(e=kn(r,t,e,this.localWriteTime));return e}applyToLocalDocumentSet(t,e){let r=al();return this.mutations.forEach((i=>{let o=t.get(i.key),u=o.overlayedDocument,l=this.applyToLocalView(u,o.mutatedFields);l=e.has(i.key)?null:l;let h=fl(u,l);h!==null&&r.set(i.key,h),u.isValidDocument()||u.convertToNoDocument(F.min())})),r}keys(){return this.mutations.reduce(((t,e)=>t.add(e.key)),U())}isEqual(t){return this.batchId===t.batchId&&$e(this.mutations,t.mutations,((e,r)=>tc(e,r)))&&$e(this.baseMutations,t.baseMutations,((e,r)=>tc(e,r)))}},Di=class n{constructor(t,e,r,i){this.batch=t,this.commitVersion=e,this.mutationResults=r,this.docVersions=i}static from(t,e,r){j(t.mutations.length===r.length,58842,{me:t.mutations.length,fe:r.length});let i=(function(){return ld})(),o=t.mutations;for(let u=0;u<o.length;u++)i=i.insert(o[u].key,r[u].version);return new n(t,e,r,i)}};var Ni=class{constructor(t,e){this.largestBatchId=t,this.mutation=e}getKey(){return this.mutation.key}isEqual(t){return t!==null&&this.mutation===t.mutation}toString(){return`Overlay{
|
|
5
|
+
`+S+" "+x})}function ke(s,a,c,d){s.info(function(){return"XMLHTTP TEXT ("+a+"): "+wh(s,c)+(d?" "+d:"")})}function _h(s,a){s.info(function(){return"TIMEOUT: "+a})}In.prototype.info=function(){};function wh(s,a){if(!s.g)return a;if(!a)return null;try{var c=JSON.parse(a);if(c){for(s=0;s<c.length;s++)if(Array.isArray(c[s])){var d=c[s];if(!(2>d.length)){var I=d[1];if(Array.isArray(I)&&!(1>I.length)){var S=I[0];if(S!="noop"&&S!="stop"&&S!="close")for(var x=1;x<I.length;x++)I[x]=""}}}}return Ds(c)}catch{return a}}var ur={NO_ERROR:0,gb:1,tb:2,sb:3,nb:4,rb:5,ub:6,Ia:7,TIMEOUT:8,xb:9},za={lb:"complete",Hb:"success",Ja:"error",Ia:"abort",zb:"ready",Ab:"readystatechange",TIMEOUT:"timeout",vb:"incrementaldata",yb:"progress",ob:"downloadprogress",Pb:"uploadprogress"},Os;function cr(){}D(cr,Ns),cr.prototype.g=function(){return new XMLHttpRequest},cr.prototype.i=function(){return{}},Os=new cr;function te(s,a,c,d){this.j=s,this.i=a,this.l=c,this.R=d||1,this.U=new yn(this),this.I=45e3,this.H=null,this.o=!1,this.m=this.A=this.v=this.L=this.F=this.S=this.B=null,this.D=[],this.g=null,this.C=0,this.s=this.u=null,this.X=-1,this.J=!1,this.O=0,this.M=null,this.W=this.K=this.T=this.P=!1,this.h=new Ka}function Ka(){this.i=null,this.g="",this.h=!1}var $a={},Fs={};function Ls(s,a,c){s.L=1,s.v=fr(jt(a)),s.m=c,s.P=!0,Qa(s,null)}function Qa(s,a){s.F=Date.now(),lr(s),s.A=jt(s.v);var c=s.A,d=s.R;Array.isArray(d)||(d=[String(d)]),au(c.i,"t",d),s.C=0,c=s.j.J,s.h=new Ka,s.g=Su(s.j,c?a:null,!s.m),0<s.O&&(s.M=new fh(A(s.Y,s,s.g),s.O)),a=s.U,c=s.g,d=s.ca;var I="readystatechange";Array.isArray(I)||(I&&(Oa[0]=I.toString()),I=Oa);for(var S=0;S<I.length;S++){var x=Va(c,I[S],d||a.handleEvent,!1,a.h||a);if(!x)break;a.g[x.key]=x}a=s.H?g(s.H):{},s.m?(s.u||(s.u="POST"),a["Content-Type"]="application/x-www-form-urlencoded",s.g.ea(s.A,s.u,s.m,a)):(s.u="GET",s.g.ea(s.A,s.u,null,a)),wn(),ph(s.i,s.u,s.A,s.l,s.R,s.m)}te.prototype.ca=function(s){s=s.target;let a=this.M;a&&Gt(s)==3?a.j():this.Y(s)},te.prototype.Y=function(s){try{if(s==this.g)t:{let dt=Gt(this.g);var a=this.g.Ba();let Fe=this.g.Z();if(!(3>dt)&&(dt!=3||this.g&&(this.h.h||this.g.oa()||mu(this.g)))){this.J||dt!=4||a==7||(a==8||0>=Fe?wn(3):wn(2)),qs(this);var c=this.g.Z();this.X=c;e:if(Wa(this)){var d=mu(this.g);s="";var I=d.length,S=Gt(this.g)==4;if(!this.h.i){if(typeof TextDecoder>"u"){pe(this),En(this);var x="";break e}this.h.i=new l.TextDecoder}for(a=0;a<I;a++)this.h.h=!0,s+=this.h.i.decode(d[a],{stream:!(S&&a==I-1)});d.length=0,this.h.g+=s,this.C=0,x=this.h.g}else x=this.g.oa();if(this.o=c==200,yh(this.i,this.u,this.A,this.l,this.R,dt,c),this.o){if(this.T&&!this.K){e:{if(this.g){var Q,ot=this.g;if((Q=ot.g?ot.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!K(Q)){var z=Q;break e}}z=null}if(c=z)ke(this.i,this.l,c,"Initial handshake response via X-HTTP-Initial-Response"),this.K=!0,Us(this,c);else{this.o=!1,this.s=3,_t(12),pe(this),En(this);break t}}if(this.P){c=!0;let Ct;for(;!this.J&&this.C<x.length;)if(Ct=Th(this,x),Ct==Fs){dt==4&&(this.s=4,_t(14),c=!1),ke(this.i,this.l,null,"[Incomplete Response]");break}else if(Ct==$a){this.s=4,_t(15),ke(this.i,this.l,x,"[Invalid Chunk]"),c=!1;break}else ke(this.i,this.l,Ct,null),Us(this,Ct);if(Wa(this)&&this.C!=0&&(this.h.g=this.h.g.slice(this.C),this.C=0),dt!=4||x.length!=0||this.h.h||(this.s=1,_t(16),c=!1),this.o=this.o&&c,!c)ke(this.i,this.l,x,"[Invalid Chunked Response]"),pe(this),En(this);else if(0<x.length&&!this.W){this.W=!0;var ht=this.j;ht.g==this&&ht.ba&&!ht.M&&(ht.j.info("Great, no buffering proxy detected. Bytes received: "+x.length),$s(ht),ht.M=!0,_t(11))}}else ke(this.i,this.l,x,null),Us(this,x);dt==4&&pe(this),this.o&&!this.J&&(dt==4?Iu(this.j,this):(this.o=!1,lr(this)))}else Fh(this.g),c==400&&0<x.indexOf("Unknown SID")?(this.s=3,_t(12)):(this.s=0,_t(13)),pe(this),En(this)}}}catch{}};function Wa(s){return s.g?s.u=="GET"&&s.L!=2&&s.j.Ca:!1}function Th(s,a){var c=s.C,d=a.indexOf(`
|
|
6
|
+
`,c);return d==-1?Fs:(c=Number(a.substring(c,d)),isNaN(c)?$a:(d+=1,d+c>a.length?Fs:(a=a.slice(d,d+c),s.C=d+c,a)))}te.prototype.cancel=function(){this.J=!0,pe(this)};function lr(s){s.S=Date.now()+s.I,Ha(s,s.I)}function Ha(s,a){if(s.B!=null)throw Error("WatchDog timer not null");s.B=Tn(A(s.ba,s),a)}function qs(s){s.B&&(l.clearTimeout(s.B),s.B=null)}te.prototype.ba=function(){this.B=null;let s=Date.now();0<=s-this.S?(_h(this.i,this.A),this.L!=2&&(wn(),_t(17)),pe(this),this.s=2,En(this)):Ha(this,this.S-s)};function En(s){s.j.G==0||s.J||Iu(s.j,s)}function pe(s){qs(s);var a=s.M;a&&typeof a.ma=="function"&&a.ma(),s.M=null,Fa(s.U),s.g&&(a=s.g,s.g=null,a.abort(),a.ma())}function Us(s,a){try{var c=s.j;if(c.G!=0&&(c.g==s||Bs(c.h,s))){if(!s.K&&Bs(c.h,s)&&c.G==3){try{var d=c.Da.g.parse(a)}catch{d=null}if(Array.isArray(d)&&d.length==3){var I=d;if(I[0]==0){t:if(!c.u){if(c.g)if(c.g.F+3e3<s.F)_r(c),pr(c);else break t;Ks(c),_t(18)}}else c.za=I[1],0<c.za-c.T&&37500>I[2]&&c.F&&c.v==0&&!c.C&&(c.C=Tn(A(c.Za,c),6e3));if(1>=Ya(c.h)&&c.ca){try{c.ca()}catch{}c.ca=void 0}}else _e(c,11)}else if((s.K||c.g==s)&&_r(c),!K(a))for(I=c.Da.g.parse(a),a=0;a<I.length;a++){let z=I[a];if(c.T=z[0],z=z[1],c.G==2)if(z[0]=="c"){c.K=z[1],c.ia=z[2];let ht=z[3];ht!=null&&(c.la=ht,c.j.info("VER="+c.la));let dt=z[4];dt!=null&&(c.Aa=dt,c.j.info("SVER="+c.Aa));let Fe=z[5];Fe!=null&&typeof Fe=="number"&&0<Fe&&(d=1.5*Fe,c.L=d,c.j.info("backChannelRequestTimeoutMs_="+d)),d=c;let Ct=s.g;if(Ct){let Tr=Ct.g?Ct.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(Tr){var S=d.h;S.g||Tr.indexOf("spdy")==-1&&Tr.indexOf("quic")==-1&&Tr.indexOf("h2")==-1||(S.j=S.l,S.g=new Set,S.h&&(js(S,S.h),S.h=null))}if(d.D){let Qs=Ct.g?Ct.g.getResponseHeader("X-HTTP-Session-Id"):null;Qs&&(d.ya=Qs,H(d.I,d.D,Qs))}}c.G=3,c.l&&c.l.ua(),c.ba&&(c.R=Date.now()-s.F,c.j.info("Handshake RTT: "+c.R+"ms")),d=c;var x=s;if(d.qa=Au(d,d.J?d.ia:null,d.W),x.K){Za(d.h,x);var Q=x,ot=d.L;ot&&(Q.I=ot),Q.B&&(qs(Q),lr(Q)),d.g=x}else wu(d);0<c.i.length&&yr(c)}else z[0]!="stop"&&z[0]!="close"||_e(c,7);else c.G==3&&(z[0]=="stop"||z[0]=="close"?z[0]=="stop"?_e(c,7):zs(c):z[0]!="noop"&&c.l&&c.l.ta(z),c.v=0)}}wn(4)}catch{}}var Ih=class{constructor(s,a){this.g=s,this.map=a}};function Ja(s){this.l=s||10,l.PerformanceNavigationTiming?(s=l.performance.getEntriesByType("navigation"),s=0<s.length&&(s[0].nextHopProtocol=="hq"||s[0].nextHopProtocol=="h2")):s=!!(l.chrome&&l.chrome.loadTimes&&l.chrome.loadTimes()&&l.chrome.loadTimes().wasFetchedViaSpdy),this.j=s?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function Xa(s){return s.h?!0:s.g?s.g.size>=s.j:!1}function Ya(s){return s.h?1:s.g?s.g.size:0}function Bs(s,a){return s.h?s.h==a:s.g?s.g.has(a):!1}function js(s,a){s.g?s.g.add(a):s.h=a}function Za(s,a){s.h&&s.h==a?s.h=null:s.g&&s.g.has(a)&&s.g.delete(a)}Ja.prototype.cancel=function(){if(this.i=tu(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){for(let s of this.g.values())s.cancel();this.g.clear()}};function tu(s){if(s.h!=null)return s.i.concat(s.h.D);if(s.g!=null&&s.g.size!==0){let a=s.i;for(let c of s.g.values())a=a.concat(c.D);return a}return k(s.i)}function Eh(s){if(s.V&&typeof s.V=="function")return s.V();if(typeof Map<"u"&&s instanceof Map||typeof Set<"u"&&s instanceof Set)return Array.from(s.values());if(typeof s=="string")return s.split("");if(h(s)){for(var a=[],c=s.length,d=0;d<c;d++)a.push(s[d]);return a}a=[],c=0;for(d in s)a[c++]=s[d];return a}function vh(s){if(s.na&&typeof s.na=="function")return s.na();if(!s.V||typeof s.V!="function"){if(typeof Map<"u"&&s instanceof Map)return Array.from(s.keys());if(!(typeof Set<"u"&&s instanceof Set)){if(h(s)||typeof s=="string"){var a=[];s=s.length;for(var c=0;c<s;c++)a.push(c);return a}a=[],c=0;for(let d in s)a[c++]=d;return a}}}function eu(s,a){if(s.forEach&&typeof s.forEach=="function")s.forEach(a,void 0);else if(h(s)||typeof s=="string")Array.prototype.forEach.call(s,a,void 0);else for(var c=vh(s),d=Eh(s),I=d.length,S=0;S<I;S++)a.call(void 0,d[S],c&&c[S],s)}var nu=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function Ah(s,a){if(s){s=s.split("&");for(var c=0;c<s.length;c++){var d=s[c].indexOf("="),I=null;if(0<=d){var S=s[c].substring(0,d);I=s[c].substring(d+1)}else S=s[c];a(S,I?decodeURIComponent(I.replace(/\+/g," ")):"")}}}function ye(s){if(this.g=this.o=this.j="",this.s=null,this.m=this.l="",this.h=!1,s instanceof ye){this.h=s.h,hr(this,s.j),this.o=s.o,this.g=s.g,dr(this,s.s),this.l=s.l;var a=s.i,c=new Sn;c.i=a.i,a.g&&(c.g=new Map(a.g),c.h=a.h),ru(this,c),this.m=s.m}else s&&(a=String(s).match(nu))?(this.h=!1,hr(this,a[1]||"",!0),this.o=vn(a[2]||""),this.g=vn(a[3]||"",!0),dr(this,a[4]),this.l=vn(a[5]||"",!0),ru(this,a[6]||"",!0),this.m=vn(a[7]||"")):(this.h=!1,this.i=new Sn(null,this.h))}ye.prototype.toString=function(){var s=[],a=this.j;a&&s.push(An(a,su,!0),":");var c=this.g;return(c||a=="file")&&(s.push("//"),(a=this.o)&&s.push(An(a,su,!0),"@"),s.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),c=this.s,c!=null&&s.push(":",String(c))),(c=this.l)&&(this.g&&c.charAt(0)!="/"&&s.push("/"),s.push(An(c,c.charAt(0)=="/"?Rh:bh,!0))),(c=this.i.toString())&&s.push("?",c),(c=this.m)&&s.push("#",An(c,Vh)),s.join("")};function jt(s){return new ye(s)}function hr(s,a,c){s.j=c?vn(a,!0):a,s.j&&(s.j=s.j.replace(/:$/,""))}function dr(s,a){if(a){if(a=Number(a),isNaN(a)||0>a)throw Error("Bad port number "+a);s.s=a}else s.s=null}function ru(s,a,c){a instanceof Sn?(s.i=a,Ch(s.i,s.h)):(c||(a=An(a,Ph)),s.i=new Sn(a,s.h))}function H(s,a,c){s.i.set(a,c)}function fr(s){return H(s,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),s}function vn(s,a){return s?a?decodeURI(s.replace(/%25/g,"%2525")):decodeURIComponent(s):""}function An(s,a,c){return typeof s=="string"?(s=encodeURI(s).replace(a,Sh),c&&(s=s.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),s):null}function Sh(s){return s=s.charCodeAt(0),"%"+(s>>4&15).toString(16)+(s&15).toString(16)}var su=/[#\/\?@]/g,bh=/[#\?:]/g,Rh=/[#\?]/g,Ph=/[#\?@]/g,Vh=/#/g;function Sn(s,a){this.h=this.g=null,this.i=s||null,this.j=!!a}function ee(s){s.g||(s.g=new Map,s.h=0,s.i&&Ah(s.i,function(a,c){s.add(decodeURIComponent(a.replace(/\+/g," ")),c)}))}n=Sn.prototype,n.add=function(s,a){ee(this),this.i=null,s=Me(this,s);var c=this.g.get(s);return c||this.g.set(s,c=[]),c.push(a),this.h+=1,this};function iu(s,a){ee(s),a=Me(s,a),s.g.has(a)&&(s.i=null,s.h-=s.g.get(a).length,s.g.delete(a))}function ou(s,a){return ee(s),a=Me(s,a),s.g.has(a)}n.forEach=function(s,a){ee(this),this.g.forEach(function(c,d){c.forEach(function(I){s.call(a,I,d,this)},this)},this)},n.na=function(){ee(this);let s=Array.from(this.g.values()),a=Array.from(this.g.keys()),c=[];for(let d=0;d<a.length;d++){let I=s[d];for(let S=0;S<I.length;S++)c.push(a[d])}return c},n.V=function(s){ee(this);let a=[];if(typeof s=="string")ou(this,s)&&(a=a.concat(this.g.get(Me(this,s))));else{s=Array.from(this.g.values());for(let c=0;c<s.length;c++)a=a.concat(s[c])}return a},n.set=function(s,a){return ee(this),this.i=null,s=Me(this,s),ou(this,s)&&(this.h-=this.g.get(s).length),this.g.set(s,[a]),this.h+=1,this},n.get=function(s,a){return s?(s=this.V(s),0<s.length?String(s[0]):a):a};function au(s,a,c){iu(s,a),0<c.length&&(s.i=null,s.g.set(Me(s,a),k(c)),s.h+=c.length)}n.toString=function(){if(this.i)return this.i;if(!this.g)return"";let s=[],a=Array.from(this.g.keys());for(var c=0;c<a.length;c++){var d=a[c];let S=encodeURIComponent(String(d)),x=this.V(d);for(d=0;d<x.length;d++){var I=S;x[d]!==""&&(I+="="+encodeURIComponent(String(x[d]))),s.push(I)}}return this.i=s.join("&")};function Me(s,a){return a=String(a),s.j&&(a=a.toLowerCase()),a}function Ch(s,a){a&&!s.j&&(ee(s),s.i=null,s.g.forEach(function(c,d){var I=d.toLowerCase();d!=I&&(iu(this,d),au(this,I,c))},s)),s.j=a}function xh(s,a){let c=new In;if(l.Image){let d=new Image;d.onload=R(ne,c,"TestLoadImage: loaded",!0,a,d),d.onerror=R(ne,c,"TestLoadImage: error",!1,a,d),d.onabort=R(ne,c,"TestLoadImage: abort",!1,a,d),d.ontimeout=R(ne,c,"TestLoadImage: timeout",!1,a,d),l.setTimeout(function(){d.ontimeout&&d.ontimeout()},1e4),d.src=s}else a(!1)}function Dh(s,a){let c=new In,d=new AbortController,I=setTimeout(()=>{d.abort(),ne(c,"TestPingServer: timeout",!1,a)},1e4);fetch(s,{signal:d.signal}).then(S=>{clearTimeout(I),S.ok?ne(c,"TestPingServer: ok",!0,a):ne(c,"TestPingServer: server error",!1,a)}).catch(()=>{clearTimeout(I),ne(c,"TestPingServer: error",!1,a)})}function ne(s,a,c,d,I){try{I&&(I.onload=null,I.onerror=null,I.onabort=null,I.ontimeout=null),d(c)}catch{}}function Nh(){this.g=new gh}function kh(s,a,c){let d=c||"";try{eu(s,function(I,S){let x=I;f(I)&&(x=Ds(I)),a.push(d+S+"="+encodeURIComponent(x))})}catch(I){throw a.push(d+"type="+encodeURIComponent("_badmap")),I}}function bn(s){this.l=s.Ub||null,this.j=s.eb||!1}D(bn,Ns),bn.prototype.g=function(){return new mr(this.l,this.j)},bn.prototype.i=(function(s){return function(){return s}})({});function mr(s,a){lt.call(this),this.D=s,this.o=a,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.u=new Headers,this.h=null,this.B="GET",this.A="",this.g=!1,this.v=this.j=this.l=null}D(mr,lt),n=mr.prototype,n.open=function(s,a){if(this.readyState!=0)throw this.abort(),Error("Error reopening a connection");this.B=s,this.A=a,this.readyState=1,Pn(this)},n.send=function(s){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;let a={headers:this.u,method:this.B,credentials:this.m,cache:void 0};s&&(a.body=s),(this.D||l).fetch(new Request(this.A,a)).then(this.Sa.bind(this),this.ga.bind(this))},n.abort=function(){this.response=this.responseText="",this.u=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,Rn(this)),this.readyState=0},n.Sa=function(s){if(this.g&&(this.l=s,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=s.headers,this.readyState=2,Pn(this)),this.g&&(this.readyState=3,Pn(this),this.g)))if(this.responseType==="arraybuffer")s.arrayBuffer().then(this.Qa.bind(this),this.ga.bind(this));else if(typeof l.ReadableStream<"u"&&"body"in s){if(this.j=s.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.v=new TextDecoder;uu(this)}else s.text().then(this.Ra.bind(this),this.ga.bind(this))};function uu(s){s.j.read().then(s.Pa.bind(s)).catch(s.ga.bind(s))}n.Pa=function(s){if(this.g){if(this.o&&s.value)this.response.push(s.value);else if(!this.o){var a=s.value?s.value:new Uint8Array(0);(a=this.v.decode(a,{stream:!s.done}))&&(this.response=this.responseText+=a)}s.done?Rn(this):Pn(this),this.readyState==3&&uu(this)}},n.Ra=function(s){this.g&&(this.response=this.responseText=s,Rn(this))},n.Qa=function(s){this.g&&(this.response=s,Rn(this))},n.ga=function(){this.g&&Rn(this)};function Rn(s){s.readyState=4,s.l=null,s.j=null,s.v=null,Pn(s)}n.setRequestHeader=function(s,a){this.u.append(s,a)},n.getResponseHeader=function(s){return this.h&&this.h.get(s.toLowerCase())||""},n.getAllResponseHeaders=function(){if(!this.h)return"";let s=[],a=this.h.entries();for(var c=a.next();!c.done;)c=c.value,s.push(c[0]+": "+c[1]),c=a.next();return s.join(`\r
|
|
7
|
+
`)};function Pn(s){s.onreadystatechange&&s.onreadystatechange.call(s)}Object.defineProperty(mr.prototype,"withCredentials",{get:function(){return this.m==="include"},set:function(s){this.m=s?"include":"same-origin"}});function cu(s){let a="";return ut(s,function(c,d){a+=d,a+=":",a+=c,a+=`\r
|
|
8
|
+
`}),a}function Gs(s,a,c){t:{for(d in c){var d=!1;break t}d=!0}d||(c=cu(c),typeof s=="string"?c!=null&&encodeURIComponent(String(c)):H(s,a,c))}function X(s){lt.call(this),this.headers=new Map,this.o=s||null,this.h=!1,this.v=this.g=null,this.D="",this.m=0,this.l="",this.j=this.B=this.u=this.A=!1,this.I=null,this.H="",this.J=!1}D(X,lt);var Mh=/^https?$/i,Oh=["POST","PUT"];n=X.prototype,n.Ha=function(s){this.J=s},n.ea=function(s,a,c,d){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+s);a=a?a.toUpperCase():"GET",this.D=s,this.l="",this.m=0,this.A=!1,this.h=!0,this.g=this.o?this.o.g():Os.g(),this.v=this.o?La(this.o):La(Os),this.g.onreadystatechange=A(this.Ea,this);try{this.B=!0,this.g.open(a,String(s),!0),this.B=!1}catch(S){lu(this,S);return}if(s=c||"",c=new Map(this.headers),d)if(Object.getPrototypeOf(d)===Object.prototype)for(var I in d)c.set(I,d[I]);else if(typeof d.keys=="function"&&typeof d.get=="function")for(let S of d.keys())c.set(S,d.get(S));else throw Error("Unknown input type for opt_headers: "+String(d));d=Array.from(c.keys()).find(S=>S.toLowerCase()=="content-type"),I=l.FormData&&s instanceof l.FormData,!(0<=Array.prototype.indexOf.call(Oh,a,void 0))||d||I||c.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(let[S,x]of c)this.g.setRequestHeader(S,x);this.H&&(this.g.responseType=this.H),"withCredentials"in this.g&&this.g.withCredentials!==this.J&&(this.g.withCredentials=this.J);try{fu(this),this.u=!0,this.g.send(s),this.u=!1}catch(S){lu(this,S)}};function lu(s,a){s.h=!1,s.g&&(s.j=!0,s.g.abort(),s.j=!1),s.l=a,s.m=5,hu(s),gr(s)}function hu(s){s.A||(s.A=!0,yt(s,"complete"),yt(s,"error"))}n.abort=function(s){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.m=s||7,yt(this,"complete"),yt(this,"abort"),gr(this))},n.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),gr(this,!0)),X.aa.N.call(this)},n.Ea=function(){this.s||(this.B||this.u||this.j?du(this):this.bb())},n.bb=function(){du(this)};function du(s){if(s.h&&typeof u<"u"&&(!s.v[1]||Gt(s)!=4||s.Z()!=2)){if(s.u&&Gt(s)==4)ka(s.Ea,0,s);else if(yt(s,"readystatechange"),Gt(s)==4){s.h=!1;try{let x=s.Z();t:switch(x){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var a=!0;break t;default:a=!1}var c;if(!(c=a)){var d;if(d=x===0){var I=String(s.D).match(nu)[1]||null;!I&&l.self&&l.self.location&&(I=l.self.location.protocol.slice(0,-1)),d=!Mh.test(I?I.toLowerCase():"")}c=d}if(c)yt(s,"complete"),yt(s,"success");else{s.m=6;try{var S=2<Gt(s)?s.g.statusText:""}catch{S=""}s.l=S+" ["+s.Z()+"]",hu(s)}}finally{gr(s)}}}}function gr(s,a){if(s.g){fu(s);let c=s.g,d=s.v[0]?()=>{}:null;s.g=null,s.v=null,a||yt(s,"ready");try{c.onreadystatechange=d}catch{}}}function fu(s){s.I&&(l.clearTimeout(s.I),s.I=null)}n.isActive=function(){return!!this.g};function Gt(s){return s.g?s.g.readyState:0}n.Z=function(){try{return 2<Gt(this)?this.g.status:-1}catch{return-1}},n.oa=function(){try{return this.g?this.g.responseText:""}catch{return""}},n.Oa=function(s){if(this.g){var a=this.g.responseText;return s&&a.indexOf(s)==0&&(a=a.substring(s.length)),mh(a)}};function mu(s){try{if(!s.g)return null;if("response"in s.g)return s.g.response;switch(s.H){case"":case"text":return s.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in s.g)return s.g.mozResponseArrayBuffer}return null}catch{return null}}function Fh(s){let a={};s=(s.g&&2<=Gt(s)&&s.g.getAllResponseHeaders()||"").split(`\r
|
|
9
|
+
`);for(let d=0;d<s.length;d++){if(K(s[d]))continue;var c=w(s[d]);let I=c[0];if(c=c[1],typeof c!="string")continue;c=c.trim();let S=a[I]||[];a[I]=S,S.push(c)}E(a,function(d){return d.join(", ")})}n.Ba=function(){return this.m},n.Ka=function(){return typeof this.l=="string"?this.l:String(this.l)};function Vn(s,a,c){return c&&c.internalChannelParams&&c.internalChannelParams[s]||a}function gu(s){this.Aa=0,this.i=[],this.j=new In,this.ia=this.qa=this.I=this.W=this.g=this.ya=this.D=this.H=this.m=this.S=this.o=null,this.Ya=this.U=0,this.Va=Vn("failFast",!1,s),this.F=this.C=this.u=this.s=this.l=null,this.X=!0,this.za=this.T=-1,this.Y=this.v=this.B=0,this.Ta=Vn("baseRetryDelayMs",5e3,s),this.cb=Vn("retryDelaySeedMs",1e4,s),this.Wa=Vn("forwardChannelMaxRetries",2,s),this.wa=Vn("forwardChannelRequestTimeoutMs",2e4,s),this.pa=s&&s.xmlHttpFactory||void 0,this.Xa=s&&s.Tb||void 0,this.Ca=s&&s.useFetchStreams||!1,this.L=void 0,this.J=s&&s.supportsCrossDomainXhr||!1,this.K="",this.h=new Ja(s&&s.concurrentRequestLimit),this.Da=new Nh,this.P=s&&s.fastHandshake||!1,this.O=s&&s.encodeInitMessageHeaders||!1,this.P&&this.O&&(this.O=!1),this.Ua=s&&s.Rb||!1,s&&s.xa&&this.j.xa(),s&&s.forceLongPolling&&(this.X=!1),this.ba=!this.P&&this.X&&s&&s.detectBufferingProxy||!1,this.ja=void 0,s&&s.longPollingTimeout&&0<s.longPollingTimeout&&(this.ja=s.longPollingTimeout),this.ca=void 0,this.R=0,this.M=!1,this.ka=this.A=null}n=gu.prototype,n.la=8,n.G=1,n.connect=function(s,a,c,d){_t(0),this.W=s,this.H=a||{},c&&d!==void 0&&(this.H.OSID=c,this.H.OAID=d),this.F=this.X,this.I=Au(this,null,this.W),yr(this)};function zs(s){if(pu(s),s.G==3){var a=s.U++,c=jt(s.I);if(H(c,"SID",s.K),H(c,"RID",a),H(c,"TYPE","terminate"),Cn(s,c),a=new te(s,s.j,a),a.L=2,a.v=fr(jt(c)),c=!1,l.navigator&&l.navigator.sendBeacon)try{c=l.navigator.sendBeacon(a.v.toString(),"")}catch{}!c&&l.Image&&(new Image().src=a.v,c=!0),c||(a.g=Su(a.j,null),a.g.ea(a.v)),a.F=Date.now(),lr(a)}vu(s)}function pr(s){s.g&&($s(s),s.g.cancel(),s.g=null)}function pu(s){pr(s),s.u&&(l.clearTimeout(s.u),s.u=null),_r(s),s.h.cancel(),s.s&&(typeof s.s=="number"&&l.clearTimeout(s.s),s.s=null)}function yr(s){if(!Xa(s.h)&&!s.s){s.s=!0;var a=s.Ga;fn||Pa(),mn||(fn(),mn=!0),vs.add(a,s),s.B=0}}function Lh(s,a){return Ya(s.h)>=s.h.j-(s.s?1:0)?!1:s.s?(s.i=a.D.concat(s.i),!0):s.G==1||s.G==2||s.B>=(s.Va?0:s.Wa)?!1:(s.s=Tn(A(s.Ga,s,a),Eu(s,s.B)),s.B++,!0)}n.Ga=function(s){if(this.s)if(this.s=null,this.G==1){if(!s){this.U=Math.floor(1e5*Math.random()),s=this.U++;let I=new te(this,this.j,s),S=this.o;if(this.S&&(S?(S=g(S),_(S,this.S)):S=this.S),this.m!==null||this.O||(I.H=S,S=null),this.P)t:{for(var a=0,c=0;c<this.i.length;c++){e:{var d=this.i[c];if("__data__"in d.map&&(d=d.map.__data__,typeof d=="string")){d=d.length;break e}d=void 0}if(d===void 0)break;if(a+=d,4096<a){a=c;break t}if(a===4096||c===this.i.length-1){a=c+1;break t}}a=1e3}else a=1e3;a=_u(this,I,a),c=jt(this.I),H(c,"RID",s),H(c,"CVER",22),this.D&&H(c,"X-HTTP-Session-Id",this.D),Cn(this,c),S&&(this.O?a="headers="+encodeURIComponent(String(cu(S)))+"&"+a:this.m&&Gs(c,this.m,S)),js(this.h,I),this.Ua&&H(c,"TYPE","init"),this.P?(H(c,"$req",a),H(c,"SID","null"),I.T=!0,Ls(I,c,null)):Ls(I,c,a),this.G=2}}else this.G==3&&(s?yu(this,s):this.i.length==0||Xa(this.h)||yu(this))};function yu(s,a){var c;a?c=a.l:c=s.U++;let d=jt(s.I);H(d,"SID",s.K),H(d,"RID",c),H(d,"AID",s.T),Cn(s,d),s.m&&s.o&&Gs(d,s.m,s.o),c=new te(s,s.j,c,s.B+1),s.m===null&&(c.H=s.o),a&&(s.i=a.D.concat(s.i)),a=_u(s,c,1e3),c.I=Math.round(.5*s.wa)+Math.round(.5*s.wa*Math.random()),js(s.h,c),Ls(c,d,a)}function Cn(s,a){s.H&&ut(s.H,function(c,d){H(a,d,c)}),s.l&&eu({},function(c,d){H(a,d,c)})}function _u(s,a,c){c=Math.min(s.i.length,c);var d=s.l?A(s.l.Na,s.l,s):null;t:{var I=s.i;let S=-1;for(;;){let x=["count="+c];S==-1?0<c?(S=I[0].g,x.push("ofs="+S)):S=0:x.push("ofs="+S);let Q=!0;for(let ot=0;ot<c;ot++){let z=I[ot].g,ht=I[ot].map;if(z-=S,0>z)S=Math.max(0,I[ot].g-100),Q=!1;else try{kh(ht,x,"req"+z+"_")}catch{d&&d(ht)}}if(Q){d=x.join("&");break t}}}return s=s.i.splice(0,c),a.D=s,d}function wu(s){if(!s.g&&!s.u){s.Y=1;var a=s.Fa;fn||Pa(),mn||(fn(),mn=!0),vs.add(a,s),s.v=0}}function Ks(s){return s.g||s.u||3<=s.v?!1:(s.Y++,s.u=Tn(A(s.Fa,s),Eu(s,s.v)),s.v++,!0)}n.Fa=function(){if(this.u=null,Tu(this),this.ba&&!(this.M||this.g==null||0>=this.R)){var s=2*this.R;this.j.info("BP detection timer enabled: "+s),this.A=Tn(A(this.ab,this),s)}},n.ab=function(){this.A&&(this.A=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.M=!0,_t(10),pr(this),Tu(this))};function $s(s){s.A!=null&&(l.clearTimeout(s.A),s.A=null)}function Tu(s){s.g=new te(s,s.j,"rpc",s.Y),s.m===null&&(s.g.H=s.o),s.g.O=0;var a=jt(s.qa);H(a,"RID","rpc"),H(a,"SID",s.K),H(a,"AID",s.T),H(a,"CI",s.F?"0":"1"),!s.F&&s.ja&&H(a,"TO",s.ja),H(a,"TYPE","xmlhttp"),Cn(s,a),s.m&&s.o&&Gs(a,s.m,s.o),s.L&&(s.g.I=s.L);var c=s.g;s=s.ia,c.L=1,c.v=fr(jt(a)),c.m=null,c.P=!0,Qa(c,s)}n.Za=function(){this.C!=null&&(this.C=null,pr(this),Ks(this),_t(19))};function _r(s){s.C!=null&&(l.clearTimeout(s.C),s.C=null)}function Iu(s,a){var c=null;if(s.g==a){_r(s),$s(s),s.g=null;var d=2}else if(Bs(s.h,a))c=a.D,Za(s.h,a),d=1;else return;if(s.G!=0){if(a.o)if(d==1){c=a.m?a.m.length:0,a=Date.now()-a.F;var I=s.B;d=ar(),yt(d,new Ga(d,c)),yr(s)}else wu(s);else if(I=a.s,I==3||I==0&&0<a.X||!(d==1&&Lh(s,a)||d==2&&Ks(s)))switch(c&&0<c.length&&(a=s.h,a.i=a.i.concat(c)),I){case 1:_e(s,5);break;case 4:_e(s,10);break;case 3:_e(s,6);break;default:_e(s,2)}}}function Eu(s,a){let c=s.Ta+Math.floor(Math.random()*s.cb);return s.isActive()||(c*=2),c*a}function _e(s,a){if(s.j.info("Error code "+a),a==2){var c=A(s.fb,s),d=s.Xa;let I=!d;d=new ye(d||"//www.google.com/images/cleardot.gif"),l.location&&l.location.protocol=="http"||hr(d,"https"),fr(d),I?xh(d.toString(),c):Dh(d.toString(),c)}else _t(2);s.G=0,s.l&&s.l.sa(a),vu(s),pu(s)}n.fb=function(s){s?(this.j.info("Successfully pinged google.com"),_t(2)):(this.j.info("Failed to ping google.com"),_t(1))};function vu(s){if(s.G=0,s.ka=[],s.l){let a=tu(s.h);(a.length!=0||s.i.length!=0)&&(C(s.ka,a),C(s.ka,s.i),s.h.i.length=0,k(s.i),s.i.length=0),s.l.ra()}}function Au(s,a,c){var d=c instanceof ye?jt(c):new ye(c);if(d.g!="")a&&(d.g=a+"."+d.g),dr(d,d.s);else{var I=l.location;d=I.protocol,a=a?a+"."+I.hostname:I.hostname,I=+I.port;var S=new ye(null);d&&hr(S,d),a&&(S.g=a),I&&dr(S,I),c&&(S.l=c),d=S}return c=s.D,a=s.ya,c&&a&&H(d,c,a),H(d,"VER",s.la),Cn(s,d),d}function Su(s,a,c){if(a&&!s.J)throw Error("Can't create secondary domain capable XhrIo object.");return a=s.Ca&&!s.pa?new X(new bn({eb:c})):new X(s.pa),a.Ha(s.J),a}n.isActive=function(){return!!this.l&&this.l.isActive(this)};function bu(){}n=bu.prototype,n.ua=function(){},n.ta=function(){},n.sa=function(){},n.ra=function(){},n.isActive=function(){return!0},n.Na=function(){};function wr(){}wr.prototype.g=function(s,a){return new Et(s,a)};function Et(s,a){lt.call(this),this.g=new gu(a),this.l=s,this.h=a&&a.messageUrlParams||null,s=a&&a.messageHeaders||null,a&&a.clientProtocolHeaderRequired&&(s?s["X-Client-Protocol"]="webchannel":s={"X-Client-Protocol":"webchannel"}),this.g.o=s,s=a&&a.initMessageHeaders||null,a&&a.messageContentType&&(s?s["X-WebChannel-Content-Type"]=a.messageContentType:s={"X-WebChannel-Content-Type":a.messageContentType}),a&&a.va&&(s?s["X-WebChannel-Client-Profile"]=a.va:s={"X-WebChannel-Client-Profile":a.va}),this.g.S=s,(s=a&&a.Sb)&&!K(s)&&(this.g.m=s),this.v=a&&a.supportsCrossDomainXhr||!1,this.u=a&&a.sendRawJson||!1,(a=a&&a.httpSessionIdParam)&&!K(a)&&(this.g.D=a,s=this.h,s!==null&&a in s&&(s=this.h,a in s&&delete s[a])),this.j=new Oe(this)}D(Et,lt),Et.prototype.m=function(){this.g.l=this.j,this.v&&(this.g.J=!0),this.g.connect(this.l,this.h||void 0)},Et.prototype.close=function(){zs(this.g)},Et.prototype.o=function(s){var a=this.g;if(typeof s=="string"){var c={};c.__data__=s,s=c}else this.u&&(c={},c.__data__=Ds(s),s=c);a.i.push(new Ih(a.Ya++,s)),a.G==3&&yr(a)},Et.prototype.N=function(){this.g.l=null,delete this.j,zs(this.g),delete this.g,Et.aa.N.call(this)};function Ru(s){ks.call(this),s.__headers__&&(this.headers=s.__headers__,this.statusCode=s.__status__,delete s.__headers__,delete s.__status__);var a=s.__sm__;if(a){t:{for(let c in a){s=c;break t}s=void 0}(this.i=s)&&(s=this.i,a=a!==null&&s in a?a[s]:void 0),this.data=a}else this.data=s}D(Ru,ks);function Pu(){Ms.call(this),this.status=1}D(Pu,Ms);function Oe(s){this.g=s}D(Oe,bu),Oe.prototype.ua=function(){yt(this.g,"a")},Oe.prototype.ta=function(s){yt(this.g,new Ru(s))},Oe.prototype.sa=function(s){yt(this.g,new Pu)},Oe.prototype.ra=function(){yt(this.g,"b")},wr.prototype.createWebChannel=wr.prototype.g,Et.prototype.send=Et.prototype.o,Et.prototype.open=Et.prototype.m,Et.prototype.close=Et.prototype.close,ni=Kt.createWebChannelTransport=function(){return new wr},ei=Kt.getStatEventTarget=function(){return ar()},ti=Kt.Event=ge,Er=Kt.Stat={mb:0,pb:1,qb:2,Jb:3,Ob:4,Lb:5,Mb:6,Kb:7,Ib:8,Nb:9,PROXY:10,NOPROXY:11,Gb:12,Cb:13,Db:14,Bb:15,Eb:16,Fb:17,ib:18,hb:19,jb:20},ur.NO_ERROR=0,ur.TIMEOUT=8,ur.HTTP_ERROR=6,xn=Kt.ErrorCode=ur,za.COMPLETE="complete",Zs=Kt.EventType=za,qa.EventType=_n,_n.OPEN="a",_n.CLOSE="b",_n.ERROR="c",_n.MESSAGE="d",lt.prototype.listen=lt.prototype.K,Le=Kt.WebChannel=qa,qh=Kt.FetchXmlHttpFactory=bn,X.prototype.listenOnce=X.prototype.L,X.prototype.getLastError=X.prototype.Ka,X.prototype.getLastErrorCode=X.prototype.Ba,X.prototype.getStatus=X.prototype.Z,X.prototype.getResponseJson=X.prototype.Oa,X.prototype.getResponseText=X.prototype.oa,X.prototype.send=X.prototype.ea,X.prototype.setWithCredentials=X.prototype.Ha,Ys=Kt.XhrIo=X}).apply(typeof Ir<"u"?Ir:typeof self<"u"?self:typeof window<"u"?window:{});var Bu="@firebase/firestore",ju="4.9.1";var mt=class{constructor(t){this.uid=t}isAuthenticated(){return this.uid!=null}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(t){return t.uid===this.uid}};mt.UNAUTHENTICATED=new mt(null),mt.GOOGLE_CREDENTIALS=new mt("google-credentials-uid"),mt.FIRST_PARTY=new mt("first-party-uid"),mt.MOCK_USER=new mt("mock-user");var sn="12.2.0";var Ee=new ku("@firebase/firestore");function qe(){return Ee.logLevel}function N(n,...t){if(Ee.logLevel<=Mt.DEBUG){let e=t.map(Xo);Ee.debug(`Firestore (${sn}): ${n}`,...e)}}function Qt(n,...t){if(Ee.logLevel<=Mt.ERROR){let e=t.map(Xo);Ee.error(`Firestore (${sn}): ${n}`,...e)}}function Fn(n,...t){if(Ee.logLevel<=Mt.WARN){let e=t.map(Xo);Ee.warn(`Firestore (${sn}): ${n}`,...e)}}function Xo(n){if(typeof n=="string")return n;try{return(function(e){return JSON.stringify(e)})(n)}catch{return n}}function O(n,t,e){let r="Unexpected state";typeof t=="string"?r=t:e=t,Cc(n,r,e)}function Cc(n,t,e){let r=`FIRESTORE (${sn}) INTERNAL ASSERTION FAILED: ${t} (ID: ${n.toString(16)})`;if(e!==void 0)try{r+=" CONTEXT: "+JSON.stringify(e)}catch{r+=" CONTEXT: "+e}throw Qt(r),new Error(r)}function j(n,t,e,r){let i="Unexpected state";typeof e=="string"?i=e:r=e,n||Cc(t,i,r)}function L(n,t){return n}var 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"},V=class extends Du{constructor(t,e){super(t,e),this.code=t,this.message=e,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}};var Pt=class{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}};var ai=class{constructor(t,e){this.user=e,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${t}`)}},ui=class{getToken(){return Promise.resolve(null)}invalidateToken(){}start(t,e){t.enqueueRetryable((()=>e(mt.UNAUTHENTICATED)))}shutdown(){}};var ci=class{constructor(t){this.t=t,this.currentUser=mt.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(t,e){j(this.o===void 0,42304);let r=this.i,i=h=>this.i!==r?(r=this.i,e(h)):Promise.resolve(),o=new Pt;this.o=()=>{this.i++,this.currentUser=this.u(),o.resolve(),o=new Pt,t.enqueueRetryable((()=>i(this.currentUser)))};let u=()=>{let h=o;t.enqueueRetryable((async()=>{await h.promise,await i(this.currentUser)}))},l=h=>{N("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=h,this.o&&(this.auth.addAuthTokenListener(this.o),u())};this.t.onInit((h=>l(h))),setTimeout((()=>{if(!this.auth){let h=this.t.getImmediate({optional:!0});h?l(h):(N("FirebaseAuthCredentialsProvider","Auth not yet detected"),o.resolve(),o=new Pt)}}),0),u()}getToken(){let t=this.i,e=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(e).then((r=>this.i!==t?(N("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):r?(j(typeof r.accessToken=="string",31837,{l:r}),new ai(r.accessToken,this.currentUser)):null)):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.o&&this.auth.removeAuthTokenListener(this.o),this.o=void 0}u(){let t=this.auth&&this.auth.getUid();return j(t===null||typeof t=="string",2055,{h:t}),new mt(t)}},li=class{constructor(t,e,r){this.P=t,this.T=e,this.I=r,this.type="FirstParty",this.user=mt.FIRST_PARTY,this.A=new Map}R(){return this.I?this.I():null}get headers(){this.A.set("X-Goog-AuthUser",this.P);let t=this.R();return t&&this.A.set("Authorization",t),this.T&&this.A.set("X-Goog-Iam-Authorization-Token",this.T),this.A}},hi=class{constructor(t,e,r){this.P=t,this.T=e,this.I=r}getToken(){return Promise.resolve(new li(this.P,this.T,this.I))}start(t,e){t.enqueueRetryable((()=>e(mt.FIRST_PARTY)))}shutdown(){}invalidateToken(){}},Vr=class{constructor(t){this.value=t,this.type="AppCheck",this.headers=new Map,t&&t.length>0&&this.headers.set("x-firebase-appcheck",this.value)}},di=class{constructor(t,e){this.V=e,this.forceRefresh=!1,this.appCheck=null,this.m=null,this.p=null,Fu(t)&&t.settings.appCheckToken&&(this.p=t.settings.appCheckToken)}start(t,e){j(this.o===void 0,3512);let r=o=>{o.error!=null&&N("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${o.error.message}`);let u=o.token!==this.m;return this.m=o.token,N("FirebaseAppCheckTokenProvider",`Received ${u?"new":"existing"} token.`),u?e(o.token):Promise.resolve()};this.o=o=>{t.enqueueRetryable((()=>r(o)))};let i=o=>{N("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=o,this.o&&this.appCheck.addTokenListener(this.o)};this.V.onInit((o=>i(o))),setTimeout((()=>{if(!this.appCheck){let o=this.V.getImmediate({optional:!0});o?i(o):N("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}}),0)}getToken(){if(this.p)return Promise.resolve(new Vr(this.p));let t=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(t).then((e=>e?(j(typeof e.token=="string",44558,{tokenResult:e}),this.m=e.token,new Vr(e.token)):null)):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.o&&this.appCheck.removeTokenListener(this.o),this.o=void 0}};function Uh(n){let t=typeof self<"u"&&(self.crypto||self.msCrypto),e=new Uint8Array(n);if(t&&typeof t.getRandomValues=="function")t.getRandomValues(e);else for(let r=0;r<n;r++)e[r]=Math.floor(256*Math.random());return e}var Ln=class{static newId(){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",e=62*Math.floor(4.129032258064516),r="";for(;r.length<20;){let i=Uh(40);for(let o=0;o<i.length;++o)r.length<20&&i[o]<e&&(r+=t.charAt(i[o]%62))}return r}};function q(n,t){return n<t?-1:n>t?1:0}function fi(n,t){let e=Math.min(n.length,t.length);for(let r=0;r<e;r++){let i=n.charAt(r),o=t.charAt(r);if(i!==o)return ri(i)===ri(o)?q(i,o):ri(i)?1:-1}return q(n.length,t.length)}var Bh=55296,jh=57343;function ri(n){let t=n.charCodeAt(0);return t>=Bh&&t<=jh}function Qe(n,t,e){return n.length===t.length&&n.every(((r,i)=>e(r,t[i])))}var mi="__name__",Cr=class n{constructor(t,e,r){e===void 0?e=0:e>t.length&&O(637,{offset:e,range:t.length}),r===void 0?r=t.length-e:r>t.length-e&&O(1746,{length:r,range:t.length-e}),this.segments=t,this.offset=e,this.len=r}get length(){return this.len}isEqual(t){return n.comparator(this,t)===0}child(t){let e=this.segments.slice(this.offset,this.limit());return t instanceof n?t.forEach((r=>{e.push(r)})):e.push(t),this.construct(e)}limit(){return this.offset+this.length}popFirst(t){return t=t===void 0?1:t,this.construct(this.segments,this.offset+t,this.length-t)}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(t){return this.segments[this.offset+t]}isEmpty(){return this.length===0}isPrefixOf(t){if(t.length<this.length)return!1;for(let e=0;e<this.length;e++)if(this.get(e)!==t.get(e))return!1;return!0}isImmediateParentOf(t){if(this.length+1!==t.length)return!1;for(let e=0;e<this.length;e++)if(this.get(e)!==t.get(e))return!1;return!0}forEach(t){for(let e=this.offset,r=this.limit();e<r;e++)t(this.segments[e])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,e){let r=Math.min(t.length,e.length);for(let i=0;i<r;i++){let o=n.compareSegments(t.get(i),e.get(i));if(o!==0)return o}return q(t.length,e.length)}static compareSegments(t,e){let r=n.isNumericId(t),i=n.isNumericId(e);return r&&!i?-1:!r&&i?1:r&&i?n.extractNumericId(t).compare(n.extractNumericId(e)):fi(t,e)}static isNumericId(t){return t.startsWith("__id")&&t.endsWith("__")}static extractNumericId(t){return zt.fromString(t.substring(4,t.length-2))}},W=class n extends Cr{construct(t,e,r){return new n(t,e,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...t){let e=[];for(let r of t){if(r.indexOf("//")>=0)throw new V(b.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);e.push(...r.split("/").filter((i=>i.length>0)))}return new n(e)}static emptyPath(){return new n([])}},Gh=/^[_a-zA-Z][_a-zA-Z0-9]*$/,vt=class n extends Cr{construct(t,e,r){return new n(t,e,r)}static isValidIdentifier(t){return Gh.test(t)}canonicalString(){return this.toArray().map((t=>(t=t.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),n.isValidIdentifier(t)||(t="`"+t+"`"),t))).join(".")}toString(){return this.canonicalString()}isKeyField(){return this.length===1&&this.get(0)===mi}static keyField(){return new n([mi])}static fromServerFormat(t){let e=[],r="",i=0,o=()=>{if(r.length===0)throw new V(b.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);e.push(r),r=""},u=!1;for(;i<t.length;){let l=t[i];if(l==="\\"){if(i+1===t.length)throw new V(b.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let h=t[i+1];if(h!=="\\"&&h!=="."&&h!=="`")throw new V(b.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);r+=h,i+=2}else l==="`"?(u=!u,i++):l!=="."||u?(r+=l,i++):(o(),i++)}if(o(),u)throw new V(b.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new n(e)}static emptyPath(){return new n([])}};var M=class n{constructor(t){this.path=t}static fromPath(t){return new n(W.fromString(t))}static fromName(t){return new n(W.fromString(t).popFirst(5))}static empty(){return new n(W.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(t){return this.path.length>=2&&this.path.get(this.path.length-2)===t}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(t){return t!==null&&W.comparator(this.path,t.path)===0}toString(){return this.path.toString()}static comparator(t,e){return W.comparator(t.path,e.path)}static isDocumentKey(t){return t.length%2==0}static fromSegments(t){return new n(new W(t.slice()))}};function xc(n,t,e){if(!e)throw new V(b.INVALID_ARGUMENT,`Function ${n}() cannot be called with an empty ${t}.`)}function zh(n,t,e,r){if(t===!0&&r===!0)throw new V(b.INVALID_ARGUMENT,`${n} and ${e} cannot be used together.`)}function Gu(n){if(!M.isDocumentKey(n))throw new V(b.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${n} has ${n.length}.`)}function zu(n){if(M.isDocumentKey(n))throw new V(b.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${n} has ${n.length}.`)}function Dc(n){return typeof n=="object"&&n!==null&&(Object.getPrototypeOf(n)===Object.prototype||Object.getPrototypeOf(n)===null)}function ds(n){if(n===void 0)return"undefined";if(n===null)return"null";if(typeof n=="string")return n.length>20&&(n=`${n.substring(0,20)}...`),JSON.stringify(n);if(typeof n=="number"||typeof n=="boolean")return""+n;if(typeof n=="object"){if(n instanceof Array)return"an array";{let t=(function(r){return r.constructor?r.constructor.name:null})(n);return t?`a custom ${t} object`:"an object"}}return typeof n=="function"?"a function":O(12329,{type:typeof n})}function It(n,t){if("_delegate"in n&&(n=n._delegate),!(n instanceof t)){if(t.name===n.constructor.name)throw new V(b.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{let e=ds(n);throw new V(b.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: ${e}`)}}return n}function Kh(n,t){if(t<=0)throw new V(b.INVALID_ARGUMENT,`Function ${n}() requires a positive number, but it was: ${t}.`)}function nt(n,t){let e={typeString:n};return t&&(e.value=t),e}function tr(n,t){if(!Dc(n))throw new V(b.INVALID_ARGUMENT,"JSON must be an object");let e;for(let r in t)if(t[r]){let i=t[r].typeString,o="value"in t[r]?{value:t[r].value}:void 0;if(!(r in n)){e=`JSON missing required field: '${r}'`;break}let u=n[r];if(i&&typeof u!==i){e=`JSON field '${r}' must be a ${i}.`;break}if(o!==void 0&&u!==o.value){e=`Expected '${r}' field to equal '${o.value}'`;break}}if(e)throw new V(b.INVALID_ARGUMENT,e);return!0}var Ku=-62135596800,$u=1e6,rt=class n{static now(){return n.fromMillis(Date.now())}static fromDate(t){return n.fromMillis(t.getTime())}static fromMillis(t){let e=Math.floor(t/1e3),r=Math.floor((t-1e3*e)*$u);return new n(e,r)}constructor(t,e){if(this.seconds=t,this.nanoseconds=e,e<0)throw new V(b.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+e);if(e>=1e9)throw new V(b.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+e);if(t<Ku)throw new V(b.INVALID_ARGUMENT,"Timestamp seconds out of range: "+t);if(t>=253402300800)throw new V(b.INVALID_ARGUMENT,"Timestamp seconds out of range: "+t)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/$u}_compareTo(t){return this.seconds===t.seconds?q(this.nanoseconds,t.nanoseconds):q(this.seconds,t.seconds)}isEqual(t){return t.seconds===this.seconds&&t.nanoseconds===this.nanoseconds}toString(){return"Timestamp(seconds="+this.seconds+", nanoseconds="+this.nanoseconds+")"}toJSON(){return{type:n._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(t){if(tr(t,n._jsonSchema))return new n(t.seconds,t.nanoseconds)}valueOf(){let t=this.seconds-Ku;return String(t).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}};rt._jsonSchemaVersion="firestore/timestamp/1.0",rt._jsonSchema={type:nt("string",rt._jsonSchemaVersion),seconds:nt("number"),nanoseconds:nt("number")};var F=class n{static fromTimestamp(t){return new n(t)}static min(){return new n(new rt(0,0))}static max(){return new n(new rt(253402300799,999999999))}constructor(t){this.timestamp=t}compareTo(t){return this.timestamp._compareTo(t.timestamp)}isEqual(t){return this.timestamp.isEqual(t.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}};var qn=-1,gi=class{constructor(t,e,r,i){this.indexId=t,this.collectionGroup=e,this.fields=r,this.indexState=i}};gi.UNKNOWN_ID=-1;function $h(n,t){let e=n.toTimestamp().seconds,r=n.toTimestamp().nanoseconds+1,i=F.fromTimestamp(r===1e9?new rt(e+1,0):new rt(e,r));return new ve(i,M.empty(),t)}function Qh(n){return new ve(n.readTime,n.key,qn)}var ve=class n{constructor(t,e,r){this.readTime=t,this.documentKey=e,this.largestBatchId=r}static min(){return new n(F.min(),M.empty(),qn)}static max(){return new n(F.max(),M.empty(),qn)}};function Wh(n,t){let e=n.readTime.compareTo(t.readTime);return e!==0?e:(e=M.comparator(n.documentKey,t.documentKey),e!==0?e:q(n.largestBatchId,t.largestBatchId))}var Hh="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.",pi=class{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(t){this.onCommittedListeners.push(t)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach((t=>t()))}};async function on(n){if(n.code!==b.FAILED_PRECONDITION||n.message!==Hh)throw n;N("LocalStore","Unexpectedly lost primary lease")}var P=class n{constructor(t){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,t((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(t){return this.next(void 0,t)}next(t,e){return this.callbackAttached&&O(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(e,this.error):this.wrapSuccess(t,this.result):new n(((r,i)=>{this.nextCallback=o=>{this.wrapSuccess(t,o).next(r,i)},this.catchCallback=o=>{this.wrapFailure(e,o).next(r,i)}}))}toPromise(){return new Promise(((t,e)=>{this.next(t,e)}))}wrapUserFunction(t){try{let e=t();return e instanceof n?e:n.resolve(e)}catch(e){return n.reject(e)}}wrapSuccess(t,e){return t?this.wrapUserFunction((()=>t(e))):n.resolve(e)}wrapFailure(t,e){return t?this.wrapUserFunction((()=>t(e))):n.reject(e)}static resolve(t){return new n(((e,r)=>{e(t)}))}static reject(t){return new n(((e,r)=>{r(t)}))}static waitFor(t){return new n(((e,r)=>{let i=0,o=0,u=!1;t.forEach((l=>{++i,l.next((()=>{++o,u&&o===i&&e()}),(h=>r(h)))})),u=!0,o===i&&e()}))}static or(t){let e=n.resolve(!1);for(let r of t)e=e.next((i=>i?n.resolve(i):r()));return e}static forEach(t,e){let r=[];return t.forEach(((i,o)=>{r.push(e.call(this,i,o))})),this.waitFor(r)}static mapArray(t,e){return new n(((r,i)=>{let o=t.length,u=new Array(o),l=0;for(let h=0;h<o;h++){let f=h;e(t[f]).next((m=>{u[f]=m,++l,l===o&&r(u)}),(m=>i(m)))}}))}static doWhile(t,e){return new n(((r,i)=>{let o=()=>{t()===!0?e().next((()=>{o()}),i):r()};o()}))}};function Jh(n){let t=n.match(/Android ([\d.]+)/i),e=t?t[1].split(".").slice(0,2).join("."):"-1";return Number(e)}function an(n){return n.name==="IndexedDbTransactionError"}var We=class{constructor(t,e){this.previousValue=t,e&&(e.sequenceNumberHandler=r=>this.ae(r),this.ue=r=>e.writeSequenceNumber(r))}ae(t){return this.previousValue=Math.max(t,this.previousValue),this.previousValue}next(){let t=++this.previousValue;return this.ue&&this.ue(t),t}};We.ce=-1;var Yo=-1;function er(n){return n==null}function Un(n){return n===0&&1/n==-1/0}function Xh(n){return typeof n=="number"&&Number.isInteger(n)&&!Un(n)&&n<=Number.MAX_SAFE_INTEGER&&n>=Number.MIN_SAFE_INTEGER}var Nc="";function Yh(n){let t="";for(let e=0;e<n.length;e++)t.length>0&&(t=Qu(t)),t=Zh(n.get(e),t);return Qu(t)}function Zh(n,t){let e=t,r=n.length;for(let i=0;i<r;i++){let o=n.charAt(i);switch(o){case"\0":e+="";break;case Nc:e+="";break;default:e+=o}}return e}function Qu(n){return n+Nc+""}var td="remoteDocuments",kc="owner";var Mc="mutationQueues";var Oc="mutations";var Fc="documentMutations",ed="remoteDocumentsV14";var Lc="remoteDocumentGlobal";var qc="targets";var Uc="targetDocuments";var Bc="targetGlobal",jc="collectionParents";var Gc="clientMetadata";var zc="bundles";var Kc="namedQueries";var nd="indexConfiguration";var rd="indexState";var sd="indexEntries";var $c="documentOverlays";var id="globals";var od=[Mc,Oc,Fc,td,qc,kc,Bc,Uc,Gc,Lc,jc,zc,Kc],um=[...od,$c],ad=[Mc,Oc,Fc,ed,qc,kc,Bc,Uc,Gc,Lc,jc,zc,Kc,$c],ud=ad,cd=[...ud,nd,rd,sd];var cm=[...cd,id];function Wu(n){let t=0;for(let e in n)Object.prototype.hasOwnProperty.call(n,e)&&t++;return t}function me(n,t){for(let e in n)Object.prototype.hasOwnProperty.call(n,e)&&t(e,n[e])}function Qc(n){for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t))return!1;return!0}var Y=class n{constructor(t,e){this.comparator=t,this.root=e||Ot.EMPTY}insert(t,e){return new n(this.comparator,this.root.insert(t,e,this.comparator).copy(null,null,Ot.BLACK,null,null))}remove(t){return new n(this.comparator,this.root.remove(t,this.comparator).copy(null,null,Ot.BLACK,null,null))}get(t){let e=this.root;for(;!e.isEmpty();){let r=this.comparator(t,e.key);if(r===0)return e.value;r<0?e=e.left:r>0&&(e=e.right)}return null}indexOf(t){let e=0,r=this.root;for(;!r.isEmpty();){let i=this.comparator(t,r.key);if(i===0)return e+r.left.size;i<0?r=r.left:(e+=r.left.size+1,r=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(t){return this.root.inorderTraversal(t)}forEach(t){this.inorderTraversal(((e,r)=>(t(e,r),!1)))}toString(){let t=[];return this.inorderTraversal(((e,r)=>(t.push(`${e}:${r}`),!1))),`{${t.join(", ")}}`}reverseTraversal(t){return this.root.reverseTraversal(t)}getIterator(){return new Ge(this.root,null,this.comparator,!1)}getIteratorFrom(t){return new Ge(this.root,t,this.comparator,!1)}getReverseIterator(){return new Ge(this.root,null,this.comparator,!0)}getReverseIteratorFrom(t){return new Ge(this.root,t,this.comparator,!0)}},Ge=class{constructor(t,e,r,i){this.isReverse=i,this.nodeStack=[];let o=1;for(;!t.isEmpty();)if(o=e?r(t.key,e):1,e&&i&&(o*=-1),o<0)t=this.isReverse?t.left:t.right;else{if(o===0){this.nodeStack.push(t);break}this.nodeStack.push(t),t=this.isReverse?t.right:t.left}}getNext(){let t=this.nodeStack.pop(),e={key:t.key,value:t.value};if(this.isReverse)for(t=t.left;!t.isEmpty();)this.nodeStack.push(t),t=t.right;else for(t=t.right;!t.isEmpty();)this.nodeStack.push(t),t=t.left;return e}hasNext(){return this.nodeStack.length>0}peek(){if(this.nodeStack.length===0)return null;let t=this.nodeStack[this.nodeStack.length-1];return{key:t.key,value:t.value}}},Ot=class n{constructor(t,e,r,i,o){this.key=t,this.value=e,this.color=r??n.RED,this.left=i??n.EMPTY,this.right=o??n.EMPTY,this.size=this.left.size+1+this.right.size}copy(t,e,r,i,o){return new n(t??this.key,e??this.value,r??this.color,i??this.left,o??this.right)}isEmpty(){return!1}inorderTraversal(t){return this.left.inorderTraversal(t)||t(this.key,this.value)||this.right.inorderTraversal(t)}reverseTraversal(t){return this.right.reverseTraversal(t)||t(this.key,this.value)||this.left.reverseTraversal(t)}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(t,e,r){let i=this,o=r(t,i.key);return i=o<0?i.copy(null,null,null,i.left.insert(t,e,r),null):o===0?i.copy(null,e,null,null,null):i.copy(null,null,null,null,i.right.insert(t,e,r)),i.fixUp()}removeMin(){if(this.left.isEmpty())return n.EMPTY;let t=this;return t.left.isRed()||t.left.left.isRed()||(t=t.moveRedLeft()),t=t.copy(null,null,null,t.left.removeMin(),null),t.fixUp()}remove(t,e){let r,i=this;if(e(t,i.key)<0)i.left.isEmpty()||i.left.isRed()||i.left.left.isRed()||(i=i.moveRedLeft()),i=i.copy(null,null,null,i.left.remove(t,e),null);else{if(i.left.isRed()&&(i=i.rotateRight()),i.right.isEmpty()||i.right.isRed()||i.right.left.isRed()||(i=i.moveRedRight()),e(t,i.key)===0){if(i.right.isEmpty())return n.EMPTY;r=i.right.min(),i=i.copy(r.key,r.value,null,null,i.right.removeMin())}i=i.copy(null,null,null,null,i.right.remove(t,e))}return i.fixUp()}isRed(){return this.color}fixUp(){let t=this;return t.right.isRed()&&!t.left.isRed()&&(t=t.rotateLeft()),t.left.isRed()&&t.left.left.isRed()&&(t=t.rotateRight()),t.left.isRed()&&t.right.isRed()&&(t=t.colorFlip()),t}moveRedLeft(){let t=this.colorFlip();return t.right.left.isRed()&&(t=t.copy(null,null,null,null,t.right.rotateRight()),t=t.rotateLeft(),t=t.colorFlip()),t}moveRedRight(){let t=this.colorFlip();return t.left.left.isRed()&&(t=t.rotateRight(),t=t.colorFlip()),t}rotateLeft(){let t=this.copy(null,null,n.RED,null,this.right.left);return this.right.copy(null,null,this.color,t,null)}rotateRight(){let t=this.copy(null,null,n.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,t)}colorFlip(){let t=this.left.copy(null,null,!this.left.color,null,null),e=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,t,e)}checkMaxDepth(){let t=this.check();return Math.pow(2,t)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw O(43730,{key:this.key,value:this.value});if(this.right.isRed())throw O(14113,{key:this.key,value:this.value});let t=this.left.check();if(t!==this.right.check())throw O(27949);return t+(this.isRed()?0:1)}};Ot.EMPTY=null,Ot.RED=!0,Ot.BLACK=!1;Ot.EMPTY=new class{constructor(){this.size=0}get key(){throw O(57766)}get value(){throw O(16141)}get color(){throw O(16727)}get left(){throw O(29726)}get right(){throw O(36894)}copy(t,e,r,i,o){return this}insert(t,e,r){return new Ot(t,e)}remove(t,e){return this}isEmpty(){return!0}inorderTraversal(t){return!1}reverseTraversal(t){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};var it=class n{constructor(t){this.comparator=t,this.data=new Y(this.comparator)}has(t){return this.data.get(t)!==null}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(t){return this.data.indexOf(t)}forEach(t){this.data.inorderTraversal(((e,r)=>(t(e),!1)))}forEachInRange(t,e){let r=this.data.getIteratorFrom(t[0]);for(;r.hasNext();){let i=r.getNext();if(this.comparator(i.key,t[1])>=0)return;e(i.key)}}forEachWhile(t,e){let r;for(r=e!==void 0?this.data.getIteratorFrom(e):this.data.getIterator();r.hasNext();)if(!t(r.getNext().key))return}firstAfterOrEqual(t){let e=this.data.getIteratorFrom(t);return e.hasNext()?e.getNext().key:null}getIterator(){return new xr(this.data.getIterator())}getIteratorFrom(t){return new xr(this.data.getIteratorFrom(t))}add(t){return this.copy(this.data.remove(t).insert(t,!0))}delete(t){return this.has(t)?this.copy(this.data.remove(t)):this}isEmpty(){return this.data.isEmpty()}unionWith(t){let e=this;return e.size<t.size&&(e=t,t=this),t.forEach((r=>{e=e.add(r)})),e}isEqual(t){if(!(t instanceof n)||this.size!==t.size)return!1;let e=this.data.getIterator(),r=t.data.getIterator();for(;e.hasNext();){let i=e.getNext().key,o=r.getNext().key;if(this.comparator(i,o)!==0)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(t){let e=new n(this.comparator);return e.data=t,e}},xr=class{constructor(t){this.iter=t}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}};var Rt=class n{constructor(t){this.fields=t,t.sort(vt.comparator)}static empty(){return new n([])}unionWith(t){let e=new it(vt.comparator);for(let r of this.fields)e=e.add(r);for(let r of t)e=e.add(r);return new n(e.toArray())}covers(t){for(let e of this.fields)if(e.isPrefixOf(t))return!0;return!1}isEqual(t){return Qe(this.fields,t.fields,((e,r)=>e.isEqual(r)))}};var Dr=class extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}};var gt=class n{constructor(t){this.binaryString=t}static fromBase64String(t){let e=(function(i){try{return atob(i)}catch(o){throw typeof DOMException<"u"&&o instanceof DOMException?new Dr("Invalid base64 string: "+o):o}})(t);return new n(e)}static fromUint8Array(t){let e=(function(i){let o="";for(let u=0;u<i.length;++u)o+=String.fromCharCode(i[u]);return o})(t);return new n(e)}[Symbol.iterator](){let t=0;return{next:()=>t<this.binaryString.length?{value:this.binaryString.charCodeAt(t++),done:!1}:{value:void 0,done:!0}}}toBase64(){return(function(e){return btoa(e)})(this.binaryString)}toUint8Array(){return(function(e){let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i);return r})(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(t){return q(this.binaryString,t.binaryString)}isEqual(t){return this.binaryString===t.binaryString}};gt.EMPTY_BYTE_STRING=new gt("");var ld=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function Wt(n){if(j(!!n,39018),typeof n=="string"){let t=0,e=ld.exec(n);if(j(!!e,46558,{timestamp:n}),e[1]){let i=e[1];i=(i+"000000000").substr(0,9),t=Number(i)}let r=new Date(n);return{seconds:Math.floor(r.getTime()/1e3),nanos:t}}return{seconds:J(n.seconds),nanos:J(n.nanos)}}function J(n){return typeof n=="number"?n:typeof n=="string"?Number(n):0}function Ht(n){return typeof n=="string"?gt.fromBase64String(n):gt.fromUint8Array(n)}var Wc="server_timestamp",Hc="__type__",Jc="__previous_value__",Xc="__local_write_time__";function fs(n){return(n?.mapValue?.fields||{})[Hc]?.stringValue===Wc}function ms(n){let t=n.mapValue.fields[Jc];return fs(t)?ms(t):t}function Bn(n){let t=Wt(n.mapValue.fields[Xc].timestampValue);return new rt(t.seconds,t.nanos)}var yi=class{constructor(t,e,r,i,o,u,l,h,f,m){this.databaseId=t,this.appId=e,this.persistenceKey=r,this.host=i,this.ssl=o,this.forceLongPolling=u,this.autoDetectLongPolling=l,this.longPollingOptions=h,this.useFetchStreams=f,this.isUsingEmulator=m}},Nr="(default)",kr=class n{constructor(t,e){this.projectId=t,this.database=e||Nr}static empty(){return new n("","")}get isDefaultDatabase(){return this.database===Nr}isEqual(t){return t instanceof n&&t.projectId===this.projectId&&t.database===this.database}};var Zo="__type__",Yc="__max__",vr={mapValue:{fields:{__type__:{stringValue:Yc}}}},ta="__vector__",He="value";function ce(n){return"nullValue"in n?0:"booleanValue"in n?1:"integerValue"in n||"doubleValue"in n?2:"timestampValue"in n?3:"stringValue"in n?5:"bytesValue"in n?6:"referenceValue"in n?7:"geoPointValue"in n?8:"arrayValue"in n?9:"mapValue"in n?fs(n)?4:tl(n)?9007199254740991:Zc(n)?10:11:O(28295,{value:n})}function Lt(n,t){if(n===t)return!0;let e=ce(n);if(e!==ce(t))return!1;switch(e){case 0:case 9007199254740991:return!0;case 1:return n.booleanValue===t.booleanValue;case 4:return Bn(n).isEqual(Bn(t));case 3:return(function(i,o){if(typeof i.timestampValue=="string"&&typeof o.timestampValue=="string"&&i.timestampValue.length===o.timestampValue.length)return i.timestampValue===o.timestampValue;let u=Wt(i.timestampValue),l=Wt(o.timestampValue);return u.seconds===l.seconds&&u.nanos===l.nanos})(n,t);case 5:return n.stringValue===t.stringValue;case 6:return(function(i,o){return Ht(i.bytesValue).isEqual(Ht(o.bytesValue))})(n,t);case 7:return n.referenceValue===t.referenceValue;case 8:return(function(i,o){return J(i.geoPointValue.latitude)===J(o.geoPointValue.latitude)&&J(i.geoPointValue.longitude)===J(o.geoPointValue.longitude)})(n,t);case 2:return(function(i,o){if("integerValue"in i&&"integerValue"in o)return J(i.integerValue)===J(o.integerValue);if("doubleValue"in i&&"doubleValue"in o){let u=J(i.doubleValue),l=J(o.doubleValue);return u===l?Un(u)===Un(l):isNaN(u)&&isNaN(l)}return!1})(n,t);case 9:return Qe(n.arrayValue.values||[],t.arrayValue.values||[],Lt);case 10:case 11:return(function(i,o){let u=i.mapValue.fields||{},l=o.mapValue.fields||{};if(Wu(u)!==Wu(l))return!1;for(let h in u)if(u.hasOwnProperty(h)&&(l[h]===void 0||!Lt(u[h],l[h])))return!1;return!0})(n,t);default:return O(52216,{left:n})}}function jn(n,t){return(n.values||[]).find((e=>Lt(e,t)))!==void 0}function Je(n,t){if(n===t)return 0;let e=ce(n),r=ce(t);if(e!==r)return q(e,r);switch(e){case 0:case 9007199254740991:return 0;case 1:return q(n.booleanValue,t.booleanValue);case 2:return(function(o,u){let l=J(o.integerValue||o.doubleValue),h=J(u.integerValue||u.doubleValue);return l<h?-1:l>h?1:l===h?0:isNaN(l)?isNaN(h)?0:-1:1})(n,t);case 3:return Hu(n.timestampValue,t.timestampValue);case 4:return Hu(Bn(n),Bn(t));case 5:return fi(n.stringValue,t.stringValue);case 6:return(function(o,u){let l=Ht(o),h=Ht(u);return l.compareTo(h)})(n.bytesValue,t.bytesValue);case 7:return(function(o,u){let l=o.split("/"),h=u.split("/");for(let f=0;f<l.length&&f<h.length;f++){let m=q(l[f],h[f]);if(m!==0)return m}return q(l.length,h.length)})(n.referenceValue,t.referenceValue);case 8:return(function(o,u){let l=q(J(o.latitude),J(u.latitude));return l!==0?l:q(J(o.longitude),J(u.longitude))})(n.geoPointValue,t.geoPointValue);case 9:return Ju(n.arrayValue,t.arrayValue);case 10:return(function(o,u){let l=o.fields||{},h=u.fields||{},f=l[He]?.arrayValue,m=h[He]?.arrayValue,T=q(f?.values?.length||0,m?.values?.length||0);return T!==0?T:Ju(f,m)})(n.mapValue,t.mapValue);case 11:return(function(o,u){if(o===vr.mapValue&&u===vr.mapValue)return 0;if(o===vr.mapValue)return 1;if(u===vr.mapValue)return-1;let l=o.fields||{},h=Object.keys(l),f=u.fields||{},m=Object.keys(f);h.sort(),m.sort();for(let T=0;T<h.length&&T<m.length;++T){let A=fi(h[T],m[T]);if(A!==0)return A;let R=Je(l[h[T]],f[m[T]]);if(R!==0)return R}return q(h.length,m.length)})(n.mapValue,t.mapValue);default:throw O(23264,{he:e})}}function Hu(n,t){if(typeof n=="string"&&typeof t=="string"&&n.length===t.length)return q(n,t);let e=Wt(n),r=Wt(t),i=q(e.seconds,r.seconds);return i!==0?i:q(e.nanos,r.nanos)}function Ju(n,t){let e=n.values||[],r=t.values||[];for(let i=0;i<e.length&&i<r.length;++i){let o=Je(e[i],r[i]);if(o)return o}return q(e.length,r.length)}function Xe(n){return _i(n)}function _i(n){return"nullValue"in n?"null":"booleanValue"in n?""+n.booleanValue:"integerValue"in n?""+n.integerValue:"doubleValue"in n?""+n.doubleValue:"timestampValue"in n?(function(e){let r=Wt(e);return`time(${r.seconds},${r.nanos})`})(n.timestampValue):"stringValue"in n?n.stringValue:"bytesValue"in n?(function(e){return Ht(e).toBase64()})(n.bytesValue):"referenceValue"in n?(function(e){return M.fromName(e).toString()})(n.referenceValue):"geoPointValue"in n?(function(e){return`geo(${e.latitude},${e.longitude})`})(n.geoPointValue):"arrayValue"in n?(function(e){let r="[",i=!0;for(let o of e.values||[])i?i=!1:r+=",",r+=_i(o);return r+"]"})(n.arrayValue):"mapValue"in n?(function(e){let r=Object.keys(e.fields||{}).sort(),i="{",o=!0;for(let u of r)o?o=!1:i+=",",i+=`${u}:${_i(e.fields[u])}`;return i+"}"})(n.mapValue):O(61005,{value:n})}function br(n){switch(ce(n)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:let t=ms(n);return t?16+br(t):16;case 5:return 2*n.stringValue.length;case 6:return Ht(n.bytesValue).approximateByteSize();case 7:return n.referenceValue.length;case 9:return(function(r){return(r.values||[]).reduce(((i,o)=>i+br(o)),0)})(n.arrayValue);case 10:case 11:return(function(r){let i=0;return me(r.fields,((o,u)=>{i+=o.length+br(u)})),i})(n.mapValue);default:throw O(13486,{value:n})}}function Mr(n,t){return{referenceValue:`projects/${n.projectId}/databases/${n.database}/documents/${t.path.canonicalString()}`}}function wi(n){return!!n&&"integerValue"in n}function ea(n){return!!n&&"arrayValue"in n}function Xu(n){return!!n&&"nullValue"in n}function Yu(n){return!!n&&"doubleValue"in n&&isNaN(Number(n.doubleValue))}function Rr(n){return!!n&&"mapValue"in n}function Zc(n){return(n?.mapValue?.fields||{})[Zo]?.stringValue===ta}function Nn(n){if(n.geoPointValue)return{geoPointValue:{...n.geoPointValue}};if(n.timestampValue&&typeof n.timestampValue=="object")return{timestampValue:{...n.timestampValue}};if(n.mapValue){let t={mapValue:{fields:{}}};return me(n.mapValue.fields,((e,r)=>t.mapValue.fields[e]=Nn(r))),t}if(n.arrayValue){let t={arrayValue:{values:[]}};for(let e=0;e<(n.arrayValue.values||[]).length;++e)t.arrayValue.values[e]=Nn(n.arrayValue.values[e]);return t}return{...n}}function tl(n){return(((n.mapValue||{}).fields||{}).__type__||{}).stringValue===Yc}var hm={mapValue:{fields:{[Zo]:{stringValue:ta},[He]:{arrayValue:{}}}}};var Tt=class n{constructor(t){this.value=t}static empty(){return new n({mapValue:{}})}field(t){if(t.isEmpty())return this.value;{let e=this.value;for(let r=0;r<t.length-1;++r)if(e=(e.mapValue.fields||{})[t.get(r)],!Rr(e))return null;return e=(e.mapValue.fields||{})[t.lastSegment()],e||null}}set(t,e){this.getFieldsMap(t.popLast())[t.lastSegment()]=Nn(e)}setAll(t){let e=vt.emptyPath(),r={},i=[];t.forEach(((u,l)=>{if(!e.isImmediateParentOf(l)){let h=this.getFieldsMap(e);this.applyChanges(h,r,i),r={},i=[],e=l.popLast()}u?r[l.lastSegment()]=Nn(u):i.push(l.lastSegment())}));let o=this.getFieldsMap(e);this.applyChanges(o,r,i)}delete(t){let e=this.field(t.popLast());Rr(e)&&e.mapValue.fields&&delete e.mapValue.fields[t.lastSegment()]}isEqual(t){return Lt(this.value,t.value)}getFieldsMap(t){let e=this.value;e.mapValue.fields||(e.mapValue={fields:{}});for(let r=0;r<t.length;++r){let i=e.mapValue.fields[t.get(r)];Rr(i)&&i.mapValue.fields||(i={mapValue:{fields:{}}},e.mapValue.fields[t.get(r)]=i),e=i}return e.mapValue.fields}applyChanges(t,e,r){me(e,((i,o)=>t[i]=o));for(let i of r)delete t[i]}clone(){return new n(Nn(this.value))}};function el(n){let t=[];return me(n.fields,((e,r)=>{let i=new vt([e]);if(Rr(r)){let o=el(r.mapValue).fields;if(o.length===0)t.push(i);else for(let u of o)t.push(i.child(u))}else t.push(i)})),new Rt(t)}var St=class n{constructor(t,e,r,i,o,u,l){this.key=t,this.documentType=e,this.version=r,this.readTime=i,this.createTime=o,this.data=u,this.documentState=l}static newInvalidDocument(t){return new n(t,0,F.min(),F.min(),F.min(),Tt.empty(),0)}static newFoundDocument(t,e,r,i){return new n(t,1,e,F.min(),r,i,0)}static newNoDocument(t,e){return new n(t,2,e,F.min(),F.min(),Tt.empty(),0)}static newUnknownDocument(t,e){return new n(t,3,e,F.min(),F.min(),Tt.empty(),2)}convertToFoundDocument(t,e){return!this.createTime.isEqual(F.min())||this.documentType!==2&&this.documentType!==0||(this.createTime=t),this.version=t,this.documentType=1,this.data=e,this.documentState=0,this}convertToNoDocument(t){return this.version=t,this.documentType=2,this.data=Tt.empty(),this.documentState=0,this}convertToUnknownDocument(t){return this.version=t,this.documentType=3,this.data=Tt.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=F.min(),this}setReadTime(t){return this.readTime=t,this}get hasLocalMutations(){return this.documentState===1}get hasCommittedMutations(){return this.documentState===2}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return this.documentType!==0}isFoundDocument(){return this.documentType===1}isNoDocument(){return this.documentType===2}isUnknownDocument(){return this.documentType===3}isEqual(t){return t instanceof n&&this.key.isEqual(t.key)&&this.version.isEqual(t.version)&&this.documentType===t.documentType&&this.documentState===t.documentState&&this.data.isEqual(t.data)}mutableCopy(){return new n(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}})`}};var le=class{constructor(t,e){this.position=t,this.inclusive=e}};function Zu(n,t,e){let r=0;for(let i=0;i<n.position.length;i++){let o=t[i],u=n.position[i];if(o.field.isKeyField()?r=M.comparator(M.fromName(u.referenceValue),e.key):r=Je(u,e.data.field(o.field)),o.dir==="desc"&&(r*=-1),r!==0)break}return r}function tc(n,t){if(n===null)return t===null;if(t===null||n.inclusive!==t.inclusive||n.position.length!==t.position.length)return!1;for(let e=0;e<n.position.length;e++)if(!Lt(n.position[e],t.position[e]))return!1;return!0}var Ae=class{constructor(t,e="asc"){this.field=t,this.dir=e}};function hd(n,t){return n.dir===t.dir&&n.field.isEqual(t.field)}var Or=class{},et=class n extends Or{constructor(t,e,r){super(),this.field=t,this.op=e,this.value=r}static create(t,e,r){return t.isKeyField()?e==="in"||e==="not-in"?this.createKeyFieldInFilter(t,e,r):new Ii(t,e,r):e==="array-contains"?new Ai(t,r):e==="in"?new Si(t,r):e==="not-in"?new bi(t,r):e==="array-contains-any"?new Ri(t,r):new n(t,e,r)}static createKeyFieldInFilter(t,e,r){return e==="in"?new Ei(t,r):new vi(t,r)}matches(t){let e=t.data.field(this.field);return this.op==="!="?e!==null&&e.nullValue===void 0&&this.matchesComparison(Je(e,this.value)):e!==null&&ce(this.value)===ce(e)&&this.matchesComparison(Je(e,this.value))}matchesComparison(t){switch(this.op){case"<":return t<0;case"<=":return t<=0;case"==":return t===0;case"!=":return t!==0;case">":return t>0;case">=":return t>=0;default:return O(47266,{operator:this.op})}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}},xt=class n extends Or{constructor(t,e){super(),this.filters=t,this.op=e,this.Pe=null}static create(t,e){return new n(t,e)}matches(t){return nl(this)?this.filters.find((e=>!e.matches(t)))===void 0:this.filters.find((e=>e.matches(t)))!==void 0}getFlattenedFilters(){return this.Pe!==null||(this.Pe=this.filters.reduce(((t,e)=>t.concat(e.getFlattenedFilters())),[])),this.Pe}getFilters(){return Object.assign([],this.filters)}};function nl(n){return n.op==="and"}function rl(n){return dd(n)&&nl(n)}function dd(n){for(let t of n.filters)if(t instanceof xt)return!1;return!0}function Ti(n){if(n instanceof et)return n.field.canonicalString()+n.op.toString()+Xe(n.value);if(rl(n))return n.filters.map((t=>Ti(t))).join(",");{let t=n.filters.map((e=>Ti(e))).join(",");return`${n.op}(${t})`}}function sl(n,t){return n instanceof et?(function(r,i){return i instanceof et&&r.op===i.op&&r.field.isEqual(i.field)&&Lt(r.value,i.value)})(n,t):n instanceof xt?(function(r,i){return i instanceof xt&&r.op===i.op&&r.filters.length===i.filters.length?r.filters.reduce(((o,u,l)=>o&&sl(u,i.filters[l])),!0):!1})(n,t):void O(19439)}function il(n){return n instanceof et?(function(e){return`${e.field.canonicalString()} ${e.op} ${Xe(e.value)}`})(n):n instanceof xt?(function(e){return e.op.toString()+" {"+e.getFilters().map(il).join(" ,")+"}"})(n):"Filter"}var Ii=class extends et{constructor(t,e,r){super(t,e,r),this.key=M.fromName(r.referenceValue)}matches(t){let e=M.comparator(t.key,this.key);return this.matchesComparison(e)}},Ei=class extends et{constructor(t,e){super(t,"in",e),this.keys=ol("in",e)}matches(t){return this.keys.some((e=>e.isEqual(t.key)))}},vi=class extends et{constructor(t,e){super(t,"not-in",e),this.keys=ol("not-in",e)}matches(t){return!this.keys.some((e=>e.isEqual(t.key)))}};function ol(n,t){return(t.arrayValue?.values||[]).map((e=>M.fromName(e.referenceValue)))}var Ai=class extends et{constructor(t,e){super(t,"array-contains",e)}matches(t){let e=t.data.field(this.field);return ea(e)&&jn(e.arrayValue,this.value)}},Si=class extends et{constructor(t,e){super(t,"in",e)}matches(t){let e=t.data.field(this.field);return e!==null&&jn(this.value.arrayValue,e)}},bi=class extends et{constructor(t,e){super(t,"not-in",e)}matches(t){if(jn(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;let e=t.data.field(this.field);return e!==null&&e.nullValue===void 0&&!jn(this.value.arrayValue,e)}},Ri=class extends et{constructor(t,e){super(t,"array-contains-any",e)}matches(t){let e=t.data.field(this.field);return!(!ea(e)||!e.arrayValue.values)&&e.arrayValue.values.some((r=>jn(this.value.arrayValue,r)))}};var Pi=class{constructor(t,e=null,r=[],i=[],o=null,u=null,l=null){this.path=t,this.collectionGroup=e,this.orderBy=r,this.filters=i,this.limit=o,this.startAt=u,this.endAt=l,this.Te=null}};function ec(n,t=null,e=[],r=[],i=null,o=null,u=null){return new Pi(n,t,e,r,i,o,u)}function na(n){let t=L(n);if(t.Te===null){let e=t.path.canonicalString();t.collectionGroup!==null&&(e+="|cg:"+t.collectionGroup),e+="|f:",e+=t.filters.map((r=>Ti(r))).join(","),e+="|ob:",e+=t.orderBy.map((r=>(function(o){return o.field.canonicalString()+o.dir})(r))).join(","),er(t.limit)||(e+="|l:",e+=t.limit),t.startAt&&(e+="|lb:",e+=t.startAt.inclusive?"b:":"a:",e+=t.startAt.position.map((r=>Xe(r))).join(",")),t.endAt&&(e+="|ub:",e+=t.endAt.inclusive?"a:":"b:",e+=t.endAt.position.map((r=>Xe(r))).join(",")),t.Te=e}return t.Te}function ra(n,t){if(n.limit!==t.limit||n.orderBy.length!==t.orderBy.length)return!1;for(let e=0;e<n.orderBy.length;e++)if(!hd(n.orderBy[e],t.orderBy[e]))return!1;if(n.filters.length!==t.filters.length)return!1;for(let e=0;e<n.filters.length;e++)if(!sl(n.filters[e],t.filters[e]))return!1;return n.collectionGroup===t.collectionGroup&&!!n.path.isEqual(t.path)&&!!tc(n.startAt,t.startAt)&&tc(n.endAt,t.endAt)}function Vi(n){return M.isDocumentKey(n.path)&&n.collectionGroup===null&&n.filters.length===0}var qt=class{constructor(t,e=null,r=[],i=[],o=null,u="F",l=null,h=null){this.path=t,this.collectionGroup=e,this.explicitOrderBy=r,this.filters=i,this.limit=o,this.limitType=u,this.startAt=l,this.endAt=h,this.Ie=null,this.Ee=null,this.de=null,this.startAt,this.endAt}};function fd(n,t,e,r,i,o,u,l){return new qt(n,t,e,r,i,o,u,l)}function gs(n){return new qt(n)}function nc(n){return n.filters.length===0&&n.limit===null&&n.startAt==null&&n.endAt==null&&(n.explicitOrderBy.length===0||n.explicitOrderBy.length===1&&n.explicitOrderBy[0].field.isKeyField())}function sa(n){return n.collectionGroup!==null}function ze(n){let t=L(n);if(t.Ie===null){t.Ie=[];let e=new Set;for(let o of t.explicitOrderBy)t.Ie.push(o),e.add(o.field.canonicalString());let r=t.explicitOrderBy.length>0?t.explicitOrderBy[t.explicitOrderBy.length-1].dir:"asc";(function(u){let l=new it(vt.comparator);return u.filters.forEach((h=>{h.getFlattenedFilters().forEach((f=>{f.isInequality()&&(l=l.add(f.field))}))})),l})(t).forEach((o=>{e.has(o.canonicalString())||o.isKeyField()||t.Ie.push(new Ae(o,r))})),e.has(vt.keyField().canonicalString())||t.Ie.push(new Ae(vt.keyField(),r))}return t.Ie}function Ft(n){let t=L(n);return t.Ee||(t.Ee=md(t,ze(n))),t.Ee}function md(n,t){if(n.limitType==="F")return ec(n.path,n.collectionGroup,t,n.filters,n.limit,n.startAt,n.endAt);{t=t.map((i=>{let o=i.dir==="desc"?"asc":"desc";return new Ae(i.field,o)}));let e=n.endAt?new le(n.endAt.position,n.endAt.inclusive):null,r=n.startAt?new le(n.startAt.position,n.startAt.inclusive):null;return ec(n.path,n.collectionGroup,t,n.filters,n.limit,e,r)}}function Ci(n,t){let e=n.filters.concat([t]);return new qt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),e,n.limit,n.limitType,n.startAt,n.endAt)}function Fr(n,t,e){return new qt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),n.filters.slice(),t,e,n.startAt,n.endAt)}function ps(n,t){return ra(Ft(n),Ft(t))&&n.limitType===t.limitType}function al(n){return`${na(Ft(n))}|lt:${n.limitType}`}function Ue(n){return`Query(target=${(function(e){let r=e.path.canonicalString();return e.collectionGroup!==null&&(r+=" collectionGroup="+e.collectionGroup),e.filters.length>0&&(r+=`, filters: [${e.filters.map((i=>il(i))).join(", ")}]`),er(e.limit)||(r+=", limit: "+e.limit),e.orderBy.length>0&&(r+=`, orderBy: [${e.orderBy.map((i=>(function(u){return`${u.field.canonicalString()} (${u.dir})`})(i))).join(", ")}]`),e.startAt&&(r+=", startAt: ",r+=e.startAt.inclusive?"b:":"a:",r+=e.startAt.position.map((i=>Xe(i))).join(",")),e.endAt&&(r+=", endAt: ",r+=e.endAt.inclusive?"a:":"b:",r+=e.endAt.position.map((i=>Xe(i))).join(",")),`Target(${r})`})(Ft(n))}; limitType=${n.limitType})`}function ys(n,t){return t.isFoundDocument()&&(function(r,i){let o=i.key.path;return r.collectionGroup!==null?i.key.hasCollectionId(r.collectionGroup)&&r.path.isPrefixOf(o):M.isDocumentKey(r.path)?r.path.isEqual(o):r.path.isImmediateParentOf(o)})(n,t)&&(function(r,i){for(let o of ze(r))if(!o.field.isKeyField()&&i.data.field(o.field)===null)return!1;return!0})(n,t)&&(function(r,i){for(let o of r.filters)if(!o.matches(i))return!1;return!0})(n,t)&&(function(r,i){return!(r.startAt&&!(function(u,l,h){let f=Zu(u,l,h);return u.inclusive?f<=0:f<0})(r.startAt,ze(r),i)||r.endAt&&!(function(u,l,h){let f=Zu(u,l,h);return u.inclusive?f>=0:f>0})(r.endAt,ze(r),i))})(n,t)}function gd(n){return n.collectionGroup||(n.path.length%2==1?n.path.lastSegment():n.path.get(n.path.length-2))}function ul(n){return(t,e)=>{let r=!1;for(let i of ze(n)){let o=pd(i,t,e);if(o!==0)return o;r=r||i.field.isKeyField()}return 0}}function pd(n,t,e){let r=n.field.isKeyField()?M.comparator(t.key,e.key):(function(o,u,l){let h=u.data.field(o),f=l.data.field(o);return h!==null&&f!==null?Je(h,f):O(42886)})(n.field,t,e);switch(n.dir){case"asc":return r;case"desc":return-1*r;default:return O(19790,{direction:n.dir})}}var Jt=class{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.innerSize=0}get(t){let e=this.mapKeyFn(t),r=this.inner[e];if(r!==void 0){for(let[i,o]of r)if(this.equalsFn(i,t))return o}}has(t){return this.get(t)!==void 0}set(t,e){let r=this.mapKeyFn(t),i=this.inner[r];if(i===void 0)return this.inner[r]=[[t,e]],void this.innerSize++;for(let o=0;o<i.length;o++)if(this.equalsFn(i[o][0],t))return void(i[o]=[t,e]);i.push([t,e]),this.innerSize++}delete(t){let e=this.mapKeyFn(t),r=this.inner[e];if(r===void 0)return!1;for(let i=0;i<r.length;i++)if(this.equalsFn(r[i][0],t))return r.length===1?delete this.inner[e]:r.splice(i,1),this.innerSize--,!0;return!1}forEach(t){me(this.inner,((e,r)=>{for(let[i,o]of r)t(i,o)}))}isEmpty(){return Qc(this.inner)}size(){return this.innerSize}};var yd=new Y(M.comparator);function Xt(){return yd}var cl=new Y(M.comparator);function Dn(...n){let t=cl;for(let e of n)t=t.insert(e.key,e);return t}function ll(n){let t=cl;return n.forEach(((e,r)=>t=t.insert(e,r.overlayedDocument))),t}function we(){return kn()}function hl(){return kn()}function kn(){return new Jt((n=>n.toString()),((n,t)=>n.isEqual(t)))}var _d=new Y(M.comparator),wd=new it(M.comparator);function U(...n){let t=wd;for(let e of n)t=t.add(e);return t}var Td=new it(q);function Id(){return Td}function ia(n,t){if(n.useProto3Json){if(isNaN(t))return{doubleValue:"NaN"};if(t===1/0)return{doubleValue:"Infinity"};if(t===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:Un(t)?"-0":t}}function dl(n){return{integerValue:""+n}}function Ed(n,t){return Xh(t)?dl(t):ia(n,t)}var Ye=class{constructor(){this._=void 0}};function vd(n,t,e){return n instanceof Se?(function(i,o){let u={fields:{[Hc]:{stringValue:Wc},[Xc]:{timestampValue:{seconds:i.seconds,nanos:i.nanoseconds}}}};return o&&fs(o)&&(o=ms(o)),o&&(u.fields[Jc]=o),{mapValue:u}})(e,t):n instanceof he?ml(n,t):n instanceof be?gl(n,t):(function(i,o){let u=fl(i,o),l=rc(u)+rc(i.Ae);return wi(u)&&wi(i.Ae)?dl(l):ia(i.serializer,l)})(n,t)}function Ad(n,t,e){return n instanceof he?ml(n,t):n instanceof be?gl(n,t):e}function fl(n,t){return n instanceof Ze?(function(r){return wi(r)||(function(o){return!!o&&"doubleValue"in o})(r)})(t)?t:{integerValue:0}:null}var Se=class extends Ye{},he=class extends Ye{constructor(t){super(),this.elements=t}};function ml(n,t){let e=pl(t);for(let r of n.elements)e.some((i=>Lt(i,r)))||e.push(r);return{arrayValue:{values:e}}}var be=class extends Ye{constructor(t){super(),this.elements=t}};function gl(n,t){let e=pl(t);for(let r of n.elements)e=e.filter((i=>!Lt(i,r)));return{arrayValue:{values:e}}}var Ze=class extends Ye{constructor(t,e){super(),this.serializer=t,this.Ae=e}};function rc(n){return J(n.integerValue||n.doubleValue)}function pl(n){return ea(n)&&n.arrayValue.values?n.arrayValue.values.slice():[]}var Lr=class{constructor(t,e){this.field=t,this.transform=e}};function Sd(n,t){return n.field.isEqual(t.field)&&(function(r,i){return r instanceof he&&i instanceof he||r instanceof be&&i instanceof be?Qe(r.elements,i.elements,Lt):r instanceof Ze&&i instanceof Ze?Lt(r.Ae,i.Ae):r instanceof Se&&i instanceof Se})(n.transform,t.transform)}var xi=class{constructor(t,e){this.version=t,this.transformResults=e}},at=class n{constructor(t,e){this.updateTime=t,this.exists=e}static none(){return new n}static exists(t){return new n(void 0,t)}static updateTime(t){return new n(t)}get isNone(){return this.updateTime===void 0&&this.exists===void 0}isEqual(t){return this.exists===t.exists&&(this.updateTime?!!t.updateTime&&this.updateTime.isEqual(t.updateTime):!t.updateTime)}};function Pr(n,t){return n.updateTime!==void 0?t.isFoundDocument()&&t.version.isEqual(n.updateTime):n.exists===void 0||n.exists===t.isFoundDocument()}var tn=class{};function yl(n,t){if(!n.hasLocalMutations||t&&t.fields.length===0)return null;if(t===null)return n.isNoDocument()?new Pe(n.key,at.none()):new Re(n.key,n.data,at.none());{let e=n.data,r=Tt.empty(),i=new it(vt.comparator);for(let o of t.fields)if(!i.has(o)){let u=e.field(o);u===null&&o.length>1&&(o=o.popLast(),u=e.field(o)),u===null?r.delete(o):r.set(o,u),i=i.add(o)}return new Ut(n.key,r,new Rt(i.toArray()),at.none())}}function bd(n,t,e){n instanceof Re?(function(i,o,u){let l=i.value.clone(),h=ic(i.fieldTransforms,o,u.transformResults);l.setAll(h),o.convertToFoundDocument(u.version,l).setHasCommittedMutations()})(n,t,e):n instanceof Ut?(function(i,o,u){if(!Pr(i.precondition,o))return void o.convertToUnknownDocument(u.version);let l=ic(i.fieldTransforms,o,u.transformResults),h=o.data;h.setAll(_l(i)),h.setAll(l),o.convertToFoundDocument(u.version,h).setHasCommittedMutations()})(n,t,e):(function(i,o,u){o.convertToNoDocument(u.version).setHasCommittedMutations()})(0,t,e)}function Mn(n,t,e,r){return n instanceof Re?(function(o,u,l,h){if(!Pr(o.precondition,u))return l;let f=o.value.clone(),m=oc(o.fieldTransforms,h,u);return f.setAll(m),u.convertToFoundDocument(u.version,f).setHasLocalMutations(),null})(n,t,e,r):n instanceof Ut?(function(o,u,l,h){if(!Pr(o.precondition,u))return l;let f=oc(o.fieldTransforms,h,u),m=u.data;return m.setAll(_l(o)),m.setAll(f),u.convertToFoundDocument(u.version,m).setHasLocalMutations(),l===null?null:l.unionWith(o.fieldMask.fields).unionWith(o.fieldTransforms.map((T=>T.field)))})(n,t,e,r):(function(o,u,l){return Pr(o.precondition,u)?(u.convertToNoDocument(u.version).setHasLocalMutations(),null):l})(n,t,e)}function Rd(n,t){let e=null;for(let r of n.fieldTransforms){let i=t.data.field(r.field),o=fl(r.transform,i||null);o!=null&&(e===null&&(e=Tt.empty()),e.set(r.field,o))}return e||null}function sc(n,t){return n.type===t.type&&!!n.key.isEqual(t.key)&&!!n.precondition.isEqual(t.precondition)&&!!(function(r,i){return r===void 0&&i===void 0||!(!r||!i)&&Qe(r,i,((o,u)=>Sd(o,u)))})(n.fieldTransforms,t.fieldTransforms)&&(n.type===0?n.value.isEqual(t.value):n.type!==1||n.data.isEqual(t.data)&&n.fieldMask.isEqual(t.fieldMask))}var Re=class extends tn{constructor(t,e,r,i=[]){super(),this.key=t,this.value=e,this.precondition=r,this.fieldTransforms=i,this.type=0}getFieldMask(){return null}},Ut=class extends tn{constructor(t,e,r,i,o=[]){super(),this.key=t,this.data=e,this.fieldMask=r,this.precondition=i,this.fieldTransforms=o,this.type=1}getFieldMask(){return this.fieldMask}};function _l(n){let t=new Map;return n.fieldMask.fields.forEach((e=>{if(!e.isEmpty()){let r=n.data.field(e);t.set(e,r)}})),t}function ic(n,t,e){let r=new Map;j(n.length===e.length,32656,{Re:e.length,Ve:n.length});for(let i=0;i<e.length;i++){let o=n[i],u=o.transform,l=t.data.field(o.field);r.set(o.field,Ad(u,l,e[i]))}return r}function oc(n,t,e){let r=new Map;for(let i of n){let o=i.transform,u=e.data.field(i.field);r.set(i.field,vd(o,u,t))}return r}var Pe=class extends tn{constructor(t,e){super(),this.key=t,this.precondition=e,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}},qr=class extends tn{constructor(t,e){super(),this.key=t,this.precondition=e,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}};var Di=class{constructor(t,e,r,i){this.batchId=t,this.localWriteTime=e,this.baseMutations=r,this.mutations=i}applyToRemoteDocument(t,e){let r=e.mutationResults;for(let i=0;i<this.mutations.length;i++){let o=this.mutations[i];o.key.isEqual(t.key)&&bd(o,t,r[i])}}applyToLocalView(t,e){for(let r of this.baseMutations)r.key.isEqual(t.key)&&(e=Mn(r,t,e,this.localWriteTime));for(let r of this.mutations)r.key.isEqual(t.key)&&(e=Mn(r,t,e,this.localWriteTime));return e}applyToLocalDocumentSet(t,e){let r=hl();return this.mutations.forEach((i=>{let o=t.get(i.key),u=o.overlayedDocument,l=this.applyToLocalView(u,o.mutatedFields);l=e.has(i.key)?null:l;let h=yl(u,l);h!==null&&r.set(i.key,h),u.isValidDocument()||u.convertToNoDocument(F.min())})),r}keys(){return this.mutations.reduce(((t,e)=>t.add(e.key)),U())}isEqual(t){return this.batchId===t.batchId&&Qe(this.mutations,t.mutations,((e,r)=>sc(e,r)))&&Qe(this.baseMutations,t.baseMutations,((e,r)=>sc(e,r)))}},Ni=class n{constructor(t,e,r,i){this.batch=t,this.commitVersion=e,this.mutationResults=r,this.docVersions=i}static from(t,e,r){j(t.mutations.length===r.length,58842,{me:t.mutations.length,fe:r.length});let i=(function(){return _d})(),o=t.mutations;for(let u=0;u<o.length;u++)i=i.insert(o[u].key,r[u].version);return new n(t,e,r,i)}};var ki=class{constructor(t,e){this.largestBatchId=t,this.mutation=e}getKey(){return this.mutation.key}isEqual(t){return t!==null&&this.mutation===t.mutation}toString(){return`Overlay{
|
|
10
10
|
largestBatchId: ${this.largestBatchId},
|
|
11
11
|
mutation: ${this.mutation.toString()}
|
|
12
|
-
}`}};var ki=class{constructor(t,e){this.count=t,this.unchangedNames=e}};var Z,B;function gl(n){switch(n){case b.OK:return O(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 O(15467,{code:n})}}function pl(n){if(n===void 0)return $t("GRPC error has no .code"),b.UNKNOWN;switch(n){case Z.OK:return b.OK;case Z.CANCELLED:return b.CANCELLED;case Z.UNKNOWN:return b.UNKNOWN;case Z.DEADLINE_EXCEEDED:return b.DEADLINE_EXCEEDED;case Z.RESOURCE_EXHAUSTED:return b.RESOURCE_EXHAUSTED;case Z.INTERNAL:return b.INTERNAL;case Z.UNAVAILABLE:return b.UNAVAILABLE;case Z.UNAUTHENTICATED:return b.UNAUTHENTICATED;case Z.INVALID_ARGUMENT:return b.INVALID_ARGUMENT;case Z.NOT_FOUND:return b.NOT_FOUND;case Z.ALREADY_EXISTS:return b.ALREADY_EXISTS;case Z.PERMISSION_DENIED:return b.PERMISSION_DENIED;case Z.FAILED_PRECONDITION:return b.FAILED_PRECONDITION;case Z.ABORTED:return b.ABORTED;case Z.OUT_OF_RANGE:return b.OUT_OF_RANGE;case Z.UNIMPLEMENTED:return b.UNIMPLEMENTED;case Z.DATA_LOSS:return b.DATA_LOSS;default:return O(39323,{code:n})}}(B=Z||(Z={}))[B.OK=0]="OK",B[B.CANCELLED=1]="CANCELLED",B[B.UNKNOWN=2]="UNKNOWN",B[B.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",B[B.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",B[B.NOT_FOUND=5]="NOT_FOUND",B[B.ALREADY_EXISTS=6]="ALREADY_EXISTS",B[B.PERMISSION_DENIED=7]="PERMISSION_DENIED",B[B.UNAUTHENTICATED=16]="UNAUTHENTICATED",B[B.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",B[B.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",B[B.ABORTED=10]="ABORTED",B[B.OUT_OF_RANGE=11]="OUT_OF_RANGE",B[B.UNIMPLEMENTED=12]="UNIMPLEMENTED",B[B.INTERNAL=13]="INTERNAL",B[B.UNAVAILABLE=14]="UNAVAILABLE",B[B.DATA_LOSS=15]="DATA_LOSS";var Td=null;function Id(){return new TextEncoder}var Ed=new Gt([4294967295,4294967295],0);function rc(n){let t=Id().encode(n),e=new Js;return e.update(t),new Uint8Array(e.digest())}function sc(n){let t=new DataView(n.buffer),e=t.getUint32(0,!0),r=t.getUint32(4,!0),i=t.getUint32(8,!0),o=t.getUint32(12,!0);return[new Gt([e,r],0),new Gt([i,o],0)]}var Mi=class n{constructor(t,e,r){if(this.bitmap=t,this.padding=e,this.hashCount=r,e<0||e>=8)throw new we(`Invalid padding: ${e}`);if(r<0)throw new we(`Invalid hash count: ${r}`);if(t.length>0&&this.hashCount===0)throw new we(`Invalid hash count: ${r}`);if(t.length===0&&e!==0)throw new we(`Invalid padding when bitmap length is 0: ${e}`);this.ge=8*t.length-e,this.pe=Gt.fromNumber(this.ge)}ye(t,e,r){let i=t.add(e.multiply(Gt.fromNumber(r)));return i.compare(Ed)===1&&(i=new Gt([i.getBits(0),i.getBits(1)],0)),i.modulo(this.pe).toNumber()}we(t){return!!(this.bitmap[Math.floor(t/8)]&1<<t%8)}mightContain(t){if(this.ge===0)return!1;let e=rc(t),[r,i]=sc(e);for(let o=0;o<this.hashCount;o++){let u=this.ye(r,i,o);if(!this.we(u))return!1}return!0}static create(t,e,r){let i=t%8==0?0:8-t%8,o=new Uint8Array(Math.ceil(t/8)),u=new n(o,i,e);return r.forEach((l=>u.insert(l))),u}insert(t){if(this.ge===0)return;let e=rc(t),[r,i]=sc(e);for(let o=0;o<this.hashCount;o++){let u=this.ye(r,i,o);this.Se(u)}}Se(t){let e=Math.floor(t/8),r=t%8;this.bitmap[e]|=1<<r}},we=class extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}};var qr=class n{constructor(t,e,r,i,o){this.snapshotVersion=t,this.targetChanges=e,this.targetMismatches=r,this.documentUpdates=i,this.resolvedLimboDocuments=o}static createSynthesizedRemoteEventForCurrentChange(t,e,r){let i=new Map;return i.set(t,jn.createSynthesizedTargetChangeForCurrentChange(t,e,r)),new n(F.min(),i,new Y(q),Jt(),U())}},jn=class n{constructor(t,e,r,i,o){this.resumeToken=t,this.current=e,this.addedDocuments=r,this.modifiedDocuments=i,this.removedDocuments=o}static createSynthesizedTargetChangeForCurrentChange(t,e,r){return new n(r,e,U(),U(),U())}};var ze=class{constructor(t,e,r,i){this.be=t,this.removedTargetIds=e,this.key=r,this.De=i}},Ur=class{constructor(t,e){this.targetId=t,this.Ce=e}},Br=class{constructor(t,e,r=gt.EMPTY_BYTE_STRING,i=null){this.state=t,this.targetIds=e,this.resumeToken=r,this.cause=i}},jr=class{constructor(){this.ve=0,this.Fe=ic(),this.Me=gt.EMPTY_BYTE_STRING,this.xe=!1,this.Oe=!0}get current(){return this.xe}get resumeToken(){return this.Me}get Ne(){return this.ve!==0}get Be(){return this.Oe}Le(t){t.approximateByteSize()>0&&(this.Oe=!0,this.Me=t)}ke(){let t=U(),e=U(),r=U();return this.Fe.forEach(((i,o)=>{switch(o){case 0:t=t.add(i);break;case 2:e=e.add(i);break;case 1:r=r.add(i);break;default:O(38017,{changeType:o})}})),new jn(this.Me,this.xe,t,e,r)}qe(){this.Oe=!1,this.Fe=ic()}Qe(t,e){this.Oe=!0,this.Fe=this.Fe.insert(t,e)}$e(t){this.Oe=!0,this.Fe=this.Fe.remove(t)}Ue(){this.ve+=1}Ke(){this.ve-=1,j(this.ve>=0,3241,{ve:this.ve})}We(){this.Oe=!0,this.xe=!0}},Oi=class{constructor(t){this.Ge=t,this.ze=new Map,this.je=Jt(),this.Je=vr(),this.He=vr(),this.Ye=new Y(q)}Ze(t){for(let e of t.be)t.De&&t.De.isFoundDocument()?this.Xe(e,t.De):this.et(e,t.key,t.De);for(let e of t.removedTargetIds)this.et(e,t.key,t.De)}tt(t){this.forEachTarget(t,(e=>{let r=this.nt(e);switch(t.state){case 0:this.rt(e)&&r.Le(t.resumeToken);break;case 1:r.Ke(),r.Ne||r.qe(),r.Le(t.resumeToken);break;case 2:r.Ke(),r.Ne||this.removeTarget(e);break;case 3:this.rt(e)&&(r.We(),r.Le(t.resumeToken));break;case 4:this.rt(e)&&(this.it(e),r.Le(t.resumeToken));break;default:O(56790,{state:t.state})}}))}forEachTarget(t,e){t.targetIds.length>0?t.targetIds.forEach(e):this.ze.forEach(((r,i)=>{this.rt(i)&&e(i)}))}st(t){let e=t.targetId,r=t.Ce.count,i=this.ot(e);if(i){let o=i.target;if(Pi(o))if(r===0){let u=new M(o.path);this.et(e,u,St.newNoDocument(u,F.min()))}else j(r===1,20013,{expectedCount:r});else{let u=this._t(e);if(u!==r){let l=this.ut(t),h=l?this.ct(l,t,u):1;if(h!==0){this.it(e);let f=h===2?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.Ye=this.Ye.insert(e,f)}Td?.lt((function(m,T,A,R,D){let k={localCacheCount:m,existenceFilterCount:T.count,databaseId:A.database,projectId:A.projectId},C=T.unchangedNames;return C&&(k.bloomFilter={applied:D===0,hashCount:C?.hashCount??0,bitmapLength:C?.bits?.bitmap?.length??0,padding:C?.bits?.padding??0,mightContain:G=>R?.mightContain(G)??!1}),k})(u,t.Ce,this.Ge.ht(),l,h))}}}}ut(t){let e=t.Ce.unchangedNames;if(!e||!e.bits)return null;let{bits:{bitmap:r="",padding:i=0},hashCount:o=0}=e,u,l;try{u=Wt(r).toUint8Array()}catch(h){if(h instanceof xr)return On("Decoding the base64 bloom filter in existence filter failed ("+h.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw h}try{l=new Mi(u,i,o)}catch(h){return On(h instanceof we?"BloomFilter error: ":"Applying bloom filter failed: ",h),null}return l.ge===0?null:l}ct(t,e,r){return e.Ce.count===r-this.Pt(t,e.targetId)?0:2}Pt(t,e){let r=this.Ge.getRemoteKeysForTarget(e),i=0;return r.forEach((o=>{let u=this.Ge.ht(),l=`projects/${u.projectId}/databases/${u.database}/documents/${o.path.canonicalString()}`;t.mightContain(l)||(this.et(e,o,null),i++)})),i}Tt(t){let e=new Map;this.ze.forEach(((o,u)=>{let l=this.ot(u);if(l){if(o.current&&Pi(l.target)){let h=new M(l.target.path);this.It(h).has(u)||this.Et(u,h)||this.et(u,h,St.newNoDocument(h,t))}o.Be&&(e.set(u,o.ke()),o.qe())}}));let r=U();this.He.forEach(((o,u)=>{let l=!0;u.forEachWhile((h=>{let f=this.ot(h);return!f||f.purpose==="TargetPurposeLimboResolution"||(l=!1,!1)})),l&&(r=r.add(o))})),this.je.forEach(((o,u)=>u.setReadTime(t)));let i=new qr(t,e,this.Ye,this.je,r);return this.je=Jt(),this.Je=vr(),this.He=vr(),this.Ye=new Y(q),i}Xe(t,e){if(!this.rt(t))return;let r=this.Et(t,e.key)?2:0;this.nt(t).Qe(e.key,r),this.je=this.je.insert(e.key,e),this.Je=this.Je.insert(e.key,this.It(e.key).add(t)),this.He=this.He.insert(e.key,this.dt(e.key).add(t))}et(t,e,r){if(!this.rt(t))return;let i=this.nt(t);this.Et(t,e)?i.Qe(e,1):i.$e(e),this.He=this.He.insert(e,this.dt(e).delete(t)),this.He=this.He.insert(e,this.dt(e).add(t)),r&&(this.je=this.je.insert(e,r))}removeTarget(t){this.ze.delete(t)}_t(t){let e=this.nt(t).ke();return this.Ge.getRemoteKeysForTarget(t).size+e.addedDocuments.size-e.removedDocuments.size}Ue(t){this.nt(t).Ue()}nt(t){let e=this.ze.get(t);return e||(e=new jr,this.ze.set(t,e)),e}dt(t){let e=this.He.get(t);return e||(e=new it(q),this.He=this.He.insert(t,e)),e}It(t){let e=this.Je.get(t);return e||(e=new it(q),this.Je=this.Je.insert(t,e)),e}rt(t){let e=this.ot(t)!==null;return e||N("WatchChangeAggregator","Detected inactive target",t),e}ot(t){let e=this.ze.get(t);return e&&e.Ne?null:this.Ge.At(t)}it(t){this.ze.set(t,new jr),this.Ge.getRemoteKeysForTarget(t).forEach((e=>{this.et(t,e,null)}))}Et(t,e){return this.Ge.getRemoteKeysForTarget(t).has(e)}};function vr(){return new Y(M.comparator)}function ic(){return new Y(M.comparator)}var vd={asc:"ASCENDING",desc:"DESCENDING"},Ad={"<":"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"},Sd={and:"AND",or:"OR"},Fi=class{constructor(t,e){this.databaseId=t,this.useProto3Json=e}};function Li(n,t){return n.useProto3Json||tr(t)?t:{value:t}}function Gr(n,t){return n.useProto3Json?`${new Date(1e3*t.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+t.nanoseconds).slice(-9)}Z`:{seconds:""+t.seconds,nanos:t.nanoseconds}}function yl(n,t){return n.useProto3Json?t.toBase64():t.toUint8Array()}function bd(n,t){return Gr(n,t.toTimestamp())}function At(n){return j(!!n,49232),F.fromTimestamp((function(e){let r=Qt(e);return new rt(r.seconds,r.nanos)})(n))}function ia(n,t){return qi(n,t).canonicalString()}function qi(n,t){let e=(function(i){return new W(["projects",i.projectId,"databases",i.database])})(n).child("documents");return t===void 0?e:e.child(t)}function _l(n){let t=W.fromString(n);return j(Al(t),10190,{key:t.toString()}),t}function zr(n,t){return ia(n.databaseId,t.path)}function Mn(n,t){let e=_l(t);if(e.get(1)!==n.databaseId.projectId)throw new V(b.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+e.get(1)+" vs "+n.databaseId.projectId);if(e.get(3)!==n.databaseId.database)throw new V(b.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+e.get(3)+" vs "+n.databaseId.database);return new M(Tl(e))}function wl(n,t){return ia(n.databaseId,t)}function Rd(n){let t=_l(n);return t.length===4?W.emptyPath():Tl(t)}function Ui(n){return new W(["projects",n.databaseId.projectId,"databases",n.databaseId.database]).canonicalString()}function Tl(n){return j(n.length>4&&n.get(4)==="documents",29091,{key:n.toString()}),n.popFirst(5)}function oc(n,t,e){return{name:zr(n,t),fields:e.value.mapValue.fields}}function Pd(n,t){return"found"in t?(function(r,i){j(!!i.found,43571),i.found.name,i.found.updateTime;let o=Mn(r,i.found.name),u=At(i.found.updateTime),l=i.found.createTime?At(i.found.createTime):F.min(),h=new Tt({mapValue:{fields:i.found.fields}});return St.newFoundDocument(o,u,l,h)})(n,t):"missing"in t?(function(r,i){j(!!i.missing,3894),j(!!i.readTime,22933);let o=Mn(r,i.missing),u=At(i.readTime);return St.newNoDocument(o,u)})(n,t):O(7234,{result:t})}function Vd(n,t){let e;if("targetChange"in t){t.targetChange;let r=(function(f){return f==="NO_CHANGE"?0:f==="ADD"?1:f==="REMOVE"?2:f==="CURRENT"?3:f==="RESET"?4:O(39313,{state:f})})(t.targetChange.targetChangeType||"NO_CHANGE"),i=t.targetChange.targetIds||[],o=(function(f,m){return f.useProto3Json?(j(m===void 0||typeof m=="string",58123),gt.fromBase64String(m||"")):(j(m===void 0||m instanceof Buffer||m instanceof Uint8Array,16193),gt.fromUint8Array(m||new Uint8Array))})(n,t.targetChange.resumeToken),u=t.targetChange.cause,l=u&&(function(f){let m=f.code===void 0?b.UNKNOWN:pl(f.code);return new V(m,f.message||"")})(u);e=new Br(r,i,o,l||null)}else if("documentChange"in t){t.documentChange;let r=t.documentChange;r.document,r.document.name,r.document.updateTime;let i=Mn(n,r.document.name),o=At(r.document.updateTime),u=r.document.createTime?At(r.document.createTime):F.min(),l=new Tt({mapValue:{fields:r.document.fields}}),h=St.newFoundDocument(i,o,u,l),f=r.targetIds||[],m=r.removedTargetIds||[];e=new ze(f,m,h.key,h)}else if("documentDelete"in t){t.documentDelete;let r=t.documentDelete;r.document;let i=Mn(n,r.document),o=r.readTime?At(r.readTime):F.min(),u=St.newNoDocument(i,o),l=r.removedTargetIds||[];e=new ze([],l,u.key,u)}else if("documentRemove"in t){t.documentRemove;let r=t.documentRemove;r.document;let i=Mn(n,r.document),o=r.removedTargetIds||[];e=new ze([],o,i,null)}else{if(!("filter"in t))return O(11601,{Rt:t});{t.filter;let r=t.filter;r.targetId;let{count:i=0,unchangedNames:o}=r,u=new ki(i,o),l=r.targetId;e=new Ur(l,u)}}return e}function Il(n,t){let e;if(t instanceof be)e={update:oc(n,t.key,t.value)};else if(t instanceof Re)e={delete:zr(n,t.key)};else if(t instanceof qt)e={update:oc(n,t.key,t.data),updateMask:Ld(t.fieldMask)};else{if(!(t instanceof Lr))return O(16599,{Vt:t.type});e={verify:zr(n,t.key)}}return t.fieldTransforms.length>0&&(e.updateTransforms=t.fieldTransforms.map((r=>(function(o,u){let l=u.transform;if(l instanceof Ae)return{fieldPath:u.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(l instanceof le)return{fieldPath:u.field.canonicalString(),appendMissingElements:{values:l.elements}};if(l instanceof Se)return{fieldPath:u.field.canonicalString(),removeAllFromArray:{values:l.elements}};if(l instanceof Ye)return{fieldPath:u.field.canonicalString(),increment:l.Ae};throw O(20930,{transform:u.transform})})(0,r)))),t.precondition.isNone||(e.currentDocument=(function(i,o){return o.updateTime!==void 0?{updateTime:bd(i,o.updateTime)}:o.exists!==void 0?{exists:o.exists}:O(27497)})(n,t.precondition)),e}function Cd(n,t){return n&&n.length>0?(j(t!==void 0,14353),n.map((e=>(function(i,o){let u=i.updateTime?At(i.updateTime):At(o);return u.isEqual(F.min())&&(u=At(o)),new Ci(u,i.transformResults||[])})(e,t)))):[]}function xd(n,t){return{documents:[wl(n,t.path)]}}function Dd(n,t){let e={structuredQuery:{}},r=t.path,i;t.collectionGroup!==null?(i=r,e.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(i=r.popLast(),e.structuredQuery.from=[{collectionId:r.lastSegment()}]),e.parent=wl(n,i);let o=(function(f){if(f.length!==0)return vl(xt.create(f,"and"))})(t.filters);o&&(e.structuredQuery.where=o);let u=(function(f){if(f.length!==0)return f.map((m=>(function(A){return{field:Ue(A.field),direction:Md(A.dir)}})(m)))})(t.orderBy);u&&(e.structuredQuery.orderBy=u);let l=Li(n,t.limit);return l!==null&&(e.structuredQuery.limit=l),t.startAt&&(e.structuredQuery.startAt=(function(f){return{before:f.inclusive,values:f.position}})(t.startAt)),t.endAt&&(e.structuredQuery.endAt=(function(f){return{before:!f.inclusive,values:f.position}})(t.endAt)),{ft:e,parent:i}}function Nd(n){let t=Rd(n.parent),e=n.structuredQuery,r=e.from?e.from.length:0,i=null;if(r>0){j(r===1,65062);let m=e.from[0];m.allDescendants?i=m.collectionId:t=t.child(m.collectionId)}let o=[];e.where&&(o=(function(T){let A=El(T);return A instanceof xt&&Zc(A)?A.getFilters():[A]})(e.where));let u=[];e.orderBy&&(u=(function(T){return T.map((A=>(function(D){return new ve(Be(D.field),(function(C){switch(C){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}})(D.direction))})(A)))})(e.orderBy));let l=null;e.limit&&(l=(function(T){let A;return A=typeof T=="object"?T.value:T,tr(A)?null:A})(e.limit));let h=null;e.startAt&&(h=(function(T){let A=!!T.before,R=T.values||[];return new ce(R,A)})(e.startAt));let f=null;return e.endAt&&(f=(function(T){let A=!T.before,R=T.values||[];return new ce(R,A)})(e.endAt)),id(t,i,u,o,l,"F",h,f)}function kd(n,t){let e=(function(i){switch(i){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return O(28987,{purpose:i})}})(t.purpose);return e==null?null:{"goog-listen-tags":e}}function El(n){return n.unaryFilter!==void 0?(function(e){switch(e.unaryFilter.op){case"IS_NAN":let r=Be(e.unaryFilter.field);return et.create(r,"==",{doubleValue:NaN});case"IS_NULL":let i=Be(e.unaryFilter.field);return et.create(i,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let o=Be(e.unaryFilter.field);return et.create(o,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let u=Be(e.unaryFilter.field);return et.create(u,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return O(61313);default:return O(60726)}})(n):n.fieldFilter!==void 0?(function(e){return et.create(Be(e.fieldFilter.field),(function(i){switch(i){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 O(58110);default:return O(50506)}})(e.fieldFilter.op),e.fieldFilter.value)})(n):n.compositeFilter!==void 0?(function(e){return xt.create(e.compositeFilter.filters.map((r=>El(r))),(function(i){switch(i){case"AND":return"and";case"OR":return"or";default:return O(1026)}})(e.compositeFilter.op))})(n):O(30097,{filter:n})}function Md(n){return vd[n]}function Od(n){return Ad[n]}function Fd(n){return Sd[n]}function Ue(n){return{fieldPath:n.canonicalString()}}function Be(n){return vt.fromServerFormat(n.fieldPath)}function vl(n){return n instanceof et?(function(e){if(e.op==="=="){if(Wu(e.value))return{unaryFilter:{field:Ue(e.field),op:"IS_NAN"}};if(Qu(e.value))return{unaryFilter:{field:Ue(e.field),op:"IS_NULL"}}}else if(e.op==="!="){if(Wu(e.value))return{unaryFilter:{field:Ue(e.field),op:"IS_NOT_NAN"}};if(Qu(e.value))return{unaryFilter:{field:Ue(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:Ue(e.field),op:Od(e.op),value:e.value}}})(n):n instanceof xt?(function(e){let r=e.getFilters().map((i=>vl(i)));return r.length===1?r[0]:{compositeFilter:{op:Fd(e.op),filters:r}}})(n):O(54877,{filter:n})}function Ld(n){let t=[];return n.fields.forEach((e=>t.push(e.canonicalString()))),{fieldPaths:t}}function Al(n){return n.length>=4&&n.get(0)==="projects"&&n.get(2)==="databases"}var Gn=class n{constructor(t,e,r,i,o=F.min(),u=F.min(),l=gt.EMPTY_BYTE_STRING,h=null){this.target=t,this.targetId=e,this.purpose=r,this.sequenceNumber=i,this.snapshotVersion=o,this.lastLimboFreeSnapshotVersion=u,this.resumeToken=l,this.expectedCount=h}withSequenceNumber(t){return new n(this.target,this.targetId,this.purpose,t,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(t,e){return new n(this.target,this.targetId,this.purpose,this.sequenceNumber,e,this.lastLimboFreeSnapshotVersion,t,null)}withExpectedCount(t){return new n(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,t)}withLastLimboFreeSnapshotVersion(t){return new n(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,t,this.resumeToken,this.expectedCount)}};var Bi=class{constructor(t){this.yt=t}};function qd(n){let t=Nd({parent:n.parent,structuredQuery:n.structuredQuery});return n.limitType==="LAST"?Or(t,t.limit,"L"):t}var Kr=class{constructor(){}Dt(t,e){this.Ct(t,e),e.vt()}Ct(t,e){if("nullValue"in t)this.Ft(e,5);else if("booleanValue"in t)this.Ft(e,10),e.Mt(t.booleanValue?1:0);else if("integerValue"in t)this.Ft(e,15),e.Mt(J(t.integerValue));else if("doubleValue"in t){let r=J(t.doubleValue);isNaN(r)?this.Ft(e,13):(this.Ft(e,15),qn(r)?e.Mt(0):e.Mt(r))}else if("timestampValue"in t){let r=t.timestampValue;this.Ft(e,20),typeof r=="string"&&(r=Qt(r)),e.xt(`${r.seconds||""}`),e.Mt(r.nanos||0)}else if("stringValue"in t)this.Ot(t.stringValue,e),this.Nt(e);else if("bytesValue"in t)this.Ft(e,30),e.Bt(Wt(t.bytesValue)),this.Nt(e);else if("referenceValue"in t)this.Lt(t.referenceValue,e);else if("geoPointValue"in t){let r=t.geoPointValue;this.Ft(e,45),e.Mt(r.latitude||0),e.Mt(r.longitude||0)}else"mapValue"in t?Jc(t)?this.Ft(e,Number.MAX_SAFE_INTEGER):Hc(t)?this.kt(t.mapValue,e):(this.qt(t.mapValue,e),this.Nt(e)):"arrayValue"in t?(this.Qt(t.arrayValue,e),this.Nt(e)):O(19022,{$t:t})}Ot(t,e){this.Ft(e,25),this.Ut(t,e)}Ut(t,e){e.xt(t)}qt(t,e){let r=t.fields||{};this.Ft(e,55);for(let i of Object.keys(r))this.Ot(i,e),this.Ct(r[i],e)}kt(t,e){let r=t.fields||{};this.Ft(e,53);let i=We,o=r[i].arrayValue?.values?.length||0;this.Ft(e,15),e.Mt(J(o)),this.Ot(i,e),this.Ct(r[i],e)}Qt(t,e){let r=t.values||[];this.Ft(e,50);for(let i of r)this.Ct(i,e)}Lt(t,e){this.Ft(e,37),M.fromName(t).path.forEach((r=>{this.Ft(e,60),this.Ut(r,e)}))}Ft(t,e){t.Mt(e)}Nt(t){t.Mt(2)}};Kr.Kt=new Kr;var ji=class{constructor(){this.Cn=new Gi}addToCollectionParentIndex(t,e){return this.Cn.add(e),P.resolve()}getCollectionParents(t,e){return P.resolve(this.Cn.getEntries(e))}addFieldIndex(t,e){return P.resolve()}deleteFieldIndex(t,e){return P.resolve()}deleteAllFieldIndexes(t){return P.resolve()}createTargetIndexes(t,e){return P.resolve()}getDocumentsMatchingTarget(t,e){return P.resolve(null)}getIndexType(t,e){return P.resolve(0)}getFieldIndexes(t,e){return P.resolve([])}getNextCollectionGroupToUpdate(t){return P.resolve(null)}getMinOffset(t,e){return P.resolve(Ee.min())}getMinOffsetFromCollectionGroup(t,e){return P.resolve(Ee.min())}updateCollectionGroup(t,e,r){return P.resolve()}updateIndexEntries(t,e){return P.resolve()}},Gi=class{constructor(){this.index={}}add(t){let e=t.lastSegment(),r=t.popLast(),i=this.index[e]||new it(W.comparator),o=!i.has(r);return this.index[e]=i.add(r),o}has(t){let e=t.lastSegment(),r=t.popLast(),i=this.index[e];return i&&i.has(r)}getEntries(t){return(this.index[t]||new it(W.comparator)).toArray()}};var rm=new Uint8Array(0);var ac={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0},Sl=41943040,bt=class n{static withCacheSize(t){return new n(t,n.DEFAULT_COLLECTION_PERCENTILE,n.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(t,e,r){this.cacheSizeCollectionThreshold=t,this.percentileToCollect=e,this.maximumSequenceNumbersToCollect=r}};bt.DEFAULT_COLLECTION_PERCENTILE=10,bt.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,bt.DEFAULT=new bt(Sl,bt.DEFAULT_COLLECTION_PERCENTILE,bt.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),bt.DISABLED=new bt(-1,0,0);var zn=class n{constructor(t){this.ar=t}next(){return this.ar+=2,this.ar}static ur(){return new n(0)}static cr(){return new n(-1)}};var uc="LruGarbageCollector",bl=1048576;function cc([n,t],[e,r]){let i=q(n,e);return i===0?q(t,r):i}var zi=class{constructor(t){this.Ir=t,this.buffer=new it(cc),this.Er=0}dr(){return++this.Er}Ar(t){let e=[t,this.dr()];if(this.buffer.size<this.Ir)this.buffer=this.buffer.add(e);else{let r=this.buffer.last();cc(e,r)<0&&(this.buffer=this.buffer.delete(r).add(e))}}get maxValue(){return this.buffer.last()[0]}},Ki=class{constructor(t,e,r){this.garbageCollector=t,this.asyncQueue=e,this.localStore=r,this.Rr=null}start(){this.garbageCollector.params.cacheSizeCollectionThreshold!==-1&&this.Vr(6e4)}stop(){this.Rr&&(this.Rr.cancel(),this.Rr=null)}get started(){return this.Rr!==null}Vr(t){N(uc,`Garbage collection scheduled in ${t}ms`),this.Rr=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",t,(async()=>{this.Rr=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(e){on(e)?N(uc,"Ignoring IndexedDB error during garbage collection: ",e):await sn(e)}await this.Vr(3e5)}))}},$i=class{constructor(t,e){this.mr=t,this.params=e}calculateTargetCount(t,e){return this.mr.gr(t).next((r=>Math.floor(e/100*r)))}nthSequenceNumber(t,e){if(e===0)return P.resolve(Qe.ce);let r=new zi(e);return this.mr.forEachTarget(t,(i=>r.Ar(i.sequenceNumber))).next((()=>this.mr.pr(t,(i=>r.Ar(i))))).next((()=>r.maxValue))}removeTargets(t,e,r){return this.mr.removeTargets(t,e,r)}removeOrphanedDocuments(t,e){return this.mr.removeOrphanedDocuments(t,e)}collect(t,e){return this.params.cacheSizeCollectionThreshold===-1?(N("LruGarbageCollector","Garbage collection skipped; disabled"),P.resolve(ac)):this.getCacheSize(t).next((r=>r<this.params.cacheSizeCollectionThreshold?(N("LruGarbageCollector",`Garbage collection skipped; Cache size ${r} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),ac):this.yr(t,e)))}getCacheSize(t){return this.mr.getCacheSize(t)}yr(t,e){let r,i,o,u,l,h,f,m=Date.now();return this.calculateTargetCount(t,this.params.percentileToCollect).next((T=>(T>this.params.maximumSequenceNumbersToCollect?(N("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${T}`),i=this.params.maximumSequenceNumbersToCollect):i=T,u=Date.now(),this.nthSequenceNumber(t,i)))).next((T=>(r=T,l=Date.now(),this.removeTargets(t,r,e)))).next((T=>(o=T,h=Date.now(),this.removeOrphanedDocuments(t,r)))).next((T=>(f=Date.now(),Le()<=kt.DEBUG&&N("LruGarbageCollector",`LRU Garbage Collection
|
|
12
|
+
}`}};var Mi=class{constructor(t,e){this.count=t,this.unchangedNames=e}};var Z,B;function wl(n){switch(n){case b.OK:return O(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 O(15467,{code:n})}}function Tl(n){if(n===void 0)return Qt("GRPC error has no .code"),b.UNKNOWN;switch(n){case Z.OK:return b.OK;case Z.CANCELLED:return b.CANCELLED;case Z.UNKNOWN:return b.UNKNOWN;case Z.DEADLINE_EXCEEDED:return b.DEADLINE_EXCEEDED;case Z.RESOURCE_EXHAUSTED:return b.RESOURCE_EXHAUSTED;case Z.INTERNAL:return b.INTERNAL;case Z.UNAVAILABLE:return b.UNAVAILABLE;case Z.UNAUTHENTICATED:return b.UNAUTHENTICATED;case Z.INVALID_ARGUMENT:return b.INVALID_ARGUMENT;case Z.NOT_FOUND:return b.NOT_FOUND;case Z.ALREADY_EXISTS:return b.ALREADY_EXISTS;case Z.PERMISSION_DENIED:return b.PERMISSION_DENIED;case Z.FAILED_PRECONDITION:return b.FAILED_PRECONDITION;case Z.ABORTED:return b.ABORTED;case Z.OUT_OF_RANGE:return b.OUT_OF_RANGE;case Z.UNIMPLEMENTED:return b.UNIMPLEMENTED;case Z.DATA_LOSS:return b.DATA_LOSS;default:return O(39323,{code:n})}}(B=Z||(Z={}))[B.OK=0]="OK",B[B.CANCELLED=1]="CANCELLED",B[B.UNKNOWN=2]="UNKNOWN",B[B.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",B[B.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",B[B.NOT_FOUND=5]="NOT_FOUND",B[B.ALREADY_EXISTS=6]="ALREADY_EXISTS",B[B.PERMISSION_DENIED=7]="PERMISSION_DENIED",B[B.UNAUTHENTICATED=16]="UNAUTHENTICATED",B[B.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",B[B.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",B[B.ABORTED=10]="ABORTED",B[B.OUT_OF_RANGE=11]="OUT_OF_RANGE",B[B.UNIMPLEMENTED=12]="UNIMPLEMENTED",B[B.INTERNAL=13]="INTERNAL",B[B.UNAVAILABLE=14]="UNAVAILABLE",B[B.DATA_LOSS=15]="DATA_LOSS";var Pd=null;function Vd(){return new TextEncoder}var Cd=new zt([4294967295,4294967295],0);function ac(n){let t=Vd().encode(n),e=new Xs;return e.update(t),new Uint8Array(e.digest())}function uc(n){let t=new DataView(n.buffer),e=t.getUint32(0,!0),r=t.getUint32(4,!0),i=t.getUint32(8,!0),o=t.getUint32(12,!0);return[new zt([e,r],0),new zt([i,o],0)]}var Oi=class n{constructor(t,e,r){if(this.bitmap=t,this.padding=e,this.hashCount=r,e<0||e>=8)throw new Te(`Invalid padding: ${e}`);if(r<0)throw new Te(`Invalid hash count: ${r}`);if(t.length>0&&this.hashCount===0)throw new Te(`Invalid hash count: ${r}`);if(t.length===0&&e!==0)throw new Te(`Invalid padding when bitmap length is 0: ${e}`);this.ge=8*t.length-e,this.pe=zt.fromNumber(this.ge)}ye(t,e,r){let i=t.add(e.multiply(zt.fromNumber(r)));return i.compare(Cd)===1&&(i=new zt([i.getBits(0),i.getBits(1)],0)),i.modulo(this.pe).toNumber()}we(t){return!!(this.bitmap[Math.floor(t/8)]&1<<t%8)}mightContain(t){if(this.ge===0)return!1;let e=ac(t),[r,i]=uc(e);for(let o=0;o<this.hashCount;o++){let u=this.ye(r,i,o);if(!this.we(u))return!1}return!0}static create(t,e,r){let i=t%8==0?0:8-t%8,o=new Uint8Array(Math.ceil(t/8)),u=new n(o,i,e);return r.forEach((l=>u.insert(l))),u}insert(t){if(this.ge===0)return;let e=ac(t),[r,i]=uc(e);for(let o=0;o<this.hashCount;o++){let u=this.ye(r,i,o);this.Se(u)}}Se(t){let e=Math.floor(t/8),r=t%8;this.bitmap[e]|=1<<r}},Te=class extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}};var Ur=class n{constructor(t,e,r,i,o){this.snapshotVersion=t,this.targetChanges=e,this.targetMismatches=r,this.documentUpdates=i,this.resolvedLimboDocuments=o}static createSynthesizedRemoteEventForCurrentChange(t,e,r){let i=new Map;return i.set(t,Gn.createSynthesizedTargetChangeForCurrentChange(t,e,r)),new n(F.min(),i,new Y(q),Xt(),U())}},Gn=class n{constructor(t,e,r,i,o){this.resumeToken=t,this.current=e,this.addedDocuments=r,this.modifiedDocuments=i,this.removedDocuments=o}static createSynthesizedTargetChangeForCurrentChange(t,e,r){return new n(r,e,U(),U(),U())}};var Ke=class{constructor(t,e,r,i){this.be=t,this.removedTargetIds=e,this.key=r,this.De=i}},Br=class{constructor(t,e){this.targetId=t,this.Ce=e}},jr=class{constructor(t,e,r=gt.EMPTY_BYTE_STRING,i=null){this.state=t,this.targetIds=e,this.resumeToken=r,this.cause=i}},Gr=class{constructor(){this.ve=0,this.Fe=cc(),this.Me=gt.EMPTY_BYTE_STRING,this.xe=!1,this.Oe=!0}get current(){return this.xe}get resumeToken(){return this.Me}get Ne(){return this.ve!==0}get Be(){return this.Oe}Le(t){t.approximateByteSize()>0&&(this.Oe=!0,this.Me=t)}ke(){let t=U(),e=U(),r=U();return this.Fe.forEach(((i,o)=>{switch(o){case 0:t=t.add(i);break;case 2:e=e.add(i);break;case 1:r=r.add(i);break;default:O(38017,{changeType:o})}})),new Gn(this.Me,this.xe,t,e,r)}qe(){this.Oe=!1,this.Fe=cc()}Qe(t,e){this.Oe=!0,this.Fe=this.Fe.insert(t,e)}$e(t){this.Oe=!0,this.Fe=this.Fe.remove(t)}Ue(){this.ve+=1}Ke(){this.ve-=1,j(this.ve>=0,3241,{ve:this.ve})}We(){this.Oe=!0,this.xe=!0}},Fi=class{constructor(t){this.Ge=t,this.ze=new Map,this.je=Xt(),this.Je=Ar(),this.He=Ar(),this.Ye=new Y(q)}Ze(t){for(let e of t.be)t.De&&t.De.isFoundDocument()?this.Xe(e,t.De):this.et(e,t.key,t.De);for(let e of t.removedTargetIds)this.et(e,t.key,t.De)}tt(t){this.forEachTarget(t,(e=>{let r=this.nt(e);switch(t.state){case 0:this.rt(e)&&r.Le(t.resumeToken);break;case 1:r.Ke(),r.Ne||r.qe(),r.Le(t.resumeToken);break;case 2:r.Ke(),r.Ne||this.removeTarget(e);break;case 3:this.rt(e)&&(r.We(),r.Le(t.resumeToken));break;case 4:this.rt(e)&&(this.it(e),r.Le(t.resumeToken));break;default:O(56790,{state:t.state})}}))}forEachTarget(t,e){t.targetIds.length>0?t.targetIds.forEach(e):this.ze.forEach(((r,i)=>{this.rt(i)&&e(i)}))}st(t){let e=t.targetId,r=t.Ce.count,i=this.ot(e);if(i){let o=i.target;if(Vi(o))if(r===0){let u=new M(o.path);this.et(e,u,St.newNoDocument(u,F.min()))}else j(r===1,20013,{expectedCount:r});else{let u=this._t(e);if(u!==r){let l=this.ut(t),h=l?this.ct(l,t,u):1;if(h!==0){this.it(e);let f=h===2?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.Ye=this.Ye.insert(e,f)}Pd?.lt((function(m,T,A,R,D){let k={localCacheCount:m,existenceFilterCount:T.count,databaseId:A.database,projectId:A.projectId},C=T.unchangedNames;return C&&(k.bloomFilter={applied:D===0,hashCount:C?.hashCount??0,bitmapLength:C?.bits?.bitmap?.length??0,padding:C?.bits?.padding??0,mightContain:G=>R?.mightContain(G)??!1}),k})(u,t.Ce,this.Ge.ht(),l,h))}}}}ut(t){let e=t.Ce.unchangedNames;if(!e||!e.bits)return null;let{bits:{bitmap:r="",padding:i=0},hashCount:o=0}=e,u,l;try{u=Ht(r).toUint8Array()}catch(h){if(h instanceof Dr)return Fn("Decoding the base64 bloom filter in existence filter failed ("+h.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw h}try{l=new Oi(u,i,o)}catch(h){return Fn(h instanceof Te?"BloomFilter error: ":"Applying bloom filter failed: ",h),null}return l.ge===0?null:l}ct(t,e,r){return e.Ce.count===r-this.Pt(t,e.targetId)?0:2}Pt(t,e){let r=this.Ge.getRemoteKeysForTarget(e),i=0;return r.forEach((o=>{let u=this.Ge.ht(),l=`projects/${u.projectId}/databases/${u.database}/documents/${o.path.canonicalString()}`;t.mightContain(l)||(this.et(e,o,null),i++)})),i}Tt(t){let e=new Map;this.ze.forEach(((o,u)=>{let l=this.ot(u);if(l){if(o.current&&Vi(l.target)){let h=new M(l.target.path);this.It(h).has(u)||this.Et(u,h)||this.et(u,h,St.newNoDocument(h,t))}o.Be&&(e.set(u,o.ke()),o.qe())}}));let r=U();this.He.forEach(((o,u)=>{let l=!0;u.forEachWhile((h=>{let f=this.ot(h);return!f||f.purpose==="TargetPurposeLimboResolution"||(l=!1,!1)})),l&&(r=r.add(o))})),this.je.forEach(((o,u)=>u.setReadTime(t)));let i=new Ur(t,e,this.Ye,this.je,r);return this.je=Xt(),this.Je=Ar(),this.He=Ar(),this.Ye=new Y(q),i}Xe(t,e){if(!this.rt(t))return;let r=this.Et(t,e.key)?2:0;this.nt(t).Qe(e.key,r),this.je=this.je.insert(e.key,e),this.Je=this.Je.insert(e.key,this.It(e.key).add(t)),this.He=this.He.insert(e.key,this.dt(e.key).add(t))}et(t,e,r){if(!this.rt(t))return;let i=this.nt(t);this.Et(t,e)?i.Qe(e,1):i.$e(e),this.He=this.He.insert(e,this.dt(e).delete(t)),this.He=this.He.insert(e,this.dt(e).add(t)),r&&(this.je=this.je.insert(e,r))}removeTarget(t){this.ze.delete(t)}_t(t){let e=this.nt(t).ke();return this.Ge.getRemoteKeysForTarget(t).size+e.addedDocuments.size-e.removedDocuments.size}Ue(t){this.nt(t).Ue()}nt(t){let e=this.ze.get(t);return e||(e=new Gr,this.ze.set(t,e)),e}dt(t){let e=this.He.get(t);return e||(e=new it(q),this.He=this.He.insert(t,e)),e}It(t){let e=this.Je.get(t);return e||(e=new it(q),this.Je=this.Je.insert(t,e)),e}rt(t){let e=this.ot(t)!==null;return e||N("WatchChangeAggregator","Detected inactive target",t),e}ot(t){let e=this.ze.get(t);return e&&e.Ne?null:this.Ge.At(t)}it(t){this.ze.set(t,new Gr),this.Ge.getRemoteKeysForTarget(t).forEach((e=>{this.et(t,e,null)}))}Et(t,e){return this.Ge.getRemoteKeysForTarget(t).has(e)}};function Ar(){return new Y(M.comparator)}function cc(){return new Y(M.comparator)}var xd={asc:"ASCENDING",desc:"DESCENDING"},Dd={"<":"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"},Nd={and:"AND",or:"OR"},Li=class{constructor(t,e){this.databaseId=t,this.useProto3Json=e}};function qi(n,t){return n.useProto3Json||er(t)?t:{value:t}}function zr(n,t){return n.useProto3Json?`${new Date(1e3*t.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+t.nanoseconds).slice(-9)}Z`:{seconds:""+t.seconds,nanos:t.nanoseconds}}function Il(n,t){return n.useProto3Json?t.toBase64():t.toUint8Array()}function kd(n,t){return zr(n,t.toTimestamp())}function At(n){return j(!!n,49232),F.fromTimestamp((function(e){let r=Wt(e);return new rt(r.seconds,r.nanos)})(n))}function oa(n,t){return Ui(n,t).canonicalString()}function Ui(n,t){let e=(function(i){return new W(["projects",i.projectId,"databases",i.database])})(n).child("documents");return t===void 0?e:e.child(t)}function El(n){let t=W.fromString(n);return j(Pl(t),10190,{key:t.toString()}),t}function Kr(n,t){return oa(n.databaseId,t.path)}function On(n,t){let e=El(t);if(e.get(1)!==n.databaseId.projectId)throw new V(b.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+e.get(1)+" vs "+n.databaseId.projectId);if(e.get(3)!==n.databaseId.database)throw new V(b.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+e.get(3)+" vs "+n.databaseId.database);return new M(Al(e))}function vl(n,t){return oa(n.databaseId,t)}function Md(n){let t=El(n);return t.length===4?W.emptyPath():Al(t)}function Bi(n){return new W(["projects",n.databaseId.projectId,"databases",n.databaseId.database]).canonicalString()}function Al(n){return j(n.length>4&&n.get(4)==="documents",29091,{key:n.toString()}),n.popFirst(5)}function lc(n,t,e){return{name:Kr(n,t),fields:e.value.mapValue.fields}}function Od(n,t){return"found"in t?(function(r,i){j(!!i.found,43571),i.found.name,i.found.updateTime;let o=On(r,i.found.name),u=At(i.found.updateTime),l=i.found.createTime?At(i.found.createTime):F.min(),h=new Tt({mapValue:{fields:i.found.fields}});return St.newFoundDocument(o,u,l,h)})(n,t):"missing"in t?(function(r,i){j(!!i.missing,3894),j(!!i.readTime,22933);let o=On(r,i.missing),u=At(i.readTime);return St.newNoDocument(o,u)})(n,t):O(7234,{result:t})}function Fd(n,t){let e;if("targetChange"in t){t.targetChange;let r=(function(f){return f==="NO_CHANGE"?0:f==="ADD"?1:f==="REMOVE"?2:f==="CURRENT"?3:f==="RESET"?4:O(39313,{state:f})})(t.targetChange.targetChangeType||"NO_CHANGE"),i=t.targetChange.targetIds||[],o=(function(f,m){return f.useProto3Json?(j(m===void 0||typeof m=="string",58123),gt.fromBase64String(m||"")):(j(m===void 0||m instanceof Buffer||m instanceof Uint8Array,16193),gt.fromUint8Array(m||new Uint8Array))})(n,t.targetChange.resumeToken),u=t.targetChange.cause,l=u&&(function(f){let m=f.code===void 0?b.UNKNOWN:Tl(f.code);return new V(m,f.message||"")})(u);e=new jr(r,i,o,l||null)}else if("documentChange"in t){t.documentChange;let r=t.documentChange;r.document,r.document.name,r.document.updateTime;let i=On(n,r.document.name),o=At(r.document.updateTime),u=r.document.createTime?At(r.document.createTime):F.min(),l=new Tt({mapValue:{fields:r.document.fields}}),h=St.newFoundDocument(i,o,u,l),f=r.targetIds||[],m=r.removedTargetIds||[];e=new Ke(f,m,h.key,h)}else if("documentDelete"in t){t.documentDelete;let r=t.documentDelete;r.document;let i=On(n,r.document),o=r.readTime?At(r.readTime):F.min(),u=St.newNoDocument(i,o),l=r.removedTargetIds||[];e=new Ke([],l,u.key,u)}else if("documentRemove"in t){t.documentRemove;let r=t.documentRemove;r.document;let i=On(n,r.document),o=r.removedTargetIds||[];e=new Ke([],o,i,null)}else{if(!("filter"in t))return O(11601,{Rt:t});{t.filter;let r=t.filter;r.targetId;let{count:i=0,unchangedNames:o}=r,u=new Mi(i,o),l=r.targetId;e=new Br(l,u)}}return e}function Sl(n,t){let e;if(t instanceof Re)e={update:lc(n,t.key,t.value)};else if(t instanceof Pe)e={delete:Kr(n,t.key)};else if(t instanceof Ut)e={update:lc(n,t.key,t.data),updateMask:$d(t.fieldMask)};else{if(!(t instanceof qr))return O(16599,{Vt:t.type});e={verify:Kr(n,t.key)}}return t.fieldTransforms.length>0&&(e.updateTransforms=t.fieldTransforms.map((r=>(function(o,u){let l=u.transform;if(l instanceof Se)return{fieldPath:u.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(l instanceof he)return{fieldPath:u.field.canonicalString(),appendMissingElements:{values:l.elements}};if(l instanceof be)return{fieldPath:u.field.canonicalString(),removeAllFromArray:{values:l.elements}};if(l instanceof Ze)return{fieldPath:u.field.canonicalString(),increment:l.Ae};throw O(20930,{transform:u.transform})})(0,r)))),t.precondition.isNone||(e.currentDocument=(function(i,o){return o.updateTime!==void 0?{updateTime:kd(i,o.updateTime)}:o.exists!==void 0?{exists:o.exists}:O(27497)})(n,t.precondition)),e}function Ld(n,t){return n&&n.length>0?(j(t!==void 0,14353),n.map((e=>(function(i,o){let u=i.updateTime?At(i.updateTime):At(o);return u.isEqual(F.min())&&(u=At(o)),new xi(u,i.transformResults||[])})(e,t)))):[]}function qd(n,t){return{documents:[vl(n,t.path)]}}function Ud(n,t){let e={structuredQuery:{}},r=t.path,i;t.collectionGroup!==null?(i=r,e.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(i=r.popLast(),e.structuredQuery.from=[{collectionId:r.lastSegment()}]),e.parent=vl(n,i);let o=(function(f){if(f.length!==0)return Rl(xt.create(f,"and"))})(t.filters);o&&(e.structuredQuery.where=o);let u=(function(f){if(f.length!==0)return f.map((m=>(function(A){return{field:Be(A.field),direction:Gd(A.dir)}})(m)))})(t.orderBy);u&&(e.structuredQuery.orderBy=u);let l=qi(n,t.limit);return l!==null&&(e.structuredQuery.limit=l),t.startAt&&(e.structuredQuery.startAt=(function(f){return{before:f.inclusive,values:f.position}})(t.startAt)),t.endAt&&(e.structuredQuery.endAt=(function(f){return{before:!f.inclusive,values:f.position}})(t.endAt)),{ft:e,parent:i}}function Bd(n){let t=Md(n.parent),e=n.structuredQuery,r=e.from?e.from.length:0,i=null;if(r>0){j(r===1,65062);let m=e.from[0];m.allDescendants?i=m.collectionId:t=t.child(m.collectionId)}let o=[];e.where&&(o=(function(T){let A=bl(T);return A instanceof xt&&rl(A)?A.getFilters():[A]})(e.where));let u=[];e.orderBy&&(u=(function(T){return T.map((A=>(function(D){return new Ae(je(D.field),(function(C){switch(C){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}})(D.direction))})(A)))})(e.orderBy));let l=null;e.limit&&(l=(function(T){let A;return A=typeof T=="object"?T.value:T,er(A)?null:A})(e.limit));let h=null;e.startAt&&(h=(function(T){let A=!!T.before,R=T.values||[];return new le(R,A)})(e.startAt));let f=null;return e.endAt&&(f=(function(T){let A=!T.before,R=T.values||[];return new le(R,A)})(e.endAt)),fd(t,i,u,o,l,"F",h,f)}function jd(n,t){let e=(function(i){switch(i){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return O(28987,{purpose:i})}})(t.purpose);return e==null?null:{"goog-listen-tags":e}}function bl(n){return n.unaryFilter!==void 0?(function(e){switch(e.unaryFilter.op){case"IS_NAN":let r=je(e.unaryFilter.field);return et.create(r,"==",{doubleValue:NaN});case"IS_NULL":let i=je(e.unaryFilter.field);return et.create(i,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let o=je(e.unaryFilter.field);return et.create(o,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let u=je(e.unaryFilter.field);return et.create(u,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return O(61313);default:return O(60726)}})(n):n.fieldFilter!==void 0?(function(e){return et.create(je(e.fieldFilter.field),(function(i){switch(i){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 O(58110);default:return O(50506)}})(e.fieldFilter.op),e.fieldFilter.value)})(n):n.compositeFilter!==void 0?(function(e){return xt.create(e.compositeFilter.filters.map((r=>bl(r))),(function(i){switch(i){case"AND":return"and";case"OR":return"or";default:return O(1026)}})(e.compositeFilter.op))})(n):O(30097,{filter:n})}function Gd(n){return xd[n]}function zd(n){return Dd[n]}function Kd(n){return Nd[n]}function Be(n){return{fieldPath:n.canonicalString()}}function je(n){return vt.fromServerFormat(n.fieldPath)}function Rl(n){return n instanceof et?(function(e){if(e.op==="=="){if(Yu(e.value))return{unaryFilter:{field:Be(e.field),op:"IS_NAN"}};if(Xu(e.value))return{unaryFilter:{field:Be(e.field),op:"IS_NULL"}}}else if(e.op==="!="){if(Yu(e.value))return{unaryFilter:{field:Be(e.field),op:"IS_NOT_NAN"}};if(Xu(e.value))return{unaryFilter:{field:Be(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:Be(e.field),op:zd(e.op),value:e.value}}})(n):n instanceof xt?(function(e){let r=e.getFilters().map((i=>Rl(i)));return r.length===1?r[0]:{compositeFilter:{op:Kd(e.op),filters:r}}})(n):O(54877,{filter:n})}function $d(n){let t=[];return n.fields.forEach((e=>t.push(e.canonicalString()))),{fieldPaths:t}}function Pl(n){return n.length>=4&&n.get(0)==="projects"&&n.get(2)==="databases"}var zn=class n{constructor(t,e,r,i,o=F.min(),u=F.min(),l=gt.EMPTY_BYTE_STRING,h=null){this.target=t,this.targetId=e,this.purpose=r,this.sequenceNumber=i,this.snapshotVersion=o,this.lastLimboFreeSnapshotVersion=u,this.resumeToken=l,this.expectedCount=h}withSequenceNumber(t){return new n(this.target,this.targetId,this.purpose,t,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(t,e){return new n(this.target,this.targetId,this.purpose,this.sequenceNumber,e,this.lastLimboFreeSnapshotVersion,t,null)}withExpectedCount(t){return new n(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,t)}withLastLimboFreeSnapshotVersion(t){return new n(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,t,this.resumeToken,this.expectedCount)}};var ji=class{constructor(t){this.yt=t}};function Qd(n){let t=Bd({parent:n.parent,structuredQuery:n.structuredQuery});return n.limitType==="LAST"?Fr(t,t.limit,"L"):t}var $r=class{constructor(){}Dt(t,e){this.Ct(t,e),e.vt()}Ct(t,e){if("nullValue"in t)this.Ft(e,5);else if("booleanValue"in t)this.Ft(e,10),e.Mt(t.booleanValue?1:0);else if("integerValue"in t)this.Ft(e,15),e.Mt(J(t.integerValue));else if("doubleValue"in t){let r=J(t.doubleValue);isNaN(r)?this.Ft(e,13):(this.Ft(e,15),Un(r)?e.Mt(0):e.Mt(r))}else if("timestampValue"in t){let r=t.timestampValue;this.Ft(e,20),typeof r=="string"&&(r=Wt(r)),e.xt(`${r.seconds||""}`),e.Mt(r.nanos||0)}else if("stringValue"in t)this.Ot(t.stringValue,e),this.Nt(e);else if("bytesValue"in t)this.Ft(e,30),e.Bt(Ht(t.bytesValue)),this.Nt(e);else if("referenceValue"in t)this.Lt(t.referenceValue,e);else if("geoPointValue"in t){let r=t.geoPointValue;this.Ft(e,45),e.Mt(r.latitude||0),e.Mt(r.longitude||0)}else"mapValue"in t?tl(t)?this.Ft(e,Number.MAX_SAFE_INTEGER):Zc(t)?this.kt(t.mapValue,e):(this.qt(t.mapValue,e),this.Nt(e)):"arrayValue"in t?(this.Qt(t.arrayValue,e),this.Nt(e)):O(19022,{$t:t})}Ot(t,e){this.Ft(e,25),this.Ut(t,e)}Ut(t,e){e.xt(t)}qt(t,e){let r=t.fields||{};this.Ft(e,55);for(let i of Object.keys(r))this.Ot(i,e),this.Ct(r[i],e)}kt(t,e){let r=t.fields||{};this.Ft(e,53);let i=He,o=r[i].arrayValue?.values?.length||0;this.Ft(e,15),e.Mt(J(o)),this.Ot(i,e),this.Ct(r[i],e)}Qt(t,e){let r=t.values||[];this.Ft(e,50);for(let i of r)this.Ct(i,e)}Lt(t,e){this.Ft(e,37),M.fromName(t).path.forEach((r=>{this.Ft(e,60),this.Ut(r,e)}))}Ft(t,e){t.Mt(e)}Nt(t){t.Mt(2)}};$r.Kt=new $r;var Gi=class{constructor(){this.Cn=new zi}addToCollectionParentIndex(t,e){return this.Cn.add(e),P.resolve()}getCollectionParents(t,e){return P.resolve(this.Cn.getEntries(e))}addFieldIndex(t,e){return P.resolve()}deleteFieldIndex(t,e){return P.resolve()}deleteAllFieldIndexes(t){return P.resolve()}createTargetIndexes(t,e){return P.resolve()}getDocumentsMatchingTarget(t,e){return P.resolve(null)}getIndexType(t,e){return P.resolve(0)}getFieldIndexes(t,e){return P.resolve([])}getNextCollectionGroupToUpdate(t){return P.resolve(null)}getMinOffset(t,e){return P.resolve(ve.min())}getMinOffsetFromCollectionGroup(t,e){return P.resolve(ve.min())}updateCollectionGroup(t,e,r){return P.resolve()}updateIndexEntries(t,e){return P.resolve()}},zi=class{constructor(){this.index={}}add(t){let e=t.lastSegment(),r=t.popLast(),i=this.index[e]||new it(W.comparator),o=!i.has(r);return this.index[e]=i.add(r),o}has(t){let e=t.lastSegment(),r=t.popLast(),i=this.index[e];return i&&i.has(r)}getEntries(t){return(this.index[t]||new it(W.comparator)).toArray()}};var dm=new Uint8Array(0);var hc={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0},Vl=41943040,bt=class n{static withCacheSize(t){return new n(t,n.DEFAULT_COLLECTION_PERCENTILE,n.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(t,e,r){this.cacheSizeCollectionThreshold=t,this.percentileToCollect=e,this.maximumSequenceNumbersToCollect=r}};bt.DEFAULT_COLLECTION_PERCENTILE=10,bt.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,bt.DEFAULT=new bt(Vl,bt.DEFAULT_COLLECTION_PERCENTILE,bt.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),bt.DISABLED=new bt(-1,0,0);var Kn=class n{constructor(t){this.ar=t}next(){return this.ar+=2,this.ar}static ur(){return new n(0)}static cr(){return new n(-1)}};var dc="LruGarbageCollector",Cl=1048576;function fc([n,t],[e,r]){let i=q(n,e);return i===0?q(t,r):i}var Ki=class{constructor(t){this.Ir=t,this.buffer=new it(fc),this.Er=0}dr(){return++this.Er}Ar(t){let e=[t,this.dr()];if(this.buffer.size<this.Ir)this.buffer=this.buffer.add(e);else{let r=this.buffer.last();fc(e,r)<0&&(this.buffer=this.buffer.delete(r).add(e))}}get maxValue(){return this.buffer.last()[0]}},$i=class{constructor(t,e,r){this.garbageCollector=t,this.asyncQueue=e,this.localStore=r,this.Rr=null}start(){this.garbageCollector.params.cacheSizeCollectionThreshold!==-1&&this.Vr(6e4)}stop(){this.Rr&&(this.Rr.cancel(),this.Rr=null)}get started(){return this.Rr!==null}Vr(t){N(dc,`Garbage collection scheduled in ${t}ms`),this.Rr=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",t,(async()=>{this.Rr=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(e){an(e)?N(dc,"Ignoring IndexedDB error during garbage collection: ",e):await on(e)}await this.Vr(3e5)}))}},Qi=class{constructor(t,e){this.mr=t,this.params=e}calculateTargetCount(t,e){return this.mr.gr(t).next((r=>Math.floor(e/100*r)))}nthSequenceNumber(t,e){if(e===0)return P.resolve(We.ce);let r=new Ki(e);return this.mr.forEachTarget(t,(i=>r.Ar(i.sequenceNumber))).next((()=>this.mr.pr(t,(i=>r.Ar(i))))).next((()=>r.maxValue))}removeTargets(t,e,r){return this.mr.removeTargets(t,e,r)}removeOrphanedDocuments(t,e){return this.mr.removeOrphanedDocuments(t,e)}collect(t,e){return this.params.cacheSizeCollectionThreshold===-1?(N("LruGarbageCollector","Garbage collection skipped; disabled"),P.resolve(hc)):this.getCacheSize(t).next((r=>r<this.params.cacheSizeCollectionThreshold?(N("LruGarbageCollector",`Garbage collection skipped; Cache size ${r} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),hc):this.yr(t,e)))}getCacheSize(t){return this.mr.getCacheSize(t)}yr(t,e){let r,i,o,u,l,h,f,m=Date.now();return this.calculateTargetCount(t,this.params.percentileToCollect).next((T=>(T>this.params.maximumSequenceNumbersToCollect?(N("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${T}`),i=this.params.maximumSequenceNumbersToCollect):i=T,u=Date.now(),this.nthSequenceNumber(t,i)))).next((T=>(r=T,l=Date.now(),this.removeTargets(t,r,e)))).next((T=>(o=T,h=Date.now(),this.removeOrphanedDocuments(t,r)))).next((T=>(f=Date.now(),qe()<=Mt.DEBUG&&N("LruGarbageCollector",`LRU Garbage Collection
|
|
13
13
|
Counted targets in ${u-m}ms
|
|
14
14
|
Determined least recently used ${i} in `+(l-u)+`ms
|
|
15
15
|
Removed ${o} targets in `+(h-l)+`ms
|
|
16
16
|
Removed ${T} documents in `+(f-h)+`ms
|
|
17
|
-
Total Duration: ${f-m}ms`),P.resolve({didRun:!0,sequenceNumbersCollected:i,targetsRemoved:o,documentsRemoved:T}))))}};function Ud(n,t){return new $i(n,t)}var Qi=class{constructor(){this.changes=new Ht((t=>t.toString()),((t,e)=>t.isEqual(e))),this.changesApplied=!1}addEntry(t){this.assertNotApplied(),this.changes.set(t.key,t)}removeEntry(t,e){this.assertNotApplied(),this.changes.set(t,St.newInvalidDocument(t).setReadTime(e))}getEntry(t,e){this.assertNotApplied();let r=this.changes.get(e);return r!==void 0?P.resolve(r):this.getFromCache(t,e)}getEntries(t,e){return this.getAllFromCache(t,e)}apply(t){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(t)}assertNotApplied(){}};var Wi=class{constructor(t,e){this.overlayedDocument=t,this.mutatedFields=e}};var Hi=class{constructor(t,e,r,i){this.remoteDocumentCache=t,this.mutationQueue=e,this.documentOverlayCache=r,this.indexManager=i}getDocument(t,e){let r=null;return this.documentOverlayCache.getOverlay(t,e).next((i=>(r=i,this.remoteDocumentCache.getEntry(t,e)))).next((i=>(r!==null&&kn(r.mutation,i,Rt.empty(),rt.now()),i)))}getDocuments(t,e){return this.remoteDocumentCache.getEntries(t,e).next((r=>this.getLocalViewOfDocuments(t,r,U()).next((()=>r))))}getLocalViewOfDocuments(t,e,r=U()){let i=_e();return this.populateOverlays(t,i,e).next((()=>this.computeViews(t,e,i,r).next((o=>{let u=xn();return o.forEach(((l,h)=>{u=u.insert(l,h.overlayedDocument)})),u}))))}getOverlayedDocuments(t,e){let r=_e();return this.populateOverlays(t,r,e).next((()=>this.computeViews(t,e,r,U())))}populateOverlays(t,e,r){let i=[];return r.forEach((o=>{e.has(o)||i.push(o)})),this.documentOverlayCache.getOverlays(t,i).next((o=>{o.forEach(((u,l)=>{e.set(u,l)}))}))}computeViews(t,e,r,i){let o=Jt(),u=Nn(),l=(function(){return Nn()})();return e.forEach(((h,f)=>{let m=r.get(f.key);i.has(f.key)&&(m===void 0||m.mutation instanceof qt)?o=o.insert(f.key,f):m!==void 0?(u.set(f.key,m.mutation.getFieldMask()),kn(m.mutation,f,m.mutation.getFieldMask(),rt.now())):u.set(f.key,Rt.empty())})),this.recalculateAndSaveOverlays(t,o).next((h=>(h.forEach(((f,m)=>u.set(f,m))),e.forEach(((f,m)=>l.set(f,new Wi(m,u.get(f)??null)))),l)))}recalculateAndSaveOverlays(t,e){let r=Nn(),i=new Y(((u,l)=>u-l)),o=U();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(t,e).next((u=>{for(let l of u)l.keys().forEach((h=>{let f=e.get(h);if(f===null)return;let m=r.get(h)||Rt.empty();m=l.applyToLocalView(f,m),r.set(h,m);let T=(i.get(l.batchId)||U()).add(h);i=i.insert(l.batchId,T)}))})).next((()=>{let u=[],l=i.getReverseIterator();for(;l.hasNext();){let h=l.getNext(),f=h.key,m=h.value,T=al();m.forEach((A=>{if(!o.has(A)){let R=fl(e.get(A),r.get(A));R!==null&&T.set(A,R),o=o.add(A)}})),u.push(this.documentOverlayCache.saveOverlays(t,f,T))}return P.waitFor(u)})).next((()=>r))}recalculateAndSaveOverlaysForDocumentKeys(t,e){return this.remoteDocumentCache.getEntries(t,e).next((r=>this.recalculateAndSaveOverlays(t,r)))}getDocumentsMatchingQuery(t,e,r,i){return(function(u){return M.isDocumentKey(u.path)&&u.collectionGroup===null&&u.filters.length===0})(e)?this.getDocumentsMatchingDocumentQuery(t,e.path):ra(e)?this.getDocumentsMatchingCollectionGroupQuery(t,e,r,i):this.getDocumentsMatchingCollectionQuery(t,e,r,i)}getNextDocuments(t,e,r,i){return this.remoteDocumentCache.getAllFromCollectionGroup(t,e,r,i).next((o=>{let u=i-o.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(t,e,r.largestBatchId,i-o.size):P.resolve(_e()),l=Ln,h=o;return u.next((f=>P.forEach(f,((m,T)=>(l<T.largestBatchId&&(l=T.largestBatchId),o.get(m)?P.resolve():this.remoteDocumentCache.getEntry(t,m).next((A=>{h=h.insert(m,A)}))))).next((()=>this.populateOverlays(t,f,o))).next((()=>this.computeViews(t,h,f,U()))).next((m=>({batchId:l,changes:ol(m)})))))}))}getDocumentsMatchingDocumentQuery(t,e){return this.getDocument(t,new M(e)).next((r=>{let i=xn();return r.isFoundDocument()&&(i=i.insert(r.key,r)),i}))}getDocumentsMatchingCollectionGroupQuery(t,e,r,i){let o=e.collectionGroup,u=xn();return this.indexManager.getCollectionParents(t,o).next((l=>P.forEach(l,(h=>{let f=(function(T,A){return new Lt(A,null,T.explicitOrderBy.slice(),T.filters.slice(),T.limit,T.limitType,T.startAt,T.endAt)})(e,h.child(o));return this.getDocumentsMatchingCollectionQuery(t,f,r,i).next((m=>{m.forEach(((T,A)=>{u=u.insert(T,A)}))}))})).next((()=>u))))}getDocumentsMatchingCollectionQuery(t,e,r,i){let o;return this.documentOverlayCache.getOverlaysForCollection(t,e.path,r.largestBatchId).next((u=>(o=u,this.remoteDocumentCache.getDocumentsMatchingQuery(t,e,r,o,i)))).next((u=>{o.forEach(((h,f)=>{let m=f.getKey();u.get(m)===null&&(u=u.insert(m,St.newInvalidDocument(m)))}));let l=xn();return u.forEach(((h,f)=>{let m=o.get(h);m!==void 0&&kn(m.mutation,f,Rt.empty(),rt.now()),ps(e,f)&&(l=l.insert(h,f))})),l}))}};var Ji=class{constructor(t){this.serializer=t,this.Lr=new Map,this.kr=new Map}getBundleMetadata(t,e){return P.resolve(this.Lr.get(e))}saveBundleMetadata(t,e){return this.Lr.set(e.id,(function(i){return{id:i.id,version:i.version,createTime:At(i.createTime)}})(e)),P.resolve()}getNamedQuery(t,e){return P.resolve(this.kr.get(e))}saveNamedQuery(t,e){return this.kr.set(e.name,(function(i){return{name:i.name,query:qd(i.bundledQuery),readTime:At(i.readTime)}})(e)),P.resolve()}};var Xi=class{constructor(){this.overlays=new Y(M.comparator),this.qr=new Map}getOverlay(t,e){return P.resolve(this.overlays.get(e))}getOverlays(t,e){let r=_e();return P.forEach(e,(i=>this.getOverlay(t,i).next((o=>{o!==null&&r.set(i,o)})))).next((()=>r))}saveOverlays(t,e,r){return r.forEach(((i,o)=>{this.St(t,e,o)})),P.resolve()}removeOverlaysForBatchId(t,e,r){let i=this.qr.get(r);return i!==void 0&&(i.forEach((o=>this.overlays=this.overlays.remove(o))),this.qr.delete(r)),P.resolve()}getOverlaysForCollection(t,e,r){let i=_e(),o=e.length+1,u=new M(e.child("")),l=this.overlays.getIteratorFrom(u);for(;l.hasNext();){let h=l.getNext().value,f=h.getKey();if(!e.isPrefixOf(f.path))break;f.path.length===o&&h.largestBatchId>r&&i.set(h.getKey(),h)}return P.resolve(i)}getOverlaysForCollectionGroup(t,e,r,i){let o=new Y(((f,m)=>f-m)),u=this.overlays.getIterator();for(;u.hasNext();){let f=u.getNext().value;if(f.getKey().getCollectionGroup()===e&&f.largestBatchId>r){let m=o.get(f.largestBatchId);m===null&&(m=_e(),o=o.insert(f.largestBatchId,m)),m.set(f.getKey(),f)}}let l=_e(),h=o.getIterator();for(;h.hasNext()&&(h.getNext().value.forEach(((f,m)=>l.set(f,m))),!(l.size()>=i)););return P.resolve(l)}St(t,e,r){let i=this.overlays.get(r.key);if(i!==null){let u=this.qr.get(i.largestBatchId).delete(r.key);this.qr.set(i.largestBatchId,u)}this.overlays=this.overlays.insert(r.key,new Ni(e,r));let o=this.qr.get(e);o===void 0&&(o=U(),this.qr.set(e,o)),this.qr.set(e,o.add(r.key))}};var Yi=class{constructor(){this.sessionToken=gt.EMPTY_BYTE_STRING}getSessionToken(t){return P.resolve(this.sessionToken)}setSessionToken(t,e){return this.sessionToken=e,P.resolve()}};var Kn=class{constructor(){this.Qr=new it(tt.$r),this.Ur=new it(tt.Kr)}isEmpty(){return this.Qr.isEmpty()}addReference(t,e){let r=new tt(t,e);this.Qr=this.Qr.add(r),this.Ur=this.Ur.add(r)}Wr(t,e){t.forEach((r=>this.addReference(r,e)))}removeReference(t,e){this.Gr(new tt(t,e))}zr(t,e){t.forEach((r=>this.removeReference(r,e)))}jr(t){let e=new M(new W([])),r=new tt(e,t),i=new tt(e,t+1),o=[];return this.Ur.forEachInRange([r,i],(u=>{this.Gr(u),o.push(u.key)})),o}Jr(){this.Qr.forEach((t=>this.Gr(t)))}Gr(t){this.Qr=this.Qr.delete(t),this.Ur=this.Ur.delete(t)}Hr(t){let e=new M(new W([])),r=new tt(e,t),i=new tt(e,t+1),o=U();return this.Ur.forEachInRange([r,i],(u=>{o=o.add(u.key)})),o}containsKey(t){let e=new tt(t,0),r=this.Qr.firstAfterOrEqual(e);return r!==null&&t.isEqual(r.key)}},tt=class{constructor(t,e){this.key=t,this.Yr=e}static $r(t,e){return M.comparator(t.key,e.key)||q(t.Yr,e.Yr)}static Kr(t,e){return q(t.Yr,e.Yr)||M.comparator(t.key,e.key)}};var Zi=class{constructor(t,e){this.indexManager=t,this.referenceDelegate=e,this.mutationQueue=[],this.tr=1,this.Zr=new it(tt.$r)}checkEmpty(t){return P.resolve(this.mutationQueue.length===0)}addMutationBatch(t,e,r,i){let o=this.tr;this.tr++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];let u=new xi(o,e,r,i);this.mutationQueue.push(u);for(let l of i)this.Zr=this.Zr.add(new tt(l.key,o)),this.indexManager.addToCollectionParentIndex(t,l.key.path.popLast());return P.resolve(u)}lookupMutationBatch(t,e){return P.resolve(this.Xr(e))}getNextMutationBatchAfterBatchId(t,e){let r=e+1,i=this.ei(r),o=i<0?0:i;return P.resolve(this.mutationQueue.length>o?this.mutationQueue[o]:null)}getHighestUnacknowledgedBatchId(){return P.resolve(this.mutationQueue.length===0?Xo:this.tr-1)}getAllMutationBatches(t){return P.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(t,e){let r=new tt(e,0),i=new tt(e,Number.POSITIVE_INFINITY),o=[];return this.Zr.forEachInRange([r,i],(u=>{let l=this.Xr(u.Yr);o.push(l)})),P.resolve(o)}getAllMutationBatchesAffectingDocumentKeys(t,e){let r=new it(q);return e.forEach((i=>{let o=new tt(i,0),u=new tt(i,Number.POSITIVE_INFINITY);this.Zr.forEachInRange([o,u],(l=>{r=r.add(l.Yr)}))})),P.resolve(this.ti(r))}getAllMutationBatchesAffectingQuery(t,e){let r=e.path,i=r.length+1,o=r;M.isDocumentKey(o)||(o=o.child(""));let u=new tt(new M(o),0),l=new it(q);return this.Zr.forEachWhile((h=>{let f=h.key.path;return!!r.isPrefixOf(f)&&(f.length===i&&(l=l.add(h.Yr)),!0)}),u),P.resolve(this.ti(l))}ti(t){let e=[];return t.forEach((r=>{let i=this.Xr(r);i!==null&&e.push(i)})),e}removeMutationBatch(t,e){j(this.ni(e.batchId,"removed")===0,55003),this.mutationQueue.shift();let r=this.Zr;return P.forEach(e.mutations,(i=>{let o=new tt(i.key,e.batchId);return r=r.delete(o),this.referenceDelegate.markPotentiallyOrphaned(t,i.key)})).next((()=>{this.Zr=r}))}ir(t){}containsKey(t,e){let r=new tt(e,0),i=this.Zr.firstAfterOrEqual(r);return P.resolve(e.isEqual(i&&i.key))}performConsistencyCheck(t){return this.mutationQueue.length,P.resolve()}ni(t,e){return this.ei(t)}ei(t){return this.mutationQueue.length===0?0:t-this.mutationQueue[0].batchId}Xr(t){let e=this.ei(t);return e<0||e>=this.mutationQueue.length?null:this.mutationQueue[e]}};var to=class{constructor(t){this.ri=t,this.docs=(function(){return new Y(M.comparator)})(),this.size=0}setIndexManager(t){this.indexManager=t}addEntry(t,e){let r=e.key,i=this.docs.get(r),o=i?i.size:0,u=this.ri(e);return this.docs=this.docs.insert(r,{document:e.mutableCopy(),size:u}),this.size+=u-o,this.indexManager.addToCollectionParentIndex(t,r.path.popLast())}removeEntry(t){let e=this.docs.get(t);e&&(this.docs=this.docs.remove(t),this.size-=e.size)}getEntry(t,e){let r=this.docs.get(e);return P.resolve(r?r.document.mutableCopy():St.newInvalidDocument(e))}getEntries(t,e){let r=Jt();return e.forEach((i=>{let o=this.docs.get(i);r=r.insert(i,o?o.document.mutableCopy():St.newInvalidDocument(i))})),P.resolve(r)}getDocumentsMatchingQuery(t,e,r,i){let o=Jt(),u=e.path,l=new M(u.child("__id-9223372036854775808__")),h=this.docs.getIteratorFrom(l);for(;h.hasNext();){let{key:f,value:{document:m}}=h.getNext();if(!u.isPrefixOf(f.path))break;f.path.length>u.length+1||Uh(qh(m),r)<=0||(i.has(m.key)||ps(e,m))&&(o=o.insert(m.key,m.mutableCopy()))}return P.resolve(o)}getAllFromCollectionGroup(t,e,r,i){O(9500)}ii(t,e){return P.forEach(this.docs,(r=>e(r)))}newChangeBuffer(t){return new eo(this)}getSize(t){return P.resolve(this.size)}},eo=class extends Qi{constructor(t){super(),this.Nr=t}applyChanges(t){let e=[];return this.changes.forEach(((r,i)=>{i.isValidDocument()?e.push(this.Nr.addEntry(t,i)):this.Nr.removeEntry(r)})),P.waitFor(e)}getFromCache(t,e){return this.Nr.getEntry(t,e)}getAllFromCache(t,e){return this.Nr.getEntries(t,e)}};var no=class{constructor(t){this.persistence=t,this.si=new Ht((e=>ea(e)),na),this.lastRemoteSnapshotVersion=F.min(),this.highestTargetId=0,this.oi=0,this._i=new Kn,this.targetCount=0,this.ai=zn.ur()}forEachTarget(t,e){return this.si.forEach(((r,i)=>e(i))),P.resolve()}getLastRemoteSnapshotVersion(t){return P.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(t){return P.resolve(this.oi)}allocateTargetId(t){return this.highestTargetId=this.ai.next(),P.resolve(this.highestTargetId)}setTargetsMetadata(t,e,r){return r&&(this.lastRemoteSnapshotVersion=r),e>this.oi&&(this.oi=e),P.resolve()}Pr(t){this.si.set(t.target,t);let e=t.targetId;e>this.highestTargetId&&(this.ai=new zn(e),this.highestTargetId=e),t.sequenceNumber>this.oi&&(this.oi=t.sequenceNumber)}addTargetData(t,e){return this.Pr(e),this.targetCount+=1,P.resolve()}updateTargetData(t,e){return this.Pr(e),P.resolve()}removeTargetData(t,e){return this.si.delete(e.target),this._i.jr(e.targetId),this.targetCount-=1,P.resolve()}removeTargets(t,e,r){let i=0,o=[];return this.si.forEach(((u,l)=>{l.sequenceNumber<=e&&r.get(l.targetId)===null&&(this.si.delete(u),o.push(this.removeMatchingKeysForTargetId(t,l.targetId)),i++)})),P.waitFor(o).next((()=>i))}getTargetCount(t){return P.resolve(this.targetCount)}getTargetData(t,e){let r=this.si.get(e)||null;return P.resolve(r)}addMatchingKeys(t,e,r){return this._i.Wr(e,r),P.resolve()}removeMatchingKeys(t,e,r){this._i.zr(e,r);let i=this.persistence.referenceDelegate,o=[];return i&&e.forEach((u=>{o.push(i.markPotentiallyOrphaned(t,u))})),P.waitFor(o)}removeMatchingKeysForTargetId(t,e){return this._i.jr(e),P.resolve()}getMatchingKeysForTargetId(t,e){let r=this._i.Hr(e);return P.resolve(r)}containsKey(t,e){return P.resolve(this._i.containsKey(e))}};var $r=class{constructor(t,e){this.ui={},this.overlays={},this.ci=new Qe(0),this.li=!1,this.li=!0,this.hi=new Yi,this.referenceDelegate=t(this),this.Pi=new no(this),this.indexManager=new ji,this.remoteDocumentCache=(function(i){return new to(i)})((r=>this.referenceDelegate.Ti(r))),this.serializer=new Bi(e),this.Ii=new Ji(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.li=!1,Promise.resolve()}get started(){return this.li}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(t){return this.indexManager}getDocumentOverlayCache(t){let e=this.overlays[t.toKey()];return e||(e=new Xi,this.overlays[t.toKey()]=e),e}getMutationQueue(t,e){let r=this.ui[t.toKey()];return r||(r=new Zi(e,this.referenceDelegate),this.ui[t.toKey()]=r),r}getGlobalsCache(){return this.hi}getTargetCache(){return this.Pi}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Ii}runTransaction(t,e,r){N("MemoryPersistence","Starting transaction:",t);let i=new ro(this.ci.next());return this.referenceDelegate.Ei(),r(i).next((o=>this.referenceDelegate.di(i).next((()=>o)))).toPromise().then((o=>(i.raiseOnCommittedEvent(),o)))}Ai(t,e){return P.or(Object.values(this.ui).map((r=>()=>r.containsKey(t,e))))}},ro=class extends gi{constructor(t){super(),this.currentSequenceNumber=t}},so=class n{constructor(t){this.persistence=t,this.Ri=new Kn,this.Vi=null}static mi(t){return new n(t)}get fi(){if(this.Vi)return this.Vi;throw O(60996)}addReference(t,e,r){return this.Ri.addReference(r,e),this.fi.delete(r.toString()),P.resolve()}removeReference(t,e,r){return this.Ri.removeReference(r,e),this.fi.add(r.toString()),P.resolve()}markPotentiallyOrphaned(t,e){return this.fi.add(e.toString()),P.resolve()}removeTarget(t,e){this.Ri.jr(e.targetId).forEach((i=>this.fi.add(i.toString())));let r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(t,e.targetId).next((i=>{i.forEach((o=>this.fi.add(o.toString())))})).next((()=>r.removeTargetData(t,e)))}Ei(){this.Vi=new Set}di(t){let e=this.persistence.getRemoteDocumentCache().newChangeBuffer();return P.forEach(this.fi,(r=>{let i=M.fromPath(r);return this.gi(t,i).next((o=>{o||e.removeEntry(i,F.min())}))})).next((()=>(this.Vi=null,e.apply(t))))}updateLimboDocument(t,e){return this.gi(t,e).next((r=>{r?this.fi.delete(e.toString()):this.fi.add(e.toString())}))}Ti(t){return 0}gi(t,e){return P.or([()=>P.resolve(this.Ri.containsKey(e)),()=>this.persistence.getTargetCache().containsKey(t,e),()=>this.persistence.Ai(t,e)])}},Qr=class n{constructor(t,e){this.persistence=t,this.pi=new Ht((r=>zh(r.path)),((r,i)=>r.isEqual(i))),this.garbageCollector=Ud(this,e)}static mi(t,e){return new n(t,e)}Ei(){}di(t){return P.resolve()}forEachTarget(t,e){return this.persistence.getTargetCache().forEachTarget(t,e)}gr(t){let e=this.wr(t);return this.persistence.getTargetCache().getTargetCount(t).next((r=>e.next((i=>r+i))))}wr(t){let e=0;return this.pr(t,(r=>{e++})).next((()=>e))}pr(t,e){return P.forEach(this.pi,((r,i)=>this.br(t,r,i).next((o=>o?P.resolve():e(i)))))}removeTargets(t,e,r){return this.persistence.getTargetCache().removeTargets(t,e,r)}removeOrphanedDocuments(t,e){let r=0,i=this.persistence.getRemoteDocumentCache(),o=i.newChangeBuffer();return i.ii(t,(u=>this.br(t,u,e).next((l=>{l||(r++,o.removeEntry(u,F.min()))})))).next((()=>o.apply(t))).next((()=>r))}markPotentiallyOrphaned(t,e){return this.pi.set(e,t.currentSequenceNumber),P.resolve()}removeTarget(t,e){let r=e.withSequenceNumber(t.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(t,r)}addReference(t,e,r){return this.pi.set(r,t.currentSequenceNumber),P.resolve()}removeReference(t,e,r){return this.pi.set(r,t.currentSequenceNumber),P.resolve()}updateLimboDocument(t,e){return this.pi.set(e,t.currentSequenceNumber),P.resolve()}Ti(t){let e=t.key.toString().length;return t.isFoundDocument()&&(e+=Sr(t.data.value)),e}br(t,e,r){return P.or([()=>this.persistence.Ai(t,e),()=>this.persistence.getTargetCache().containsKey(t,e),()=>{let i=this.pi.get(e);return P.resolve(i!==void 0&&i>r)}])}getCacheSize(t){return this.persistence.getRemoteDocumentCache().getSize(t)}};var io=class n{constructor(t,e,r,i){this.targetId=t,this.fromCache=e,this.Es=r,this.ds=i}static As(t,e){let r=U(),i=U();for(let o of e.docChanges)switch(o.type){case 0:r=r.add(o.doc.key);break;case 1:i=i.add(o.doc.key)}return new n(t,e.fromCache,r,i)}};var oo=class{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(t){this._documentReadCount+=t}};var ao=class{constructor(){this.Rs=!1,this.Vs=!1,this.fs=100,this.gs=(function(){return Ru()?8:jh(bu())>0?6:4})()}initialize(t,e){this.ps=t,this.indexManager=e,this.Rs=!0}getDocumentsMatchingQuery(t,e,r,i){let o={result:null};return this.ys(t,e).next((u=>{o.result=u})).next((()=>{if(!o.result)return this.ws(t,e,i,r).next((u=>{o.result=u}))})).next((()=>{if(o.result)return;let u=new oo;return this.Ss(t,e,u).next((l=>{if(o.result=l,this.Vs)return this.bs(t,e,u,l.size)}))})).next((()=>o.result))}bs(t,e,r,i){return r.documentReadCount<this.fs?(Le()<=kt.DEBUG&&N("QueryEngine","SDK will not create cache indexes for query:",qe(e),"since it only creates cache indexes for collection contains","more than or equal to",this.fs,"documents"),P.resolve()):(Le()<=kt.DEBUG&&N("QueryEngine","Query:",qe(e),"scans",r.documentReadCount,"local documents and returns",i,"documents as results."),r.documentReadCount>this.gs*i?(Le()<=kt.DEBUG&&N("QueryEngine","The SDK decides to create cache indexes for query:",qe(e),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(t,Ot(e))):P.resolve())}ys(t,e){if(Yu(e))return P.resolve(null);let r=Ot(e);return this.indexManager.getIndexType(t,r).next((i=>i===0?null:(e.limit!==null&&i===1&&(e=Or(e,null,"F"),r=Ot(e)),this.indexManager.getDocumentsMatchingTarget(t,r).next((o=>{let u=U(...o);return this.ps.getDocuments(t,u).next((l=>this.indexManager.getMinOffset(t,r).next((h=>{let f=this.Ds(e,l);return this.Cs(e,f,u,h.readTime)?this.ys(t,Or(e,null,"F")):this.vs(t,f,e,h)}))))})))))}ws(t,e,r,i){return Yu(e)||i.isEqual(F.min())?P.resolve(null):this.ps.getDocuments(t,r).next((o=>{let u=this.Ds(e,o);return this.Cs(e,u,r,i)?P.resolve(null):(Le()<=kt.DEBUG&&N("QueryEngine","Re-using previous result from %s to execute query: %s",i.toString(),qe(e)),this.vs(t,u,e,Lh(i,Ln)).next((l=>l)))}))}Ds(t,e){let r=new it(sl(t));return e.forEach(((i,o)=>{ps(t,o)&&(r=r.add(o))})),r}Cs(t,e,r,i){if(t.limit===null)return!1;if(r.size!==e.size)return!0;let o=t.limitType==="F"?e.last():e.first();return!!o&&(o.hasPendingWrites||o.version.compareTo(i)>0)}Ss(t,e,r){return Le()<=kt.DEBUG&&N("QueryEngine","Using full collection scan to execute query:",qe(e)),this.ps.getDocumentsMatchingQuery(t,e,Ee.min(),r)}vs(t,e,r,i){return this.ps.getDocumentsMatchingQuery(t,r,i).next((o=>(e.forEach((u=>{o=o.insert(u.key,u)})),o)))}};var oa="LocalStore",Bd=3e8,uo=class{constructor(t,e,r,i){this.persistence=t,this.Fs=e,this.serializer=i,this.Ms=new Y(q),this.xs=new Ht((o=>ea(o)),na),this.Os=new Map,this.Ns=t.getRemoteDocumentCache(),this.Pi=t.getTargetCache(),this.Ii=t.getBundleCache(),this.Bs(r)}Bs(t){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(t),this.indexManager=this.persistence.getIndexManager(t),this.mutationQueue=this.persistence.getMutationQueue(t,this.indexManager),this.localDocuments=new Hi(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 jd(n,t,e,r){return new uo(n,t,e,r)}async function Rl(n,t){let e=L(n);return await e.persistence.runTransaction("Handle user change","readonly",(r=>{let i;return e.mutationQueue.getAllMutationBatches(r).next((o=>(i=o,e.Bs(t),e.mutationQueue.getAllMutationBatches(r)))).next((o=>{let u=[],l=[],h=U();for(let f of i){u.push(f.batchId);for(let m of f.mutations)h=h.add(m.key)}for(let f of o){l.push(f.batchId);for(let m of f.mutations)h=h.add(m.key)}return e.localDocuments.getDocuments(r,h).next((f=>({Ls:f,removedBatchIds:u,addedBatchIds:l})))}))}))}function Gd(n,t){let e=L(n);return e.persistence.runTransaction("Acknowledge batch","readwrite-primary",(r=>{let i=t.batch.keys(),o=e.Ns.newChangeBuffer({trackRemovals:!0});return(function(l,h,f,m){let T=f.batch,A=T.keys(),R=P.resolve();return A.forEach((D=>{R=R.next((()=>m.getEntry(h,D))).next((k=>{let C=f.docVersions.get(D);j(C!==null,48541),k.version.compareTo(C)<0&&(T.applyToRemoteDocument(k,f),k.isValidDocument()&&(k.setReadTime(f.commitVersion),m.addEntry(k)))}))})),R.next((()=>l.mutationQueue.removeMutationBatch(h,T)))})(e,r,t,o).next((()=>o.apply(r))).next((()=>e.mutationQueue.performConsistencyCheck(r))).next((()=>e.documentOverlayCache.removeOverlaysForBatchId(r,i,t.batch.batchId))).next((()=>e.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(r,(function(l){let h=U();for(let f=0;f<l.mutationResults.length;++f)l.mutationResults[f].transformResults.length>0&&(h=h.add(l.batch.mutations[f].key));return h})(t)))).next((()=>e.localDocuments.getDocuments(r,i)))}))}function Pl(n){let t=L(n);return t.persistence.runTransaction("Get last remote snapshot version","readonly",(e=>t.Pi.getLastRemoteSnapshotVersion(e)))}function zd(n,t){let e=L(n),r=t.snapshotVersion,i=e.Ms;return e.persistence.runTransaction("Apply remote event","readwrite-primary",(o=>{let u=e.Ns.newChangeBuffer({trackRemovals:!0});i=e.Ms;let l=[];t.targetChanges.forEach(((m,T)=>{let A=i.get(T);if(!A)return;l.push(e.Pi.removeMatchingKeys(o,m.removedDocuments,T).next((()=>e.Pi.addMatchingKeys(o,m.addedDocuments,T))));let R=A.withSequenceNumber(o.currentSequenceNumber);t.targetMismatches.get(T)!==null?R=R.withResumeToken(gt.EMPTY_BYTE_STRING,F.min()).withLastLimboFreeSnapshotVersion(F.min()):m.resumeToken.approximateByteSize()>0&&(R=R.withResumeToken(m.resumeToken,r)),i=i.insert(T,R),(function(k,C,G){return k.resumeToken.approximateByteSize()===0||C.snapshotVersion.toMicroseconds()-k.snapshotVersion.toMicroseconds()>=Bd?!0:G.addedDocuments.size+G.modifiedDocuments.size+G.removedDocuments.size>0})(A,R,m)&&l.push(e.Pi.updateTargetData(o,R))}));let h=Jt(),f=U();if(t.documentUpdates.forEach((m=>{t.resolvedLimboDocuments.has(m)&&l.push(e.persistence.referenceDelegate.updateLimboDocument(o,m))})),l.push(Kd(o,u,t.documentUpdates).next((m=>{h=m.ks,f=m.qs}))),!r.isEqual(F.min())){let m=e.Pi.getLastRemoteSnapshotVersion(o).next((T=>e.Pi.setTargetsMetadata(o,o.currentSequenceNumber,r)));l.push(m)}return P.waitFor(l).next((()=>u.apply(o))).next((()=>e.localDocuments.getLocalViewOfDocuments(o,h,f))).next((()=>h))})).then((o=>(e.Ms=i,o)))}function Kd(n,t,e){let r=U(),i=U();return e.forEach((o=>r=r.add(o))),t.getEntries(n,r).next((o=>{let u=Jt();return e.forEach(((l,h)=>{let f=o.get(l);h.isFoundDocument()!==f.isFoundDocument()&&(i=i.add(l)),h.isNoDocument()&&h.version.isEqual(F.min())?(t.removeEntry(l,h.readTime),u=u.insert(l,h)):!f.isValidDocument()||h.version.compareTo(f.version)>0||h.version.compareTo(f.version)===0&&f.hasPendingWrites?(t.addEntry(h),u=u.insert(l,h)):N(oa,"Ignoring outdated watch update for ",l,". Current version:",f.version," Watch version:",h.version)})),{ks:u,qs:i}}))}function $d(n,t){let e=L(n);return e.persistence.runTransaction("Get next mutation batch","readonly",(r=>(t===void 0&&(t=Xo),e.mutationQueue.getNextMutationBatchAfterBatchId(r,t))))}function Qd(n,t){let e=L(n);return e.persistence.runTransaction("Allocate target","readwrite",(r=>{let i;return e.Pi.getTargetData(r,t).next((o=>o?(i=o,P.resolve(i)):e.Pi.allocateTargetId(r).next((u=>(i=new Gn(t,u,"TargetPurposeListen",r.currentSequenceNumber),e.Pi.addTargetData(r,i).next((()=>i)))))))})).then((r=>{let i=e.Ms.get(r.targetId);return(i===null||r.snapshotVersion.compareTo(i.snapshotVersion)>0)&&(e.Ms=e.Ms.insert(r.targetId,r),e.xs.set(t,r.targetId)),r}))}async function co(n,t,e){let r=L(n),i=r.Ms.get(t),o=e?"readwrite":"readwrite-primary";try{e||await r.persistence.runTransaction("Release target",o,(u=>r.persistence.referenceDelegate.removeTarget(u,i)))}catch(u){if(!on(u))throw u;N(oa,`Failed to update sequence numbers for target ${t}: ${u}`)}r.Ms=r.Ms.remove(t),r.xs.delete(i.target)}function lc(n,t,e){let r=L(n),i=F.min(),o=U();return r.persistence.runTransaction("Execute query","readwrite",(u=>(function(h,f,m){let T=L(h),A=T.xs.get(m);return A!==void 0?P.resolve(T.Ms.get(A)):T.Pi.getTargetData(f,m)})(r,u,Ot(t)).next((l=>{if(l)return i=l.lastLimboFreeSnapshotVersion,r.Pi.getMatchingKeysForTargetId(u,l.targetId).next((h=>{o=h}))})).next((()=>r.Fs.getDocumentsMatchingQuery(u,t,e?i:F.min(),e?o:U()))).next((l=>(Wd(r,ad(t),l),{documents:l,Qs:o})))))}function Wd(n,t,e){let r=n.Os.get(t)||F.min();e.forEach(((i,o)=>{o.readTime.compareTo(r)>0&&(r=o.readTime)})),n.Os.set(t,r)}var Wr=class{constructor(){this.activeTargetIds=fd()}zs(t){this.activeTargetIds=this.activeTargetIds.add(t)}js(t){this.activeTargetIds=this.activeTargetIds.delete(t)}Gs(){let t={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(t)}};var lo=class{constructor(){this.Mo=new Wr,this.xo={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(t){}updateMutationState(t,e,r){}addLocalQueryTarget(t,e=!0){return e&&this.Mo.zs(t),this.xo[t]||"not-current"}updateQueryState(t,e,r){this.xo[t]=e}removeLocalQueryTarget(t){this.Mo.js(t)}isLocalQueryTarget(t){return this.Mo.activeTargetIds.has(t)}clearQueryState(t){delete this.xo[t]}getAllActiveQueryTargets(){return this.Mo.activeTargetIds}isActiveQueryTarget(t){return this.Mo.activeTargetIds.has(t)}start(){return this.Mo=new Wr,Promise.resolve()}handleUserChange(t,e,r){}setOnlineState(t){}shutdown(){}writeSequenceNumber(t){}notifyBundleLoaded(t){}};var ho=class{Oo(t){}shutdown(){}};var hc="ConnectivityMonitor",Hr=class{constructor(){this.No=()=>this.Bo(),this.Lo=()=>this.ko(),this.qo=[],this.Qo()}Oo(t){this.qo.push(t)}shutdown(){window.removeEventListener("online",this.No),window.removeEventListener("offline",this.Lo)}Qo(){window.addEventListener("online",this.No),window.addEventListener("offline",this.Lo)}Bo(){N(hc,"Network connectivity changed: AVAILABLE");for(let t of this.qo)t(0)}ko(){N(hc,"Network connectivity changed: UNAVAILABLE");for(let t of this.qo)t(1)}static v(){return typeof window<"u"&&window.addEventListener!==void 0&&window.removeEventListener!==void 0}};var Ar=null;function fo(){return Ar===null?Ar=(function(){return 268435456+Math.round(2147483648*Math.random())})():Ar++,"0x"+Ar.toString(16)}var ri="RestConnection",Hd={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery"},mo=class{get $o(){return!1}constructor(t){this.databaseInfo=t,this.databaseId=t.databaseId;let e=t.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),i=encodeURIComponent(this.databaseId.database);this.Uo=e+"://"+t.host,this.Ko=`projects/${r}/databases/${i}`,this.Wo=this.databaseId.database===Dr?`project_id=${r}`:`project_id=${r}&database_id=${i}`}Go(t,e,r,i,o){let u=fo(),l=this.zo(t,e.toUriEncodedString());N(ri,`Sending RPC '${t}' ${u}:`,l,r);let h={"google-cloud-resource-prefix":this.Ko,"x-goog-request-params":this.Wo};this.jo(h,i,o);let{host:f}=new URL(l),m=Qs(f);return this.Jo(t,l,h,r,m).then((T=>(N(ri,`Received RPC '${t}' ${u}: `,T),T)),(T=>{throw On(ri,`RPC '${t}' ${u} failed with error: `,T,"url: ",l,"request:",r),T}))}Ho(t,e,r,i,o,u){return this.Go(t,e,r,i,o)}jo(t,e,r){t["X-Goog-Api-Client"]=(function(){return"gl-js/ fire/"+rn})(),t["Content-Type"]="text/plain",this.databaseInfo.appId&&(t["X-Firebase-GMPID"]=this.databaseInfo.appId),e&&e.headers.forEach(((i,o)=>t[o]=i)),r&&r.headers.forEach(((i,o)=>t[o]=i))}zo(t,e){let r=Hd[t];return`${this.Uo}/v1/${e}:${r}`}terminate(){}};var go=class{constructor(t){this.Yo=t.Yo,this.Zo=t.Zo}Xo(t){this.e_=t}t_(t){this.n_=t}r_(t){this.i_=t}onMessage(t){this.s_=t}close(){this.Zo()}send(t){this.Yo(t)}o_(){this.e_()}__(){this.n_()}a_(t){this.i_(t)}u_(t){this.s_(t)}};var ft="WebChannelConnection",po=class extends mo{constructor(t){super(t),this.c_=[],this.forceLongPolling=t.forceLongPolling,this.autoDetectLongPolling=t.autoDetectLongPolling,this.useFetchStreams=t.useFetchStreams,this.longPollingOptions=t.longPollingOptions}Jo(t,e,r,i,o){let u=fo();return new Promise(((l,h)=>{let f=new Xs;f.setWithCredentials(!0),f.listenOnce(Ys.COMPLETE,(()=>{try{switch(f.getLastErrorCode()){case Cn.NO_ERROR:let T=f.getResponseJson();N(ft,`XHR for RPC '${t}' ${u} received:`,JSON.stringify(T)),l(T);break;case Cn.TIMEOUT:N(ft,`RPC '${t}' ${u} timed out`),h(new V(b.DEADLINE_EXCEEDED,"Request time out"));break;case Cn.HTTP_ERROR:let A=f.getStatus();if(N(ft,`RPC '${t}' ${u} failed with status:`,A,"response text:",f.getResponseText()),A>0){let R=f.getResponseJson();Array.isArray(R)&&(R=R[0]);let D=R?.error;if(D&&D.status&&D.message){let k=(function(G){let K=G.toLowerCase().replace(/_/g,"-");return Object.values(b).indexOf(K)>=0?K:b.UNKNOWN})(D.status);h(new V(k,D.message))}else h(new V(b.UNKNOWN,"Server responded with status "+f.getStatus()))}else h(new V(b.UNAVAILABLE,"Connection failed."));break;default:O(9055,{l_:t,streamId:u,h_:f.getLastErrorCode(),P_:f.getLastError()})}}finally{N(ft,`RPC '${t}' ${u} completed.`)}}));let m=JSON.stringify(i);N(ft,`RPC '${t}' ${u} sending request:`,i),f.send(e,"POST",m,r,15)}))}T_(t,e,r){let i=fo(),o=[this.Uo,"/","google.firestore.v1.Firestore","/",t,"/channel"],u=ei(),l=ti(),h={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},f=this.longPollingOptions.timeoutSeconds;f!==void 0&&(h.longPollingTimeout=Math.round(1e3*f)),this.useFetchStreams&&(h.useFetchStreams=!0),this.jo(h.initMessageHeaders,e,r),h.encodeInitMessageHeaders=!0;let m=o.join("");N(ft,`Creating RPC '${t}' stream ${i}: ${m}`,h);let T=u.createWebChannel(m,h);this.I_(T);let A=!1,R=!1,D=new go({Yo:C=>{R?N(ft,`Not sending because RPC '${t}' stream ${i} is closed:`,C):(A||(N(ft,`Opening RPC '${t}' stream ${i} transport.`),T.open(),A=!0),N(ft,`RPC '${t}' stream ${i} sending:`,C),T.send(C))},Zo:()=>T.close()}),k=(C,G,K)=>{C.listen(G,($=>{try{K($)}catch(pt){setTimeout((()=>{throw pt}),0)}}))};return k(T,Fe.EventType.OPEN,(()=>{R||(N(ft,`RPC '${t}' stream ${i} transport opened.`),D.o_())})),k(T,Fe.EventType.CLOSE,(()=>{R||(R=!0,N(ft,`RPC '${t}' stream ${i} transport closed`),D.a_(),this.E_(T))})),k(T,Fe.EventType.ERROR,(C=>{R||(R=!0,On(ft,`RPC '${t}' stream ${i} transport errored. Name:`,C.name,"Message:",C.message),D.a_(new V(b.UNAVAILABLE,"The operation could not be completed")))})),k(T,Fe.EventType.MESSAGE,(C=>{if(!R){let G=C.data[0];j(!!G,16349);let K=G,$=K?.error||K[0]?.error;if($){N(ft,`RPC '${t}' stream ${i} received error:`,$);let pt=$.status,Nt=(function(g){let y=Z[g];if(y!==void 0)return pl(y)})(pt),ut=$.message;Nt===void 0&&(Nt=b.INTERNAL,ut="Unknown error status: "+pt+" with message "+$.message),R=!0,D.a_(new V(Nt,ut)),T.close()}else N(ft,`RPC '${t}' stream ${i} received:`,G),D.u_(G)}})),k(l,Zs.STAT_EVENT,(C=>{C.stat===Ir.PROXY?N(ft,`RPC '${t}' stream ${i} detected buffering proxy`):C.stat===Ir.NOPROXY&&N(ft,`RPC '${t}' stream ${i} detected no buffering proxy`)})),setTimeout((()=>{D.__()}),0),D}terminate(){this.c_.forEach((t=>t.close())),this.c_=[]}I_(t){this.c_.push(t)}E_(t){this.c_=this.c_.filter((e=>e===t))}};function si(){return typeof document<"u"?document:null}function ys(n){return new Fi(n,!0)}var $n=class{constructor(t,e,r=1e3,i=1.5,o=6e4){this.Mi=t,this.timerId=e,this.d_=r,this.A_=i,this.R_=o,this.V_=0,this.m_=null,this.f_=Date.now(),this.reset()}reset(){this.V_=0}g_(){this.V_=this.R_}p_(t){this.cancel();let e=Math.floor(this.V_+this.y_()),r=Math.max(0,Date.now()-this.f_),i=Math.max(0,e-r);i>0&&N("ExponentialBackoff",`Backing off for ${i} ms (base delay: ${this.V_} ms, delay with jitter: ${e} ms, last attempt: ${r} ms ago)`),this.m_=this.Mi.enqueueAfterDelay(this.timerId,i,(()=>(this.f_=Date.now(),t()))),this.V_*=this.A_,this.V_<this.d_&&(this.V_=this.d_),this.V_>this.R_&&(this.V_=this.R_)}w_(){this.m_!==null&&(this.m_.skipDelay(),this.m_=null)}cancel(){this.m_!==null&&(this.m_.cancel(),this.m_=null)}y_(){return(Math.random()-.5)*this.V_}};var dc="PersistentStream",Jr=class{constructor(t,e,r,i,o,u,l,h){this.Mi=t,this.S_=r,this.b_=i,this.connection=o,this.authCredentialsProvider=u,this.appCheckCredentialsProvider=l,this.listener=h,this.state=0,this.D_=0,this.C_=null,this.v_=null,this.stream=null,this.F_=0,this.M_=new $n(t,e)}x_(){return this.state===1||this.state===5||this.O_()}O_(){return this.state===2||this.state===3}start(){this.F_=0,this.state!==4?this.auth():this.N_()}async stop(){this.x_()&&await this.close(0)}B_(){this.state=0,this.M_.reset()}L_(){this.O_()&&this.C_===null&&(this.C_=this.Mi.enqueueAfterDelay(this.S_,6e4,(()=>this.k_())))}q_(t){this.Q_(),this.stream.send(t)}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(t,e){this.Q_(),this.U_(),this.M_.cancel(),this.D_++,t!==4?this.M_.reset():e&&e.code===b.RESOURCE_EXHAUSTED?($t(e.toString()),$t("Using maximum backoff delay to prevent overloading the backend."),this.M_.g_()):e&&e.code===b.UNAUTHENTICATED&&this.state!==3&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),this.stream!==null&&(this.K_(),this.stream.close(),this.stream=null),this.state=t,await this.listener.r_(e)}K_(){}auth(){this.state=1;let t=this.W_(this.D_),e=this.D_;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then((([r,i])=>{this.D_===e&&this.G_(r,i)}),(r=>{t((()=>{let i=new V(b.UNKNOWN,"Fetching auth token failed: "+r.message);return this.z_(i)}))}))}G_(t,e){let r=this.W_(this.D_);this.stream=this.j_(t,e),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_((i=>{r((()=>this.z_(i)))})),this.stream.onMessage((i=>{r((()=>++this.F_==1?this.J_(i):this.onNext(i)))}))}N_(){this.state=5,this.M_.p_((async()=>{this.state=0,this.start()}))}z_(t){return N(dc,`close with error: ${t}`),this.stream=null,this.close(4,t)}W_(t){return e=>{this.Mi.enqueueAndForget((()=>this.D_===t?e():(N(dc,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve())))}}},yo=class extends Jr{constructor(t,e,r,i,o,u){super(t,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",e,r,i,u),this.serializer=o}j_(t,e){return this.connection.T_("Listen",t,e)}J_(t){return this.onNext(t)}onNext(t){this.M_.reset();let e=Vd(this.serializer,t),r=(function(o){if(!("targetChange"in o))return F.min();let u=o.targetChange;return u.targetIds&&u.targetIds.length?F.min():u.readTime?At(u.readTime):F.min()})(t);return this.listener.H_(e,r)}Y_(t){let e={};e.database=Ui(this.serializer),e.addTarget=(function(o,u){let l,h=u.target;if(l=Pi(h)?{documents:xd(o,h)}:{query:Dd(o,h).ft},l.targetId=u.targetId,u.resumeToken.approximateByteSize()>0){l.resumeToken=yl(o,u.resumeToken);let f=Li(o,u.expectedCount);f!==null&&(l.expectedCount=f)}else if(u.snapshotVersion.compareTo(F.min())>0){l.readTime=Gr(o,u.snapshotVersion.toTimestamp());let f=Li(o,u.expectedCount);f!==null&&(l.expectedCount=f)}return l})(this.serializer,t);let r=kd(this.serializer,t);r&&(e.labels=r),this.q_(e)}Z_(t){let e={};e.database=Ui(this.serializer),e.removeTarget=t,this.q_(e)}},_o=class extends Jr{constructor(t,e,r,i,o,u){super(t,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",e,r,i,u),this.serializer=o}get X_(){return this.F_>0}start(){this.lastStreamToken=void 0,super.start()}K_(){this.X_&&this.ea([])}j_(t,e){return this.connection.T_("Write",t,e)}J_(t){return j(!!t.streamToken,31322),this.lastStreamToken=t.streamToken,j(!t.writeResults||t.writeResults.length===0,55816),this.listener.ta()}onNext(t){j(!!t.streamToken,12678),this.lastStreamToken=t.streamToken,this.M_.reset();let e=Cd(t.writeResults,t.commitTime),r=At(t.commitTime);return this.listener.na(r,e)}ra(){let t={};t.database=Ui(this.serializer),this.q_(t)}ea(t){let e={streamToken:this.lastStreamToken,writes:t.map((r=>Il(this.serializer,r)))};this.q_(e)}};var wo=class{},To=class extends wo{constructor(t,e,r,i){super(),this.authCredentials=t,this.appCheckCredentials=e,this.connection=r,this.serializer=i,this.ia=!1}sa(){if(this.ia)throw new V(b.FAILED_PRECONDITION,"The client has already been terminated.")}Go(t,e,r,i){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([o,u])=>this.connection.Go(t,qi(e,r),i,o,u))).catch((o=>{throw o.name==="FirebaseError"?(o.code===b.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),o):new V(b.UNKNOWN,o.toString())}))}Ho(t,e,r,i,o){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([u,l])=>this.connection.Ho(t,qi(e,r),i,u,l,o))).catch((u=>{throw u.name==="FirebaseError"?(u.code===b.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),u):new V(b.UNKNOWN,u.toString())}))}terminate(){this.ia=!0,this.connection.terminate()}},Io=class{constructor(t,e){this.asyncQueue=t,this.onlineStateHandler=e,this.state="Unknown",this.oa=0,this._a=null,this.aa=!0}ua(){this.oa===0&&(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(t){this.state==="Online"?this.ca("Unknown"):(this.oa++,this.oa>=1&&(this.Pa(),this.la(`Connection failed 1 times. Most recent error: ${t.toString()}`),this.ca("Offline")))}set(t){this.Pa(),this.oa=0,t==="Online"&&(this.aa=!1),this.ca(t)}ca(t){t!==this.state&&(this.state=t,this.onlineStateHandler(t))}la(t){let e=`Could not reach Cloud Firestore backend. ${t}
|
|
18
|
-
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?(
|
|
17
|
+
Total Duration: ${f-m}ms`),P.resolve({didRun:!0,sequenceNumbersCollected:i,targetsRemoved:o,documentsRemoved:T}))))}};function Wd(n,t){return new Qi(n,t)}var Wi=class{constructor(){this.changes=new Jt((t=>t.toString()),((t,e)=>t.isEqual(e))),this.changesApplied=!1}addEntry(t){this.assertNotApplied(),this.changes.set(t.key,t)}removeEntry(t,e){this.assertNotApplied(),this.changes.set(t,St.newInvalidDocument(t).setReadTime(e))}getEntry(t,e){this.assertNotApplied();let r=this.changes.get(e);return r!==void 0?P.resolve(r):this.getFromCache(t,e)}getEntries(t,e){return this.getAllFromCache(t,e)}apply(t){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(t)}assertNotApplied(){}};var Hi=class{constructor(t,e){this.overlayedDocument=t,this.mutatedFields=e}};var Ji=class{constructor(t,e,r,i){this.remoteDocumentCache=t,this.mutationQueue=e,this.documentOverlayCache=r,this.indexManager=i}getDocument(t,e){let r=null;return this.documentOverlayCache.getOverlay(t,e).next((i=>(r=i,this.remoteDocumentCache.getEntry(t,e)))).next((i=>(r!==null&&Mn(r.mutation,i,Rt.empty(),rt.now()),i)))}getDocuments(t,e){return this.remoteDocumentCache.getEntries(t,e).next((r=>this.getLocalViewOfDocuments(t,r,U()).next((()=>r))))}getLocalViewOfDocuments(t,e,r=U()){let i=we();return this.populateOverlays(t,i,e).next((()=>this.computeViews(t,e,i,r).next((o=>{let u=Dn();return o.forEach(((l,h)=>{u=u.insert(l,h.overlayedDocument)})),u}))))}getOverlayedDocuments(t,e){let r=we();return this.populateOverlays(t,r,e).next((()=>this.computeViews(t,e,r,U())))}populateOverlays(t,e,r){let i=[];return r.forEach((o=>{e.has(o)||i.push(o)})),this.documentOverlayCache.getOverlays(t,i).next((o=>{o.forEach(((u,l)=>{e.set(u,l)}))}))}computeViews(t,e,r,i){let o=Xt(),u=kn(),l=(function(){return kn()})();return e.forEach(((h,f)=>{let m=r.get(f.key);i.has(f.key)&&(m===void 0||m.mutation instanceof Ut)?o=o.insert(f.key,f):m!==void 0?(u.set(f.key,m.mutation.getFieldMask()),Mn(m.mutation,f,m.mutation.getFieldMask(),rt.now())):u.set(f.key,Rt.empty())})),this.recalculateAndSaveOverlays(t,o).next((h=>(h.forEach(((f,m)=>u.set(f,m))),e.forEach(((f,m)=>l.set(f,new Hi(m,u.get(f)??null)))),l)))}recalculateAndSaveOverlays(t,e){let r=kn(),i=new Y(((u,l)=>u-l)),o=U();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(t,e).next((u=>{for(let l of u)l.keys().forEach((h=>{let f=e.get(h);if(f===null)return;let m=r.get(h)||Rt.empty();m=l.applyToLocalView(f,m),r.set(h,m);let T=(i.get(l.batchId)||U()).add(h);i=i.insert(l.batchId,T)}))})).next((()=>{let u=[],l=i.getReverseIterator();for(;l.hasNext();){let h=l.getNext(),f=h.key,m=h.value,T=hl();m.forEach((A=>{if(!o.has(A)){let R=yl(e.get(A),r.get(A));R!==null&&T.set(A,R),o=o.add(A)}})),u.push(this.documentOverlayCache.saveOverlays(t,f,T))}return P.waitFor(u)})).next((()=>r))}recalculateAndSaveOverlaysForDocumentKeys(t,e){return this.remoteDocumentCache.getEntries(t,e).next((r=>this.recalculateAndSaveOverlays(t,r)))}getDocumentsMatchingQuery(t,e,r,i){return(function(u){return M.isDocumentKey(u.path)&&u.collectionGroup===null&&u.filters.length===0})(e)?this.getDocumentsMatchingDocumentQuery(t,e.path):sa(e)?this.getDocumentsMatchingCollectionGroupQuery(t,e,r,i):this.getDocumentsMatchingCollectionQuery(t,e,r,i)}getNextDocuments(t,e,r,i){return this.remoteDocumentCache.getAllFromCollectionGroup(t,e,r,i).next((o=>{let u=i-o.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(t,e,r.largestBatchId,i-o.size):P.resolve(we()),l=qn,h=o;return u.next((f=>P.forEach(f,((m,T)=>(l<T.largestBatchId&&(l=T.largestBatchId),o.get(m)?P.resolve():this.remoteDocumentCache.getEntry(t,m).next((A=>{h=h.insert(m,A)}))))).next((()=>this.populateOverlays(t,f,o))).next((()=>this.computeViews(t,h,f,U()))).next((m=>({batchId:l,changes:ll(m)})))))}))}getDocumentsMatchingDocumentQuery(t,e){return this.getDocument(t,new M(e)).next((r=>{let i=Dn();return r.isFoundDocument()&&(i=i.insert(r.key,r)),i}))}getDocumentsMatchingCollectionGroupQuery(t,e,r,i){let o=e.collectionGroup,u=Dn();return this.indexManager.getCollectionParents(t,o).next((l=>P.forEach(l,(h=>{let f=(function(T,A){return new qt(A,null,T.explicitOrderBy.slice(),T.filters.slice(),T.limit,T.limitType,T.startAt,T.endAt)})(e,h.child(o));return this.getDocumentsMatchingCollectionQuery(t,f,r,i).next((m=>{m.forEach(((T,A)=>{u=u.insert(T,A)}))}))})).next((()=>u))))}getDocumentsMatchingCollectionQuery(t,e,r,i){let o;return this.documentOverlayCache.getOverlaysForCollection(t,e.path,r.largestBatchId).next((u=>(o=u,this.remoteDocumentCache.getDocumentsMatchingQuery(t,e,r,o,i)))).next((u=>{o.forEach(((h,f)=>{let m=f.getKey();u.get(m)===null&&(u=u.insert(m,St.newInvalidDocument(m)))}));let l=Dn();return u.forEach(((h,f)=>{let m=o.get(h);m!==void 0&&Mn(m.mutation,f,Rt.empty(),rt.now()),ys(e,f)&&(l=l.insert(h,f))})),l}))}};var Xi=class{constructor(t){this.serializer=t,this.Lr=new Map,this.kr=new Map}getBundleMetadata(t,e){return P.resolve(this.Lr.get(e))}saveBundleMetadata(t,e){return this.Lr.set(e.id,(function(i){return{id:i.id,version:i.version,createTime:At(i.createTime)}})(e)),P.resolve()}getNamedQuery(t,e){return P.resolve(this.kr.get(e))}saveNamedQuery(t,e){return this.kr.set(e.name,(function(i){return{name:i.name,query:Qd(i.bundledQuery),readTime:At(i.readTime)}})(e)),P.resolve()}};var Yi=class{constructor(){this.overlays=new Y(M.comparator),this.qr=new Map}getOverlay(t,e){return P.resolve(this.overlays.get(e))}getOverlays(t,e){let r=we();return P.forEach(e,(i=>this.getOverlay(t,i).next((o=>{o!==null&&r.set(i,o)})))).next((()=>r))}saveOverlays(t,e,r){return r.forEach(((i,o)=>{this.St(t,e,o)})),P.resolve()}removeOverlaysForBatchId(t,e,r){let i=this.qr.get(r);return i!==void 0&&(i.forEach((o=>this.overlays=this.overlays.remove(o))),this.qr.delete(r)),P.resolve()}getOverlaysForCollection(t,e,r){let i=we(),o=e.length+1,u=new M(e.child("")),l=this.overlays.getIteratorFrom(u);for(;l.hasNext();){let h=l.getNext().value,f=h.getKey();if(!e.isPrefixOf(f.path))break;f.path.length===o&&h.largestBatchId>r&&i.set(h.getKey(),h)}return P.resolve(i)}getOverlaysForCollectionGroup(t,e,r,i){let o=new Y(((f,m)=>f-m)),u=this.overlays.getIterator();for(;u.hasNext();){let f=u.getNext().value;if(f.getKey().getCollectionGroup()===e&&f.largestBatchId>r){let m=o.get(f.largestBatchId);m===null&&(m=we(),o=o.insert(f.largestBatchId,m)),m.set(f.getKey(),f)}}let l=we(),h=o.getIterator();for(;h.hasNext()&&(h.getNext().value.forEach(((f,m)=>l.set(f,m))),!(l.size()>=i)););return P.resolve(l)}St(t,e,r){let i=this.overlays.get(r.key);if(i!==null){let u=this.qr.get(i.largestBatchId).delete(r.key);this.qr.set(i.largestBatchId,u)}this.overlays=this.overlays.insert(r.key,new ki(e,r));let o=this.qr.get(e);o===void 0&&(o=U(),this.qr.set(e,o)),this.qr.set(e,o.add(r.key))}};var Zi=class{constructor(){this.sessionToken=gt.EMPTY_BYTE_STRING}getSessionToken(t){return P.resolve(this.sessionToken)}setSessionToken(t,e){return this.sessionToken=e,P.resolve()}};var $n=class{constructor(){this.Qr=new it(tt.$r),this.Ur=new it(tt.Kr)}isEmpty(){return this.Qr.isEmpty()}addReference(t,e){let r=new tt(t,e);this.Qr=this.Qr.add(r),this.Ur=this.Ur.add(r)}Wr(t,e){t.forEach((r=>this.addReference(r,e)))}removeReference(t,e){this.Gr(new tt(t,e))}zr(t,e){t.forEach((r=>this.removeReference(r,e)))}jr(t){let e=new M(new W([])),r=new tt(e,t),i=new tt(e,t+1),o=[];return this.Ur.forEachInRange([r,i],(u=>{this.Gr(u),o.push(u.key)})),o}Jr(){this.Qr.forEach((t=>this.Gr(t)))}Gr(t){this.Qr=this.Qr.delete(t),this.Ur=this.Ur.delete(t)}Hr(t){let e=new M(new W([])),r=new tt(e,t),i=new tt(e,t+1),o=U();return this.Ur.forEachInRange([r,i],(u=>{o=o.add(u.key)})),o}containsKey(t){let e=new tt(t,0),r=this.Qr.firstAfterOrEqual(e);return r!==null&&t.isEqual(r.key)}},tt=class{constructor(t,e){this.key=t,this.Yr=e}static $r(t,e){return M.comparator(t.key,e.key)||q(t.Yr,e.Yr)}static Kr(t,e){return q(t.Yr,e.Yr)||M.comparator(t.key,e.key)}};var to=class{constructor(t,e){this.indexManager=t,this.referenceDelegate=e,this.mutationQueue=[],this.tr=1,this.Zr=new it(tt.$r)}checkEmpty(t){return P.resolve(this.mutationQueue.length===0)}addMutationBatch(t,e,r,i){let o=this.tr;this.tr++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];let u=new Di(o,e,r,i);this.mutationQueue.push(u);for(let l of i)this.Zr=this.Zr.add(new tt(l.key,o)),this.indexManager.addToCollectionParentIndex(t,l.key.path.popLast());return P.resolve(u)}lookupMutationBatch(t,e){return P.resolve(this.Xr(e))}getNextMutationBatchAfterBatchId(t,e){let r=e+1,i=this.ei(r),o=i<0?0:i;return P.resolve(this.mutationQueue.length>o?this.mutationQueue[o]:null)}getHighestUnacknowledgedBatchId(){return P.resolve(this.mutationQueue.length===0?Yo:this.tr-1)}getAllMutationBatches(t){return P.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(t,e){let r=new tt(e,0),i=new tt(e,Number.POSITIVE_INFINITY),o=[];return this.Zr.forEachInRange([r,i],(u=>{let l=this.Xr(u.Yr);o.push(l)})),P.resolve(o)}getAllMutationBatchesAffectingDocumentKeys(t,e){let r=new it(q);return e.forEach((i=>{let o=new tt(i,0),u=new tt(i,Number.POSITIVE_INFINITY);this.Zr.forEachInRange([o,u],(l=>{r=r.add(l.Yr)}))})),P.resolve(this.ti(r))}getAllMutationBatchesAffectingQuery(t,e){let r=e.path,i=r.length+1,o=r;M.isDocumentKey(o)||(o=o.child(""));let u=new tt(new M(o),0),l=new it(q);return this.Zr.forEachWhile((h=>{let f=h.key.path;return!!r.isPrefixOf(f)&&(f.length===i&&(l=l.add(h.Yr)),!0)}),u),P.resolve(this.ti(l))}ti(t){let e=[];return t.forEach((r=>{let i=this.Xr(r);i!==null&&e.push(i)})),e}removeMutationBatch(t,e){j(this.ni(e.batchId,"removed")===0,55003),this.mutationQueue.shift();let r=this.Zr;return P.forEach(e.mutations,(i=>{let o=new tt(i.key,e.batchId);return r=r.delete(o),this.referenceDelegate.markPotentiallyOrphaned(t,i.key)})).next((()=>{this.Zr=r}))}ir(t){}containsKey(t,e){let r=new tt(e,0),i=this.Zr.firstAfterOrEqual(r);return P.resolve(e.isEqual(i&&i.key))}performConsistencyCheck(t){return this.mutationQueue.length,P.resolve()}ni(t,e){return this.ei(t)}ei(t){return this.mutationQueue.length===0?0:t-this.mutationQueue[0].batchId}Xr(t){let e=this.ei(t);return e<0||e>=this.mutationQueue.length?null:this.mutationQueue[e]}};var eo=class{constructor(t){this.ri=t,this.docs=(function(){return new Y(M.comparator)})(),this.size=0}setIndexManager(t){this.indexManager=t}addEntry(t,e){let r=e.key,i=this.docs.get(r),o=i?i.size:0,u=this.ri(e);return this.docs=this.docs.insert(r,{document:e.mutableCopy(),size:u}),this.size+=u-o,this.indexManager.addToCollectionParentIndex(t,r.path.popLast())}removeEntry(t){let e=this.docs.get(t);e&&(this.docs=this.docs.remove(t),this.size-=e.size)}getEntry(t,e){let r=this.docs.get(e);return P.resolve(r?r.document.mutableCopy():St.newInvalidDocument(e))}getEntries(t,e){let r=Xt();return e.forEach((i=>{let o=this.docs.get(i);r=r.insert(i,o?o.document.mutableCopy():St.newInvalidDocument(i))})),P.resolve(r)}getDocumentsMatchingQuery(t,e,r,i){let o=Xt(),u=e.path,l=new M(u.child("__id-9223372036854775808__")),h=this.docs.getIteratorFrom(l);for(;h.hasNext();){let{key:f,value:{document:m}}=h.getNext();if(!u.isPrefixOf(f.path))break;f.path.length>u.length+1||Wh(Qh(m),r)<=0||(i.has(m.key)||ys(e,m))&&(o=o.insert(m.key,m.mutableCopy()))}return P.resolve(o)}getAllFromCollectionGroup(t,e,r,i){O(9500)}ii(t,e){return P.forEach(this.docs,(r=>e(r)))}newChangeBuffer(t){return new no(this)}getSize(t){return P.resolve(this.size)}},no=class extends Wi{constructor(t){super(),this.Nr=t}applyChanges(t){let e=[];return this.changes.forEach(((r,i)=>{i.isValidDocument()?e.push(this.Nr.addEntry(t,i)):this.Nr.removeEntry(r)})),P.waitFor(e)}getFromCache(t,e){return this.Nr.getEntry(t,e)}getAllFromCache(t,e){return this.Nr.getEntries(t,e)}};var ro=class{constructor(t){this.persistence=t,this.si=new Jt((e=>na(e)),ra),this.lastRemoteSnapshotVersion=F.min(),this.highestTargetId=0,this.oi=0,this._i=new $n,this.targetCount=0,this.ai=Kn.ur()}forEachTarget(t,e){return this.si.forEach(((r,i)=>e(i))),P.resolve()}getLastRemoteSnapshotVersion(t){return P.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(t){return P.resolve(this.oi)}allocateTargetId(t){return this.highestTargetId=this.ai.next(),P.resolve(this.highestTargetId)}setTargetsMetadata(t,e,r){return r&&(this.lastRemoteSnapshotVersion=r),e>this.oi&&(this.oi=e),P.resolve()}Pr(t){this.si.set(t.target,t);let e=t.targetId;e>this.highestTargetId&&(this.ai=new Kn(e),this.highestTargetId=e),t.sequenceNumber>this.oi&&(this.oi=t.sequenceNumber)}addTargetData(t,e){return this.Pr(e),this.targetCount+=1,P.resolve()}updateTargetData(t,e){return this.Pr(e),P.resolve()}removeTargetData(t,e){return this.si.delete(e.target),this._i.jr(e.targetId),this.targetCount-=1,P.resolve()}removeTargets(t,e,r){let i=0,o=[];return this.si.forEach(((u,l)=>{l.sequenceNumber<=e&&r.get(l.targetId)===null&&(this.si.delete(u),o.push(this.removeMatchingKeysForTargetId(t,l.targetId)),i++)})),P.waitFor(o).next((()=>i))}getTargetCount(t){return P.resolve(this.targetCount)}getTargetData(t,e){let r=this.si.get(e)||null;return P.resolve(r)}addMatchingKeys(t,e,r){return this._i.Wr(e,r),P.resolve()}removeMatchingKeys(t,e,r){this._i.zr(e,r);let i=this.persistence.referenceDelegate,o=[];return i&&e.forEach((u=>{o.push(i.markPotentiallyOrphaned(t,u))})),P.waitFor(o)}removeMatchingKeysForTargetId(t,e){return this._i.jr(e),P.resolve()}getMatchingKeysForTargetId(t,e){let r=this._i.Hr(e);return P.resolve(r)}containsKey(t,e){return P.resolve(this._i.containsKey(e))}};var Qr=class{constructor(t,e){this.ui={},this.overlays={},this.ci=new We(0),this.li=!1,this.li=!0,this.hi=new Zi,this.referenceDelegate=t(this),this.Pi=new ro(this),this.indexManager=new Gi,this.remoteDocumentCache=(function(i){return new eo(i)})((r=>this.referenceDelegate.Ti(r))),this.serializer=new ji(e),this.Ii=new Xi(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.li=!1,Promise.resolve()}get started(){return this.li}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(t){return this.indexManager}getDocumentOverlayCache(t){let e=this.overlays[t.toKey()];return e||(e=new Yi,this.overlays[t.toKey()]=e),e}getMutationQueue(t,e){let r=this.ui[t.toKey()];return r||(r=new to(e,this.referenceDelegate),this.ui[t.toKey()]=r),r}getGlobalsCache(){return this.hi}getTargetCache(){return this.Pi}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Ii}runTransaction(t,e,r){N("MemoryPersistence","Starting transaction:",t);let i=new so(this.ci.next());return this.referenceDelegate.Ei(),r(i).next((o=>this.referenceDelegate.di(i).next((()=>o)))).toPromise().then((o=>(i.raiseOnCommittedEvent(),o)))}Ai(t,e){return P.or(Object.values(this.ui).map((r=>()=>r.containsKey(t,e))))}},so=class extends pi{constructor(t){super(),this.currentSequenceNumber=t}},io=class n{constructor(t){this.persistence=t,this.Ri=new $n,this.Vi=null}static mi(t){return new n(t)}get fi(){if(this.Vi)return this.Vi;throw O(60996)}addReference(t,e,r){return this.Ri.addReference(r,e),this.fi.delete(r.toString()),P.resolve()}removeReference(t,e,r){return this.Ri.removeReference(r,e),this.fi.add(r.toString()),P.resolve()}markPotentiallyOrphaned(t,e){return this.fi.add(e.toString()),P.resolve()}removeTarget(t,e){this.Ri.jr(e.targetId).forEach((i=>this.fi.add(i.toString())));let r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(t,e.targetId).next((i=>{i.forEach((o=>this.fi.add(o.toString())))})).next((()=>r.removeTargetData(t,e)))}Ei(){this.Vi=new Set}di(t){let e=this.persistence.getRemoteDocumentCache().newChangeBuffer();return P.forEach(this.fi,(r=>{let i=M.fromPath(r);return this.gi(t,i).next((o=>{o||e.removeEntry(i,F.min())}))})).next((()=>(this.Vi=null,e.apply(t))))}updateLimboDocument(t,e){return this.gi(t,e).next((r=>{r?this.fi.delete(e.toString()):this.fi.add(e.toString())}))}Ti(t){return 0}gi(t,e){return P.or([()=>P.resolve(this.Ri.containsKey(e)),()=>this.persistence.getTargetCache().containsKey(t,e),()=>this.persistence.Ai(t,e)])}},Wr=class n{constructor(t,e){this.persistence=t,this.pi=new Jt((r=>Yh(r.path)),((r,i)=>r.isEqual(i))),this.garbageCollector=Wd(this,e)}static mi(t,e){return new n(t,e)}Ei(){}di(t){return P.resolve()}forEachTarget(t,e){return this.persistence.getTargetCache().forEachTarget(t,e)}gr(t){let e=this.wr(t);return this.persistence.getTargetCache().getTargetCount(t).next((r=>e.next((i=>r+i))))}wr(t){let e=0;return this.pr(t,(r=>{e++})).next((()=>e))}pr(t,e){return P.forEach(this.pi,((r,i)=>this.br(t,r,i).next((o=>o?P.resolve():e(i)))))}removeTargets(t,e,r){return this.persistence.getTargetCache().removeTargets(t,e,r)}removeOrphanedDocuments(t,e){let r=0,i=this.persistence.getRemoteDocumentCache(),o=i.newChangeBuffer();return i.ii(t,(u=>this.br(t,u,e).next((l=>{l||(r++,o.removeEntry(u,F.min()))})))).next((()=>o.apply(t))).next((()=>r))}markPotentiallyOrphaned(t,e){return this.pi.set(e,t.currentSequenceNumber),P.resolve()}removeTarget(t,e){let r=e.withSequenceNumber(t.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(t,r)}addReference(t,e,r){return this.pi.set(r,t.currentSequenceNumber),P.resolve()}removeReference(t,e,r){return this.pi.set(r,t.currentSequenceNumber),P.resolve()}updateLimboDocument(t,e){return this.pi.set(e,t.currentSequenceNumber),P.resolve()}Ti(t){let e=t.key.toString().length;return t.isFoundDocument()&&(e+=br(t.data.value)),e}br(t,e,r){return P.or([()=>this.persistence.Ai(t,e),()=>this.persistence.getTargetCache().containsKey(t,e),()=>{let i=this.pi.get(e);return P.resolve(i!==void 0&&i>r)}])}getCacheSize(t){return this.persistence.getRemoteDocumentCache().getSize(t)}};var oo=class n{constructor(t,e,r,i){this.targetId=t,this.fromCache=e,this.Es=r,this.ds=i}static As(t,e){let r=U(),i=U();for(let o of e.docChanges)switch(o.type){case 0:r=r.add(o.doc.key);break;case 1:i=i.add(o.doc.key)}return new n(t,e.fromCache,r,i)}};var ao=class{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(t){this._documentReadCount+=t}};var uo=class{constructor(){this.Rs=!1,this.Vs=!1,this.fs=100,this.gs=(function(){return xu()?8:Jh(Cu())>0?6:4})()}initialize(t,e){this.ps=t,this.indexManager=e,this.Rs=!0}getDocumentsMatchingQuery(t,e,r,i){let o={result:null};return this.ys(t,e).next((u=>{o.result=u})).next((()=>{if(!o.result)return this.ws(t,e,i,r).next((u=>{o.result=u}))})).next((()=>{if(o.result)return;let u=new ao;return this.Ss(t,e,u).next((l=>{if(o.result=l,this.Vs)return this.bs(t,e,u,l.size)}))})).next((()=>o.result))}bs(t,e,r,i){return r.documentReadCount<this.fs?(qe()<=Mt.DEBUG&&N("QueryEngine","SDK will not create cache indexes for query:",Ue(e),"since it only creates cache indexes for collection contains","more than or equal to",this.fs,"documents"),P.resolve()):(qe()<=Mt.DEBUG&&N("QueryEngine","Query:",Ue(e),"scans",r.documentReadCount,"local documents and returns",i,"documents as results."),r.documentReadCount>this.gs*i?(qe()<=Mt.DEBUG&&N("QueryEngine","The SDK decides to create cache indexes for query:",Ue(e),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(t,Ft(e))):P.resolve())}ys(t,e){if(nc(e))return P.resolve(null);let r=Ft(e);return this.indexManager.getIndexType(t,r).next((i=>i===0?null:(e.limit!==null&&i===1&&(e=Fr(e,null,"F"),r=Ft(e)),this.indexManager.getDocumentsMatchingTarget(t,r).next((o=>{let u=U(...o);return this.ps.getDocuments(t,u).next((l=>this.indexManager.getMinOffset(t,r).next((h=>{let f=this.Ds(e,l);return this.Cs(e,f,u,h.readTime)?this.ys(t,Fr(e,null,"F")):this.vs(t,f,e,h)}))))})))))}ws(t,e,r,i){return nc(e)||i.isEqual(F.min())?P.resolve(null):this.ps.getDocuments(t,r).next((o=>{let u=this.Ds(e,o);return this.Cs(e,u,r,i)?P.resolve(null):(qe()<=Mt.DEBUG&&N("QueryEngine","Re-using previous result from %s to execute query: %s",i.toString(),Ue(e)),this.vs(t,u,e,$h(i,qn)).next((l=>l)))}))}Ds(t,e){let r=new it(ul(t));return e.forEach(((i,o)=>{ys(t,o)&&(r=r.add(o))})),r}Cs(t,e,r,i){if(t.limit===null)return!1;if(r.size!==e.size)return!0;let o=t.limitType==="F"?e.last():e.first();return!!o&&(o.hasPendingWrites||o.version.compareTo(i)>0)}Ss(t,e,r){return qe()<=Mt.DEBUG&&N("QueryEngine","Using full collection scan to execute query:",Ue(e)),this.ps.getDocumentsMatchingQuery(t,e,ve.min(),r)}vs(t,e,r,i){return this.ps.getDocumentsMatchingQuery(t,r,i).next((o=>(e.forEach((u=>{o=o.insert(u.key,u)})),o)))}};var aa="LocalStore",Hd=3e8,co=class{constructor(t,e,r,i){this.persistence=t,this.Fs=e,this.serializer=i,this.Ms=new Y(q),this.xs=new Jt((o=>na(o)),ra),this.Os=new Map,this.Ns=t.getRemoteDocumentCache(),this.Pi=t.getTargetCache(),this.Ii=t.getBundleCache(),this.Bs(r)}Bs(t){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(t),this.indexManager=this.persistence.getIndexManager(t),this.mutationQueue=this.persistence.getMutationQueue(t,this.indexManager),this.localDocuments=new Ji(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 Jd(n,t,e,r){return new co(n,t,e,r)}async function xl(n,t){let e=L(n);return await e.persistence.runTransaction("Handle user change","readonly",(r=>{let i;return e.mutationQueue.getAllMutationBatches(r).next((o=>(i=o,e.Bs(t),e.mutationQueue.getAllMutationBatches(r)))).next((o=>{let u=[],l=[],h=U();for(let f of i){u.push(f.batchId);for(let m of f.mutations)h=h.add(m.key)}for(let f of o){l.push(f.batchId);for(let m of f.mutations)h=h.add(m.key)}return e.localDocuments.getDocuments(r,h).next((f=>({Ls:f,removedBatchIds:u,addedBatchIds:l})))}))}))}function Xd(n,t){let e=L(n);return e.persistence.runTransaction("Acknowledge batch","readwrite-primary",(r=>{let i=t.batch.keys(),o=e.Ns.newChangeBuffer({trackRemovals:!0});return(function(l,h,f,m){let T=f.batch,A=T.keys(),R=P.resolve();return A.forEach((D=>{R=R.next((()=>m.getEntry(h,D))).next((k=>{let C=f.docVersions.get(D);j(C!==null,48541),k.version.compareTo(C)<0&&(T.applyToRemoteDocument(k,f),k.isValidDocument()&&(k.setReadTime(f.commitVersion),m.addEntry(k)))}))})),R.next((()=>l.mutationQueue.removeMutationBatch(h,T)))})(e,r,t,o).next((()=>o.apply(r))).next((()=>e.mutationQueue.performConsistencyCheck(r))).next((()=>e.documentOverlayCache.removeOverlaysForBatchId(r,i,t.batch.batchId))).next((()=>e.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(r,(function(l){let h=U();for(let f=0;f<l.mutationResults.length;++f)l.mutationResults[f].transformResults.length>0&&(h=h.add(l.batch.mutations[f].key));return h})(t)))).next((()=>e.localDocuments.getDocuments(r,i)))}))}function Dl(n){let t=L(n);return t.persistence.runTransaction("Get last remote snapshot version","readonly",(e=>t.Pi.getLastRemoteSnapshotVersion(e)))}function Yd(n,t){let e=L(n),r=t.snapshotVersion,i=e.Ms;return e.persistence.runTransaction("Apply remote event","readwrite-primary",(o=>{let u=e.Ns.newChangeBuffer({trackRemovals:!0});i=e.Ms;let l=[];t.targetChanges.forEach(((m,T)=>{let A=i.get(T);if(!A)return;l.push(e.Pi.removeMatchingKeys(o,m.removedDocuments,T).next((()=>e.Pi.addMatchingKeys(o,m.addedDocuments,T))));let R=A.withSequenceNumber(o.currentSequenceNumber);t.targetMismatches.get(T)!==null?R=R.withResumeToken(gt.EMPTY_BYTE_STRING,F.min()).withLastLimboFreeSnapshotVersion(F.min()):m.resumeToken.approximateByteSize()>0&&(R=R.withResumeToken(m.resumeToken,r)),i=i.insert(T,R),(function(k,C,G){return k.resumeToken.approximateByteSize()===0||C.snapshotVersion.toMicroseconds()-k.snapshotVersion.toMicroseconds()>=Hd?!0:G.addedDocuments.size+G.modifiedDocuments.size+G.removedDocuments.size>0})(A,R,m)&&l.push(e.Pi.updateTargetData(o,R))}));let h=Xt(),f=U();if(t.documentUpdates.forEach((m=>{t.resolvedLimboDocuments.has(m)&&l.push(e.persistence.referenceDelegate.updateLimboDocument(o,m))})),l.push(Zd(o,u,t.documentUpdates).next((m=>{h=m.ks,f=m.qs}))),!r.isEqual(F.min())){let m=e.Pi.getLastRemoteSnapshotVersion(o).next((T=>e.Pi.setTargetsMetadata(o,o.currentSequenceNumber,r)));l.push(m)}return P.waitFor(l).next((()=>u.apply(o))).next((()=>e.localDocuments.getLocalViewOfDocuments(o,h,f))).next((()=>h))})).then((o=>(e.Ms=i,o)))}function Zd(n,t,e){let r=U(),i=U();return e.forEach((o=>r=r.add(o))),t.getEntries(n,r).next((o=>{let u=Xt();return e.forEach(((l,h)=>{let f=o.get(l);h.isFoundDocument()!==f.isFoundDocument()&&(i=i.add(l)),h.isNoDocument()&&h.version.isEqual(F.min())?(t.removeEntry(l,h.readTime),u=u.insert(l,h)):!f.isValidDocument()||h.version.compareTo(f.version)>0||h.version.compareTo(f.version)===0&&f.hasPendingWrites?(t.addEntry(h),u=u.insert(l,h)):N(aa,"Ignoring outdated watch update for ",l,". Current version:",f.version," Watch version:",h.version)})),{ks:u,qs:i}}))}function tf(n,t){let e=L(n);return e.persistence.runTransaction("Get next mutation batch","readonly",(r=>(t===void 0&&(t=Yo),e.mutationQueue.getNextMutationBatchAfterBatchId(r,t))))}function ef(n,t){let e=L(n);return e.persistence.runTransaction("Allocate target","readwrite",(r=>{let i;return e.Pi.getTargetData(r,t).next((o=>o?(i=o,P.resolve(i)):e.Pi.allocateTargetId(r).next((u=>(i=new zn(t,u,"TargetPurposeListen",r.currentSequenceNumber),e.Pi.addTargetData(r,i).next((()=>i)))))))})).then((r=>{let i=e.Ms.get(r.targetId);return(i===null||r.snapshotVersion.compareTo(i.snapshotVersion)>0)&&(e.Ms=e.Ms.insert(r.targetId,r),e.xs.set(t,r.targetId)),r}))}async function lo(n,t,e){let r=L(n),i=r.Ms.get(t),o=e?"readwrite":"readwrite-primary";try{e||await r.persistence.runTransaction("Release target",o,(u=>r.persistence.referenceDelegate.removeTarget(u,i)))}catch(u){if(!an(u))throw u;N(aa,`Failed to update sequence numbers for target ${t}: ${u}`)}r.Ms=r.Ms.remove(t),r.xs.delete(i.target)}function mc(n,t,e){let r=L(n),i=F.min(),o=U();return r.persistence.runTransaction("Execute query","readwrite",(u=>(function(h,f,m){let T=L(h),A=T.xs.get(m);return A!==void 0?P.resolve(T.Ms.get(A)):T.Pi.getTargetData(f,m)})(r,u,Ft(t)).next((l=>{if(l)return i=l.lastLimboFreeSnapshotVersion,r.Pi.getMatchingKeysForTargetId(u,l.targetId).next((h=>{o=h}))})).next((()=>r.Fs.getDocumentsMatchingQuery(u,t,e?i:F.min(),e?o:U()))).next((l=>(nf(r,gd(t),l),{documents:l,Qs:o})))))}function nf(n,t,e){let r=n.Os.get(t)||F.min();e.forEach(((i,o)=>{o.readTime.compareTo(r)>0&&(r=o.readTime)})),n.Os.set(t,r)}var Hr=class{constructor(){this.activeTargetIds=Id()}zs(t){this.activeTargetIds=this.activeTargetIds.add(t)}js(t){this.activeTargetIds=this.activeTargetIds.delete(t)}Gs(){let t={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(t)}};var ho=class{constructor(){this.Mo=new Hr,this.xo={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(t){}updateMutationState(t,e,r){}addLocalQueryTarget(t,e=!0){return e&&this.Mo.zs(t),this.xo[t]||"not-current"}updateQueryState(t,e,r){this.xo[t]=e}removeLocalQueryTarget(t){this.Mo.js(t)}isLocalQueryTarget(t){return this.Mo.activeTargetIds.has(t)}clearQueryState(t){delete this.xo[t]}getAllActiveQueryTargets(){return this.Mo.activeTargetIds}isActiveQueryTarget(t){return this.Mo.activeTargetIds.has(t)}start(){return this.Mo=new Hr,Promise.resolve()}handleUserChange(t,e,r){}setOnlineState(t){}shutdown(){}writeSequenceNumber(t){}notifyBundleLoaded(t){}};var fo=class{Oo(t){}shutdown(){}};var gc="ConnectivityMonitor",Jr=class{constructor(){this.No=()=>this.Bo(),this.Lo=()=>this.ko(),this.qo=[],this.Qo()}Oo(t){this.qo.push(t)}shutdown(){window.removeEventListener("online",this.No),window.removeEventListener("offline",this.Lo)}Qo(){window.addEventListener("online",this.No),window.addEventListener("offline",this.Lo)}Bo(){N(gc,"Network connectivity changed: AVAILABLE");for(let t of this.qo)t(0)}ko(){N(gc,"Network connectivity changed: UNAVAILABLE");for(let t of this.qo)t(1)}static v(){return typeof window<"u"&&window.addEventListener!==void 0&&window.removeEventListener!==void 0}};var Sr=null;function mo(){return Sr===null?Sr=(function(){return 268435456+Math.round(2147483648*Math.random())})():Sr++,"0x"+Sr.toString(16)}var si="RestConnection",rf={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery"},go=class{get $o(){return!1}constructor(t){this.databaseInfo=t,this.databaseId=t.databaseId;let e=t.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),i=encodeURIComponent(this.databaseId.database);this.Uo=e+"://"+t.host,this.Ko=`projects/${r}/databases/${i}`,this.Wo=this.databaseId.database===Nr?`project_id=${r}`:`project_id=${r}&database_id=${i}`}Go(t,e,r,i,o){let u=mo(),l=this.zo(t,e.toUriEncodedString());N(si,`Sending RPC '${t}' ${u}:`,l,r);let h={"google-cloud-resource-prefix":this.Ko,"x-goog-request-params":this.Wo};this.jo(h,i,o);let{host:f}=new URL(l),m=Ws(f);return this.Jo(t,l,h,r,m).then((T=>(N(si,`Received RPC '${t}' ${u}: `,T),T)),(T=>{throw Fn(si,`RPC '${t}' ${u} failed with error: `,T,"url: ",l,"request:",r),T}))}Ho(t,e,r,i,o,u){return this.Go(t,e,r,i,o)}jo(t,e,r){t["X-Goog-Api-Client"]=(function(){return"gl-js/ fire/"+sn})(),t["Content-Type"]="text/plain",this.databaseInfo.appId&&(t["X-Firebase-GMPID"]=this.databaseInfo.appId),e&&e.headers.forEach(((i,o)=>t[o]=i)),r&&r.headers.forEach(((i,o)=>t[o]=i))}zo(t,e){let r=rf[t];return`${this.Uo}/v1/${e}:${r}`}terminate(){}};var po=class{constructor(t){this.Yo=t.Yo,this.Zo=t.Zo}Xo(t){this.e_=t}t_(t){this.n_=t}r_(t){this.i_=t}onMessage(t){this.s_=t}close(){this.Zo()}send(t){this.Yo(t)}o_(){this.e_()}__(){this.n_()}a_(t){this.i_(t)}u_(t){this.s_(t)}};var ft="WebChannelConnection",yo=class extends go{constructor(t){super(t),this.c_=[],this.forceLongPolling=t.forceLongPolling,this.autoDetectLongPolling=t.autoDetectLongPolling,this.useFetchStreams=t.useFetchStreams,this.longPollingOptions=t.longPollingOptions}Jo(t,e,r,i,o){let u=mo();return new Promise(((l,h)=>{let f=new Ys;f.setWithCredentials(!0),f.listenOnce(Zs.COMPLETE,(()=>{try{switch(f.getLastErrorCode()){case xn.NO_ERROR:let T=f.getResponseJson();N(ft,`XHR for RPC '${t}' ${u} received:`,JSON.stringify(T)),l(T);break;case xn.TIMEOUT:N(ft,`RPC '${t}' ${u} timed out`),h(new V(b.DEADLINE_EXCEEDED,"Request time out"));break;case xn.HTTP_ERROR:let A=f.getStatus();if(N(ft,`RPC '${t}' ${u} failed with status:`,A,"response text:",f.getResponseText()),A>0){let R=f.getResponseJson();Array.isArray(R)&&(R=R[0]);let D=R?.error;if(D&&D.status&&D.message){let k=(function(G){let K=G.toLowerCase().replace(/_/g,"-");return Object.values(b).indexOf(K)>=0?K:b.UNKNOWN})(D.status);h(new V(k,D.message))}else h(new V(b.UNKNOWN,"Server responded with status "+f.getStatus()))}else h(new V(b.UNAVAILABLE,"Connection failed."));break;default:O(9055,{l_:t,streamId:u,h_:f.getLastErrorCode(),P_:f.getLastError()})}}finally{N(ft,`RPC '${t}' ${u} completed.`)}}));let m=JSON.stringify(i);N(ft,`RPC '${t}' ${u} sending request:`,i),f.send(e,"POST",m,r,15)}))}T_(t,e,r){let i=mo(),o=[this.Uo,"/","google.firestore.v1.Firestore","/",t,"/channel"],u=ni(),l=ei(),h={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},f=this.longPollingOptions.timeoutSeconds;f!==void 0&&(h.longPollingTimeout=Math.round(1e3*f)),this.useFetchStreams&&(h.useFetchStreams=!0),this.jo(h.initMessageHeaders,e,r),h.encodeInitMessageHeaders=!0;let m=o.join("");N(ft,`Creating RPC '${t}' stream ${i}: ${m}`,h);let T=u.createWebChannel(m,h);this.I_(T);let A=!1,R=!1,D=new po({Yo:C=>{R?N(ft,`Not sending because RPC '${t}' stream ${i} is closed:`,C):(A||(N(ft,`Opening RPC '${t}' stream ${i} transport.`),T.open(),A=!0),N(ft,`RPC '${t}' stream ${i} sending:`,C),T.send(C))},Zo:()=>T.close()}),k=(C,G,K)=>{C.listen(G,($=>{try{K($)}catch(pt){setTimeout((()=>{throw pt}),0)}}))};return k(T,Le.EventType.OPEN,(()=>{R||(N(ft,`RPC '${t}' stream ${i} transport opened.`),D.o_())})),k(T,Le.EventType.CLOSE,(()=>{R||(R=!0,N(ft,`RPC '${t}' stream ${i} transport closed`),D.a_(),this.E_(T))})),k(T,Le.EventType.ERROR,(C=>{R||(R=!0,Fn(ft,`RPC '${t}' stream ${i} transport errored. Name:`,C.name,"Message:",C.message),D.a_(new V(b.UNAVAILABLE,"The operation could not be completed")))})),k(T,Le.EventType.MESSAGE,(C=>{if(!R){let G=C.data[0];j(!!G,16349);let K=G,$=K?.error||K[0]?.error;if($){N(ft,`RPC '${t}' stream ${i} received error:`,$);let pt=$.status,kt=(function(g){let y=Z[g];if(y!==void 0)return Tl(y)})(pt),ut=$.message;kt===void 0&&(kt=b.INTERNAL,ut="Unknown error status: "+pt+" with message "+$.message),R=!0,D.a_(new V(kt,ut)),T.close()}else N(ft,`RPC '${t}' stream ${i} received:`,G),D.u_(G)}})),k(l,ti.STAT_EVENT,(C=>{C.stat===Er.PROXY?N(ft,`RPC '${t}' stream ${i} detected buffering proxy`):C.stat===Er.NOPROXY&&N(ft,`RPC '${t}' stream ${i} detected no buffering proxy`)})),setTimeout((()=>{D.__()}),0),D}terminate(){this.c_.forEach((t=>t.close())),this.c_=[]}I_(t){this.c_.push(t)}E_(t){this.c_=this.c_.filter((e=>e===t))}};function ii(){return typeof document<"u"?document:null}function _s(n){return new Li(n,!0)}var Qn=class{constructor(t,e,r=1e3,i=1.5,o=6e4){this.Mi=t,this.timerId=e,this.d_=r,this.A_=i,this.R_=o,this.V_=0,this.m_=null,this.f_=Date.now(),this.reset()}reset(){this.V_=0}g_(){this.V_=this.R_}p_(t){this.cancel();let e=Math.floor(this.V_+this.y_()),r=Math.max(0,Date.now()-this.f_),i=Math.max(0,e-r);i>0&&N("ExponentialBackoff",`Backing off for ${i} ms (base delay: ${this.V_} ms, delay with jitter: ${e} ms, last attempt: ${r} ms ago)`),this.m_=this.Mi.enqueueAfterDelay(this.timerId,i,(()=>(this.f_=Date.now(),t()))),this.V_*=this.A_,this.V_<this.d_&&(this.V_=this.d_),this.V_>this.R_&&(this.V_=this.R_)}w_(){this.m_!==null&&(this.m_.skipDelay(),this.m_=null)}cancel(){this.m_!==null&&(this.m_.cancel(),this.m_=null)}y_(){return(Math.random()-.5)*this.V_}};var pc="PersistentStream",Xr=class{constructor(t,e,r,i,o,u,l,h){this.Mi=t,this.S_=r,this.b_=i,this.connection=o,this.authCredentialsProvider=u,this.appCheckCredentialsProvider=l,this.listener=h,this.state=0,this.D_=0,this.C_=null,this.v_=null,this.stream=null,this.F_=0,this.M_=new Qn(t,e)}x_(){return this.state===1||this.state===5||this.O_()}O_(){return this.state===2||this.state===3}start(){this.F_=0,this.state!==4?this.auth():this.N_()}async stop(){this.x_()&&await this.close(0)}B_(){this.state=0,this.M_.reset()}L_(){this.O_()&&this.C_===null&&(this.C_=this.Mi.enqueueAfterDelay(this.S_,6e4,(()=>this.k_())))}q_(t){this.Q_(),this.stream.send(t)}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(t,e){this.Q_(),this.U_(),this.M_.cancel(),this.D_++,t!==4?this.M_.reset():e&&e.code===b.RESOURCE_EXHAUSTED?(Qt(e.toString()),Qt("Using maximum backoff delay to prevent overloading the backend."),this.M_.g_()):e&&e.code===b.UNAUTHENTICATED&&this.state!==3&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),this.stream!==null&&(this.K_(),this.stream.close(),this.stream=null),this.state=t,await this.listener.r_(e)}K_(){}auth(){this.state=1;let t=this.W_(this.D_),e=this.D_;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then((([r,i])=>{this.D_===e&&this.G_(r,i)}),(r=>{t((()=>{let i=new V(b.UNKNOWN,"Fetching auth token failed: "+r.message);return this.z_(i)}))}))}G_(t,e){let r=this.W_(this.D_);this.stream=this.j_(t,e),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_((i=>{r((()=>this.z_(i)))})),this.stream.onMessage((i=>{r((()=>++this.F_==1?this.J_(i):this.onNext(i)))}))}N_(){this.state=5,this.M_.p_((async()=>{this.state=0,this.start()}))}z_(t){return N(pc,`close with error: ${t}`),this.stream=null,this.close(4,t)}W_(t){return e=>{this.Mi.enqueueAndForget((()=>this.D_===t?e():(N(pc,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve())))}}},_o=class extends Xr{constructor(t,e,r,i,o,u){super(t,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",e,r,i,u),this.serializer=o}j_(t,e){return this.connection.T_("Listen",t,e)}J_(t){return this.onNext(t)}onNext(t){this.M_.reset();let e=Fd(this.serializer,t),r=(function(o){if(!("targetChange"in o))return F.min();let u=o.targetChange;return u.targetIds&&u.targetIds.length?F.min():u.readTime?At(u.readTime):F.min()})(t);return this.listener.H_(e,r)}Y_(t){let e={};e.database=Bi(this.serializer),e.addTarget=(function(o,u){let l,h=u.target;if(l=Vi(h)?{documents:qd(o,h)}:{query:Ud(o,h).ft},l.targetId=u.targetId,u.resumeToken.approximateByteSize()>0){l.resumeToken=Il(o,u.resumeToken);let f=qi(o,u.expectedCount);f!==null&&(l.expectedCount=f)}else if(u.snapshotVersion.compareTo(F.min())>0){l.readTime=zr(o,u.snapshotVersion.toTimestamp());let f=qi(o,u.expectedCount);f!==null&&(l.expectedCount=f)}return l})(this.serializer,t);let r=jd(this.serializer,t);r&&(e.labels=r),this.q_(e)}Z_(t){let e={};e.database=Bi(this.serializer),e.removeTarget=t,this.q_(e)}},wo=class extends Xr{constructor(t,e,r,i,o,u){super(t,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",e,r,i,u),this.serializer=o}get X_(){return this.F_>0}start(){this.lastStreamToken=void 0,super.start()}K_(){this.X_&&this.ea([])}j_(t,e){return this.connection.T_("Write",t,e)}J_(t){return j(!!t.streamToken,31322),this.lastStreamToken=t.streamToken,j(!t.writeResults||t.writeResults.length===0,55816),this.listener.ta()}onNext(t){j(!!t.streamToken,12678),this.lastStreamToken=t.streamToken,this.M_.reset();let e=Ld(t.writeResults,t.commitTime),r=At(t.commitTime);return this.listener.na(r,e)}ra(){let t={};t.database=Bi(this.serializer),this.q_(t)}ea(t){let e={streamToken:this.lastStreamToken,writes:t.map((r=>Sl(this.serializer,r)))};this.q_(e)}};var To=class{},Io=class extends To{constructor(t,e,r,i){super(),this.authCredentials=t,this.appCheckCredentials=e,this.connection=r,this.serializer=i,this.ia=!1}sa(){if(this.ia)throw new V(b.FAILED_PRECONDITION,"The client has already been terminated.")}Go(t,e,r,i){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([o,u])=>this.connection.Go(t,Ui(e,r),i,o,u))).catch((o=>{throw o.name==="FirebaseError"?(o.code===b.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),o):new V(b.UNKNOWN,o.toString())}))}Ho(t,e,r,i,o){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([u,l])=>this.connection.Ho(t,Ui(e,r),i,u,l,o))).catch((u=>{throw u.name==="FirebaseError"?(u.code===b.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),u):new V(b.UNKNOWN,u.toString())}))}terminate(){this.ia=!0,this.connection.terminate()}},Eo=class{constructor(t,e){this.asyncQueue=t,this.onlineStateHandler=e,this.state="Unknown",this.oa=0,this._a=null,this.aa=!0}ua(){this.oa===0&&(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(t){this.state==="Online"?this.ca("Unknown"):(this.oa++,this.oa>=1&&(this.Pa(),this.la(`Connection failed 1 times. Most recent error: ${t.toString()}`),this.ca("Offline")))}set(t){this.Pa(),this.oa=0,t==="Online"&&(this.aa=!1),this.ca(t)}ca(t){t!==this.state&&(this.state=t,this.onlineStateHandler(t))}la(t){let e=`Could not reach Cloud Firestore backend. ${t}
|
|
18
|
+
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?(Qt(e),this.aa=!1):N("OnlineStateTracker",e)}Pa(){this._a!==null&&(this._a.cancel(),this._a=null)}};var Ve="RemoteStore",vo=class{constructor(t,e,r,i,o){this.localStore=t,this.datastore=e,this.asyncQueue=r,this.remoteSyncer={},this.Ta=[],this.Ia=new Map,this.Ea=new Set,this.da=[],this.Aa=o,this.Aa.Oo((u=>{r.enqueueAndForget((async()=>{Ne(this)&&(N(Ve,"Restarting streams for network reachability change."),await(async function(h){let f=L(h);f.Ea.add(4),await nr(f),f.Ra.set("Unknown"),f.Ea.delete(4),await ws(f)})(this))}))})),this.Ra=new Eo(r,i)}};async function ws(n){if(Ne(n))for(let t of n.da)await t(!0)}async function nr(n){for(let t of n.da)await t(!1)}function Nl(n,t){let e=L(n);e.Ia.has(t.targetId)||(e.Ia.set(t.targetId,t),ha(e)?la(e):un(e).O_()&&ca(e,t))}function ua(n,t){let e=L(n),r=un(e);e.Ia.delete(t),r.O_()&&kl(e,t),e.Ia.size===0&&(r.O_()?r.L_():Ne(e)&&e.Ra.set("Unknown"))}function ca(n,t){if(n.Va.Ue(t.targetId),t.resumeToken.approximateByteSize()>0||t.snapshotVersion.compareTo(F.min())>0){let e=n.remoteSyncer.getRemoteKeysForTarget(t.targetId).size;t=t.withExpectedCount(e)}un(n).Y_(t)}function kl(n,t){n.Va.Ue(t),un(n).Z_(t)}function la(n){n.Va=new Fi({getRemoteKeysForTarget:t=>n.remoteSyncer.getRemoteKeysForTarget(t),At:t=>n.Ia.get(t)||null,ht:()=>n.datastore.serializer.databaseId}),un(n).start(),n.Ra.ua()}function ha(n){return Ne(n)&&!un(n).x_()&&n.Ia.size>0}function Ne(n){return L(n).Ea.size===0}function Ml(n){n.Va=void 0}async function sf(n){n.Ra.set("Online")}async function of(n){n.Ia.forEach(((t,e)=>{ca(n,t)}))}async function af(n,t){Ml(n),ha(n)?(n.Ra.ha(t),la(n)):n.Ra.set("Unknown")}async function uf(n,t,e){if(n.Ra.set("Online"),t instanceof jr&&t.state===2&&t.cause)try{await(async function(i,o){let u=o.cause;for(let l of o.targetIds)i.Ia.has(l)&&(await i.remoteSyncer.rejectListen(l,u),i.Ia.delete(l),i.Va.removeTarget(l))})(n,t)}catch(r){N(Ve,"Failed to remove targets %s: %s ",t.targetIds.join(","),r),await Yr(n,r)}else if(t instanceof Ke?n.Va.Ze(t):t instanceof Br?n.Va.st(t):n.Va.tt(t),!e.isEqual(F.min()))try{let r=await Dl(n.localStore);e.compareTo(r)>=0&&await(function(o,u){let l=o.Va.Tt(u);return l.targetChanges.forEach(((h,f)=>{if(h.resumeToken.approximateByteSize()>0){let m=o.Ia.get(f);m&&o.Ia.set(f,m.withResumeToken(h.resumeToken,u))}})),l.targetMismatches.forEach(((h,f)=>{let m=o.Ia.get(h);if(!m)return;o.Ia.set(h,m.withResumeToken(gt.EMPTY_BYTE_STRING,m.snapshotVersion)),kl(o,h);let T=new zn(m.target,h,f,m.sequenceNumber);ca(o,T)})),o.remoteSyncer.applyRemoteEvent(l)})(n,e)}catch(r){N(Ve,"Failed to raise snapshot:",r),await Yr(n,r)}}async function Yr(n,t,e){if(!an(t))throw t;n.Ea.add(1),await nr(n),n.Ra.set("Offline"),e||(e=()=>Dl(n.localStore)),n.asyncQueue.enqueueRetryable((async()=>{N(Ve,"Retrying IndexedDB access"),await e(),n.Ea.delete(1),await ws(n)}))}function Ol(n,t){return t().catch((e=>Yr(n,e,t)))}async function Ts(n){let t=L(n),e=de(t),r=t.Ta.length>0?t.Ta[t.Ta.length-1].batchId:Yo;for(;cf(t);)try{let i=await tf(t.localStore,r);if(i===null){t.Ta.length===0&&e.L_();break}r=i.batchId,lf(t,i)}catch(i){await Yr(t,i)}Fl(t)&&Ll(t)}function cf(n){return Ne(n)&&n.Ta.length<10}function lf(n,t){n.Ta.push(t);let e=de(n);e.O_()&&e.X_&&e.ea(t.mutations)}function Fl(n){return Ne(n)&&!de(n).x_()&&n.Ta.length>0}function Ll(n){de(n).start()}async function hf(n){de(n).ra()}async function df(n){let t=de(n);for(let e of n.Ta)t.ea(e.mutations)}async function ff(n,t,e){let r=n.Ta.shift(),i=Ni.from(r,t,e);await Ol(n,(()=>n.remoteSyncer.applySuccessfulWrite(i))),await Ts(n)}async function mf(n,t){t&&de(n).X_&&await(async function(r,i){if((function(u){return wl(u)&&u!==b.ABORTED})(i.code)){let o=r.Ta.shift();de(r).B_(),await Ol(r,(()=>r.remoteSyncer.rejectFailedWrite(o.batchId,i))),await Ts(r)}})(n,t),Fl(n)&&Ll(n)}async function yc(n,t){let e=L(n);e.asyncQueue.verifyOperationInProgress(),N(Ve,"RemoteStore received new credentials");let r=Ne(e);e.Ea.add(3),await nr(e),r&&e.Ra.set("Unknown"),await e.remoteSyncer.handleCredentialChange(t),e.Ea.delete(3),await ws(e)}async function gf(n,t){let e=L(n);t?(e.Ea.delete(2),await ws(e)):t||(e.Ea.add(2),await nr(e),e.Ra.set("Unknown"))}function un(n){return n.ma||(n.ma=(function(e,r,i){let o=L(e);return o.sa(),new _o(r,o.connection,o.authCredentials,o.appCheckCredentials,o.serializer,i)})(n.datastore,n.asyncQueue,{Xo:sf.bind(null,n),t_:of.bind(null,n),r_:af.bind(null,n),H_:uf.bind(null,n)}),n.da.push((async t=>{t?(n.ma.B_(),ha(n)?la(n):n.Ra.set("Unknown")):(await n.ma.stop(),Ml(n))}))),n.ma}function de(n){return n.fa||(n.fa=(function(e,r,i){let o=L(e);return o.sa(),new wo(r,o.connection,o.authCredentials,o.appCheckCredentials,o.serializer,i)})(n.datastore,n.asyncQueue,{Xo:()=>Promise.resolve(),t_:hf.bind(null,n),r_:mf.bind(null,n),ta:df.bind(null,n),na:ff.bind(null,n)}),n.da.push((async t=>{t?(n.fa.B_(),await Ts(n)):(await n.fa.stop(),n.Ta.length>0&&(N(Ve,`Stopping write stream with ${n.Ta.length} pending writes`),n.Ta=[]))}))),n.fa}var Ao=class n{constructor(t,e,r,i,o){this.asyncQueue=t,this.timerId=e,this.targetTimeMs=r,this.op=i,this.removalCallback=o,this.deferred=new Pt,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch((u=>{}))}get promise(){return this.deferred.promise}static createAndSchedule(t,e,r,i,o){let u=Date.now()+r,l=new n(t,e,u,i,o);return l.start(r),l}start(t){this.timerHandle=setTimeout((()=>this.handleDelayElapsed()),t)}skipDelay(){return this.handleDelayElapsed()}cancel(t){this.timerHandle!==null&&(this.clearTimeout(),this.deferred.reject(new V(b.CANCELLED,"Operation cancelled"+(t?": "+t:""))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget((()=>this.timerHandle!==null?(this.clearTimeout(),this.op().then((t=>this.deferred.resolve(t)))):Promise.resolve()))}clearTimeout(){this.timerHandle!==null&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}};function da(n,t){if(Qt("AsyncQueue",`${t}: ${n}`),an(n))return new V(b.UNAVAILABLE,`${t}: ${n}`);throw n}var Zr=class n{static emptySet(t){return new n(t.comparator)}constructor(t){this.comparator=t?(e,r)=>t(e,r)||M.comparator(e.key,r.key):(e,r)=>M.comparator(e.key,r.key),this.keyedMap=Dn(),this.sortedSet=new Y(this.comparator)}has(t){return this.keyedMap.get(t)!=null}get(t){return this.keyedMap.get(t)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(t){let e=this.keyedMap.get(t);return e?this.sortedSet.indexOf(e):-1}get size(){return this.sortedSet.size}forEach(t){this.sortedSet.inorderTraversal(((e,r)=>(t(e),!1)))}add(t){let e=this.delete(t.key);return e.copy(e.keyedMap.insert(t.key,t),e.sortedSet.insert(t,null))}delete(t){let e=this.get(t);return e?this.copy(this.keyedMap.remove(t),this.sortedSet.remove(e)):this}isEqual(t){if(!(t instanceof n)||this.size!==t.size)return!1;let e=this.sortedSet.getIterator(),r=t.sortedSet.getIterator();for(;e.hasNext();){let i=e.getNext().key,o=r.getNext().key;if(!i.isEqual(o))return!1}return!0}toString(){let t=[];return this.forEach((e=>{t.push(e.toString())})),t.length===0?"DocumentSet ()":`DocumentSet (
|
|
19
19
|
`+t.join(`
|
|
20
20
|
`)+`
|
|
21
|
-
)`}copy(t,e){let r=new n;return r.comparator=this.comparator,r.keyedMap=t,r.sortedSet=e,r}};var Zr=class{constructor(){this.ga=new Y(M.comparator)}track(t){let e=t.doc.key,r=this.ga.get(e);r?t.type!==0&&r.type===3?this.ga=this.ga.insert(e,t):t.type===3&&r.type!==1?this.ga=this.ga.insert(e,{type:r.type,doc:t.doc}):t.type===2&&r.type===2?this.ga=this.ga.insert(e,{type:2,doc:t.doc}):t.type===2&&r.type===0?this.ga=this.ga.insert(e,{type:0,doc:t.doc}):t.type===1&&r.type===0?this.ga=this.ga.remove(e):t.type===1&&r.type===2?this.ga=this.ga.insert(e,{type:1,doc:r.doc}):t.type===0&&r.type===1?this.ga=this.ga.insert(e,{type:2,doc:t.doc}):O(63341,{Rt:t,pa:r}):this.ga=this.ga.insert(e,t)}ya(){let t=[];return this.ga.inorderTraversal(((e,r)=>{t.push(r)})),t}},tn=class n{constructor(t,e,r,i,o,u,l,h,f){this.query=t,this.docs=e,this.oldDocs=r,this.docChanges=i,this.mutatedKeys=o,this.fromCache=u,this.syncStateChanged=l,this.excludesMetadataChanges=h,this.hasCachedResults=f}static fromInitialDocuments(t,e,r,i,o){let u=[];return e.forEach((l=>{u.push({type:0,doc:l})})),new n(t,e,Yr.emptySet(e),u,r,i,!0,!1,o)}get hasPendingWrites(){return!this.mutatedKeys.isEmpty()}isEqual(t){if(!(this.fromCache===t.fromCache&&this.hasCachedResults===t.hasCachedResults&&this.syncStateChanged===t.syncStateChanged&&this.mutatedKeys.isEqual(t.mutatedKeys)&&gs(this.query,t.query)&&this.docs.isEqual(t.docs)&&this.oldDocs.isEqual(t.oldDocs)))return!1;let e=this.docChanges,r=t.docChanges;if(e.length!==r.length)return!1;for(let i=0;i<e.length;i++)if(e[i].type!==r[i].type||!e[i].doc.isEqual(r[i].doc))return!1;return!0}};var Ao=class{constructor(){this.wa=void 0,this.Sa=[]}ba(){return this.Sa.some((t=>t.Da()))}},So=class{constructor(){this.queries=mc(),this.onlineState="Unknown",this.Ca=new Set}terminate(){(function(e,r){let i=L(e),o=i.queries;i.queries=mc(),o.forEach(((u,l)=>{for(let h of l.Sa)h.onError(r)}))})(this,new V(b.ABORTED,"Firestore shutting down"))}};function mc(){return new Ht((n=>rl(n)),gs)}async function da(n,t){let e=L(n),r=3,i=t.query,o=e.queries.get(i);o?!o.ba()&&t.Da()&&(r=2):(o=new Ao,r=t.Da()?0:1);try{switch(r){case 0:o.wa=await e.onListen(i,!0);break;case 1:o.wa=await e.onListen(i,!1);break;case 2:await e.onFirstRemoteStoreListen(i)}}catch(u){let l=ha(u,`Initialization of query '${qe(t.query)}' failed`);return void t.onError(l)}e.queries.set(i,o),o.Sa.push(t),t.va(e.onlineState),o.wa&&t.Fa(o.wa)&&ma(e)}async function fa(n,t){let e=L(n),r=t.query,i=3,o=e.queries.get(r);if(o){let u=o.Sa.indexOf(t);u>=0&&(o.Sa.splice(u,1),o.Sa.length===0?i=t.Da()?0:1:!o.ba()&&t.Da()&&(i=2))}switch(i){case 0:return e.queries.delete(r),e.onUnlisten(r,!0);case 1:return e.queries.delete(r),e.onUnlisten(r,!1);case 2:return e.onLastRemoteStoreUnlisten(r);default:return}}function uf(n,t){let e=L(n),r=!1;for(let i of t){let o=i.query,u=e.queries.get(o);if(u){for(let l of u.Sa)l.Fa(i)&&(r=!0);u.wa=i}}r&&ma(e)}function cf(n,t,e){let r=L(n),i=r.queries.get(t);if(i)for(let o of i.Sa)o.onError(e);r.queries.delete(t)}function ma(n){n.Ca.forEach((t=>{t.next()}))}var bo,gc;(gc=bo||(bo={})).Ma="default",gc.Cache="cache";var Qn=class{constructor(t,e,r){this.query=t,this.xa=e,this.Oa=!1,this.Na=null,this.onlineState="Unknown",this.options=r||{}}Fa(t){if(!this.options.includeMetadataChanges){let r=[];for(let i of t.docChanges)i.type!==3&&r.push(i);t=new tn(t.query,t.docs,t.oldDocs,r,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(t){this.xa.error(t)}va(t){this.onlineState=t;let e=!1;return this.Na&&!this.Oa&&this.La(this.Na,t)&&(this.ka(this.Na),e=!0),e}La(t,e){if(!t.fromCache||!this.Da())return!0;let r=e!=="Offline";return(!this.options.qa||!r)&&(!t.docs.isEmpty()||t.hasCachedResults||e==="Offline")}Ba(t){if(t.docChanges.length>0)return!0;let e=this.Na&&this.Na.hasPendingWrites!==t.hasPendingWrites;return!(!t.syncStateChanged&&!e)&&this.options.includeMetadataChanges===!0}ka(t){t=tn.fromInitialDocuments(t.query,t.docs,t.mutatedKeys,t.fromCache,t.hasCachedResults),this.Oa=!0,this.xa.next(t)}Da(){return this.options.source!==bo.Cache}};var ts=class{constructor(t){this.key=t}},es=class{constructor(t){this.key=t}},Ro=class{constructor(t,e){this.query=t,this.Ya=e,this.Za=null,this.hasCachedResults=!1,this.current=!1,this.Xa=U(),this.mutatedKeys=U(),this.eu=sl(t),this.tu=new Yr(this.eu)}get nu(){return this.Ya}ru(t,e){let r=e?e.iu:new Zr,i=e?e.tu:this.tu,o=e?e.mutatedKeys:this.mutatedKeys,u=i,l=!1,h=this.query.limitType==="F"&&i.size===this.query.limit?i.last():null,f=this.query.limitType==="L"&&i.size===this.query.limit?i.first():null;if(t.inorderTraversal(((m,T)=>{let A=i.get(m),R=ps(this.query,T)?T:null,D=!!A&&this.mutatedKeys.has(A.key),k=!!R&&(R.hasLocalMutations||this.mutatedKeys.has(R.key)&&R.hasCommittedMutations),C=!1;A&&R?A.data.isEqual(R.data)?D!==k&&(r.track({type:3,doc:R}),C=!0):this.su(A,R)||(r.track({type:2,doc:R}),C=!0,(h&&this.eu(R,h)>0||f&&this.eu(R,f)<0)&&(l=!0)):!A&&R?(r.track({type:0,doc:R}),C=!0):A&&!R&&(r.track({type:1,doc:A}),C=!0,(h||f)&&(l=!0)),C&&(R?(u=u.add(R),o=k?o.add(m):o.delete(m)):(u=u.delete(m),o=o.delete(m)))})),this.query.limit!==null)for(;u.size>this.query.limit;){let m=this.query.limitType==="F"?u.last():u.first();u=u.delete(m.key),o=o.delete(m.key),r.track({type:1,doc:m})}return{tu:u,iu:r,Cs:l,mutatedKeys:o}}su(t,e){return t.hasLocalMutations&&e.hasCommittedMutations&&!e.hasLocalMutations}applyChanges(t,e,r,i){let o=this.tu;this.tu=t.tu,this.mutatedKeys=t.mutatedKeys;let u=t.iu.ya();u.sort(((m,T)=>(function(R,D){let k=C=>{switch(C){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return O(20277,{Rt:C})}};return k(R)-k(D)})(m.type,T.type)||this.eu(m.doc,T.doc))),this.ou(r),i=i??!1;let l=e&&!i?this._u():[],h=this.Xa.size===0&&this.current&&!i?1:0,f=h!==this.Za;return this.Za=h,u.length!==0||f?{snapshot:new tn(this.query,t.tu,o,u,t.mutatedKeys,h===0,f,!1,!!r&&r.resumeToken.approximateByteSize()>0),au:l}:{au:l}}va(t){return this.current&&t==="Offline"?(this.current=!1,this.applyChanges({tu:this.tu,iu:new Zr,mutatedKeys:this.mutatedKeys,Cs:!1},!1)):{au:[]}}uu(t){return!this.Ya.has(t)&&!!this.tu.has(t)&&!this.tu.get(t).hasLocalMutations}ou(t){t&&(t.addedDocuments.forEach((e=>this.Ya=this.Ya.add(e))),t.modifiedDocuments.forEach((e=>{})),t.removedDocuments.forEach((e=>this.Ya=this.Ya.delete(e))),this.current=t.current)}_u(){if(!this.current)return[];let t=this.Xa;this.Xa=U(),this.tu.forEach((r=>{this.uu(r.key)&&(this.Xa=this.Xa.add(r.key))}));let e=[];return t.forEach((r=>{this.Xa.has(r)||e.push(new es(r))})),this.Xa.forEach((r=>{t.has(r)||e.push(new ts(r))})),e}cu(t){this.Ya=t.Qs,this.Xa=U();let e=this.ru(t.documents);return this.applyChanges(e,!0)}lu(){return tn.fromInitialDocuments(this.query,this.tu,this.mutatedKeys,this.Za===0,this.hasCachedResults)}},ga="SyncEngine",Po=class{constructor(t,e,r){this.query=t,this.targetId=e,this.view=r}},Vo=class{constructor(t){this.key=t,this.hu=!1}},Co=class{constructor(t,e,r,i,o,u){this.localStore=t,this.remoteStore=e,this.eventManager=r,this.sharedClientState=i,this.currentUser=o,this.maxConcurrentLimboResolutions=u,this.Pu={},this.Tu=new Ht((l=>rl(l)),gs),this.Iu=new Map,this.Eu=new Set,this.du=new Y(M.comparator),this.Au=new Map,this.Ru=new Kn,this.Vu={},this.mu=new Map,this.fu=zn.cr(),this.onlineState="Unknown",this.gu=void 0}get isPrimaryClient(){return this.gu===!0}};async function lf(n,t,e=!0){let r=Ul(n),i,o=r.Tu.get(t);return o?(r.sharedClientState.addLocalQueryTarget(o.targetId),i=o.view.lu()):i=await Ml(r,t,e,!0),i}async function hf(n,t){let e=Ul(n);await Ml(e,t,!0,!1)}async function Ml(n,t,e,r){let i=await Qd(n.localStore,Ot(t)),o=i.targetId,u=n.sharedClientState.addLocalQueryTarget(o,e),l;return r&&(l=await df(n,t,o,u==="current",i.resumeToken)),n.isPrimaryClient&&e&&Vl(n.remoteStore,i),l}async function df(n,t,e,r,i){n.pu=(T,A,R)=>(async function(k,C,G,K){let $=C.view.ru(G);$.Cs&&($=await lc(k.localStore,C.query,!1).then((({documents:E})=>C.view.ru(E,$))));let pt=K&&K.targetChanges.get(C.targetId),Nt=K&&K.targetMismatches.get(C.targetId)!=null,ut=C.view.applyChanges($,k.isPrimaryClient,pt,Nt);return yc(k,C.targetId,ut.au),ut.snapshot})(n,T,A,R);let o=await lc(n.localStore,t,!0),u=new Ro(t,o.Qs),l=u.ru(o.documents),h=jn.createSynthesizedTargetChangeForCurrentChange(e,r&&n.onlineState!=="Offline",i),f=u.applyChanges(l,n.isPrimaryClient,h);yc(n,e,f.au);let m=new Po(t,e,u);return n.Tu.set(t,m),n.Iu.has(e)?n.Iu.get(e).push(t):n.Iu.set(e,[t]),f.snapshot}async function ff(n,t,e){let r=L(n),i=r.Tu.get(t),o=r.Iu.get(i.targetId);if(o.length>1)return r.Iu.set(i.targetId,o.filter((u=>!gs(u,t)))),void r.Tu.delete(t);r.isPrimaryClient?(r.sharedClientState.removeLocalQueryTarget(i.targetId),r.sharedClientState.isActiveQueryTarget(i.targetId)||await co(r.localStore,i.targetId,!1).then((()=>{r.sharedClientState.clearQueryState(i.targetId),e&&aa(r.remoteStore,i.targetId),xo(r,i.targetId)})).catch(sn)):(xo(r,i.targetId),await co(r.localStore,i.targetId,!0))}async function mf(n,t){let e=L(n),r=e.Tu.get(t),i=e.Iu.get(r.targetId);e.isPrimaryClient&&i.length===1&&(e.sharedClientState.removeLocalQueryTarget(r.targetId),aa(e.remoteStore,r.targetId))}async function gf(n,t,e){let r=Ef(n);try{let i=await(function(u,l){let h=L(u),f=rt.now(),m=l.reduce(((R,D)=>R.add(D.key)),U()),T,A;return h.persistence.runTransaction("Locally write mutations","readwrite",(R=>{let D=Jt(),k=U();return h.Ns.getEntries(R,m).next((C=>{D=C,D.forEach(((G,K)=>{K.isValidDocument()||(k=k.add(G))}))})).next((()=>h.localDocuments.getOverlayedDocuments(R,D))).next((C=>{T=C;let G=[];for(let K of l){let $=wd(K,T.get(K.key).overlayedDocument);$!=null&&G.push(new qt(K.key,$,Xc($.value.mapValue),at.exists(!0)))}return h.mutationQueue.addMutationBatch(R,f,G,l)})).next((C=>{A=C;let G=C.applyToLocalDocumentSet(T,k);return h.documentOverlayCache.saveOverlays(R,C.batchId,G)}))})).then((()=>({batchId:A.batchId,changes:ol(T)})))})(r.localStore,t);r.sharedClientState.addPendingMutation(i.batchId),(function(u,l,h){let f=u.Vu[u.currentUser.toKey()];f||(f=new Y(q)),f=f.insert(l,h),u.Vu[u.currentUser.toKey()]=f})(r,i.batchId,e),await nr(r,i.changes),await ws(r.remoteStore)}catch(i){let o=ha(i,"Failed to persist write");e.reject(o)}}async function Ol(n,t){let e=L(n);try{let r=await zd(e.localStore,t);t.targetChanges.forEach(((i,o)=>{let u=e.Au.get(o);u&&(j(i.addedDocuments.size+i.modifiedDocuments.size+i.removedDocuments.size<=1,22616),i.addedDocuments.size>0?u.hu=!0:i.modifiedDocuments.size>0?j(u.hu,14607):i.removedDocuments.size>0&&(j(u.hu,42227),u.hu=!1))})),await nr(e,r,t)}catch(r){await sn(r)}}function pc(n,t,e){let r=L(n);if(r.isPrimaryClient&&e===0||!r.isPrimaryClient&&e===1){let i=[];r.Tu.forEach(((o,u)=>{let l=u.view.va(t);l.snapshot&&i.push(l.snapshot)})),(function(u,l){let h=L(u);h.onlineState=l;let f=!1;h.queries.forEach(((m,T)=>{for(let A of T.Sa)A.va(l)&&(f=!0)})),f&&ma(h)})(r.eventManager,t),i.length&&r.Pu.H_(i),r.onlineState=t,r.isPrimaryClient&&r.sharedClientState.setOnlineState(t)}}async function pf(n,t,e){let r=L(n);r.sharedClientState.updateQueryState(t,"rejected",e);let i=r.Au.get(t),o=i&&i.key;if(o){let u=new Y(M.comparator);u=u.insert(o,St.newNoDocument(o,F.min()));let l=U().add(o),h=new qr(F.min(),new Map,new Y(q),u,l);await Ol(r,h),r.du=r.du.remove(o),r.Au.delete(t),pa(r)}else await co(r.localStore,t,!1).then((()=>xo(r,t,e))).catch(sn)}async function yf(n,t){let e=L(n),r=t.batch.batchId;try{let i=await Gd(e.localStore,t);Ll(e,r,null),Fl(e,r),e.sharedClientState.updateMutationState(r,"acknowledged"),await nr(e,i)}catch(i){await sn(i)}}async function _f(n,t,e){let r=L(n);try{let i=await(function(u,l){let h=L(u);return h.persistence.runTransaction("Reject batch","readwrite-primary",(f=>{let m;return h.mutationQueue.lookupMutationBatch(f,l).next((T=>(j(T!==null,37113),m=T.keys(),h.mutationQueue.removeMutationBatch(f,T)))).next((()=>h.mutationQueue.performConsistencyCheck(f))).next((()=>h.documentOverlayCache.removeOverlaysForBatchId(f,m,l))).next((()=>h.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(f,m))).next((()=>h.localDocuments.getDocuments(f,m)))}))})(r.localStore,t);Ll(r,t,e),Fl(r,t),r.sharedClientState.updateMutationState(t,"rejected",e),await nr(r,i)}catch(i){await sn(i)}}function Fl(n,t){(n.mu.get(t)||[]).forEach((e=>{e.resolve()})),n.mu.delete(t)}function Ll(n,t,e){let r=L(n),i=r.Vu[r.currentUser.toKey()];if(i){let o=i.get(t);o&&(e?o.reject(e):o.resolve(),i=i.remove(t)),r.Vu[r.currentUser.toKey()]=i}}function xo(n,t,e=null){n.sharedClientState.removeLocalQueryTarget(t);for(let r of n.Iu.get(t))n.Tu.delete(r),e&&n.Pu.yu(r,e);n.Iu.delete(t),n.isPrimaryClient&&n.Ru.jr(t).forEach((r=>{n.Ru.containsKey(r)||ql(n,r)}))}function ql(n,t){n.Eu.delete(t.path.canonicalString());let e=n.du.get(t);e!==null&&(aa(n.remoteStore,e),n.du=n.du.remove(t),n.Au.delete(e),pa(n))}function yc(n,t,e){for(let r of e)r instanceof ts?(n.Ru.addReference(r.key,t),wf(n,r)):r instanceof es?(N(ga,"Document no longer in limbo: "+r.key),n.Ru.removeReference(r.key,t),n.Ru.containsKey(r.key)||ql(n,r.key)):O(19791,{wu:r})}function wf(n,t){let e=t.key,r=e.path.canonicalString();n.du.get(e)||n.Eu.has(r)||(N(ga,"New document in limbo: "+e),n.Eu.add(r),pa(n))}function pa(n){for(;n.Eu.size>0&&n.du.size<n.maxConcurrentLimboResolutions;){let t=n.Eu.values().next().value;n.Eu.delete(t);let e=new M(W.fromString(t)),r=n.fu.next();n.Au.set(r,new Vo(e)),n.du=n.du.insert(e,r),Vl(n.remoteStore,new Gn(Ot(ms(e.path)),r,"TargetPurposeLimboResolution",Qe.ce))}}async function nr(n,t,e){let r=L(n),i=[],o=[],u=[];r.Tu.isEmpty()||(r.Tu.forEach(((l,h)=>{u.push(r.pu(h,t,e).then((f=>{if((f||e)&&r.isPrimaryClient){let m=f?!f.fromCache:e?.targetChanges.get(h.targetId)?.current;r.sharedClientState.updateQueryState(h.targetId,m?"current":"not-current")}if(f){i.push(f);let m=io.As(h.targetId,f);o.push(m)}})))})),await Promise.all(u),r.Pu.H_(i),await(async function(h,f){let m=L(h);try{await m.persistence.runTransaction("notifyLocalViewChanges","readwrite",(T=>P.forEach(f,(A=>P.forEach(A.Es,(R=>m.persistence.referenceDelegate.addReference(T,A.targetId,R))).next((()=>P.forEach(A.ds,(R=>m.persistence.referenceDelegate.removeReference(T,A.targetId,R)))))))))}catch(T){if(!on(T))throw T;N(oa,"Failed to update sequence numbers: "+T)}for(let T of f){let A=T.targetId;if(!T.fromCache){let R=m.Ms.get(A),D=R.snapshotVersion,k=R.withLastLimboFreeSnapshotVersion(D);m.Ms=m.Ms.insert(A,k)}}})(r.localStore,o))}async function Tf(n,t){let e=L(n);if(!e.currentUser.isEqual(t)){N(ga,"User change. New user:",t.toKey());let r=await Rl(e.localStore,t);e.currentUser=t,(function(o,u){o.mu.forEach((l=>{l.forEach((h=>{h.reject(new V(b.CANCELLED,u))}))})),o.mu.clear()})(e,"'waitForPendingWrites' promise is rejected due to a user change."),e.sharedClientState.handleUserChange(t,r.removedBatchIds,r.addedBatchIds),await nr(e,r.Ls)}}function If(n,t){let e=L(n),r=e.Au.get(t);if(r&&r.hu)return U().add(r.key);{let i=U(),o=e.Iu.get(t);if(!o)return i;for(let u of o){let l=e.Tu.get(u);i=i.unionWith(l.view.nu)}return i}}function Ul(n){let t=L(n);return t.remoteStore.remoteSyncer.applyRemoteEvent=Ol.bind(null,t),t.remoteStore.remoteSyncer.getRemoteKeysForTarget=If.bind(null,t),t.remoteStore.remoteSyncer.rejectListen=pf.bind(null,t),t.Pu.H_=uf.bind(null,t.eventManager),t.Pu.yu=cf.bind(null,t.eventManager),t}function Ef(n){let t=L(n);return t.remoteStore.remoteSyncer.applySuccessfulWrite=yf.bind(null,t),t.remoteStore.remoteSyncer.rejectFailedWrite=_f.bind(null,t),t}var en=class{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(t){this.serializer=ys(t.databaseInfo.databaseId),this.sharedClientState=this.Du(t),this.persistence=this.Cu(t),await this.persistence.start(),this.localStore=this.vu(t),this.gcScheduler=this.Fu(t,this.localStore),this.indexBackfillerScheduler=this.Mu(t,this.localStore)}Fu(t,e){return null}Mu(t,e){return null}vu(t){return jd(this.persistence,new ao,t.initialUser,this.serializer)}Cu(t){return new $r(so.mi,this.serializer)}Du(t){return new lo}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}};en.provider={build:()=>new en};var Do=class extends en{constructor(t){super(),this.cacheSizeBytes=t}Fu(t,e){j(this.persistence.referenceDelegate instanceof Qr,46915);let r=this.persistence.referenceDelegate.garbageCollector;return new Ki(r,t.asyncQueue,e)}Cu(t){let e=this.cacheSizeBytes!==void 0?bt.withCacheSize(this.cacheSizeBytes):bt.DEFAULT;return new $r((r=>Qr.mi(r,e)),this.serializer)}};var Wn=class{async initialize(t,e){this.localStore||(this.localStore=t.localStore,this.sharedClientState=t.sharedClientState,this.datastore=this.createDatastore(e),this.remoteStore=this.createRemoteStore(e),this.eventManager=this.createEventManager(e),this.syncEngine=this.createSyncEngine(e,!t.synchronizeTabs),this.sharedClientState.onlineStateHandler=r=>pc(this.syncEngine,r,1),this.remoteStore.remoteSyncer.handleCredentialChange=Tf.bind(null,this.syncEngine),await af(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(t){return(function(){return new So})()}createDatastore(t){let e=ys(t.databaseInfo.databaseId),r=(function(o){return new po(o)})(t.databaseInfo);return(function(o,u,l,h){return new To(o,u,l,h)})(t.authCredentials,t.appCheckCredentials,r,e)}createRemoteStore(t){return(function(r,i,o,u,l){return new Eo(r,i,o,u,l)})(this.localStore,this.datastore,t.asyncQueue,(e=>pc(this.syncEngine,e,0)),(function(){return Hr.v()?new Hr:new ho})())}createSyncEngine(t,e){return(function(i,o,u,l,h,f,m){let T=new Co(i,o,u,l,h,f);return m&&(T.gu=!0),T})(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,t.initialUser,t.maxConcurrentLimboResolutions,e)}async terminate(){await(async function(e){let r=L(e);N(Pe,"RemoteStore shutting down."),r.Ea.add(5),await er(r),r.Aa.shutdown(),r.Ra.set("Unknown")})(this.remoteStore),this.datastore?.terminate(),this.eventManager?.terminate()}};Wn.provider={build:()=>new Wn};var Hn=class{constructor(t){this.observer=t,this.muted=!1}next(t){this.muted||this.observer.next&&this.Ou(this.observer.next,t)}error(t){this.muted||(this.observer.error?this.Ou(this.observer.error,t):$t("Uncaught Error in snapshot listener:",t.toString()))}Nu(){this.muted=!0}Ou(t,e){setTimeout((()=>{this.muted||t(e)}),0)}};var No=class{constructor(t){this.datastore=t,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastTransactionError=null,this.writtenDocs=new Set}async lookup(t){if(this.ensureCommitNotCalled(),this.mutations.length>0)throw this.lastTransactionError=new V(b.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;let e=await(async function(i,o){let u=L(i),l={documents:o.map((T=>zr(u.serializer,T)))},h=await u.Ho("BatchGetDocuments",u.serializer.databaseId,W.emptyPath(),l,o.length),f=new Map;h.forEach((T=>{let A=Pd(u.serializer,T);f.set(A.key.toString(),A)}));let m=[];return o.forEach((T=>{let A=f.get(T.toString());j(!!A,55234,{key:T}),m.push(A)})),m})(this.datastore,t);return e.forEach((r=>this.recordVersion(r))),e}set(t,e){this.write(e.toMutation(t,this.precondition(t))),this.writtenDocs.add(t.toString())}update(t,e){try{this.write(e.toMutation(t,this.preconditionForUpdate(t)))}catch(r){this.lastTransactionError=r}this.writtenDocs.add(t.toString())}delete(t){this.write(new Re(t,this.precondition(t))),this.writtenDocs.add(t.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,r)=>{let i=M.fromPath(r);this.mutations.push(new Lr(i,this.precondition(i)))})),await(async function(r,i){let o=L(r),u={writes:i.map((l=>Il(o.serializer,l)))};await o.Go("Commit",o.serializer.databaseId,W.emptyPath(),u)})(this.datastore,this.mutations),this.committed=!0}recordVersion(t){let e;if(t.isFoundDocument())e=t.version;else{if(!t.isNoDocument())throw O(50498,{Gu:t.constructor.name});e=F.min()}let r=this.readVersions.get(t.key.toString());if(r){if(!e.isEqual(r))throw new V(b.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(t.key.toString(),e)}precondition(t){let e=this.readVersions.get(t.toString());return!this.writtenDocs.has(t.toString())&&e?e.isEqual(F.min())?at.exists(!1):at.updateTime(e):at.none()}preconditionForUpdate(t){let e=this.readVersions.get(t.toString());if(!this.writtenDocs.has(t.toString())&&e){if(e.isEqual(F.min()))throw new V(b.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return at.updateTime(e)}return at.exists(!0)}write(t){this.ensureCommitNotCalled(),this.mutations.push(t)}ensureCommitNotCalled(){}};var ko=class{constructor(t,e,r,i,o){this.asyncQueue=t,this.datastore=e,this.options=r,this.updateFunction=i,this.deferred=o,this.zu=r.maxAttempts,this.M_=new $n(this.asyncQueue,"transaction_retry")}ju(){this.zu-=1,this.Ju()}Ju(){this.M_.p_((async()=>{let t=new No(this.datastore),e=this.Hu(t);e&&e.then((r=>{this.asyncQueue.enqueueAndForget((()=>t.commit().then((()=>{this.deferred.resolve(r)})).catch((i=>{this.Yu(i)}))))})).catch((r=>{this.Yu(r)}))}))}Hu(t){try{let e=this.updateFunction(t);return!tr(e)&&e.catch&&e.then?e:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(e){return this.deferred.reject(e),null}}Yu(t){this.zu>0&&this.Zu(t)?(this.zu-=1,this.asyncQueue.enqueueAndForget((()=>(this.Ju(),Promise.resolve())))):this.deferred.reject(t)}Zu(t){if(t?.name==="FirebaseError"){let e=t.code;return e==="aborted"||e==="failed-precondition"||e==="already-exists"||!gl(e)}return!1}};var de="FirestoreClient",Mo=class{constructor(t,e,r,i,o){this.authCredentials=t,this.appCheckCredentials=e,this.asyncQueue=r,this.databaseInfo=i,this.user=mt.UNAUTHENTICATED,this.clientId=Fn.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=o,this.authCredentials.start(r,(async u=>{N(de,"Received user=",u.uid),await this.authCredentialListener(u),this.user=u})),this.appCheckCredentials.start(r,(u=>(N(de,"Received new app check token=",u),this.appCheckCredentialListener(u,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(t){this.authCredentialListener=t}setAppCheckTokenChangeListener(t){this.appCheckCredentialListener=t}terminate(){this.asyncQueue.enterRestrictedMode();let t=new Pt;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted((async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),t.resolve()}catch(e){let r=ha(e,"Failed to shutdown persistence");t.reject(r)}})),t.promise}};async function ii(n,t){n.asyncQueue.verifyOperationInProgress(),N(de,"Initializing OfflineComponentProvider");let e=n.configuration;await t.initialize(e);let r=e.initialUser;n.setCredentialChangeListener((async i=>{r.isEqual(i)||(await Rl(t.localStore,i),r=i)})),t.persistence.setDatabaseDeletedListener((()=>n.terminate())),n._offlineComponents=t}async function _c(n,t){n.asyncQueue.verifyOperationInProgress();let e=await vf(n);N(de,"Initializing OnlineComponentProvider"),await t.initialize(e,n.configuration),n.setCredentialChangeListener((r=>fc(t.remoteStore,r))),n.setAppCheckTokenChangeListener(((r,i)=>fc(t.remoteStore,i))),n._onlineComponents=t}async function vf(n){if(!n._offlineComponents)if(n._uninitializedComponentsProvider){N(de,"Using user provided OfflineComponentProvider");try{await ii(n,n._uninitializedComponentsProvider._offline)}catch(t){let e=t;if(!(function(i){return i.name==="FirebaseError"?i.code===b.FAILED_PRECONDITION||i.code===b.UNIMPLEMENTED:!(typeof DOMException<"u"&&i instanceof DOMException)||i.code===22||i.code===20||i.code===11})(e))throw e;On("Error using user provided cache. Falling back to memory cache: "+e),await ii(n,new en)}}else N(de,"Using default OfflineComponentProvider"),await ii(n,new Do(void 0));return n._offlineComponents}async function ya(n){return n._onlineComponents||(n._uninitializedComponentsProvider?(N(de,"Using user provided OnlineComponentProvider"),await _c(n,n._uninitializedComponentsProvider._online)):(N(de,"Using default OnlineComponentProvider"),await _c(n,new Wn))),n._onlineComponents}function Af(n){return ya(n).then((t=>t.syncEngine))}function Sf(n){return ya(n).then((t=>t.datastore))}async function ns(n){let t=await ya(n),e=t.eventManager;return e.onListen=lf.bind(null,t.syncEngine),e.onUnlisten=ff.bind(null,t.syncEngine),e.onFirstRemoteStoreListen=hf.bind(null,t.syncEngine),e.onLastRemoteStoreUnlisten=mf.bind(null,t.syncEngine),e}function bf(n,t,e={}){let r=new Pt;return n.asyncQueue.enqueueAndForget((async()=>(function(o,u,l,h,f){let m=new Hn({next:A=>{m.Nu(),u.enqueueAndForget((()=>fa(o,T)));let R=A.docs.has(l);!R&&A.fromCache?f.reject(new V(b.UNAVAILABLE,"Failed to get document because the client is offline.")):R&&A.fromCache&&h&&h.source==="server"?f.reject(new V(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.)')):f.resolve(A)},error:A=>f.reject(A)}),T=new Qn(ms(l.path),m,{includeMetadataChanges:!0,qa:!0});return da(o,T)})(await ns(n),n.asyncQueue,t,e,r))),r.promise}function Rf(n,t,e={}){let r=new Pt;return n.asyncQueue.enqueueAndForget((async()=>(function(o,u,l,h,f){let m=new Hn({next:A=>{m.Nu(),u.enqueueAndForget((()=>fa(o,T))),A.fromCache&&h.source==="server"?f.reject(new V(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.)')):f.resolve(A)},error:A=>f.reject(A)}),T=new Qn(l,m,{includeMetadataChanges:!0,qa:!0});return da(o,T)})(await ns(n),n.asyncQueue,t,e,r))),r.promise}function Bl(n){let t={};return n.timeoutSeconds!==void 0&&(t.timeoutSeconds=n.timeoutSeconds),t}var wc=new Map;var Pf="firestore.googleapis.com",Tc=!0,rs=class{constructor(t){if(t.host===void 0){if(t.ssl!==void 0)throw new V(b.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=Pf,this.ssl=Tc}else this.host=t.host,this.ssl=t.ssl??Tc;if(this.isUsingEmulator=t.emulatorOptions!==void 0,this.credentials=t.credentials,this.ignoreUndefinedProperties=!!t.ignoreUndefinedProperties,this.localCache=t.localCache,t.cacheSizeBytes===void 0)this.cacheSizeBytes=Sl;else{if(t.cacheSizeBytes!==-1&&t.cacheSizeBytes<bl)throw new V(b.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=t.cacheSizeBytes}Oh("experimentalForceLongPolling",t.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",t.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!t.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:t.experimentalAutoDetectLongPolling===void 0?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!t.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=Bl(t.experimentalLongPollingOptions??{}),(function(r){if(r.timeoutSeconds!==void 0){if(isNaN(r.timeoutSeconds))throw new V(b.INVALID_ARGUMENT,`invalid long polling timeout: ${r.timeoutSeconds} (must not be NaN)`);if(r.timeoutSeconds<5)throw new V(b.INVALID_ARGUMENT,`invalid long polling timeout: ${r.timeoutSeconds} (minimum allowed value is 5)`);if(r.timeoutSeconds>30)throw new V(b.INVALID_ARGUMENT,`invalid long polling timeout: ${r.timeoutSeconds} (maximum allowed value is 30)`)}})(this.experimentalLongPollingOptions),this.useFetchStreams=!!t.useFetchStreams}isEqual(t){return this.host===t.host&&this.ssl===t.ssl&&this.credentials===t.credentials&&this.cacheSizeBytes===t.cacheSizeBytes&&this.experimentalForceLongPolling===t.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===t.experimentalAutoDetectLongPolling&&(function(r,i){return r.timeoutSeconds===i.timeoutSeconds})(this.experimentalLongPollingOptions,t.experimentalLongPollingOptions)&&this.ignoreUndefinedProperties===t.ignoreUndefinedProperties&&this.useFetchStreams===t.useFetchStreams}},Jn=class{constructor(t,e,r,i){this._authCredentials=t,this._appCheckCredentials=e,this._databaseId=r,this._app=i,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new rs({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(!this._app)throw new V(b.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app}get _initialized(){return this._settingsFrozen}get _terminated(){return this._terminateTask!=="notTerminated"}_setSettings(t){if(this._settingsFrozen)throw new V(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 rs(t),this._emulatorOptions=t.emulatorOptions||{},t.credentials!==void 0&&(this._authCredentials=(function(r){if(!r)return new ai;switch(r.type){case"firstParty":return new li(r.sessionIndex||"0",r.iamToken||null,r.authTokenFactory||null);case"provider":return r.client;default:throw new V(b.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}})(t.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return this._terminateTask==="notTerminated"&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){this._terminateTask==="notTerminated"?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return(function(e){let r=wc.get(e);r&&(N("ComponentProvider","Removing Datastore"),wc.delete(e),r.terminate())})(this),Promise.resolve()}};var Dt=class n{constructor(t,e,r){this.converter=e,this._query=r,this.type="query",this.firestore=t}withConverter(t){return new n(this.firestore,t,this._query)}},st=class n{constructor(t,e,r){this.converter=e,this._key=r,this.type="document",this.firestore=t}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new se(this.firestore,this.converter,this._key.path.popLast())}withConverter(t){return new n(this.firestore,t,this._key)}toJSON(){return{type:n._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(t,e,r){if(Zn(e,n._jsonSchema))return new n(t,r||null,new M(W.fromString(e.referencePath)))}};st._jsonSchemaVersion="firestore/documentReference/1.0",st._jsonSchema={type:nt("string",st._jsonSchemaVersion),referencePath:nt("string")};var se=class n extends Dt{constructor(t,e,r){super(t,e,ms(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){let t=this._path.popLast();return t.isEmpty()?null:new st(this.firestore,null,new M(t))}withConverter(t){return new n(this.firestore,t,this._path)}};function sm(n,t,...e){if(n=wt(n),Rc("collection","path",t),n instanceof Jn){let r=W.fromString(t,...e);return Uu(r),new se(n,null,r)}{if(!(n instanceof st||n instanceof se))throw new V(b.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let r=n._path.child(W.fromString(t,...e));return Uu(r),new se(n.firestore,null,r)}}function im(n,t,...e){if(n=wt(n),arguments.length===1&&(t=Fn.newId()),Rc("doc","path",t),n instanceof Jn){let r=W.fromString(t,...e);return qu(r),new st(n,null,new M(r))}{if(!(n instanceof st||n instanceof se))throw new V(b.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let r=n._path.child(W.fromString(t,...e));return qu(r),new st(n.firestore,n instanceof se?n.converter:null,new M(r))}}var Ic="AsyncQueue",ss=class{constructor(t=Promise.resolve()){this.Xu=[],this.ec=!1,this.tc=[],this.nc=null,this.rc=!1,this.sc=!1,this.oc=[],this.M_=new $n(this,"async_queue_retry"),this._c=()=>{let r=si();r&&N(Ic,"Visibility state changed to "+r.visibilityState),this.M_.w_()},this.ac=t;let e=si();e&&typeof e.addEventListener=="function"&&e.addEventListener("visibilitychange",this._c)}get isShuttingDown(){return this.ec}enqueueAndForget(t){this.enqueue(t)}enqueueAndForgetEvenWhileRestricted(t){this.uc(),this.cc(t)}enterRestrictedMode(t){if(!this.ec){this.ec=!0,this.sc=t||!1;let e=si();e&&typeof e.removeEventListener=="function"&&e.removeEventListener("visibilitychange",this._c)}}enqueue(t){if(this.uc(),this.ec)return new Promise((()=>{}));let e=new Pt;return this.cc((()=>this.ec&&this.sc?Promise.resolve():(t().then(e.resolve,e.reject),e.promise))).then((()=>e.promise))}enqueueRetryable(t){this.enqueueAndForget((()=>(this.Xu.push(t),this.lc())))}async lc(){if(this.Xu.length!==0){try{await this.Xu[0](),this.Xu.shift(),this.M_.reset()}catch(t){if(!on(t))throw t;N(Ic,"Operation failed with retryable error: "+t)}this.Xu.length>0&&this.M_.p_((()=>this.lc()))}}cc(t){let e=this.ac.then((()=>(this.rc=!0,t().catch((r=>{throw this.nc=r,this.rc=!1,$t("INTERNAL UNHANDLED ERROR: ",Ec(r)),r})).then((r=>(this.rc=!1,r))))));return this.ac=e,e}enqueueAfterDelay(t,e,r){this.uc(),this.oc.indexOf(t)>-1&&(e=0);let i=vo.createAndSchedule(this,t,e,r,(o=>this.hc(o)));return this.tc.push(i),i}uc(){this.nc&&O(47125,{Pc:Ec(this.nc)})}verifyOperationInProgress(){}async Tc(){let t;do t=this.ac,await t;while(t!==this.ac)}Ic(t){for(let e of this.tc)if(e.timerId===t)return!0;return!1}Ec(t){return this.Tc().then((()=>{this.tc.sort(((e,r)=>e.targetTimeMs-r.targetTimeMs));for(let e of this.tc)if(e.skipDelay(),t!=="all"&&e.timerId===t)break;return this.Tc()}))}dc(t){this.oc.push(t)}hc(t){let e=this.tc.indexOf(t);this.tc.splice(e,1)}};function Ec(n){let t=n.message||"";return n.stack&&(t=n.stack.includes(n.message)?n.stack:n.message+`
|
|
22
|
-
`+n.stack),t}function vc(n){return(function(e,r){if(typeof e!="object"||e===null)return!1;let i=e;for(let o of r)if(o in i&&typeof i[o]=="function")return!0;return!1})(n,["next","error","complete"])}var Vt=class extends Jn{constructor(t,e,r,i){super(t,e,r,i),this.type="firestore",this._queue=new ss,this._persistenceKey=i?.name||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){let t=this._firestoreClient.terminate();this._queue=new ss(t),this._firestoreClient=void 0,await t}}};function om(n,t,e){e||(e=Dr);let r=Du(n,"firestore");if(r.isInitialized(e)){let i=r.getImmediate({identifier:e}),o=r.getOptions(e);if(Ws(o,t))return i;throw new V(b.FAILED_PRECONDITION,"initializeFirestore() has already been called with different options. To avoid this error, call initializeFirestore() with the same options as when it was originally called, or call getFirestore() to return the already initialized instance.")}if(t.cacheSizeBytes!==void 0&&t.localCache!==void 0)throw new V(b.INVALID_ARGUMENT,"cache and cacheSizeBytes cannot be specified at the same time as cacheSizeBytes willbe deprecated. Instead, specify the cache size in the cache object");if(t.cacheSizeBytes!==void 0&&t.cacheSizeBytes!==-1&&t.cacheSizeBytes<bl)throw new V(b.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");return t.host&&Qs(t.host)&&Su(t.host),r.initialize({options:t,instanceIdentifier:e})}function un(n){if(n._terminated)throw new V(b.FAILED_PRECONDITION,"The client has already been terminated.");return n._firestoreClient||Vf(n),n._firestoreClient}function Vf(n){let t=n._freezeSettings(),e=(function(i,o,u,l){return new pi(i,o,u,l.host,l.ssl,l.experimentalForceLongPolling,l.experimentalAutoDetectLongPolling,Bl(l.experimentalLongPollingOptions),l.useFetchStreams,l.isUsingEmulator)})(n._databaseId,n._app?.options.appId||"",n._persistenceKey,t);n._componentsProvider||t.localCache?._offlineComponentProvider&&t.localCache?._onlineComponentProvider&&(n._componentsProvider={_offline:t.localCache._offlineComponentProvider,_online:t.localCache._onlineComponentProvider}),n._firestoreClient=new Mo(n._authCredentials,n._appCheckCredentials,n._queue,e,n._componentsProvider&&(function(i){let o=i?._online.build();return{_offline:i?._offline.build(o),_online:o}})(n._componentsProvider))}var Kt=class n{constructor(t){this._byteString=t}static fromBase64String(t){try{return new n(gt.fromBase64String(t))}catch(e){throw new V(b.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(t){return new n(gt.fromUint8Array(t))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(t){return this._byteString.isEqual(t._byteString)}toJSON(){return{type:n._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(t){if(Zn(t,n._jsonSchema))return n.fromBase64String(t.bytes)}};Kt._jsonSchemaVersion="firestore/bytes/1.0",Kt._jsonSchema={type:nt("string",Kt._jsonSchemaVersion),bytes:nt("string")};var Xt=class{constructor(...t){for(let e=0;e<t.length;++e)if(t[e].length===0)throw new V(b.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new vt(t)}isEqual(t){return this._internalPath.isEqual(t._internalPath)}};function am(){return new Xt(fi)}var Ve=class{constructor(t){this._methodName=t}};var ie=class n{constructor(t,e){if(!isFinite(t)||t<-90||t>90)throw new V(b.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+t);if(!isFinite(e)||e<-180||e>180)throw new V(b.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+e);this._lat=t,this._long=e}get latitude(){return this._lat}get longitude(){return this._long}isEqual(t){return this._lat===t._lat&&this._long===t._long}_compareTo(t){return q(this._lat,t._lat)||q(this._long,t._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:n._jsonSchemaVersion}}static fromJSON(t){if(Zn(t,n._jsonSchema))return new n(t.latitude,t.longitude)}};ie._jsonSchemaVersion="firestore/geoPoint/1.0",ie._jsonSchema={type:nt("string",ie._jsonSchemaVersion),latitude:nt("number"),longitude:nt("number")};var oe=class n{constructor(t){this._values=(t||[]).map((e=>e))}toArray(){return this._values.map((t=>t))}isEqual(t){return(function(r,i){if(r.length!==i.length)return!1;for(let o=0;o<r.length;++o)if(r[o]!==i[o])return!1;return!0})(this._values,t._values)}toJSON(){return{type:n._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(t){if(Zn(t,n._jsonSchema)){if(Array.isArray(t.vectorValues)&&t.vectorValues.every((e=>typeof e=="number")))return new n(t.vectorValues);throw new V(b.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}};oe._jsonSchemaVersion="firestore/vectorValue/1.0",oe._jsonSchema={type:nt("string",oe._jsonSchemaVersion),vectorValues:nt("object")};var Cf=/^__.*__$/,Oo=class{constructor(t,e,r){this.data=t,this.fieldMask=e,this.fieldTransforms=r}toMutation(t,e){return this.fieldMask!==null?new qt(t,this.data,this.fieldMask,e,this.fieldTransforms):new be(t,this.data,e,this.fieldTransforms)}},is=class{constructor(t,e,r){this.data=t,this.fieldMask=e,this.fieldTransforms=r}toMutation(t,e){return new qt(t,this.data,this.fieldMask,e,this.fieldTransforms)}};function jl(n){switch(n){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw O(40011,{Ac:n})}}var os=class n{constructor(t,e,r,i,o,u){this.settings=t,this.databaseId=e,this.serializer=r,this.ignoreUndefinedProperties=i,o===void 0&&this.Rc(),this.fieldTransforms=o||[],this.fieldMask=u||[]}get path(){return this.settings.path}get Ac(){return this.settings.Ac}Vc(t){return new n({...this.settings,...t},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}mc(t){let e=this.path?.child(t),r=this.Vc({path:e,fc:!1});return r.gc(t),r}yc(t){let e=this.path?.child(t),r=this.Vc({path:e,fc:!1});return r.Rc(),r}wc(t){return this.Vc({path:void 0,fc:!0})}Sc(t){return as(t,this.settings.methodName,this.settings.bc||!1,this.path,this.settings.Dc)}contains(t){return this.fieldMask.find((e=>t.isPrefixOf(e)))!==void 0||this.fieldTransforms.find((e=>t.isPrefixOf(e.field)))!==void 0}Rc(){if(this.path)for(let t=0;t<this.path.length;t++)this.gc(this.path.get(t))}gc(t){if(t.length===0)throw this.Sc("Document fields must not be empty");if(jl(this.Ac)&&Cf.test(t))throw this.Sc('Document fields cannot begin and end with "__"')}},Fo=class{constructor(t,e,r){this.databaseId=t,this.ignoreUndefinedProperties=e,this.serializer=r||ys(t)}Cc(t,e,r,i=!1){return new os({Ac:t,methodName:e,Dc:r,path:vt.emptyPath(),fc:!1,bc:i},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}};function cn(n){let t=n._freezeSettings(),e=ys(n._databaseId);return new Fo(n._databaseId,!!t.ignoreUndefinedProperties,e)}function _a(n,t,e,r,i,o={}){let u=n.Cc(o.merge||o.mergeFields?2:0,t,e,i);Ia("Data must be an object, but it was:",u,r);let l=zl(r,u),h,f;if(o.merge)h=new Rt(u.fieldMask),f=u.fieldTransforms;else if(o.mergeFields){let m=[];for(let T of o.mergeFields){let A=Uo(t,T,e);if(!u.contains(A))throw new V(b.INVALID_ARGUMENT,`Field '${A}' is specified in your field mask but missing from your input data.`);$l(m,A)||m.push(A)}h=new Rt(m),f=u.fieldTransforms.filter((T=>h.covers(T.field)))}else h=null,f=u.fieldTransforms;return new Oo(new Tt(l),h,f)}var Xn=class n extends Ve{_toFieldTransform(t){if(t.Ac!==2)throw t.Ac===1?t.Sc(`${this._methodName}() can only appear at the top level of your update data`):t.Sc(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return t.fieldMask.push(t.path),null}isEqual(t){return t instanceof n}};function xf(n,t,e){return new os({Ac:3,Dc:t.settings.Dc,methodName:n._methodName,fc:e},t.databaseId,t.serializer,t.ignoreUndefinedProperties)}var Lo=class n extends Ve{_toFieldTransform(t){return new Fr(t.path,new Ae)}isEqual(t){return t instanceof n}},qo=class n extends Ve{constructor(t,e){super(t),this.vc=e}_toFieldTransform(t){let e=xf(this,t,!0),r=this.vc.map((o=>ln(o,e))),i=new le(r);return new Fr(t.path,i)}isEqual(t){return t instanceof n&&Ws(this.vc,t.vc)}};function wa(n,t,e,r){let i=n.Cc(1,t,e);Ia("Data must be an object, but it was:",i,r);let o=[],u=Tt.empty();fe(r,((h,f)=>{let m=Ea(t,h,e);f=wt(f);let T=i.yc(m);if(f instanceof Xn)o.push(m);else{let A=ln(f,T);A!=null&&(o.push(m),u.set(m,A))}}));let l=new Rt(o);return new is(u,l,i.fieldTransforms)}function Ta(n,t,e,r,i,o){let u=n.Cc(1,t,e),l=[Uo(t,r,e)],h=[i];if(o.length%2!=0)throw new V(b.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let A=0;A<o.length;A+=2)l.push(Uo(t,o[A])),h.push(o[A+1]);let f=[],m=Tt.empty();for(let A=l.length-1;A>=0;--A)if(!$l(f,l[A])){let R=l[A],D=h[A];D=wt(D);let k=u.yc(R);if(D instanceof Xn)f.push(R);else{let C=ln(D,k);C!=null&&(f.push(R),m.set(R,C))}}let T=new Rt(f);return new is(m,T,u.fieldTransforms)}function Gl(n,t,e,r=!1){return ln(e,n.Cc(r?4:3,t))}function ln(n,t){if(Kl(n=wt(n)))return Ia("Unsupported field value:",t,n),zl(n,t);if(n instanceof Ve)return(function(r,i){if(!jl(i.Ac))throw i.Sc(`${r._methodName}() can only be used with update() and set()`);if(!i.path)throw i.Sc(`${r._methodName}() is not currently supported inside arrays`);let o=r._toFieldTransform(i);o&&i.fieldTransforms.push(o)})(n,t),null;if(n===void 0&&t.ignoreUndefinedProperties)return null;if(t.path&&t.fieldMask.push(t.path),n instanceof Array){if(t.settings.fc&&t.Ac!==4)throw t.Sc("Nested arrays are not supported");return(function(r,i){let o=[],u=0;for(let l of r){let h=ln(l,i.wc(u));h==null&&(h={nullValue:"NULL_VALUE"}),o.push(h),u++}return{arrayValue:{values:o}}})(n,t)}return(function(r,i){if((r=wt(r))===null)return{nullValue:"NULL_VALUE"};if(typeof r=="number")return md(i.serializer,r);if(typeof r=="boolean")return{booleanValue:r};if(typeof r=="string")return{stringValue:r};if(r instanceof Date){let o=rt.fromDate(r);return{timestampValue:Gr(i.serializer,o)}}if(r instanceof rt){let o=new rt(r.seconds,1e3*Math.floor(r.nanoseconds/1e3));return{timestampValue:Gr(i.serializer,o)}}if(r instanceof ie)return{geoPointValue:{latitude:r.latitude,longitude:r.longitude}};if(r instanceof Kt)return{bytesValue:yl(i.serializer,r._byteString)};if(r instanceof st){let o=i.databaseId,u=r.firestore._databaseId;if(!u.isEqual(o))throw i.Sc(`Document reference is for database ${u.projectId}/${u.database} but should be for database ${o.projectId}/${o.database}`);return{referenceValue:ia(r.firestore._databaseId||i.databaseId,r._key.path)}}if(r instanceof oe)return(function(u,l){return{mapValue:{fields:{[Yo]:{stringValue:Zo},[We]:{arrayValue:{values:u.toArray().map((f=>{if(typeof f!="number")throw l.Sc("VectorValues must only contain numeric values.");return sa(l.serializer,f)}))}}}}}})(r,i);throw i.Sc(`Unsupported field value: ${hs(r)}`)})(n,t)}function zl(n,t){let e={};return Gc(n)?t.path&&t.path.length>0&&t.fieldMask.push(t.path):fe(n,((r,i)=>{let o=ln(i,t.mc(r));o!=null&&(e[r]=o)})),{mapValue:{fields:e}}}function Kl(n){return!(typeof n!="object"||n===null||n instanceof Array||n instanceof Date||n instanceof rt||n instanceof ie||n instanceof Kt||n instanceof st||n instanceof Ve||n instanceof oe)}function Ia(n,t,e){if(!Kl(e)||!Pc(e)){let r=hs(e);throw r==="an object"?t.Sc(n+" a custom object"):t.Sc(n+" "+r)}}function Uo(n,t,e){if((t=wt(t))instanceof Xt)return t._internalPath;if(typeof t=="string")return Ea(n,t);throw as("Field path arguments must be of type string or ",n,!1,void 0,e)}var Df=new RegExp("[~\\*/\\[\\]]");function Ea(n,t,e){if(t.search(Df)>=0)throw as(`Invalid field path (${t}). Paths must not contain '~', '*', '/', '[', or ']'`,n,!1,void 0,e);try{return new Xt(...t.split("."))._internalPath}catch{throw as(`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,n,!1,void 0,e)}}function as(n,t,e,r,i){let o=r&&!r.isEmpty(),u=i!==void 0,l=`Function ${t}() called with invalid data`;e&&(l+=" (via `toFirestore()`)"),l+=". ";let h="";return(o||u)&&(h+=" (found",o&&(h+=` in field ${r}`),u&&(h+=` in document ${i}`),h+=")"),new V(b.INVALID_ARGUMENT,l+n+h)}function $l(n,t){return n.some((e=>e.isEqual(t)))}var Ce=class{constructor(t,e,r,i,o){this._firestore=t,this._userDataWriter=e,this._key=r,this._document=i,this._converter=o}get id(){return this._key.path.lastSegment()}get ref(){return new st(this._firestore,this._converter,this._key)}exists(){return this._document!==null}data(){if(this._document){if(this._converter){let t=new Bo(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(t)}return this._userDataWriter.convertValue(this._document.data.value)}}get(t){if(this._document){let e=this._document.data.field(Ts("DocumentSnapshot.get",t));if(e!==null)return this._userDataWriter.convertValue(e)}}},Bo=class extends Ce{data(){return super.data()}};function Ts(n,t){return typeof t=="string"?Ea(n,t):t instanceof Xt?t._internalPath:t._delegate._internalPath}function Ql(n){if(n.limitType==="L"&&n.explicitOrderBy.length===0)throw new V(b.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}var Yn=class{},xe=class extends Yn{};function um(n,t,...e){let r=[];t instanceof Yn&&r.push(t),r=r.concat(e),(function(o){let u=o.filter((h=>h instanceof jo)).length,l=o.filter((h=>h instanceof us)).length;if(u>1||u>0&&l>0)throw new V(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(...)))`.")})(r);for(let i of r)n=i._apply(n);return n}var us=class n extends xe{constructor(t,e,r){super(),this._field=t,this._op=e,this._value=r,this.type="where"}static _create(t,e,r){return new n(t,e,r)}_apply(t){let e=this._parse(t);return Hl(t._query,e),new Dt(t.firestore,t.converter,Vi(t._query,e))}_parse(t){let e=cn(t.firestore);return(function(o,u,l,h,f,m,T){let A;if(f.isKeyField()){if(m==="array-contains"||m==="array-contains-any")throw new V(b.INVALID_ARGUMENT,`Invalid Query. You can't perform '${m}' queries on documentId().`);if(m==="in"||m==="not-in"){Sc(T,m);let D=[];for(let k of T)D.push(Ac(h,o,k));A={arrayValue:{values:D}}}else A=Ac(h,o,T)}else m!=="in"&&m!=="not-in"&&m!=="array-contains-any"||Sc(T,m),A=Gl(l,u,T,m==="in"||m==="not-in");return et.create(f,m,A)})(t._query,"where",e,t.firestore._databaseId,this._field,this._op,this._value)}};function cm(n,t,e){let r=t,i=Ts("where",n);return us._create(i,r,e)}var jo=class n extends Yn{constructor(t,e){super(),this.type=t,this._queryConstraints=e}static _create(t,e){return new n(t,e)}_parse(t){let e=this._queryConstraints.map((r=>r._parse(t))).filter((r=>r.getFilters().length>0));return e.length===1?e[0]:xt.create(e,this._getOperator())}_apply(t){let e=this._parse(t);return e.getFilters().length===0?t:((function(i,o){let u=i,l=o.getFlattenedFilters();for(let h of l)Hl(u,h),u=Vi(u,h)})(t._query,e),new Dt(t.firestore,t.converter,Vi(t._query,e)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return this.type==="and"?"and":"or"}};var Go=class n extends xe{constructor(t,e){super(),this._field=t,this._direction=e,this.type="orderBy"}static _create(t,e){return new n(t,e)}_apply(t){let e=(function(i,o,u){if(i.startAt!==null)throw new V(b.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(i.endAt!==null)throw new V(b.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new ve(o,u)})(t._query,this._field,this._direction);return new Dt(t.firestore,t.converter,(function(i,o){let u=i.explicitOrderBy.concat([o]);return new Lt(i.path,i.collectionGroup,u,i.filters.slice(),i.limit,i.limitType,i.startAt,i.endAt)})(t._query,e))}};function lm(n,t="asc"){let e=t,r=Ts("orderBy",n);return Go._create(r,e)}var zo=class n extends xe{constructor(t,e,r){super(),this.type=t,this._limit=e,this._limitType=r}static _create(t,e,r){return new n(t,e,r)}_apply(t){return new Dt(t.firestore,t.converter,Or(t._query,this._limit,this._limitType))}};function hm(n){return Fh("limit",n),zo._create("limit",n,"F")}var cs=class n extends xe{constructor(t,e,r){super(),this.type=t,this._docOrFields=e,this._inclusive=r}static _create(t,e,r){return new n(t,e,r)}_apply(t){let e=Wl(t,this.type,this._docOrFields,this._inclusive);return new Dt(t.firestore,t.converter,(function(i,o){return new Lt(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,o,i.endAt)})(t._query,e))}};function dm(...n){return cs._create("startAt",n,!0)}function fm(...n){return cs._create("startAfter",n,!1)}var Ko=class n extends xe{constructor(t,e,r){super(),this.type=t,this._docOrFields=e,this._inclusive=r}static _create(t,e,r){return new n(t,e,r)}_apply(t){let e=Wl(t,this.type,this._docOrFields,this._inclusive);return new Dt(t.firestore,t.converter,(function(i,o){return new Lt(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,i.startAt,o)})(t._query,e))}};function mm(...n){return Ko._create("endAt",n,!0)}function Wl(n,t,e,r){if(e[0]=wt(e[0]),e[0]instanceof Ce)return(function(o,u,l,h,f){if(!h)throw new V(b.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${l}().`);let m=[];for(let T of Ge(o))if(T.field.isKeyField())m.push(kr(u,h.key));else{let A=h.data.field(T.field);if(ds(A))throw new V(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(A===null){let R=T.field.canonicalString();throw new V(b.INVALID_ARGUMENT,`Invalid query. You are trying to start or end a query using a document for which the field '${R}' (used as the orderBy) does not exist.`)}m.push(A)}return new ce(m,f)})(n._query,n.firestore._databaseId,t,e[0]._document,r);{let i=cn(n.firestore);return(function(u,l,h,f,m,T){let A=u.explicitOrderBy;if(m.length>A.length)throw new V(b.INVALID_ARGUMENT,`Too many arguments provided to ${f}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);let R=[];for(let D=0;D<m.length;D++){let k=m[D];if(A[D].field.isKeyField()){if(typeof k!="string")throw new V(b.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${f}(), but got a ${typeof k}`);if(!ra(u)&&k.indexOf("/")!==-1)throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${f}() must be a plain document ID, but '${k}' contains a slash.`);let C=u.path.child(W.fromString(k));if(!M.isDocumentKey(C))throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${f}() must result in a valid document path, but '${C}' is not because it contains an odd number of segments.`);let G=new M(C);R.push(kr(l,G))}else{let C=Gl(h,f,k);R.push(C)}}return new ce(R,T)})(n._query,n.firestore._databaseId,i,t,e,r)}}function Ac(n,t,e){if(typeof(e=wt(e))=="string"){if(e==="")throw new V(b.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!ra(t)&&e.indexOf("/")!==-1)throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${e}' contains a '/' character.`);let r=t.path.child(W.fromString(e));if(!M.isDocumentKey(r))throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);return kr(n,new M(r))}if(e instanceof st)return kr(n,e._key);throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${hs(e)}.`)}function Sc(n,t){if(!Array.isArray(n)||n.length===0)throw new V(b.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function Hl(n,t){let e=(function(i,o){for(let u of i)for(let l of u.getFlattenedFilters())if(o.indexOf(l.op)>=0)return l.op;return null})(n.filters,(function(i){switch(i){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(e!==null)throw e===t.op?new V(b.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new V(b.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${e.toString()}' filters.`)}var ls=class{convertValue(t,e="none"){switch(ue(t)){case 0:return null;case 1:return t.booleanValue;case 2:return J(t.integerValue||t.doubleValue);case 3:return this.convertTimestamp(t.timestampValue);case 4:return this.convertServerTimestamp(t,e);case 5:return t.stringValue;case 6:return this.convertBytes(Wt(t.bytesValue));case 7:return this.convertReference(t.referenceValue);case 8:return this.convertGeoPoint(t.geoPointValue);case 9:return this.convertArray(t.arrayValue,e);case 11:return this.convertObject(t.mapValue,e);case 10:return this.convertVectorValue(t.mapValue);default:throw O(62114,{value:t})}}convertObject(t,e){return this.convertObjectMap(t.fields,e)}convertObjectMap(t,e="none"){let r={};return fe(t,((i,o)=>{r[i]=this.convertValue(o,e)})),r}convertVectorValue(t){let e=t.fields?.[We].arrayValue?.values?.map((r=>J(r.doubleValue)));return new oe(e)}convertGeoPoint(t){return new ie(J(t.latitude),J(t.longitude))}convertArray(t,e){return(t.values||[]).map((r=>this.convertValue(r,e)))}convertServerTimestamp(t,e){switch(e){case"previous":let r=fs(t);return r==null?null:this.convertValue(r,e);case"estimate":return this.convertTimestamp(Un(t));default:return null}}convertTimestamp(t){let e=Qt(t);return new rt(e.seconds,e.nanos)}convertDocumentKey(t,e){let r=W.fromString(t);j(Al(r),9688,{name:t});let i=new Nr(r.get(1),r.get(3)),o=new M(r.popFirst(5));return i.isEqual(e)||$t(`Document ${o} contains a document reference within a different database (${i.projectId}/${i.database}) which is not supported. It will be treated as a reference in the current database (${e.projectId}/${e.database}) instead.`),o}};function va(n,t,e){let r;return r=n?e&&(e.merge||e.mergeFields)?n.toFirestore(t,e):n.toFirestore(t):t,r}var $o=class extends ls{constructor(t){super(),this.firestore=t}convertBytes(t){return new Kt(t)}convertReference(t){let e=this.convertDocumentKey(t,this.firestore._databaseId);return new st(this.firestore,null,e)}};var ne=class{constructor(t,e){this.hasPendingWrites=t,this.fromCache=e}isEqual(t){return this.hasPendingWrites===t.hasPendingWrites&&this.fromCache===t.fromCache}},ae=class n extends Ce{constructor(t,e,r,i,o,u){super(t,e,r,i,u),this._firestore=t,this._firestoreImpl=t,this.metadata=o}exists(){return super.exists()}data(t={}){if(this._document){if(this._converter){let e=new Ke(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(e,t)}return this._userDataWriter.convertValue(this._document.data.value,t.serverTimestamps)}}get(t,e={}){if(this._document){let r=this._document.data.field(Ts("DocumentSnapshot.get",t));if(r!==null)return this._userDataWriter.convertValue(r,e.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new V(b.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let t=this._document,e={};return e.type=n._jsonSchemaVersion,e.bundle="",e.bundleSource="DocumentSnapshot",e.bundleName=this._key.toString(),!t||!t.isValidDocument()||!t.isFoundDocument()?e:(this._userDataWriter.convertObjectMap(t.data.value.mapValue.fields,"previous"),e.bundle=(this._firestore,this.ref.path,"NOT SUPPORTED"),e)}};ae._jsonSchemaVersion="firestore/documentSnapshot/1.0",ae._jsonSchema={type:nt("string",ae._jsonSchemaVersion),bundleSource:nt("string","DocumentSnapshot"),bundleName:nt("string"),bundle:nt("string")};var Ke=class extends ae{data(t={}){return super.data(t)}},Te=class n{constructor(t,e,r,i){this._firestore=t,this._userDataWriter=e,this._snapshot=i,this.metadata=new ne(i.hasPendingWrites,i.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 this.size===0}forEach(t,e){this._snapshot.docs.forEach((r=>{t.call(e,new Ke(this._firestore,this._userDataWriter,r.key,r,new ne(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))}))}docChanges(t={}){let e=!!t.includeMetadataChanges;if(e&&this._snapshot.excludesMetadataChanges)throw new V(b.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===e||(this._cachedChanges=(function(i,o){if(i._snapshot.oldDocs.isEmpty()){let u=0;return i._snapshot.docChanges.map((l=>{let h=new Ke(i._firestore,i._userDataWriter,l.doc.key,l.doc,new ne(i._snapshot.mutatedKeys.has(l.doc.key),i._snapshot.fromCache),i.query.converter);return l.doc,{type:"added",doc:h,oldIndex:-1,newIndex:u++}}))}{let u=i._snapshot.oldDocs;return i._snapshot.docChanges.filter((l=>o||l.type!==3)).map((l=>{let h=new Ke(i._firestore,i._userDataWriter,l.doc.key,l.doc,new ne(i._snapshot.mutatedKeys.has(l.doc.key),i._snapshot.fromCache),i.query.converter),f=-1,m=-1;return l.type!==0&&(f=u.indexOf(l.doc.key),u=u.delete(l.doc.key)),l.type!==1&&(u=u.add(l.doc),m=u.indexOf(l.doc.key)),{type:Nf(l.type),doc:h,oldIndex:f,newIndex:m}}))}})(this,e),this._cachedChangesIncludeMetadataChanges=e),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new V(b.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let t={};t.type=n._jsonSchemaVersion,t.bundleSource="QuerySnapshot",t.bundleName=Fn.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let e=[],r=[],i=[];return this.docs.forEach((o=>{o._document!==null&&(e.push(o._document),r.push(this._userDataWriter.convertObjectMap(o._document.data.value.mapValue.fields,"previous")),i.push(o.ref.path))})),t.bundle=(this._firestore,this.query._query,t.bundleName,"NOT SUPPORTED"),t}};function Nf(n){switch(n){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return O(61501,{type:n})}}function gm(n){n=It(n,st);let t=It(n.firestore,Vt);return bf(un(t),n._key).then((e=>Jl(t,n,e)))}Te._jsonSchemaVersion="firestore/querySnapshot/1.0",Te._jsonSchema={type:nt("string",Te._jsonSchemaVersion),bundleSource:nt("string","QuerySnapshot"),bundleName:nt("string"),bundle:nt("string")};var nn=class extends ls{constructor(t){super(),this.firestore=t}convertBytes(t){return new Kt(t)}convertReference(t){let e=this.convertDocumentKey(t,this.firestore._databaseId);return new st(this.firestore,null,e)}};function pm(n){n=It(n,Dt);let t=It(n.firestore,Vt),e=un(t),r=new nn(t);return Ql(n._query),Rf(e,n._query).then((i=>new Te(t,r,n,i)))}function ym(n,t,e){n=It(n,st);let r=It(n.firestore,Vt),i=va(n.converter,t,e);return Is(r,[_a(cn(r),"setDoc",n._key,i,n.converter!==null,e).toMutation(n._key,at.none())])}function _m(n,t,e,...r){n=It(n,st);let i=It(n.firestore,Vt),o=cn(i),u;return u=typeof(t=wt(t))=="string"||t instanceof Xt?Ta(o,"updateDoc",n._key,t,e,r):wa(o,"updateDoc",n._key,t),Is(i,[u.toMutation(n._key,at.exists(!0))])}function wm(n){return Is(It(n.firestore,Vt),[new Re(n._key,at.none())])}function Tm(n,...t){n=wt(n);let e={includeMetadataChanges:!1,source:"default"},r=0;typeof t[r]!="object"||vc(t[r])||(e=t[r++]);let i={includeMetadataChanges:e.includeMetadataChanges,source:e.source};if(vc(t[r])){let h=t[r];t[r]=h.next?.bind(h),t[r+1]=h.error?.bind(h),t[r+2]=h.complete?.bind(h)}let o,u,l;if(n instanceof st)u=It(n.firestore,Vt),l=ms(n._key.path),o={next:h=>{t[r]&&t[r](Jl(u,n,h))},error:t[r+1],complete:t[r+2]};else{let h=It(n,Dt);u=It(h.firestore,Vt),l=h._query;let f=new nn(u);o={next:m=>{t[r]&&t[r](new Te(u,f,h,m))},error:t[r+1],complete:t[r+2]},Ql(n._query)}return(function(f,m,T,A){let R=new Hn(A),D=new Qn(m,R,T);return f.asyncQueue.enqueueAndForget((async()=>da(await ns(f),D))),()=>{R.Nu(),f.asyncQueue.enqueueAndForget((async()=>fa(await ns(f),D)))}})(un(u),l,i,o)}function Is(n,t){return(function(r,i){let o=new Pt;return r.asyncQueue.enqueueAndForget((async()=>gf(await Af(r),i,o))),o.promise})(un(n),t)}function Jl(n,t,e){let r=e.docs.get(t._key),i=new nn(n);return new ae(n,i,t._key,r,new ne(e.hasPendingWrites,e.fromCache),t.converter)}var kf={maxAttempts:5};var Qo=class{constructor(t,e){this._firestore=t,this._commitHandler=e,this._mutations=[],this._committed=!1,this._dataReader=cn(t)}set(t,e,r){this._verifyNotCommitted();let i=re(t,this._firestore),o=va(i.converter,e,r),u=_a(this._dataReader,"WriteBatch.set",i._key,o,i.converter!==null,r);return this._mutations.push(u.toMutation(i._key,at.none())),this}update(t,e,r,...i){this._verifyNotCommitted();let o=re(t,this._firestore),u;return u=typeof(e=wt(e))=="string"||e instanceof Xt?Ta(this._dataReader,"WriteBatch.update",o._key,e,r,i):wa(this._dataReader,"WriteBatch.update",o._key,e),this._mutations.push(u.toMutation(o._key,at.exists(!0))),this}delete(t){this._verifyNotCommitted();let e=re(t,this._firestore);return this._mutations=this._mutations.concat(new Re(e._key,at.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,this._mutations.length>0?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new V(b.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}};function re(n,t){if((n=wt(n)).firestore!==t)throw new V(b.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return n}var Wo=class{constructor(t,e){this._firestore=t,this._transaction=e,this._dataReader=cn(t)}get(t){let e=re(t,this._firestore),r=new $o(this._firestore);return this._transaction.lookup([e._key]).then((i=>{if(!i||i.length!==1)return O(24041);let o=i[0];if(o.isFoundDocument())return new Ce(this._firestore,r,o.key,o,e.converter);if(o.isNoDocument())return new Ce(this._firestore,r,e._key,null,e.converter);throw O(18433,{doc:o})}))}set(t,e,r){let i=re(t,this._firestore),o=va(i.converter,e,r),u=_a(this._dataReader,"Transaction.set",i._key,o,i.converter!==null,r);return this._transaction.set(i._key,u),this}update(t,e,r,...i){let o=re(t,this._firestore),u;return u=typeof(e=wt(e))=="string"||e instanceof Xt?Ta(this._dataReader,"Transaction.update",o._key,e,r,i):wa(this._dataReader,"Transaction.update",o._key,e),this._transaction.update(o._key,u),this}delete(t){let e=re(t,this._firestore);return this._transaction.delete(e._key),this}};var Ho=class extends Wo{constructor(t,e){super(t,e),this._firestore=t}get(t){let e=re(t,this._firestore),r=new nn(this._firestore);return super.get(t).then((i=>new ae(this._firestore,r,e._key,i._document,new ne(!1,!1),e.converter)))}};function Im(n,t,e){n=It(n,Vt);let r={...kf,...e};return(function(o){if(o.maxAttempts<1)throw new V(b.INVALID_ARGUMENT,"Max attempts must be at least 1")})(r),(function(o,u,l){let h=new Pt;return o.asyncQueue.enqueueAndForget((async()=>{let f=await Sf(o);new ko(o.asyncQueue,f,l,u,h).ju()})),h.promise})(un(n),(i=>t(new Ho(n,i))),r)}function Em(){return new Xn("deleteField")}function vm(){return new Lo("serverTimestamp")}function Am(...n){return new qo("arrayUnion",n)}function Sm(n){return un(n=It(n,Vt)),new Qo(n,(t=>Is(n,t)))}(function(t,e=!0){(function(i){rn=i})(ku),xu(new Vu("firestore",((r,{instanceIdentifier:i,options:o})=>{let u=r.getProvider("app").getImmediate(),l=new Vt(new ui(r.getProvider("auth-internal")),new hi(u,r.getProvider("app-check-internal")),(function(f,m){if(!Object.prototype.hasOwnProperty.apply(f.options,["projectId"]))throw new V(b.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new Nr(f.options.projectId,m)})(u,i),u);return o={useFetchStreams:e,...o},l._setSettings(o),l}),"PUBLIC").setMultipleInstances(!0)),Hs(Fu,Lu,t),Hs(Fu,Lu,"esm2020")})();export{rt as a,sm as b,im as c,om as d,Xt as e,am as f,um as g,cm as h,lm as i,hm as j,dm as k,fm as l,mm as m,gm as n,pm as o,ym as p,_m as q,wm as r,Tm as s,Im as t,Em as u,vm as v,Am as w,Sm as x};
|
|
21
|
+
)`}copy(t,e){let r=new n;return r.comparator=this.comparator,r.keyedMap=t,r.sortedSet=e,r}};var ts=class{constructor(){this.ga=new Y(M.comparator)}track(t){let e=t.doc.key,r=this.ga.get(e);r?t.type!==0&&r.type===3?this.ga=this.ga.insert(e,t):t.type===3&&r.type!==1?this.ga=this.ga.insert(e,{type:r.type,doc:t.doc}):t.type===2&&r.type===2?this.ga=this.ga.insert(e,{type:2,doc:t.doc}):t.type===2&&r.type===0?this.ga=this.ga.insert(e,{type:0,doc:t.doc}):t.type===1&&r.type===0?this.ga=this.ga.remove(e):t.type===1&&r.type===2?this.ga=this.ga.insert(e,{type:1,doc:r.doc}):t.type===0&&r.type===1?this.ga=this.ga.insert(e,{type:2,doc:t.doc}):O(63341,{Rt:t,pa:r}):this.ga=this.ga.insert(e,t)}ya(){let t=[];return this.ga.inorderTraversal(((e,r)=>{t.push(r)})),t}},en=class n{constructor(t,e,r,i,o,u,l,h,f){this.query=t,this.docs=e,this.oldDocs=r,this.docChanges=i,this.mutatedKeys=o,this.fromCache=u,this.syncStateChanged=l,this.excludesMetadataChanges=h,this.hasCachedResults=f}static fromInitialDocuments(t,e,r,i,o){let u=[];return e.forEach((l=>{u.push({type:0,doc:l})})),new n(t,e,Zr.emptySet(e),u,r,i,!0,!1,o)}get hasPendingWrites(){return!this.mutatedKeys.isEmpty()}isEqual(t){if(!(this.fromCache===t.fromCache&&this.hasCachedResults===t.hasCachedResults&&this.syncStateChanged===t.syncStateChanged&&this.mutatedKeys.isEqual(t.mutatedKeys)&&ps(this.query,t.query)&&this.docs.isEqual(t.docs)&&this.oldDocs.isEqual(t.oldDocs)))return!1;let e=this.docChanges,r=t.docChanges;if(e.length!==r.length)return!1;for(let i=0;i<e.length;i++)if(e[i].type!==r[i].type||!e[i].doc.isEqual(r[i].doc))return!1;return!0}};var So=class{constructor(){this.wa=void 0,this.Sa=[]}ba(){return this.Sa.some((t=>t.Da()))}},bo=class{constructor(){this.queries=_c(),this.onlineState="Unknown",this.Ca=new Set}terminate(){(function(e,r){let i=L(e),o=i.queries;i.queries=_c(),o.forEach(((u,l)=>{for(let h of l.Sa)h.onError(r)}))})(this,new V(b.ABORTED,"Firestore shutting down"))}};function _c(){return new Jt((n=>al(n)),ps)}async function fa(n,t){let e=L(n),r=3,i=t.query,o=e.queries.get(i);o?!o.ba()&&t.Da()&&(r=2):(o=new So,r=t.Da()?0:1);try{switch(r){case 0:o.wa=await e.onListen(i,!0);break;case 1:o.wa=await e.onListen(i,!1);break;case 2:await e.onFirstRemoteStoreListen(i)}}catch(u){let l=da(u,`Initialization of query '${Ue(t.query)}' failed`);return void t.onError(l)}e.queries.set(i,o),o.Sa.push(t),t.va(e.onlineState),o.wa&&t.Fa(o.wa)&&ga(e)}async function ma(n,t){let e=L(n),r=t.query,i=3,o=e.queries.get(r);if(o){let u=o.Sa.indexOf(t);u>=0&&(o.Sa.splice(u,1),o.Sa.length===0?i=t.Da()?0:1:!o.ba()&&t.Da()&&(i=2))}switch(i){case 0:return e.queries.delete(r),e.onUnlisten(r,!0);case 1:return e.queries.delete(r),e.onUnlisten(r,!1);case 2:return e.onLastRemoteStoreUnlisten(r);default:return}}function pf(n,t){let e=L(n),r=!1;for(let i of t){let o=i.query,u=e.queries.get(o);if(u){for(let l of u.Sa)l.Fa(i)&&(r=!0);u.wa=i}}r&&ga(e)}function yf(n,t,e){let r=L(n),i=r.queries.get(t);if(i)for(let o of i.Sa)o.onError(e);r.queries.delete(t)}function ga(n){n.Ca.forEach((t=>{t.next()}))}var Ro,wc;(wc=Ro||(Ro={})).Ma="default",wc.Cache="cache";var Wn=class{constructor(t,e,r){this.query=t,this.xa=e,this.Oa=!1,this.Na=null,this.onlineState="Unknown",this.options=r||{}}Fa(t){if(!this.options.includeMetadataChanges){let r=[];for(let i of t.docChanges)i.type!==3&&r.push(i);t=new en(t.query,t.docs,t.oldDocs,r,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(t){this.xa.error(t)}va(t){this.onlineState=t;let e=!1;return this.Na&&!this.Oa&&this.La(this.Na,t)&&(this.ka(this.Na),e=!0),e}La(t,e){if(!t.fromCache||!this.Da())return!0;let r=e!=="Offline";return(!this.options.qa||!r)&&(!t.docs.isEmpty()||t.hasCachedResults||e==="Offline")}Ba(t){if(t.docChanges.length>0)return!0;let e=this.Na&&this.Na.hasPendingWrites!==t.hasPendingWrites;return!(!t.syncStateChanged&&!e)&&this.options.includeMetadataChanges===!0}ka(t){t=en.fromInitialDocuments(t.query,t.docs,t.mutatedKeys,t.fromCache,t.hasCachedResults),this.Oa=!0,this.xa.next(t)}Da(){return this.options.source!==Ro.Cache}};var es=class{constructor(t){this.key=t}},ns=class{constructor(t){this.key=t}},Po=class{constructor(t,e){this.query=t,this.Ya=e,this.Za=null,this.hasCachedResults=!1,this.current=!1,this.Xa=U(),this.mutatedKeys=U(),this.eu=ul(t),this.tu=new Zr(this.eu)}get nu(){return this.Ya}ru(t,e){let r=e?e.iu:new ts,i=e?e.tu:this.tu,o=e?e.mutatedKeys:this.mutatedKeys,u=i,l=!1,h=this.query.limitType==="F"&&i.size===this.query.limit?i.last():null,f=this.query.limitType==="L"&&i.size===this.query.limit?i.first():null;if(t.inorderTraversal(((m,T)=>{let A=i.get(m),R=ys(this.query,T)?T:null,D=!!A&&this.mutatedKeys.has(A.key),k=!!R&&(R.hasLocalMutations||this.mutatedKeys.has(R.key)&&R.hasCommittedMutations),C=!1;A&&R?A.data.isEqual(R.data)?D!==k&&(r.track({type:3,doc:R}),C=!0):this.su(A,R)||(r.track({type:2,doc:R}),C=!0,(h&&this.eu(R,h)>0||f&&this.eu(R,f)<0)&&(l=!0)):!A&&R?(r.track({type:0,doc:R}),C=!0):A&&!R&&(r.track({type:1,doc:A}),C=!0,(h||f)&&(l=!0)),C&&(R?(u=u.add(R),o=k?o.add(m):o.delete(m)):(u=u.delete(m),o=o.delete(m)))})),this.query.limit!==null)for(;u.size>this.query.limit;){let m=this.query.limitType==="F"?u.last():u.first();u=u.delete(m.key),o=o.delete(m.key),r.track({type:1,doc:m})}return{tu:u,iu:r,Cs:l,mutatedKeys:o}}su(t,e){return t.hasLocalMutations&&e.hasCommittedMutations&&!e.hasLocalMutations}applyChanges(t,e,r,i){let o=this.tu;this.tu=t.tu,this.mutatedKeys=t.mutatedKeys;let u=t.iu.ya();u.sort(((m,T)=>(function(R,D){let k=C=>{switch(C){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return O(20277,{Rt:C})}};return k(R)-k(D)})(m.type,T.type)||this.eu(m.doc,T.doc))),this.ou(r),i=i??!1;let l=e&&!i?this._u():[],h=this.Xa.size===0&&this.current&&!i?1:0,f=h!==this.Za;return this.Za=h,u.length!==0||f?{snapshot:new en(this.query,t.tu,o,u,t.mutatedKeys,h===0,f,!1,!!r&&r.resumeToken.approximateByteSize()>0),au:l}:{au:l}}va(t){return this.current&&t==="Offline"?(this.current=!1,this.applyChanges({tu:this.tu,iu:new ts,mutatedKeys:this.mutatedKeys,Cs:!1},!1)):{au:[]}}uu(t){return!this.Ya.has(t)&&!!this.tu.has(t)&&!this.tu.get(t).hasLocalMutations}ou(t){t&&(t.addedDocuments.forEach((e=>this.Ya=this.Ya.add(e))),t.modifiedDocuments.forEach((e=>{})),t.removedDocuments.forEach((e=>this.Ya=this.Ya.delete(e))),this.current=t.current)}_u(){if(!this.current)return[];let t=this.Xa;this.Xa=U(),this.tu.forEach((r=>{this.uu(r.key)&&(this.Xa=this.Xa.add(r.key))}));let e=[];return t.forEach((r=>{this.Xa.has(r)||e.push(new ns(r))})),this.Xa.forEach((r=>{t.has(r)||e.push(new es(r))})),e}cu(t){this.Ya=t.Qs,this.Xa=U();let e=this.ru(t.documents);return this.applyChanges(e,!0)}lu(){return en.fromInitialDocuments(this.query,this.tu,this.mutatedKeys,this.Za===0,this.hasCachedResults)}},pa="SyncEngine",Vo=class{constructor(t,e,r){this.query=t,this.targetId=e,this.view=r}},Co=class{constructor(t){this.key=t,this.hu=!1}},xo=class{constructor(t,e,r,i,o,u){this.localStore=t,this.remoteStore=e,this.eventManager=r,this.sharedClientState=i,this.currentUser=o,this.maxConcurrentLimboResolutions=u,this.Pu={},this.Tu=new Jt((l=>al(l)),ps),this.Iu=new Map,this.Eu=new Set,this.du=new Y(M.comparator),this.Au=new Map,this.Ru=new $n,this.Vu={},this.mu=new Map,this.fu=Kn.cr(),this.onlineState="Unknown",this.gu=void 0}get isPrimaryClient(){return this.gu===!0}};async function _f(n,t,e=!0){let r=zl(n),i,o=r.Tu.get(t);return o?(r.sharedClientState.addLocalQueryTarget(o.targetId),i=o.view.lu()):i=await ql(r,t,e,!0),i}async function wf(n,t){let e=zl(n);await ql(e,t,!0,!1)}async function ql(n,t,e,r){let i=await ef(n.localStore,Ft(t)),o=i.targetId,u=n.sharedClientState.addLocalQueryTarget(o,e),l;return r&&(l=await Tf(n,t,o,u==="current",i.resumeToken)),n.isPrimaryClient&&e&&Nl(n.remoteStore,i),l}async function Tf(n,t,e,r,i){n.pu=(T,A,R)=>(async function(k,C,G,K){let $=C.view.ru(G);$.Cs&&($=await mc(k.localStore,C.query,!1).then((({documents:E})=>C.view.ru(E,$))));let pt=K&&K.targetChanges.get(C.targetId),kt=K&&K.targetMismatches.get(C.targetId)!=null,ut=C.view.applyChanges($,k.isPrimaryClient,pt,kt);return Ic(k,C.targetId,ut.au),ut.snapshot})(n,T,A,R);let o=await mc(n.localStore,t,!0),u=new Po(t,o.Qs),l=u.ru(o.documents),h=Gn.createSynthesizedTargetChangeForCurrentChange(e,r&&n.onlineState!=="Offline",i),f=u.applyChanges(l,n.isPrimaryClient,h);Ic(n,e,f.au);let m=new Vo(t,e,u);return n.Tu.set(t,m),n.Iu.has(e)?n.Iu.get(e).push(t):n.Iu.set(e,[t]),f.snapshot}async function If(n,t,e){let r=L(n),i=r.Tu.get(t),o=r.Iu.get(i.targetId);if(o.length>1)return r.Iu.set(i.targetId,o.filter((u=>!ps(u,t)))),void r.Tu.delete(t);r.isPrimaryClient?(r.sharedClientState.removeLocalQueryTarget(i.targetId),r.sharedClientState.isActiveQueryTarget(i.targetId)||await lo(r.localStore,i.targetId,!1).then((()=>{r.sharedClientState.clearQueryState(i.targetId),e&&ua(r.remoteStore,i.targetId),Do(r,i.targetId)})).catch(on)):(Do(r,i.targetId),await lo(r.localStore,i.targetId,!0))}async function Ef(n,t){let e=L(n),r=e.Tu.get(t),i=e.Iu.get(r.targetId);e.isPrimaryClient&&i.length===1&&(e.sharedClientState.removeLocalQueryTarget(r.targetId),ua(e.remoteStore,r.targetId))}async function vf(n,t,e){let r=Cf(n);try{let i=await(function(u,l){let h=L(u),f=rt.now(),m=l.reduce(((R,D)=>R.add(D.key)),U()),T,A;return h.persistence.runTransaction("Locally write mutations","readwrite",(R=>{let D=Xt(),k=U();return h.Ns.getEntries(R,m).next((C=>{D=C,D.forEach(((G,K)=>{K.isValidDocument()||(k=k.add(G))}))})).next((()=>h.localDocuments.getOverlayedDocuments(R,D))).next((C=>{T=C;let G=[];for(let K of l){let $=Rd(K,T.get(K.key).overlayedDocument);$!=null&&G.push(new Ut(K.key,$,el($.value.mapValue),at.exists(!0)))}return h.mutationQueue.addMutationBatch(R,f,G,l)})).next((C=>{A=C;let G=C.applyToLocalDocumentSet(T,k);return h.documentOverlayCache.saveOverlays(R,C.batchId,G)}))})).then((()=>({batchId:A.batchId,changes:ll(T)})))})(r.localStore,t);r.sharedClientState.addPendingMutation(i.batchId),(function(u,l,h){let f=u.Vu[u.currentUser.toKey()];f||(f=new Y(q)),f=f.insert(l,h),u.Vu[u.currentUser.toKey()]=f})(r,i.batchId,e),await rr(r,i.changes),await Ts(r.remoteStore)}catch(i){let o=da(i,"Failed to persist write");e.reject(o)}}async function Ul(n,t){let e=L(n);try{let r=await Yd(e.localStore,t);t.targetChanges.forEach(((i,o)=>{let u=e.Au.get(o);u&&(j(i.addedDocuments.size+i.modifiedDocuments.size+i.removedDocuments.size<=1,22616),i.addedDocuments.size>0?u.hu=!0:i.modifiedDocuments.size>0?j(u.hu,14607):i.removedDocuments.size>0&&(j(u.hu,42227),u.hu=!1))})),await rr(e,r,t)}catch(r){await on(r)}}function Tc(n,t,e){let r=L(n);if(r.isPrimaryClient&&e===0||!r.isPrimaryClient&&e===1){let i=[];r.Tu.forEach(((o,u)=>{let l=u.view.va(t);l.snapshot&&i.push(l.snapshot)})),(function(u,l){let h=L(u);h.onlineState=l;let f=!1;h.queries.forEach(((m,T)=>{for(let A of T.Sa)A.va(l)&&(f=!0)})),f&&ga(h)})(r.eventManager,t),i.length&&r.Pu.H_(i),r.onlineState=t,r.isPrimaryClient&&r.sharedClientState.setOnlineState(t)}}async function Af(n,t,e){let r=L(n);r.sharedClientState.updateQueryState(t,"rejected",e);let i=r.Au.get(t),o=i&&i.key;if(o){let u=new Y(M.comparator);u=u.insert(o,St.newNoDocument(o,F.min()));let l=U().add(o),h=new Ur(F.min(),new Map,new Y(q),u,l);await Ul(r,h),r.du=r.du.remove(o),r.Au.delete(t),ya(r)}else await lo(r.localStore,t,!1).then((()=>Do(r,t,e))).catch(on)}async function Sf(n,t){let e=L(n),r=t.batch.batchId;try{let i=await Xd(e.localStore,t);jl(e,r,null),Bl(e,r),e.sharedClientState.updateMutationState(r,"acknowledged"),await rr(e,i)}catch(i){await on(i)}}async function bf(n,t,e){let r=L(n);try{let i=await(function(u,l){let h=L(u);return h.persistence.runTransaction("Reject batch","readwrite-primary",(f=>{let m;return h.mutationQueue.lookupMutationBatch(f,l).next((T=>(j(T!==null,37113),m=T.keys(),h.mutationQueue.removeMutationBatch(f,T)))).next((()=>h.mutationQueue.performConsistencyCheck(f))).next((()=>h.documentOverlayCache.removeOverlaysForBatchId(f,m,l))).next((()=>h.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(f,m))).next((()=>h.localDocuments.getDocuments(f,m)))}))})(r.localStore,t);jl(r,t,e),Bl(r,t),r.sharedClientState.updateMutationState(t,"rejected",e),await rr(r,i)}catch(i){await on(i)}}function Bl(n,t){(n.mu.get(t)||[]).forEach((e=>{e.resolve()})),n.mu.delete(t)}function jl(n,t,e){let r=L(n),i=r.Vu[r.currentUser.toKey()];if(i){let o=i.get(t);o&&(e?o.reject(e):o.resolve(),i=i.remove(t)),r.Vu[r.currentUser.toKey()]=i}}function Do(n,t,e=null){n.sharedClientState.removeLocalQueryTarget(t);for(let r of n.Iu.get(t))n.Tu.delete(r),e&&n.Pu.yu(r,e);n.Iu.delete(t),n.isPrimaryClient&&n.Ru.jr(t).forEach((r=>{n.Ru.containsKey(r)||Gl(n,r)}))}function Gl(n,t){n.Eu.delete(t.path.canonicalString());let e=n.du.get(t);e!==null&&(ua(n.remoteStore,e),n.du=n.du.remove(t),n.Au.delete(e),ya(n))}function Ic(n,t,e){for(let r of e)r instanceof es?(n.Ru.addReference(r.key,t),Rf(n,r)):r instanceof ns?(N(pa,"Document no longer in limbo: "+r.key),n.Ru.removeReference(r.key,t),n.Ru.containsKey(r.key)||Gl(n,r.key)):O(19791,{wu:r})}function Rf(n,t){let e=t.key,r=e.path.canonicalString();n.du.get(e)||n.Eu.has(r)||(N(pa,"New document in limbo: "+e),n.Eu.add(r),ya(n))}function ya(n){for(;n.Eu.size>0&&n.du.size<n.maxConcurrentLimboResolutions;){let t=n.Eu.values().next().value;n.Eu.delete(t);let e=new M(W.fromString(t)),r=n.fu.next();n.Au.set(r,new Co(e)),n.du=n.du.insert(e,r),Nl(n.remoteStore,new zn(Ft(gs(e.path)),r,"TargetPurposeLimboResolution",We.ce))}}async function rr(n,t,e){let r=L(n),i=[],o=[],u=[];r.Tu.isEmpty()||(r.Tu.forEach(((l,h)=>{u.push(r.pu(h,t,e).then((f=>{if((f||e)&&r.isPrimaryClient){let m=f?!f.fromCache:e?.targetChanges.get(h.targetId)?.current;r.sharedClientState.updateQueryState(h.targetId,m?"current":"not-current")}if(f){i.push(f);let m=oo.As(h.targetId,f);o.push(m)}})))})),await Promise.all(u),r.Pu.H_(i),await(async function(h,f){let m=L(h);try{await m.persistence.runTransaction("notifyLocalViewChanges","readwrite",(T=>P.forEach(f,(A=>P.forEach(A.Es,(R=>m.persistence.referenceDelegate.addReference(T,A.targetId,R))).next((()=>P.forEach(A.ds,(R=>m.persistence.referenceDelegate.removeReference(T,A.targetId,R)))))))))}catch(T){if(!an(T))throw T;N(aa,"Failed to update sequence numbers: "+T)}for(let T of f){let A=T.targetId;if(!T.fromCache){let R=m.Ms.get(A),D=R.snapshotVersion,k=R.withLastLimboFreeSnapshotVersion(D);m.Ms=m.Ms.insert(A,k)}}})(r.localStore,o))}async function Pf(n,t){let e=L(n);if(!e.currentUser.isEqual(t)){N(pa,"User change. New user:",t.toKey());let r=await xl(e.localStore,t);e.currentUser=t,(function(o,u){o.mu.forEach((l=>{l.forEach((h=>{h.reject(new V(b.CANCELLED,u))}))})),o.mu.clear()})(e,"'waitForPendingWrites' promise is rejected due to a user change."),e.sharedClientState.handleUserChange(t,r.removedBatchIds,r.addedBatchIds),await rr(e,r.Ls)}}function Vf(n,t){let e=L(n),r=e.Au.get(t);if(r&&r.hu)return U().add(r.key);{let i=U(),o=e.Iu.get(t);if(!o)return i;for(let u of o){let l=e.Tu.get(u);i=i.unionWith(l.view.nu)}return i}}function zl(n){let t=L(n);return t.remoteStore.remoteSyncer.applyRemoteEvent=Ul.bind(null,t),t.remoteStore.remoteSyncer.getRemoteKeysForTarget=Vf.bind(null,t),t.remoteStore.remoteSyncer.rejectListen=Af.bind(null,t),t.Pu.H_=pf.bind(null,t.eventManager),t.Pu.yu=yf.bind(null,t.eventManager),t}function Cf(n){let t=L(n);return t.remoteStore.remoteSyncer.applySuccessfulWrite=Sf.bind(null,t),t.remoteStore.remoteSyncer.rejectFailedWrite=bf.bind(null,t),t}var nn=class{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(t){this.serializer=_s(t.databaseInfo.databaseId),this.sharedClientState=this.Du(t),this.persistence=this.Cu(t),await this.persistence.start(),this.localStore=this.vu(t),this.gcScheduler=this.Fu(t,this.localStore),this.indexBackfillerScheduler=this.Mu(t,this.localStore)}Fu(t,e){return null}Mu(t,e){return null}vu(t){return Jd(this.persistence,new uo,t.initialUser,this.serializer)}Cu(t){return new Qr(io.mi,this.serializer)}Du(t){return new ho}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}};nn.provider={build:()=>new nn};var No=class extends nn{constructor(t){super(),this.cacheSizeBytes=t}Fu(t,e){j(this.persistence.referenceDelegate instanceof Wr,46915);let r=this.persistence.referenceDelegate.garbageCollector;return new $i(r,t.asyncQueue,e)}Cu(t){let e=this.cacheSizeBytes!==void 0?bt.withCacheSize(this.cacheSizeBytes):bt.DEFAULT;return new Qr((r=>Wr.mi(r,e)),this.serializer)}};var Hn=class{async initialize(t,e){this.localStore||(this.localStore=t.localStore,this.sharedClientState=t.sharedClientState,this.datastore=this.createDatastore(e),this.remoteStore=this.createRemoteStore(e),this.eventManager=this.createEventManager(e),this.syncEngine=this.createSyncEngine(e,!t.synchronizeTabs),this.sharedClientState.onlineStateHandler=r=>Tc(this.syncEngine,r,1),this.remoteStore.remoteSyncer.handleCredentialChange=Pf.bind(null,this.syncEngine),await gf(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(t){return(function(){return new bo})()}createDatastore(t){let e=_s(t.databaseInfo.databaseId),r=(function(o){return new yo(o)})(t.databaseInfo);return(function(o,u,l,h){return new Io(o,u,l,h)})(t.authCredentials,t.appCheckCredentials,r,e)}createRemoteStore(t){return(function(r,i,o,u,l){return new vo(r,i,o,u,l)})(this.localStore,this.datastore,t.asyncQueue,(e=>Tc(this.syncEngine,e,0)),(function(){return Jr.v()?new Jr:new fo})())}createSyncEngine(t,e){return(function(i,o,u,l,h,f,m){let T=new xo(i,o,u,l,h,f);return m&&(T.gu=!0),T})(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,t.initialUser,t.maxConcurrentLimboResolutions,e)}async terminate(){await(async function(e){let r=L(e);N(Ve,"RemoteStore shutting down."),r.Ea.add(5),await nr(r),r.Aa.shutdown(),r.Ra.set("Unknown")})(this.remoteStore),this.datastore?.terminate(),this.eventManager?.terminate()}};Hn.provider={build:()=>new Hn};var Jn=class{constructor(t){this.observer=t,this.muted=!1}next(t){this.muted||this.observer.next&&this.Ou(this.observer.next,t)}error(t){this.muted||(this.observer.error?this.Ou(this.observer.error,t):Qt("Uncaught Error in snapshot listener:",t.toString()))}Nu(){this.muted=!0}Ou(t,e){setTimeout((()=>{this.muted||t(e)}),0)}};var ko=class{constructor(t){this.datastore=t,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastTransactionError=null,this.writtenDocs=new Set}async lookup(t){if(this.ensureCommitNotCalled(),this.mutations.length>0)throw this.lastTransactionError=new V(b.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;let e=await(async function(i,o){let u=L(i),l={documents:o.map((T=>Kr(u.serializer,T)))},h=await u.Ho("BatchGetDocuments",u.serializer.databaseId,W.emptyPath(),l,o.length),f=new Map;h.forEach((T=>{let A=Od(u.serializer,T);f.set(A.key.toString(),A)}));let m=[];return o.forEach((T=>{let A=f.get(T.toString());j(!!A,55234,{key:T}),m.push(A)})),m})(this.datastore,t);return e.forEach((r=>this.recordVersion(r))),e}set(t,e){this.write(e.toMutation(t,this.precondition(t))),this.writtenDocs.add(t.toString())}update(t,e){try{this.write(e.toMutation(t,this.preconditionForUpdate(t)))}catch(r){this.lastTransactionError=r}this.writtenDocs.add(t.toString())}delete(t){this.write(new Pe(t,this.precondition(t))),this.writtenDocs.add(t.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,r)=>{let i=M.fromPath(r);this.mutations.push(new qr(i,this.precondition(i)))})),await(async function(r,i){let o=L(r),u={writes:i.map((l=>Sl(o.serializer,l)))};await o.Go("Commit",o.serializer.databaseId,W.emptyPath(),u)})(this.datastore,this.mutations),this.committed=!0}recordVersion(t){let e;if(t.isFoundDocument())e=t.version;else{if(!t.isNoDocument())throw O(50498,{Gu:t.constructor.name});e=F.min()}let r=this.readVersions.get(t.key.toString());if(r){if(!e.isEqual(r))throw new V(b.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(t.key.toString(),e)}precondition(t){let e=this.readVersions.get(t.toString());return!this.writtenDocs.has(t.toString())&&e?e.isEqual(F.min())?at.exists(!1):at.updateTime(e):at.none()}preconditionForUpdate(t){let e=this.readVersions.get(t.toString());if(!this.writtenDocs.has(t.toString())&&e){if(e.isEqual(F.min()))throw new V(b.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return at.updateTime(e)}return at.exists(!0)}write(t){this.ensureCommitNotCalled(),this.mutations.push(t)}ensureCommitNotCalled(){}};var Mo=class{constructor(t,e,r,i,o){this.asyncQueue=t,this.datastore=e,this.options=r,this.updateFunction=i,this.deferred=o,this.zu=r.maxAttempts,this.M_=new Qn(this.asyncQueue,"transaction_retry")}ju(){this.zu-=1,this.Ju()}Ju(){this.M_.p_((async()=>{let t=new ko(this.datastore),e=this.Hu(t);e&&e.then((r=>{this.asyncQueue.enqueueAndForget((()=>t.commit().then((()=>{this.deferred.resolve(r)})).catch((i=>{this.Yu(i)}))))})).catch((r=>{this.Yu(r)}))}))}Hu(t){try{let e=this.updateFunction(t);return!er(e)&&e.catch&&e.then?e:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(e){return this.deferred.reject(e),null}}Yu(t){this.zu>0&&this.Zu(t)?(this.zu-=1,this.asyncQueue.enqueueAndForget((()=>(this.Ju(),Promise.resolve())))):this.deferred.reject(t)}Zu(t){if(t?.name==="FirebaseError"){let e=t.code;return e==="aborted"||e==="failed-precondition"||e==="already-exists"||!wl(e)}return!1}};var fe="FirestoreClient",Oo=class{constructor(t,e,r,i,o){this.authCredentials=t,this.appCheckCredentials=e,this.asyncQueue=r,this.databaseInfo=i,this.user=mt.UNAUTHENTICATED,this.clientId=Ln.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=o,this.authCredentials.start(r,(async u=>{N(fe,"Received user=",u.uid),await this.authCredentialListener(u),this.user=u})),this.appCheckCredentials.start(r,(u=>(N(fe,"Received new app check token=",u),this.appCheckCredentialListener(u,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(t){this.authCredentialListener=t}setAppCheckTokenChangeListener(t){this.appCheckCredentialListener=t}terminate(){this.asyncQueue.enterRestrictedMode();let t=new Pt;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted((async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),t.resolve()}catch(e){let r=da(e,"Failed to shutdown persistence");t.reject(r)}})),t.promise}};async function oi(n,t){n.asyncQueue.verifyOperationInProgress(),N(fe,"Initializing OfflineComponentProvider");let e=n.configuration;await t.initialize(e);let r=e.initialUser;n.setCredentialChangeListener((async i=>{r.isEqual(i)||(await xl(t.localStore,i),r=i)})),t.persistence.setDatabaseDeletedListener((()=>n.terminate())),n._offlineComponents=t}async function Ec(n,t){n.asyncQueue.verifyOperationInProgress();let e=await xf(n);N(fe,"Initializing OnlineComponentProvider"),await t.initialize(e,n.configuration),n.setCredentialChangeListener((r=>yc(t.remoteStore,r))),n.setAppCheckTokenChangeListener(((r,i)=>yc(t.remoteStore,i))),n._onlineComponents=t}async function xf(n){if(!n._offlineComponents)if(n._uninitializedComponentsProvider){N(fe,"Using user provided OfflineComponentProvider");try{await oi(n,n._uninitializedComponentsProvider._offline)}catch(t){let e=t;if(!(function(i){return i.name==="FirebaseError"?i.code===b.FAILED_PRECONDITION||i.code===b.UNIMPLEMENTED:!(typeof DOMException<"u"&&i instanceof DOMException)||i.code===22||i.code===20||i.code===11})(e))throw e;Fn("Error using user provided cache. Falling back to memory cache: "+e),await oi(n,new nn)}}else N(fe,"Using default OfflineComponentProvider"),await oi(n,new No(void 0));return n._offlineComponents}async function _a(n){return n._onlineComponents||(n._uninitializedComponentsProvider?(N(fe,"Using user provided OnlineComponentProvider"),await Ec(n,n._uninitializedComponentsProvider._online)):(N(fe,"Using default OnlineComponentProvider"),await Ec(n,new Hn))),n._onlineComponents}function Df(n){return _a(n).then((t=>t.syncEngine))}function Nf(n){return _a(n).then((t=>t.datastore))}async function rs(n){let t=await _a(n),e=t.eventManager;return e.onListen=_f.bind(null,t.syncEngine),e.onUnlisten=If.bind(null,t.syncEngine),e.onFirstRemoteStoreListen=wf.bind(null,t.syncEngine),e.onLastRemoteStoreUnlisten=Ef.bind(null,t.syncEngine),e}function kf(n,t,e={}){let r=new Pt;return n.asyncQueue.enqueueAndForget((async()=>(function(o,u,l,h,f){let m=new Jn({next:A=>{m.Nu(),u.enqueueAndForget((()=>ma(o,T)));let R=A.docs.has(l);!R&&A.fromCache?f.reject(new V(b.UNAVAILABLE,"Failed to get document because the client is offline.")):R&&A.fromCache&&h&&h.source==="server"?f.reject(new V(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.)')):f.resolve(A)},error:A=>f.reject(A)}),T=new Wn(gs(l.path),m,{includeMetadataChanges:!0,qa:!0});return fa(o,T)})(await rs(n),n.asyncQueue,t,e,r))),r.promise}function Mf(n,t,e={}){let r=new Pt;return n.asyncQueue.enqueueAndForget((async()=>(function(o,u,l,h,f){let m=new Jn({next:A=>{m.Nu(),u.enqueueAndForget((()=>ma(o,T))),A.fromCache&&h.source==="server"?f.reject(new V(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.)')):f.resolve(A)},error:A=>f.reject(A)}),T=new Wn(l,m,{includeMetadataChanges:!0,qa:!0});return fa(o,T)})(await rs(n),n.asyncQueue,t,e,r))),r.promise}function Kl(n){let t={};return n.timeoutSeconds!==void 0&&(t.timeoutSeconds=n.timeoutSeconds),t}var vc=new Map;var Of="firestore.googleapis.com",Ac=!0,ss=class{constructor(t){if(t.host===void 0){if(t.ssl!==void 0)throw new V(b.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=Of,this.ssl=Ac}else this.host=t.host,this.ssl=t.ssl??Ac;if(this.isUsingEmulator=t.emulatorOptions!==void 0,this.credentials=t.credentials,this.ignoreUndefinedProperties=!!t.ignoreUndefinedProperties,this.localCache=t.localCache,t.cacheSizeBytes===void 0)this.cacheSizeBytes=Vl;else{if(t.cacheSizeBytes!==-1&&t.cacheSizeBytes<Cl)throw new V(b.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=t.cacheSizeBytes}zh("experimentalForceLongPolling",t.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",t.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!t.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:t.experimentalAutoDetectLongPolling===void 0?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!t.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=Kl(t.experimentalLongPollingOptions??{}),(function(r){if(r.timeoutSeconds!==void 0){if(isNaN(r.timeoutSeconds))throw new V(b.INVALID_ARGUMENT,`invalid long polling timeout: ${r.timeoutSeconds} (must not be NaN)`);if(r.timeoutSeconds<5)throw new V(b.INVALID_ARGUMENT,`invalid long polling timeout: ${r.timeoutSeconds} (minimum allowed value is 5)`);if(r.timeoutSeconds>30)throw new V(b.INVALID_ARGUMENT,`invalid long polling timeout: ${r.timeoutSeconds} (maximum allowed value is 30)`)}})(this.experimentalLongPollingOptions),this.useFetchStreams=!!t.useFetchStreams}isEqual(t){return this.host===t.host&&this.ssl===t.ssl&&this.credentials===t.credentials&&this.cacheSizeBytes===t.cacheSizeBytes&&this.experimentalForceLongPolling===t.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===t.experimentalAutoDetectLongPolling&&(function(r,i){return r.timeoutSeconds===i.timeoutSeconds})(this.experimentalLongPollingOptions,t.experimentalLongPollingOptions)&&this.ignoreUndefinedProperties===t.ignoreUndefinedProperties&&this.useFetchStreams===t.useFetchStreams}},Xn=class{constructor(t,e,r,i){this._authCredentials=t,this._appCheckCredentials=e,this._databaseId=r,this._app=i,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new ss({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(!this._app)throw new V(b.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app}get _initialized(){return this._settingsFrozen}get _terminated(){return this._terminateTask!=="notTerminated"}_setSettings(t){if(this._settingsFrozen)throw new V(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 ss(t),this._emulatorOptions=t.emulatorOptions||{},t.credentials!==void 0&&(this._authCredentials=(function(r){if(!r)return new ui;switch(r.type){case"firstParty":return new hi(r.sessionIndex||"0",r.iamToken||null,r.authTokenFactory||null);case"provider":return r.client;default:throw new V(b.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}})(t.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return this._terminateTask==="notTerminated"&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){this._terminateTask==="notTerminated"?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return(function(e){let r=vc.get(e);r&&(N("ComponentProvider","Removing Datastore"),vc.delete(e),r.terminate())})(this),Promise.resolve()}};var Dt=class n{constructor(t,e,r){this.converter=e,this._query=r,this.type="query",this.firestore=t}withConverter(t){return new n(this.firestore,t,this._query)}},st=class n{constructor(t,e,r){this.converter=e,this._key=r,this.type="document",this.firestore=t}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new ie(this.firestore,this.converter,this._key.path.popLast())}withConverter(t){return new n(this.firestore,t,this._key)}toJSON(){return{type:n._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(t,e,r){if(tr(e,n._jsonSchema))return new n(t,r||null,new M(W.fromString(e.referencePath)))}};st._jsonSchemaVersion="firestore/documentReference/1.0",st._jsonSchema={type:nt("string",st._jsonSchemaVersion),referencePath:nt("string")};var ie=class n extends Dt{constructor(t,e,r){super(t,e,gs(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){let t=this._path.popLast();return t.isEmpty()?null:new st(this.firestore,null,new M(t))}withConverter(t){return new n(this.firestore,t,this._path)}};function $l(n,t,...e){if(n=wt(n),xc("collection","path",t),n instanceof Xn){let r=W.fromString(t,...e);return zu(r),new ie(n,null,r)}{if(!(n instanceof st||n instanceof ie))throw new V(b.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let r=n._path.child(W.fromString(t,...e));return zu(r),new ie(n.firestore,null,r)}}function fm(n,t,...e){if(n=wt(n),arguments.length===1&&(t=Ln.newId()),xc("doc","path",t),n instanceof Xn){let r=W.fromString(t,...e);return Gu(r),new st(n,null,new M(r))}{if(!(n instanceof st||n instanceof ie))throw new V(b.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let r=n._path.child(W.fromString(t,...e));return Gu(r),new st(n.firestore,n instanceof ie?n.converter:null,new M(r))}}var Sc="AsyncQueue",is=class{constructor(t=Promise.resolve()){this.Xu=[],this.ec=!1,this.tc=[],this.nc=null,this.rc=!1,this.sc=!1,this.oc=[],this.M_=new Qn(this,"async_queue_retry"),this._c=()=>{let r=ii();r&&N(Sc,"Visibility state changed to "+r.visibilityState),this.M_.w_()},this.ac=t;let e=ii();e&&typeof e.addEventListener=="function"&&e.addEventListener("visibilitychange",this._c)}get isShuttingDown(){return this.ec}enqueueAndForget(t){this.enqueue(t)}enqueueAndForgetEvenWhileRestricted(t){this.uc(),this.cc(t)}enterRestrictedMode(t){if(!this.ec){this.ec=!0,this.sc=t||!1;let e=ii();e&&typeof e.removeEventListener=="function"&&e.removeEventListener("visibilitychange",this._c)}}enqueue(t){if(this.uc(),this.ec)return new Promise((()=>{}));let e=new Pt;return this.cc((()=>this.ec&&this.sc?Promise.resolve():(t().then(e.resolve,e.reject),e.promise))).then((()=>e.promise))}enqueueRetryable(t){this.enqueueAndForget((()=>(this.Xu.push(t),this.lc())))}async lc(){if(this.Xu.length!==0){try{await this.Xu[0](),this.Xu.shift(),this.M_.reset()}catch(t){if(!an(t))throw t;N(Sc,"Operation failed with retryable error: "+t)}this.Xu.length>0&&this.M_.p_((()=>this.lc()))}}cc(t){let e=this.ac.then((()=>(this.rc=!0,t().catch((r=>{throw this.nc=r,this.rc=!1,Qt("INTERNAL UNHANDLED ERROR: ",bc(r)),r})).then((r=>(this.rc=!1,r))))));return this.ac=e,e}enqueueAfterDelay(t,e,r){this.uc(),this.oc.indexOf(t)>-1&&(e=0);let i=Ao.createAndSchedule(this,t,e,r,(o=>this.hc(o)));return this.tc.push(i),i}uc(){this.nc&&O(47125,{Pc:bc(this.nc)})}verifyOperationInProgress(){}async Tc(){let t;do t=this.ac,await t;while(t!==this.ac)}Ic(t){for(let e of this.tc)if(e.timerId===t)return!0;return!1}Ec(t){return this.Tc().then((()=>{this.tc.sort(((e,r)=>e.targetTimeMs-r.targetTimeMs));for(let e of this.tc)if(e.skipDelay(),t!=="all"&&e.timerId===t)break;return this.Tc()}))}dc(t){this.oc.push(t)}hc(t){let e=this.tc.indexOf(t);this.tc.splice(e,1)}};function bc(n){let t=n.message||"";return n.stack&&(t=n.stack.includes(n.message)?n.stack:n.message+`
|
|
22
|
+
`+n.stack),t}function Rc(n){return(function(e,r){if(typeof e!="object"||e===null)return!1;let i=e;for(let o of r)if(o in i&&typeof i[o]=="function")return!0;return!1})(n,["next","error","complete"])}var Vt=class extends Xn{constructor(t,e,r,i){super(t,e,r,i),this.type="firestore",this._queue=new is,this._persistenceKey=i?.name||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){let t=this._firestoreClient.terminate();this._queue=new is(t),this._firestoreClient=void 0,await t}}};function mm(n,t,e){e||(e=Nr);let r=Ou(n,"firestore");if(r.isInitialized(e)){let i=r.getImmediate({identifier:e}),o=r.getOptions(e);if(Hs(o,t))return i;throw new V(b.FAILED_PRECONDITION,"initializeFirestore() has already been called with different options. To avoid this error, call initializeFirestore() with the same options as when it was originally called, or call getFirestore() to return the already initialized instance.")}if(t.cacheSizeBytes!==void 0&&t.localCache!==void 0)throw new V(b.INVALID_ARGUMENT,"cache and cacheSizeBytes cannot be specified at the same time as cacheSizeBytes willbe deprecated. Instead, specify the cache size in the cache object");if(t.cacheSizeBytes!==void 0&&t.cacheSizeBytes!==-1&&t.cacheSizeBytes<Cl)throw new V(b.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");return t.host&&Ws(t.host)&&Vu(t.host),r.initialize({options:t,instanceIdentifier:e})}function cn(n){if(n._terminated)throw new V(b.FAILED_PRECONDITION,"The client has already been terminated.");return n._firestoreClient||Ff(n),n._firestoreClient}function Ff(n){let t=n._freezeSettings(),e=(function(i,o,u,l){return new yi(i,o,u,l.host,l.ssl,l.experimentalForceLongPolling,l.experimentalAutoDetectLongPolling,Kl(l.experimentalLongPollingOptions),l.useFetchStreams,l.isUsingEmulator)})(n._databaseId,n._app?.options.appId||"",n._persistenceKey,t);n._componentsProvider||t.localCache?._offlineComponentProvider&&t.localCache?._onlineComponentProvider&&(n._componentsProvider={_offline:t.localCache._offlineComponentProvider,_online:t.localCache._onlineComponentProvider}),n._firestoreClient=new Oo(n._authCredentials,n._appCheckCredentials,n._queue,e,n._componentsProvider&&(function(i){let o=i?._online.build();return{_offline:i?._offline.build(o),_online:o}})(n._componentsProvider))}var $t=class n{constructor(t){this._byteString=t}static fromBase64String(t){try{return new n(gt.fromBase64String(t))}catch(e){throw new V(b.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(t){return new n(gt.fromUint8Array(t))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(t){return this._byteString.isEqual(t._byteString)}toJSON(){return{type:n._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(t){if(tr(t,n._jsonSchema))return n.fromBase64String(t.bytes)}};$t._jsonSchemaVersion="firestore/bytes/1.0",$t._jsonSchema={type:nt("string",$t._jsonSchemaVersion),bytes:nt("string")};var Yt=class{constructor(...t){for(let e=0;e<t.length;++e)if(t[e].length===0)throw new V(b.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new vt(t)}isEqual(t){return this._internalPath.isEqual(t._internalPath)}};function gm(){return new Yt(mi)}var Ce=class{constructor(t){this._methodName=t}};var oe=class n{constructor(t,e){if(!isFinite(t)||t<-90||t>90)throw new V(b.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+t);if(!isFinite(e)||e<-180||e>180)throw new V(b.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+e);this._lat=t,this._long=e}get latitude(){return this._lat}get longitude(){return this._long}isEqual(t){return this._lat===t._lat&&this._long===t._long}_compareTo(t){return q(this._lat,t._lat)||q(this._long,t._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:n._jsonSchemaVersion}}static fromJSON(t){if(tr(t,n._jsonSchema))return new n(t.latitude,t.longitude)}};oe._jsonSchemaVersion="firestore/geoPoint/1.0",oe._jsonSchema={type:nt("string",oe._jsonSchemaVersion),latitude:nt("number"),longitude:nt("number")};var ae=class n{constructor(t){this._values=(t||[]).map((e=>e))}toArray(){return this._values.map((t=>t))}isEqual(t){return(function(r,i){if(r.length!==i.length)return!1;for(let o=0;o<r.length;++o)if(r[o]!==i[o])return!1;return!0})(this._values,t._values)}toJSON(){return{type:n._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(t){if(tr(t,n._jsonSchema)){if(Array.isArray(t.vectorValues)&&t.vectorValues.every((e=>typeof e=="number")))return new n(t.vectorValues);throw new V(b.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}};ae._jsonSchemaVersion="firestore/vectorValue/1.0",ae._jsonSchema={type:nt("string",ae._jsonSchemaVersion),vectorValues:nt("object")};var Lf=/^__.*__$/,Fo=class{constructor(t,e,r){this.data=t,this.fieldMask=e,this.fieldTransforms=r}toMutation(t,e){return this.fieldMask!==null?new Ut(t,this.data,this.fieldMask,e,this.fieldTransforms):new Re(t,this.data,e,this.fieldTransforms)}},os=class{constructor(t,e,r){this.data=t,this.fieldMask=e,this.fieldTransforms=r}toMutation(t,e){return new Ut(t,this.data,this.fieldMask,e,this.fieldTransforms)}};function Ql(n){switch(n){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw O(40011,{Ac:n})}}var as=class n{constructor(t,e,r,i,o,u){this.settings=t,this.databaseId=e,this.serializer=r,this.ignoreUndefinedProperties=i,o===void 0&&this.Rc(),this.fieldTransforms=o||[],this.fieldMask=u||[]}get path(){return this.settings.path}get Ac(){return this.settings.Ac}Vc(t){return new n({...this.settings,...t},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}mc(t){let e=this.path?.child(t),r=this.Vc({path:e,fc:!1});return r.gc(t),r}yc(t){let e=this.path?.child(t),r=this.Vc({path:e,fc:!1});return r.Rc(),r}wc(t){return this.Vc({path:void 0,fc:!0})}Sc(t){return us(t,this.settings.methodName,this.settings.bc||!1,this.path,this.settings.Dc)}contains(t){return this.fieldMask.find((e=>t.isPrefixOf(e)))!==void 0||this.fieldTransforms.find((e=>t.isPrefixOf(e.field)))!==void 0}Rc(){if(this.path)for(let t=0;t<this.path.length;t++)this.gc(this.path.get(t))}gc(t){if(t.length===0)throw this.Sc("Document fields must not be empty");if(Ql(this.Ac)&&Lf.test(t))throw this.Sc('Document fields cannot begin and end with "__"')}},Lo=class{constructor(t,e,r){this.databaseId=t,this.ignoreUndefinedProperties=e,this.serializer=r||_s(t)}Cc(t,e,r,i=!1){return new as({Ac:t,methodName:e,Dc:r,path:vt.emptyPath(),fc:!1,bc:i},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}};function ln(n){let t=n._freezeSettings(),e=_s(n._databaseId);return new Lo(n._databaseId,!!t.ignoreUndefinedProperties,e)}function wa(n,t,e,r,i,o={}){let u=n.Cc(o.merge||o.mergeFields?2:0,t,e,i);Ea("Data must be an object, but it was:",u,r);let l=Hl(r,u),h,f;if(o.merge)h=new Rt(u.fieldMask),f=u.fieldTransforms;else if(o.mergeFields){let m=[];for(let T of o.mergeFields){let A=Bo(t,T,e);if(!u.contains(A))throw new V(b.INVALID_ARGUMENT,`Field '${A}' is specified in your field mask but missing from your input data.`);Xl(m,A)||m.push(A)}h=new Rt(m),f=u.fieldTransforms.filter((T=>h.covers(T.field)))}else h=null,f=u.fieldTransforms;return new Fo(new Tt(l),h,f)}var Yn=class n extends Ce{_toFieldTransform(t){if(t.Ac!==2)throw t.Ac===1?t.Sc(`${this._methodName}() can only appear at the top level of your update data`):t.Sc(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return t.fieldMask.push(t.path),null}isEqual(t){return t instanceof n}};function qf(n,t,e){return new as({Ac:3,Dc:t.settings.Dc,methodName:n._methodName,fc:e},t.databaseId,t.serializer,t.ignoreUndefinedProperties)}var qo=class n extends Ce{_toFieldTransform(t){return new Lr(t.path,new Se)}isEqual(t){return t instanceof n}},Uo=class n extends Ce{constructor(t,e){super(t),this.vc=e}_toFieldTransform(t){let e=qf(this,t,!0),r=this.vc.map((o=>hn(o,e))),i=new he(r);return new Lr(t.path,i)}isEqual(t){return t instanceof n&&Hs(this.vc,t.vc)}};function Ta(n,t,e,r){let i=n.Cc(1,t,e);Ea("Data must be an object, but it was:",i,r);let o=[],u=Tt.empty();me(r,((h,f)=>{let m=va(t,h,e);f=wt(f);let T=i.yc(m);if(f instanceof Yn)o.push(m);else{let A=hn(f,T);A!=null&&(o.push(m),u.set(m,A))}}));let l=new Rt(o);return new os(u,l,i.fieldTransforms)}function Ia(n,t,e,r,i,o){let u=n.Cc(1,t,e),l=[Bo(t,r,e)],h=[i];if(o.length%2!=0)throw new V(b.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let A=0;A<o.length;A+=2)l.push(Bo(t,o[A])),h.push(o[A+1]);let f=[],m=Tt.empty();for(let A=l.length-1;A>=0;--A)if(!Xl(f,l[A])){let R=l[A],D=h[A];D=wt(D);let k=u.yc(R);if(D instanceof Yn)f.push(R);else{let C=hn(D,k);C!=null&&(f.push(R),m.set(R,C))}}let T=new Rt(f);return new os(m,T,u.fieldTransforms)}function Wl(n,t,e,r=!1){return hn(e,n.Cc(r?4:3,t))}function hn(n,t){if(Jl(n=wt(n)))return Ea("Unsupported field value:",t,n),Hl(n,t);if(n instanceof Ce)return(function(r,i){if(!Ql(i.Ac))throw i.Sc(`${r._methodName}() can only be used with update() and set()`);if(!i.path)throw i.Sc(`${r._methodName}() is not currently supported inside arrays`);let o=r._toFieldTransform(i);o&&i.fieldTransforms.push(o)})(n,t),null;if(n===void 0&&t.ignoreUndefinedProperties)return null;if(t.path&&t.fieldMask.push(t.path),n instanceof Array){if(t.settings.fc&&t.Ac!==4)throw t.Sc("Nested arrays are not supported");return(function(r,i){let o=[],u=0;for(let l of r){let h=hn(l,i.wc(u));h==null&&(h={nullValue:"NULL_VALUE"}),o.push(h),u++}return{arrayValue:{values:o}}})(n,t)}return(function(r,i){if((r=wt(r))===null)return{nullValue:"NULL_VALUE"};if(typeof r=="number")return Ed(i.serializer,r);if(typeof r=="boolean")return{booleanValue:r};if(typeof r=="string")return{stringValue:r};if(r instanceof Date){let o=rt.fromDate(r);return{timestampValue:zr(i.serializer,o)}}if(r instanceof rt){let o=new rt(r.seconds,1e3*Math.floor(r.nanoseconds/1e3));return{timestampValue:zr(i.serializer,o)}}if(r instanceof oe)return{geoPointValue:{latitude:r.latitude,longitude:r.longitude}};if(r instanceof $t)return{bytesValue:Il(i.serializer,r._byteString)};if(r instanceof st){let o=i.databaseId,u=r.firestore._databaseId;if(!u.isEqual(o))throw i.Sc(`Document reference is for database ${u.projectId}/${u.database} but should be for database ${o.projectId}/${o.database}`);return{referenceValue:oa(r.firestore._databaseId||i.databaseId,r._key.path)}}if(r instanceof ae)return(function(u,l){return{mapValue:{fields:{[Zo]:{stringValue:ta},[He]:{arrayValue:{values:u.toArray().map((f=>{if(typeof f!="number")throw l.Sc("VectorValues must only contain numeric values.");return ia(l.serializer,f)}))}}}}}})(r,i);throw i.Sc(`Unsupported field value: ${ds(r)}`)})(n,t)}function Hl(n,t){let e={};return Qc(n)?t.path&&t.path.length>0&&t.fieldMask.push(t.path):me(n,((r,i)=>{let o=hn(i,t.mc(r));o!=null&&(e[r]=o)})),{mapValue:{fields:e}}}function Jl(n){return!(typeof n!="object"||n===null||n instanceof Array||n instanceof Date||n instanceof rt||n instanceof oe||n instanceof $t||n instanceof st||n instanceof Ce||n instanceof ae)}function Ea(n,t,e){if(!Jl(e)||!Dc(e)){let r=ds(e);throw r==="an object"?t.Sc(n+" a custom object"):t.Sc(n+" "+r)}}function Bo(n,t,e){if((t=wt(t))instanceof Yt)return t._internalPath;if(typeof t=="string")return va(n,t);throw us("Field path arguments must be of type string or ",n,!1,void 0,e)}var Uf=new RegExp("[~\\*/\\[\\]]");function va(n,t,e){if(t.search(Uf)>=0)throw us(`Invalid field path (${t}). Paths must not contain '~', '*', '/', '[', or ']'`,n,!1,void 0,e);try{return new Yt(...t.split("."))._internalPath}catch{throw us(`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,n,!1,void 0,e)}}function us(n,t,e,r,i){let o=r&&!r.isEmpty(),u=i!==void 0,l=`Function ${t}() called with invalid data`;e&&(l+=" (via `toFirestore()`)"),l+=". ";let h="";return(o||u)&&(h+=" (found",o&&(h+=` in field ${r}`),u&&(h+=` in document ${i}`),h+=")"),new V(b.INVALID_ARGUMENT,l+n+h)}function Xl(n,t){return n.some((e=>e.isEqual(t)))}var xe=class{constructor(t,e,r,i,o){this._firestore=t,this._userDataWriter=e,this._key=r,this._document=i,this._converter=o}get id(){return this._key.path.lastSegment()}get ref(){return new st(this._firestore,this._converter,this._key)}exists(){return this._document!==null}data(){if(this._document){if(this._converter){let t=new jo(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(t)}return this._userDataWriter.convertValue(this._document.data.value)}}get(t){if(this._document){let e=this._document.data.field(Is("DocumentSnapshot.get",t));if(e!==null)return this._userDataWriter.convertValue(e)}}},jo=class extends xe{data(){return super.data()}};function Is(n,t){return typeof t=="string"?va(n,t):t instanceof Yt?t._internalPath:t._delegate._internalPath}function Yl(n){if(n.limitType==="L"&&n.explicitOrderBy.length===0)throw new V(b.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}var Zn=class{},De=class extends Zn{};function Aa(n,t,...e){let r=[];t instanceof Zn&&r.push(t),r=r.concat(e),(function(o){let u=o.filter((h=>h instanceof Go)).length,l=o.filter((h=>h instanceof cs)).length;if(u>1||u>0&&l>0)throw new V(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(...)))`.")})(r);for(let i of r)n=i._apply(n);return n}var cs=class n extends De{constructor(t,e,r){super(),this._field=t,this._op=e,this._value=r,this.type="where"}static _create(t,e,r){return new n(t,e,r)}_apply(t){let e=this._parse(t);return eh(t._query,e),new Dt(t.firestore,t.converter,Ci(t._query,e))}_parse(t){let e=ln(t.firestore);return(function(o,u,l,h,f,m,T){let A;if(f.isKeyField()){if(m==="array-contains"||m==="array-contains-any")throw new V(b.INVALID_ARGUMENT,`Invalid Query. You can't perform '${m}' queries on documentId().`);if(m==="in"||m==="not-in"){Vc(T,m);let D=[];for(let k of T)D.push(Pc(h,o,k));A={arrayValue:{values:D}}}else A=Pc(h,o,T)}else m!=="in"&&m!=="not-in"&&m!=="array-contains-any"||Vc(T,m),A=Wl(l,u,T,m==="in"||m==="not-in");return et.create(f,m,A)})(t._query,"where",e,t.firestore._databaseId,this._field,this._op,this._value)}};function pm(n,t,e){let r=t,i=Is("where",n);return cs._create(i,r,e)}var Go=class n extends Zn{constructor(t,e){super(),this.type=t,this._queryConstraints=e}static _create(t,e){return new n(t,e)}_parse(t){let e=this._queryConstraints.map((r=>r._parse(t))).filter((r=>r.getFilters().length>0));return e.length===1?e[0]:xt.create(e,this._getOperator())}_apply(t){let e=this._parse(t);return e.getFilters().length===0?t:((function(i,o){let u=i,l=o.getFlattenedFilters();for(let h of l)eh(u,h),u=Ci(u,h)})(t._query,e),new Dt(t.firestore,t.converter,Ci(t._query,e)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return this.type==="and"?"and":"or"}};var zo=class n extends De{constructor(t,e){super(),this._field=t,this._direction=e,this.type="orderBy"}static _create(t,e){return new n(t,e)}_apply(t){let e=(function(i,o,u){if(i.startAt!==null)throw new V(b.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(i.endAt!==null)throw new V(b.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new Ae(o,u)})(t._query,this._field,this._direction);return new Dt(t.firestore,t.converter,(function(i,o){let u=i.explicitOrderBy.concat([o]);return new qt(i.path,i.collectionGroup,u,i.filters.slice(),i.limit,i.limitType,i.startAt,i.endAt)})(t._query,e))}};function Sa(n,t="asc"){let e=t,r=Is("orderBy",n);return zo._create(r,e)}var Ko=class n extends De{constructor(t,e,r){super(),this.type=t,this._limit=e,this._limitType=r}static _create(t,e,r){return new n(t,e,r)}_apply(t){return new Dt(t.firestore,t.converter,Fr(t._query,this._limit,this._limitType))}};function Zl(n){return Kh("limit",n),Ko._create("limit",n,"F")}var ls=class n extends De{constructor(t,e,r){super(),this.type=t,this._docOrFields=e,this._inclusive=r}static _create(t,e,r){return new n(t,e,r)}_apply(t){let e=th(t,this.type,this._docOrFields,this._inclusive);return new Dt(t.firestore,t.converter,(function(i,o){return new qt(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,o,i.endAt)})(t._query,e))}};function ym(...n){return ls._create("startAt",n,!0)}function _m(...n){return ls._create("startAfter",n,!1)}var $o=class n extends De{constructor(t,e,r){super(),this.type=t,this._docOrFields=e,this._inclusive=r}static _create(t,e,r){return new n(t,e,r)}_apply(t){let e=th(t,this.type,this._docOrFields,this._inclusive);return new Dt(t.firestore,t.converter,(function(i,o){return new qt(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,i.startAt,o)})(t._query,e))}};function wm(...n){return $o._create("endAt",n,!0)}function th(n,t,e,r){if(e[0]=wt(e[0]),e[0]instanceof xe)return(function(o,u,l,h,f){if(!h)throw new V(b.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${l}().`);let m=[];for(let T of ze(o))if(T.field.isKeyField())m.push(Mr(u,h.key));else{let A=h.data.field(T.field);if(fs(A))throw new V(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(A===null){let R=T.field.canonicalString();throw new V(b.INVALID_ARGUMENT,`Invalid query. You are trying to start or end a query using a document for which the field '${R}' (used as the orderBy) does not exist.`)}m.push(A)}return new le(m,f)})(n._query,n.firestore._databaseId,t,e[0]._document,r);{let i=ln(n.firestore);return(function(u,l,h,f,m,T){let A=u.explicitOrderBy;if(m.length>A.length)throw new V(b.INVALID_ARGUMENT,`Too many arguments provided to ${f}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);let R=[];for(let D=0;D<m.length;D++){let k=m[D];if(A[D].field.isKeyField()){if(typeof k!="string")throw new V(b.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${f}(), but got a ${typeof k}`);if(!sa(u)&&k.indexOf("/")!==-1)throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${f}() must be a plain document ID, but '${k}' contains a slash.`);let C=u.path.child(W.fromString(k));if(!M.isDocumentKey(C))throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${f}() must result in a valid document path, but '${C}' is not because it contains an odd number of segments.`);let G=new M(C);R.push(Mr(l,G))}else{let C=Wl(h,f,k);R.push(C)}}return new le(R,T)})(n._query,n.firestore._databaseId,i,t,e,r)}}function Pc(n,t,e){if(typeof(e=wt(e))=="string"){if(e==="")throw new V(b.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!sa(t)&&e.indexOf("/")!==-1)throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${e}' contains a '/' character.`);let r=t.path.child(W.fromString(e));if(!M.isDocumentKey(r))throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);return Mr(n,new M(r))}if(e instanceof st)return Mr(n,e._key);throw new V(b.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${ds(e)}.`)}function Vc(n,t){if(!Array.isArray(n)||n.length===0)throw new V(b.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function eh(n,t){let e=(function(i,o){for(let u of i)for(let l of u.getFlattenedFilters())if(o.indexOf(l.op)>=0)return l.op;return null})(n.filters,(function(i){switch(i){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(e!==null)throw e===t.op?new V(b.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new V(b.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${e.toString()}' filters.`)}var hs=class{convertValue(t,e="none"){switch(ce(t)){case 0:return null;case 1:return t.booleanValue;case 2:return J(t.integerValue||t.doubleValue);case 3:return this.convertTimestamp(t.timestampValue);case 4:return this.convertServerTimestamp(t,e);case 5:return t.stringValue;case 6:return this.convertBytes(Ht(t.bytesValue));case 7:return this.convertReference(t.referenceValue);case 8:return this.convertGeoPoint(t.geoPointValue);case 9:return this.convertArray(t.arrayValue,e);case 11:return this.convertObject(t.mapValue,e);case 10:return this.convertVectorValue(t.mapValue);default:throw O(62114,{value:t})}}convertObject(t,e){return this.convertObjectMap(t.fields,e)}convertObjectMap(t,e="none"){let r={};return me(t,((i,o)=>{r[i]=this.convertValue(o,e)})),r}convertVectorValue(t){let e=t.fields?.[He].arrayValue?.values?.map((r=>J(r.doubleValue)));return new ae(e)}convertGeoPoint(t){return new oe(J(t.latitude),J(t.longitude))}convertArray(t,e){return(t.values||[]).map((r=>this.convertValue(r,e)))}convertServerTimestamp(t,e){switch(e){case"previous":let r=ms(t);return r==null?null:this.convertValue(r,e);case"estimate":return this.convertTimestamp(Bn(t));default:return null}}convertTimestamp(t){let e=Wt(t);return new rt(e.seconds,e.nanos)}convertDocumentKey(t,e){let r=W.fromString(t);j(Pl(r),9688,{name:t});let i=new kr(r.get(1),r.get(3)),o=new M(r.popFirst(5));return i.isEqual(e)||Qt(`Document ${o} contains a document reference within a different database (${i.projectId}/${i.database}) which is not supported. It will be treated as a reference in the current database (${e.projectId}/${e.database}) instead.`),o}};function ba(n,t,e){let r;return r=n?e&&(e.merge||e.mergeFields)?n.toFirestore(t,e):n.toFirestore(t):t,r}var Qo=class extends hs{constructor(t){super(),this.firestore=t}convertBytes(t){return new $t(t)}convertReference(t){let e=this.convertDocumentKey(t,this.firestore._databaseId);return new st(this.firestore,null,e)}};var re=class{constructor(t,e){this.hasPendingWrites=t,this.fromCache=e}isEqual(t){return this.hasPendingWrites===t.hasPendingWrites&&this.fromCache===t.fromCache}},ue=class n extends xe{constructor(t,e,r,i,o,u){super(t,e,r,i,u),this._firestore=t,this._firestoreImpl=t,this.metadata=o}exists(){return super.exists()}data(t={}){if(this._document){if(this._converter){let e=new $e(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(e,t)}return this._userDataWriter.convertValue(this._document.data.value,t.serverTimestamps)}}get(t,e={}){if(this._document){let r=this._document.data.field(Is("DocumentSnapshot.get",t));if(r!==null)return this._userDataWriter.convertValue(r,e.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new V(b.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let t=this._document,e={};return e.type=n._jsonSchemaVersion,e.bundle="",e.bundleSource="DocumentSnapshot",e.bundleName=this._key.toString(),!t||!t.isValidDocument()||!t.isFoundDocument()?e:(this._userDataWriter.convertObjectMap(t.data.value.mapValue.fields,"previous"),e.bundle=(this._firestore,this.ref.path,"NOT SUPPORTED"),e)}};ue._jsonSchemaVersion="firestore/documentSnapshot/1.0",ue._jsonSchema={type:nt("string",ue._jsonSchemaVersion),bundleSource:nt("string","DocumentSnapshot"),bundleName:nt("string"),bundle:nt("string")};var $e=class extends ue{data(t={}){return super.data(t)}},Ie=class n{constructor(t,e,r,i){this._firestore=t,this._userDataWriter=e,this._snapshot=i,this.metadata=new re(i.hasPendingWrites,i.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 this.size===0}forEach(t,e){this._snapshot.docs.forEach((r=>{t.call(e,new $e(this._firestore,this._userDataWriter,r.key,r,new re(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))}))}docChanges(t={}){let e=!!t.includeMetadataChanges;if(e&&this._snapshot.excludesMetadataChanges)throw new V(b.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===e||(this._cachedChanges=(function(i,o){if(i._snapshot.oldDocs.isEmpty()){let u=0;return i._snapshot.docChanges.map((l=>{let h=new $e(i._firestore,i._userDataWriter,l.doc.key,l.doc,new re(i._snapshot.mutatedKeys.has(l.doc.key),i._snapshot.fromCache),i.query.converter);return l.doc,{type:"added",doc:h,oldIndex:-1,newIndex:u++}}))}{let u=i._snapshot.oldDocs;return i._snapshot.docChanges.filter((l=>o||l.type!==3)).map((l=>{let h=new $e(i._firestore,i._userDataWriter,l.doc.key,l.doc,new re(i._snapshot.mutatedKeys.has(l.doc.key),i._snapshot.fromCache),i.query.converter),f=-1,m=-1;return l.type!==0&&(f=u.indexOf(l.doc.key),u=u.delete(l.doc.key)),l.type!==1&&(u=u.add(l.doc),m=u.indexOf(l.doc.key)),{type:Bf(l.type),doc:h,oldIndex:f,newIndex:m}}))}})(this,e),this._cachedChangesIncludeMetadataChanges=e),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new V(b.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let t={};t.type=n._jsonSchemaVersion,t.bundleSource="QuerySnapshot",t.bundleName=Ln.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let e=[],r=[],i=[];return this.docs.forEach((o=>{o._document!==null&&(e.push(o._document),r.push(this._userDataWriter.convertObjectMap(o._document.data.value.mapValue.fields,"previous")),i.push(o.ref.path))})),t.bundle=(this._firestore,this.query._query,t.bundleName,"NOT SUPPORTED"),t}};function Bf(n){switch(n){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return O(61501,{type:n})}}function Tm(n){n=It(n,st);let t=It(n.firestore,Vt);return kf(cn(t),n._key).then((e=>rh(t,n,e)))}Ie._jsonSchemaVersion="firestore/querySnapshot/1.0",Ie._jsonSchema={type:nt("string",Ie._jsonSchemaVersion),bundleSource:nt("string","QuerySnapshot"),bundleName:nt("string"),bundle:nt("string")};var rn=class extends hs{constructor(t){super(),this.firestore=t}convertBytes(t){return new $t(t)}convertReference(t){let e=this.convertDocumentKey(t,this.firestore._databaseId);return new st(this.firestore,null,e)}};function nh(n){n=It(n,Dt);let t=It(n.firestore,Vt),e=cn(t),r=new rn(t);return Yl(n._query),Mf(e,n._query).then((i=>new Ie(t,r,n,i)))}function Im(n,t,e){n=It(n,st);let r=It(n.firestore,Vt),i=ba(n.converter,t,e);return Es(r,[wa(ln(r),"setDoc",n._key,i,n.converter!==null,e).toMutation(n._key,at.none())])}function Em(n,t,e,...r){n=It(n,st);let i=It(n.firestore,Vt),o=ln(i),u;return u=typeof(t=wt(t))=="string"||t instanceof Yt?Ia(o,"updateDoc",n._key,t,e,r):Ta(o,"updateDoc",n._key,t),Es(i,[u.toMutation(n._key,at.exists(!0))])}function vm(n){return Es(It(n.firestore,Vt),[new Pe(n._key,at.none())])}function Am(n,...t){n=wt(n);let e={includeMetadataChanges:!1,source:"default"},r=0;typeof t[r]!="object"||Rc(t[r])||(e=t[r++]);let i={includeMetadataChanges:e.includeMetadataChanges,source:e.source};if(Rc(t[r])){let h=t[r];t[r]=h.next?.bind(h),t[r+1]=h.error?.bind(h),t[r+2]=h.complete?.bind(h)}let o,u,l;if(n instanceof st)u=It(n.firestore,Vt),l=gs(n._key.path),o={next:h=>{t[r]&&t[r](rh(u,n,h))},error:t[r+1],complete:t[r+2]};else{let h=It(n,Dt);u=It(h.firestore,Vt),l=h._query;let f=new rn(u);o={next:m=>{t[r]&&t[r](new Ie(u,f,h,m))},error:t[r+1],complete:t[r+2]},Yl(n._query)}return(function(f,m,T,A){let R=new Jn(A),D=new Wn(m,R,T);return f.asyncQueue.enqueueAndForget((async()=>fa(await rs(f),D))),()=>{R.Nu(),f.asyncQueue.enqueueAndForget((async()=>ma(await rs(f),D)))}})(cn(u),l,i,o)}function Es(n,t){return(function(r,i){let o=new Pt;return r.asyncQueue.enqueueAndForget((async()=>vf(await Df(r),i,o))),o.promise})(cn(n),t)}function rh(n,t,e){let r=e.docs.get(t._key),i=new rn(n);return new ue(n,i,t._key,r,new re(e.hasPendingWrites,e.fromCache),t.converter)}var jf={maxAttempts:5};var Wo=class{constructor(t,e){this._firestore=t,this._commitHandler=e,this._mutations=[],this._committed=!1,this._dataReader=ln(t)}set(t,e,r){this._verifyNotCommitted();let i=se(t,this._firestore),o=ba(i.converter,e,r),u=wa(this._dataReader,"WriteBatch.set",i._key,o,i.converter!==null,r);return this._mutations.push(u.toMutation(i._key,at.none())),this}update(t,e,r,...i){this._verifyNotCommitted();let o=se(t,this._firestore),u;return u=typeof(e=wt(e))=="string"||e instanceof Yt?Ia(this._dataReader,"WriteBatch.update",o._key,e,r,i):Ta(this._dataReader,"WriteBatch.update",o._key,e),this._mutations.push(u.toMutation(o._key,at.exists(!0))),this}delete(t){this._verifyNotCommitted();let e=se(t,this._firestore);return this._mutations=this._mutations.concat(new Pe(e._key,at.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,this._mutations.length>0?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new V(b.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}};function se(n,t){if((n=wt(n)).firestore!==t)throw new V(b.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return n}var Ho=class{constructor(t,e){this._firestore=t,this._transaction=e,this._dataReader=ln(t)}get(t){let e=se(t,this._firestore),r=new Qo(this._firestore);return this._transaction.lookup([e._key]).then((i=>{if(!i||i.length!==1)return O(24041);let o=i[0];if(o.isFoundDocument())return new xe(this._firestore,r,o.key,o,e.converter);if(o.isNoDocument())return new xe(this._firestore,r,e._key,null,e.converter);throw O(18433,{doc:o})}))}set(t,e,r){let i=se(t,this._firestore),o=ba(i.converter,e,r),u=wa(this._dataReader,"Transaction.set",i._key,o,i.converter!==null,r);return this._transaction.set(i._key,u),this}update(t,e,r,...i){let o=se(t,this._firestore),u;return u=typeof(e=wt(e))=="string"||e instanceof Yt?Ia(this._dataReader,"Transaction.update",o._key,e,r,i):Ta(this._dataReader,"Transaction.update",o._key,e),this._transaction.update(o._key,u),this}delete(t){let e=se(t,this._firestore);return this._transaction.delete(e._key),this}};var Jo=class extends Ho{constructor(t,e){super(t,e),this._firestore=t}get(t){let e=se(t,this._firestore),r=new rn(this._firestore);return super.get(t).then((i=>new ue(this._firestore,r,e._key,i._document,new re(!1,!1),e.converter)))}};function Sm(n,t,e){n=It(n,Vt);let r={...jf,...e};return(function(o){if(o.maxAttempts<1)throw new V(b.INVALID_ARGUMENT,"Max attempts must be at least 1")})(r),(function(o,u,l){let h=new Pt;return o.asyncQueue.enqueueAndForget((async()=>{let f=await Nf(o);new Mo(o.asyncQueue,f,l,u,h).ju()})),h.promise})(cn(n),(i=>t(new Jo(n,i))),r)}function bm(){return new Yn("deleteField")}function Rm(){return new qo("serverTimestamp")}function Pm(...n){return new Uo("arrayUnion",n)}function Vm(n){return cn(n=It(n,Vt)),new Wo(n,(t=>Es(n,t)))}(function(t,e=!0){(function(i){sn=i})(Lu),Mu(new Nu("firestore",((r,{instanceIdentifier:i,options:o})=>{let u=r.getProvider("app").getImmediate(),l=new Vt(new ci(r.getProvider("auth-internal")),new di(u,r.getProvider("app-check-internal")),(function(f,m){if(!Object.prototype.hasOwnProperty.apply(f.options,["projectId"]))throw new V(b.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new kr(f.options.projectId,m)})(u,i),u);return o={useFetchStreams:e,...o},l._setSettings(o),l}),"PUBLIC").setMultipleInstances(!0)),Js(Bu,ju,t),Js(Bu,ju,"esm2020")})();var Nt={year:31536e6,month:2628e6,week:6048e5,day:864e5,hour:36e5,minute:6e4,second:1e3};function Nm(n,t){let e=Math.abs(n-new Date().getTime());if(e<Nt.second)return"just now";let r=t||{numeric:"auto"},i=new Intl.RelativeTimeFormat("en",r);return e<Nt.minute?i.format(Math.round(-e/Nt.second),"second"):e<Nt.hour?i.format(Math.round(-e/Nt.minute),"minute"):e<Nt.day?i.format(Math.round(-e/Nt.hour),"hour"):e<Nt.week?i.format(Math.round(-e/Nt.day),"day"):new Date(n).toLocaleDateString("en",{year:"numeric",month:"short",day:"numeric"})}function Ra(){return Math.floor(new Date().getTime())}function km(n){return new Date(n.toMillis()).toLocaleDateString("en",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function Mm(){let n=l=>l<10?"0"+l:l,t=new Date,e=t.getFullYear(),r=n(t.getMonth()+1),i=n(t.getDate()),o=n(t.getHours()),u=n(t.getMinutes());return`${e}-${r}-${i}T${o}:${u}`}var sh={};async function Um(n,t){let e=t?.throttle||0,r=t?.throttleId?`${n}::${t.throttleId}`:n;if(Gf(r,e))return;let i=await fetch("/cms/api/actions.log",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:n,metadata:t?.metadata||{},links:t?.links})});if(i.status!==200){let o=await i.text();console.error(`failed to log action "${n}":`,o);return}sh[r]=Ra()}async function Bm(n){let t=window.__ROOT_CTX.rootConfig.projectId,e=window.firebase.db,r=$l(e,"Projects",t,"ActionLogs"),i=n?.limit,o;if(i){let f=Math.ceil(i*1.5);o=Aa(r,Sa("timestamp","desc"),Zl(f))}else o=Aa(r,Sa("timestamp","desc"));let u=await nh(o),l=[];function h(f){if(l.length===0)return!1;let m=l.at(-1);return f.action==="doc.save"&&m.action==="doc.save"&&f.by===m.by&&f.metadata.docId===m.metadata.docId&&f.timestamp.toMillis()-m.timestamp.toMillis()<60*Nt.minute}for(let f of u.docs){if(i&&l.length>=i)break;let m=f.data();h(m)||l.push(m)}return l}function Gf(n,t){if(t===0)return!1;let e=sh[n];return e?Ra()-e<t:!1}export{rt as a,$l as b,fm as c,mm as d,Yt as e,gm as f,Aa as g,pm as h,Sa as i,Zl as j,ym as k,_m as l,wm as m,Tm as n,nh as o,Im as p,Em as q,vm as r,Am as s,Sm as t,bm as u,Rm as v,Pm as w,Vm as x,Nt as y,Nm as z,Ra as A,km as B,Mm as C,Um as D,Bm as E};
|