firebase
Version:
Firebase JavaScript library for web and Node.js
10 lines • 548 kB
JavaScript
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app-compat"),require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app-compat","@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase,e.firebase.INTERNAL.modularAPIs)})(this,function(Af,Sf){try{!(function(){let a=()=>{},B=function(t){var r=[];let n=0;for(let s=0;s<t.length;s++){let e=t.charCodeAt(s);e<128?r[n++]=e:(e<2048?r[n++]=e>>6|192:(55296==(64512&e)&&s+1<t.length&&56320==(64512&t.charCodeAt(s+1))?(e=65536+((1023&e)<<10)+(1023&t.charCodeAt(++s)),r[n++]=e>>18|240,r[n++]=e>>12&63|128):r[n++]=e>>12|224,r[n++]=e>>6&63|128),r[n++]=63&e|128)}return r},o={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(r,e){if(!Array.isArray(r))throw Error("encodeByteArray takes an array as a parameter");this.init_();var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,s=[];for(let l=0;l<r.length;l+=3){var i=r[l],a=l+1<r.length,B=a?r[l+1]:0,o=l+2<r.length,u=o?r[l+2]:0;let e=(15&B)<<2|u>>6,t=63&u;o||(t=64,a)||(e=64),s.push(n[i>>2],n[(3&i)<<4|B>>4],n[e],n[t])}return s.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(B(e),t)},decodeString(r,n){if(this.HAS_NATIVE_SUPPORT&&!n)return atob(r);{var s=this.decodeStringToByteArray(r,n);var i=[];let e=0,t=0;for(;e<s.length;){var a,B,o,u=s[e++];u<128?i[t++]=String.fromCharCode(u):191<u&&u<224?(a=s[e++],i[t++]=String.fromCharCode((31&u)<<6|63&a)):239<u&&u<365?(a=((7&u)<<18|(63&s[e++])<<12|(63&s[e++])<<6|63&s[e++])-65536,i[t++]=String.fromCharCode(55296+(a>>10)),i[t++]=String.fromCharCode(56320+(1023&a))):(B=s[e++],o=s[e++],i[t++]=String.fromCharCode((15&u)<<12|(63&B)<<6|63&o))}return i.join("");return}},decodeStringToByteArray(e,t){this.init_();var r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let o=0;o<e.length;){var s=r[e.charAt(o++)],i=o<e.length?r[e.charAt(o)]:0,a=++o<e.length?r[e.charAt(o)]:64,B=++o<e.length?r[e.charAt(o)]:64;if(++o,null==s||null==i||null==a||null==B)throw new M;n.push(s<<2|i>>4),64!==a&&(n.push(i<<4&240|a>>2),64!==B)&&n.push(a<<6&192|B)}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),(this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e)>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class M extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let H=function(e){var t=B(e);return o.encodeByteArray(t,!0)},V=function(e){return H(e).replace(/\./g,"")},U=function(e){try{return o.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function q(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("Unable to locate global object.")}let J=()=>q().__FIREBASE_DEFAULTS__,K=()=>{var e;return"undefined"!=typeof process&&void 0!==process.env&&(e=process.env.__FIREBASE_DEFAULTS__)?JSON.parse(e):void 0},j=()=>{if("undefined"!=typeof document){let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}var t=e&&U(e[1]);return t&&JSON.parse(t)}},Q=()=>{try{return a()||J()||K()||j()}catch(e){console.info("Unable to get __FIREBASE_DEFAULTS__ due to: "+e)}};function z(){return"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function Y(){var e=Q()?.forceEnvironment;if("node"===e)return 1;if("browser"!==e)try{return"[object process]"===Object.prototype.toString.call(global.process)}catch(e){}}function W(){return!Y()&&navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function X(){return!Y()&&navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")}class $ extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,$.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,Z.prototype.create)}}class Z{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var r=t[0]||{},n=this.service+"/"+e,s=this.errors[e],s=s?((r,n)=>{try{let e=0,t="";for(;e<r.length;){var s=r.indexOf("{$",e);if(-1===s){t+=r.substring(e);break}var i=r.indexOf("}",s+2);if(-1===i){t+=r.substring(e);break}var a=r.substring(s+2,i),B=n[a];t+=r.substring(e,s)+(null!=B?String(B):`<${a}?>`),e=i+1}return t}catch(e){return r}})(s,r):"Error",s=this.serviceName+`: ${s} (${n}).`;return new $(n,s,r)}}function ee(e,t){if(e!==t){var r,n,s=Object.keys(e),i=Object.keys(t);for(r of s){if(!i.includes(r))return!1;var a=e[r],B=t[r];if(te(a)&&te(B)){if(!ee(a,B))return!1}else if(a!==B)return!1}for(n of i)if(!s.includes(n))return!1}return!0}function te(e){return null!==e&&"object"==typeof e}function re(e){return e&&e._delegate?e._delegate:e}function ne(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch{return!1}}class se{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}var ie,ae,h,e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!(function(){var e,t,i;function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.C=Array(this.blockSize),this.o=this.h=0,this.u()}function n(){}function a(e,t,r){r=r||0;var n=Array(16);if("string"==typeof t)for(var s=0;s<16;++s)n[s]=t.charCodeAt(r++)|t.charCodeAt(r++)<<8|t.charCodeAt(r++)<<16|t.charCodeAt(r++)<<24;else for(s=0;s<16;++s)n[s]=t[r++]|t[r++]<<8|t[r++]<<16|t[r++]<<24;t=e.g[0],r=e.g[1];var s=e.g[2],i=e.g[3],a=t+(i^r&(s^i))+n[0]+3614090360&4294967295;a=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=r+(a<<7&4294967295|a>>>25))+((a=i+(s^t&(r^s))+n[1]+3905402710&4294967295)<<12&4294967295|a>>>20))+((a=s+(r^i&(t^r))+n[2]+606105819&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^s&(i^t))+n[3]+3250441966&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^r&(s^i))+n[4]+4118548399&4294967295)<<7&4294967295|a>>>25))+((a=i+(s^t&(r^s))+n[5]+1200080426&4294967295)<<12&4294967295|a>>>20))+((a=s+(r^i&(t^r))+n[6]+2821735955&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^s&(i^t))+n[7]+4249261313&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^r&(s^i))+n[8]+1770035416&4294967295)<<7&4294967295|a>>>25))+((a=i+(s^t&(r^s))+n[9]+2336552879&4294967295)<<12&4294967295|a>>>20))+((a=s+(r^i&(t^r))+n[10]+4294925233&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^s&(i^t))+n[11]+2304563134&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^r&(s^i))+n[12]+1804603682&4294967295)<<7&4294967295|a>>>25))+((a=i+(s^t&(r^s))+n[13]+4254626195&4294967295)<<12&4294967295|a>>>20))+((a=s+(r^i&(t^r))+n[14]+2792965006&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^s&(i^t))+n[15]+1236535329&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^i&(r^s))+n[1]+4129170786&4294967295)<<5&4294967295|a>>>27))+((a=i+(r^s&(t^r))+n[6]+3225465664&4294967295)<<9&4294967295|a>>>23))+((a=s+(t^r&(i^t))+n[11]+643717713&4294967295)<<14&4294967295|a>>>18))+((a=r+(i^t&(s^i))+n[0]+3921069994&4294967295)<<20&4294967295|a>>>12))+((a=t+(s^i&(r^s))+n[5]+3593408605&4294967295)<<5&4294967295|a>>>27))+((a=i+(r^s&(t^r))+n[10]+38016083&4294967295)<<9&4294967295|a>>>23))+((a=s+(t^r&(i^t))+n[15]+3634488961&4294967295)<<14&4294967295|a>>>18))+((a=r+(i^t&(s^i))+n[4]+3889429448&4294967295)<<20&4294967295|a>>>12))+((a=t+(s^i&(r^s))+n[9]+568446438&4294967295)<<5&4294967295|a>>>27))+((a=i+(r^s&(t^r))+n[14]+3275163606&4294967295)<<9&4294967295|a>>>23))+((a=s+(t^r&(i^t))+n[3]+4107603335&4294967295)<<14&4294967295|a>>>18))+((a=r+(i^t&(s^i))+n[8]+1163531501&4294967295)<<20&4294967295|a>>>12))+((a=t+(s^i&(r^s))+n[13]+2850285829&4294967295)<<5&4294967295|a>>>27))+((a=i+(r^s&(t^r))+n[2]+4243563512&4294967295)<<9&4294967295|a>>>23))+((a=s+(t^r&(i^t))+n[7]+1735328473&4294967295)<<14&4294967295|a>>>18))+((a=r+(i^t&(s^i))+n[12]+2368359562&4294967295)<<20&4294967295|a>>>12))+((a=t+(r^s^i)+n[5]+4294588738&4294967295)<<4&4294967295|a>>>28))+((a=i+(t^r^s)+n[8]+2272392833&4294967295)<<11&4294967295|a>>>21))+((a=s+(i^t^r)+n[11]+1839030562&4294967295)<<16&4294967295|a>>>16))+((a=r+(s^i^t)+n[14]+4259657740&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^s^i)+n[1]+2763975236&4294967295)<<4&4294967295|a>>>28))+((a=i+(t^r^s)+n[4]+1272893353&4294967295)<<11&4294967295|a>>>21))+((a=s+(i^t^r)+n[7]+4139469664&4294967295)<<16&4294967295|a>>>16))+((a=r+(s^i^t)+n[10]+3200236656&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^s^i)+n[13]+681279174&4294967295)<<4&4294967295|a>>>28))+((a=i+(t^r^s)+n[0]+3936430074&4294967295)<<11&4294967295|a>>>21))+((a=s+(i^t^r)+n[3]+3572445317&4294967295)<<16&4294967295|a>>>16))+((a=r+(s^i^t)+n[6]+76029189&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^s^i)+n[9]+3654602809&4294967295)<<4&4294967295|a>>>28))+((a=i+(t^r^s)+n[12]+3873151461&4294967295)<<11&4294967295|a>>>21))+((a=s+(i^t^r)+n[15]+530742520&4294967295)<<16&4294967295|a>>>16))+((a=r+(s^i^t)+n[2]+3299628645&4294967295)<<23&4294967295|a>>>9))+((a=t+(s^(r|~i))+n[0]+4096336452&4294967295)<<6&4294967295|a>>>26))+((a=i+(r^(t|~s))+n[7]+1126891415&4294967295)<<10&4294967295|a>>>22))+((a=s+(t^(i|~r))+n[14]+2878612391&4294967295)<<15&4294967295|a>>>17))+((a=r+(i^(s|~t))+n[5]+4237533241&4294967295)<<21&4294967295|a>>>11))+((a=t+(s^(r|~i))+n[12]+1700485571&4294967295)<<6&4294967295|a>>>26))+((a=i+(r^(t|~s))+n[3]+2399980690&4294967295)<<10&4294967295|a>>>22))+((a=s+(t^(i|~r))+n[10]+4293915773&4294967295)<<15&4294967295|a>>>17))+((a=r+(i^(s|~t))+n[1]+2240044497&4294967295)<<21&4294967295|a>>>11))+((a=t+(s^(r|~i))+n[8]+1873313359&4294967295)<<6&4294967295|a>>>26))+((a=i+(r^(t|~s))+n[15]+4264355552&4294967295)<<10&4294967295|a>>>22))+((a=s+(t^(i|~r))+n[6]+2734768916&4294967295)<<15&4294967295|a>>>17))+((a=r+(i^(s|~t))+n[13]+1309151649&4294967295)<<21&4294967295|a>>>11))+((i=(t=r+((a=t+(s^(r|~i))+n[4]+4149444226&4294967295)<<6&4294967295|a>>>26))+((a=i+(r^(t|~s))+n[11]+3174756917&4294967295)<<10&4294967295|a>>>22))^((s=i+((a=s+(t^(i|~r))+n[2]+718787259&4294967295)<<15&4294967295|a>>>17))|~t))+n[9]+3951481745&4294967295,e.g[0]=e.g[0]+t&4294967295,e.g[1]=e.g[1]+(s+(a<<21&4294967295|a>>>11))&4294967295,e.g[2]=e.g[2]+s&4294967295,e.g[3]=e.g[3]+i&4294967295}function o(e,t){this.h=t;var r=[];let n=!0;for(let i=e.length-1;0<=i;i--){var s=0|e[i];n&&s==t||(r[i]=s,n=!1)}this.g=r}t=r,i=function(){this.blockSize=-1},n.prototype=i.prototype,t.F=i.prototype,t.prototype=new n,(t.prototype.constructor=t).D=function(e,t,r){for(var n=Array(arguments.length-2),s=2;s<arguments.length;s++)n[s-2]=arguments[s];return i.prototype[t].apply(e,n)},r.prototype.u=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0},r.prototype.v=function(e,t){var r=(t=void 0===t?e.length:t)-this.blockSize,n=this.C;let s=this.h,i=0;for(;i<t;){if(0==s)for(;i<=r;)a(this,e,i),i+=this.blockSize;if("string"==typeof e){for(;i<t;)if(n[s++]=e.charCodeAt(i++),s==this.blockSize){a(this,n),s=0;break}}else for(;i<t;)if(n[s++]=e[i++],s==this.blockSize){a(this,n),s=0;break}}this.h=s,this.o+=t},r.prototype.A=function(){var t=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);t[0]=128;for(var r=1;r<t.length-8;++r)t[r]=0;for(var r=8*this.o,n=t.length-8;n<t.length;++n)t[n]=255&r,r/=256;for(this.v(t),t=Array(16),n=r=0;n<4;++n)for(let e=0;e<32;e+=8)t[r++]=this.g[n]>>>e&255;return t};var s={};function B(e){return-128<=e&&e<128?(t=e,r=function(e){return new o([0|e],e<0?-1:0)},n=s,Object.prototype.hasOwnProperty.call(n,t)?n[t]:n[t]=r(t)):new o([0|e],e<0?-1:0);var t,r,n}function u(e){if(isNaN(e)||!isFinite(e))return l;if(e<0)return g(u(-e));var t=[];let r=1;for(let n=0;e>=r;n++)t[n]=e/r|0,r*=4294967296;return new o(t,0)}var l=B(0),h=B(1),c=B(16777216);function C(t){if(0==t.h){for(let e=0;e<t.g.length;e++)if(0!=t.g[e])return;return 1}}function d(e){return-1==e.h}function g(e){var t=e.g.length,r=[];for(let n=0;n<t;n++)r[n]=~e.g[n];return new o(r,~e.h).add(h)}function p(e,t){return e.add(g(t))}function f(e,t){for(;(65535&e[t])!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function m(e,t){this.g=e,this.h=t}function D(e,t){if(C(t))throw Error("division by zero");if(C(e))return new m(l,l);if(d(e))return t=D(g(e),t),new m(g(t.g),g(t.h));if(d(t))return t=D(e,g(t)),new m(g(t.g),t.h);if(30<e.g.length){if(d(e)||d(t))throw Error("slowDivide_ only works with positive integers.");for(var r=h,n=t;n.l(e)<=0;)r=E(r),n=E(n);for(var s=v(r,1),i=v(n,1),n=v(n,2),r=v(r,2);!C(n);){var a=i.add(n);a.l(e)<=0&&(s=s.add(r),i=a),n=v(n,1),r=v(r,1)}return t=p(e,s.j(t)),new m(s,t)}for(s=l;0<=e.l(t);){for(r=Math.max(1,Math.floor(e.m()/t.m())),n=(n=Math.ceil(Math.log(r)/Math.LN2))<=48?1:Math.pow(2,n-48),a=(i=u(r)).j(t);d(a)||0<a.l(e);)a=(i=u(r-=n)).j(t);C(i)&&(i=h),s=s.add(i),e=p(e,a)}return new m(s,e)}function E(e){var t=e.g.length+1,r=[];for(let n=0;n<t;n++)r[n]=e.i(n)<<1|e.i(n-1)>>>31;return new o(r,e.h)}function v(e,t){var r=t>>5,n=(t%=32,e.g.length-r),s=[];for(let i=0;i<n;i++)s[i]=0<t?e.i(i+r)>>>t|e.i(i+r+1)<<32-t:e.i(i+r);return new o(s,e.h)}(e=o.prototype).m=function(){if(d(this))return-g(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){var r=this.i(n);e+=(0<=r?r:4294967296+r)*t,t*=4294967296}return e},e.toString=function(t){if((t=t||10)<2||36<t)throw Error("radix out of range: "+t);if(C(this))return"0";if(d(this))return"-"+g(this).toString(t);var r=u(Math.pow(t,6)),n=this;let s="";for(;;){var i=D(n,r).g;let e=((0<(n=p(n,i.j(r))).g.length?n.g[0]:n.h)>>>0).toString(t);if(C(n=i))return e+s;for(;e.length<6;)e="0"+e;s=e+s}},e.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},e.l=function(e){return d(e=p(this,e))?-1:C(e)?0:1},e.abs=function(){return d(this)?g(this):this},e.add=function(e){var t=Math.max(this.g.length,e.g.length),r=[];let n=0;for(let a=0;a<=t;a++){var s=n+(65535&this.i(a))+(65535&e.i(a)),i=(s>>>16)+(this.i(a)>>>16)+(e.i(a)>>>16);n=i>>>16,s&=65535,i&=65535,r[a]=i<<16|s}return new o(r,-2147483648&r[r.length-1]?-1:0)},e.j=function(t){if(C(this)||C(t))return l;if(d(this))return d(t)?g(this).j(g(t)):g(g(this).j(t));if(d(t))return g(this.j(g(t)));if(this.l(c)<0&&t.l(c)<0)return u(this.m()*t.m());for(var e=this.g.length+t.g.length,r=[],n=0;n<2*e;n++)r[n]=0;for(n=0;n<this.g.length;n++)for(let e=0;e<t.g.length;e++){var s=this.i(n)>>>16,i=65535&this.i(n),a=t.i(e)>>>16,B=65535&t.i(e);r[2*n+2*e]+=i*B,f(r,2*n+2*e),r[2*n+2*e+1]+=s*B,f(r,2*n+2*e+1),r[2*n+2*e+1]+=i*a,f(r,2*n+2*e+1),r[2*n+2*e+2]+=s*a,f(r,2*n+2*e+2)}for(t=0;t<e;t++)r[t]=r[2*t+1]<<16|r[2*t];for(t=e;t<2*e;t++)r[t]=0;return new o(r,0)},e.B=function(e){return D(this,e).h},e.and=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)&e.i(n);return new o(r,this.h&e.h)},e.or=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)|e.i(n);return new o(r,this.h|e.h)},e.xor=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)^e.i(n);return new o(r,this.h^e.h)},r.prototype.digest=r.prototype.A,r.prototype.reset=r.prototype.u,r.prototype.update=r.prototype.v,ae=r,o.prototype.multiply=o.prototype.j,o.prototype.modulo=o.prototype.B,o.prototype.compare=o.prototype.l,o.prototype.toNumber=o.prototype.m,o.prototype.getBits=o.prototype.i,o.fromNumber=u,o.fromString=function e(t,r){if(0==t.length)throw Error("number format error: empty string");if((r=r||10)<2||36<r)throw Error("radix out of range: "+r);if("-"==t.charAt(0))return g(e(t.substring(1),r));if(0<=t.indexOf("-"))throw Error('number format error: interior "-" character');var n=u(Math.pow(r,8));let s=l;for(let B=0;B<t.length;B+=8){var i=Math.min(8,t.length-B),a=parseInt(t.substring(B,B+i),r);s=(i<8?(i=u(Math.pow(r,i)),s.j(i)):s=s.j(n)).add(u(a))}return s},ie=o}).apply(void 0!==e?e:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),(jp=h=h||{})[jp.DEBUG=0]="DEBUG",jp[jp.VERBOSE=1]="VERBOSE",jp[jp.INFO=2]="INFO",jp[jp.WARN=3]="WARN",jp[jp.ERROR=4]="ERROR",jp[jp.SILENT=5]="SILENT";let Be={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},oe=h.INFO,ue={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},le=(e,t,...r)=>{if(!(t<e.logLevel)){var n=(new Date).toISOString(),s=ue[t];if(!s)throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`);console[s](`[${n}] ${e.name}:`,...r)}};var ir,ar,Br,or,ur,lr,hr,cr,Cr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},y=(!(function(){var e,k=Object.defineProperty;var G=(e=>{e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof Cr&&Cr];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")})(this);function P(e,t){if(t)e:{var r=G;e=e.split(".");for(var n=0;n<e.length-1;n++){var s=e[n];if(!(s in r))break e;r=r[s]}(t=t(n=r[e=e[e.length-1]]))!=n&&null!=t&&k(r,e,{configurable:!0,writable:!0,value:t})}}P("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),P("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),P("Object.entries",function(e){return e||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.push([t,e[t]]);return r}});var M=M||{},F=this||self;function H(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function V(e,t,r){return e.call.apply(e.bind,arguments)}function f(e,t,r){return(f=V).apply(null,arguments)}function U(t){var r=Array.prototype.slice.call(arguments,1);return function(){var e=r.slice();return e.push.apply(e,arguments),t.apply(this,e)}}function t(e,i){function t(){}t.prototype=i.prototype,e.Z=i.prototype,e.prototype=new t,(e.prototype.constructor=e).Ob=function(e,t,r){for(var n=Array(arguments.length-2),s=2;s<arguments.length;s++)n[s-2]=arguments[s];return i.prototype[t].apply(e,n)}}var q="undefined"!=typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function J(t){var r=t.length;if(0<r){var n=Array(r);for(let e=0;e<r;e++)n[e]=t[e];return n}return[]}function K(t){for(let e=1;e<arguments.length;e++){var r=arguments[e];if("array"==(n="object"!=(n=typeof r)?n:r?Array.isArray(r)?"array":n:"null")||"object"==n&&"number"==typeof r.length){var n=t.length||0,s=r.length||0;t.length=n+s;for(let e=0;e<s;e++)t[n+e]=r[e]}else t.push(r)}}var j=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return 0<this.h?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new Q,e=>e.reset());class Q{constructor(){this.next=this.g=this.h=null}set(e,t){this.h=e,this.g=t,this.next=null}reset(){this.next=this.g=this.h=null}}let r,n=!1,z=new class{constructor(){this.h=this.g=null}add(e,t){var r=j.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r}},Y=()=>{let e=Promise.resolve(void 0);r=()=>{e.then(W)}};function W(){for(var e;e=(()=>{let e=z,t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t})();){try{e.h.call(e.g)}catch(e){(e=>{F.setTimeout(()=>{throw e},0)})(e)}var t=j;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}n=!1}function s(){this.u=this.u,this.C=this.C}function B(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}s.prototype.u=!1,s.prototype.dispose=function(){this.u||(this.u=!0,this.N())},s.prototype[Symbol.dispose]=function(){this.dispose()},s.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},B.prototype.h=function(){this.defaultPrevented=!0};var X=(()=>{if(!F.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{var r=()=>{};F.addEventListener("test",r,t),F.removeEventListener("test",r,t)}catch(e){}return e})();function A(e){return/^[\s\xa0]*$/.test(e)}function i(e,t){B.call(this,e?e.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,e&&this.init(e,t)}t(i,B),i.prototype.init=function(e,t){var r=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,(t=e.relatedTarget)||("mouseover"==r?t=e.fromElement:"mouseout"==r&&(t=e.toElement)),this.relatedTarget=t,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0):(this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||"",this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType=e.pointerType,this.state=e.state,(this.i=e).defaultPrevented&&i.Z.h.call(this)},i.prototype.h=function(){i.Z.h.call(this);var e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var $="closure_listenable_"+(1e6*Math.random()|0),Z=0;function ee(e,t,r,n,s){this.listener=e,this.proxy=null,this.src=t,this.type=r,this.capture=!!n,this.ha=s,this.key=++Z,this.da=this.fa=!1}function te(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function re(e,t,r){for(var n in e)t.call(r,e[n],n,e)}function ne(e){var t,r={};for(t in e)r[t]=e[t];return r}let se="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function ie(t){let r,n;for(let s=1;s<arguments.length;s++){for(r in n=arguments[s])t[r]=n[r];for(let e=0;e<se.length;e++)r=se[e],Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}}function ae(e){this.src=e,this.g={},this.h=0}function Be(e,t){var r,n,s,i=t.type;i in e.g&&(r=e.g[i],(s=0<=(n=Array.prototype.indexOf.call(r,t,void 0)))&&Array.prototype.splice.call(r,n,1),s)&&(te(t),0==e.g[i].length)&&(delete e.g[i],e.h--)}function oe(e,t,r,n){for(let i=0;i<e.length;++i){var s=e[i];if(!s.da&&s.listener==t&&s.capture==!!r&&s.ha==n)return i}return-1}ae.prototype.add=function(e,t,r,n,s){var i=e.toString(),a=((e=this.g[i])||(e=this.g[i]=[],this.h++),oe(e,t,n,s));return-1<a?(t=e[a],r||(t.fa=!1)):((t=new ee(t,this.src,i,!!n,s)).fa=r,e.push(t)),t};var ue="closure_lm_"+(1e6*Math.random()|0),le={};function he(r,n,s,i,a){if(Array.isArray(n)){for(let e=0;e<n.length;e++)he(r,n[e],s,i,a);return null}if(s=fe(s),r&&r[$])return r.J(n,s,!!H(i)&&!!i.capture,a);{var B=r,o=n,u=s,l=!1,h=i,c=a;if(!o)throw Error("Invalid event type");let e=H(h)?!!h.capture:!!h,t=ge(B);if(t||(B[ue]=t=new ae(B)),!(u=t.add(o,u,l,e,c)).proxy)if(l=(()=>{let r=de;return function e(t){return r.call(e.src,e.listener,t)}})(),(u.proxy=l).src=B,l.listener=u,B.addEventListener)void 0===(h=X?h:e)&&(h=!1),B.addEventListener(o.toString(),l,h);else if(B.attachEvent)B.attachEvent(Ce(o.toString()),l);else{if(!B.addListener||!B.removeListener)throw Error("addEventListener and attachEvent are unavailable.");B.addListener(l)}return u}}function ce(e){var t,r,n;"number"!=typeof e&&e&&!e.da&&((t=e.src)&&t[$]?Be(t.i,e):(r=e.type,n=e.proxy,t.removeEventListener?t.removeEventListener(r,n,e.capture):t.detachEvent?t.detachEvent(Ce(r),n):t.addListener&&t.removeListener&&t.removeListener(n),(r=ge(t))?(Be(r,e),0==r.h&&(r.src=null,t[ue]=null)):te(e)))}function Ce(e){return e in le?le[e]:le[e]="on"+e}function de(e,t){var r,n;return e=!!e.da||(t=new i(t,this),r=e.listener,n=e.ha||e.src,e.fa&&ce(e),r.call(n,t))}function ge(e){return(e=e[ue])instanceof ae?e:null}var pe="__closure_events_fn_"+(1e9*Math.random()>>>0);function fe(t){return"function"==typeof t?t:(t[pe]||(t[pe]=function(e){return t.handleEvent(e)}),t[pe])}function a(){s.call(this),this.i=new ae(this),(this.M=this).G=null}function o(e,t){var r,n,s=e.G;if(s)for(r=[];s;s=s.G)r.push(s);e=e.M,s=t.type||t,"string"==typeof t?t=new B(t,e):t instanceof B?t.target=t.target||e:(n=t,ie(t=new B(s,e),n)),n=!0;let i,a;if(r)for(a=r.length-1;0<=a;a--)n=me(i=t.g=r[a],s,!0,t)&&n;if(n=me(i=t.g=e,s,!0,t)&&n,n=me(i,s,!1,t)&&n,r)for(a=0;a<r.length;a++)n=me(i=t.g=r[a],s,!1,t)&&n}function me(e,t,r,n){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let s=!0;for(let o=0;o<t.length;++o){var i,a,B=t[o];B&&!B.da&&B.capture==r&&(i=B.listener,a=B.ha||B.src,B.fa&&Be(e.i,B),s=!1!==i.call(a,n)&&s)}return s&&!n.defaultPrevented}function De(e){e.g=((e,t)=>{if("function"!=typeof e){if(!e||"function"!=typeof e.handleEvent)throw Error("Invalid listener argument");e=f(e.handleEvent,e)}return 2147483647<Number(t)?-1:F.setTimeout(e,t||0)})(()=>{e.g=null,e.i&&(e.i=!1,De(e))},e.l);var t=e.h;e.h=null,e.m.apply(null,t)}t(a,s),a.prototype[$]=!0,a.prototype.removeEventListener=function(e,t,r,n){!function e(t,r,n,s,i){if(Array.isArray(r))for(var a=0;a<r.length;a++)e(t,r[a],n,s,i);else s=H(s)?!!s.capture:!!s,n=fe(n),t&&t[$]?(t=t.i,(a=String(r).toString())in t.g&&-1<(n=oe(r=t.g[a],n,s,i))&&(te(r[n]),Array.prototype.splice.call(r,n,1),0==r.length)&&(delete t.g[a],t.h--)):(t=t&&ge(t))&&(r=t.g[r.toString()],n=(t=-1)<(t=r?oe(r,n,s,i):t)?r[t]:null)&&ce(n)}(this,e,t,r,n)},a.prototype.N=function(){if(a.Z.N.call(this),this.i){var t,r=this.i;for(t in r.g){var n=r.g[t];for(let e=0;e<n.length;e++)te(n[e]);delete r.g[t],r.h--}}this.G=null},a.prototype.J=function(e,t,r,n){return this.i.add(String(e),t,!1,r,n)},a.prototype.K=function(e,t,r,n){return this.i.add(String(e),t,!0,r,n)};class Ee extends s{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:De(this)}N(){super.N(),this.g&&(F.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function u(e){s.call(this),this.h=e,this.g={}}t(u,s);var ve=[];function we(e){re(e.g,function(e,t){this.g.hasOwnProperty(t)&&ce(e)},e),e.g={}}u.prototype.N=function(){u.Z.N.call(this),we(this)},u.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var ye=F.JSON.stringify,_e=F.JSON.parse,Ie=class{stringify(e){return F.JSON.stringify(e,void 0)}parse(e){return F.JSON.parse(e,void 0)}};function Te(){}function be(){}var Ne={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function Fe(){B.call(this,"d")}function Ae(){B.call(this,"c")}t(Fe,B),t(Ae,B);var l={},Se=null;function Oe(){return Se=Se||new a}function xe(e){B.call(this,l.Ia,e)}function Le(){var e=Oe();o(e,new xe(e))}function Re(e,t){B.call(this,l.STAT_EVENT,e),this.stat=t}function S(e){var t=Oe();o(t,new Re(t,e))}function ke(e,t){B.call(this,l.Ja,e),this.size=t}function m(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return F.setTimeout(function(){e()},t)}function h(){this.g=!0}function O(e,t,r,n){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+((e,t)=>{if(!e.g)return t;if(!t)return null;try{var r=JSON.parse(t);if(r)for(e=0;e<r.length;e++)if(Array.isArray(r[e])){var n=r[e];if(!(n.length<2)){var s=n[1];if(Array.isArray(s)&&!(s.length<1)){var i=s[0];if("noop"!=i&&"stop"!=i&&"close"!=i)for(let e=1;e<s.length;e++)s[e]=""}}}return ye(r)}catch(e){return t}})(e,r)+(n?" "+n:"")})}l.Ia="serverreachability",t(xe,B),l.STAT_EVENT="statevent",t(Re,B),l.Ja="timingevent",t(ke,B),h.prototype.ua=function(){this.g=!1},h.prototype.info=function(){};var Ge={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},Pe={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function Me(){}function c(e){return encodeURIComponent(String(e))}function C(e,t,r,n){this.j=e,this.i=t,this.l=r,this.S=n||1,this.V=new u(this),this.H=45e3,this.J=null,this.o=!1,this.u=this.B=this.A=this.M=this.F=this.T=this.D=null,this.G=[],this.g=null,this.C=0,this.m=this.v=null,this.X=-1,this.K=!1,this.P=0,this.O=null,this.W=this.L=this.U=this.R=!1,this.h=new He}function He(){this.i=null,this.g="",this.h=!1}t(Me,Te),Me.prototype.g=function(){return new XMLHttpRequest};var Ve=new Me,Ue={},qe={};function Je(e,t,r){e.M=1,e.A=Bt(g(t)),e.u=r,e.R=!0,Ke(e,null)}function Ke(e,t){e.F=Date.now(),Qe(e),e.B=g(e.A);var a,B,o,u,l,h,r=e.B,n=e.S,s=(Array.isArray(n)||(n=[String(n)]),Dt(r.i,"t",n),e.C=0,r=e.j.L,e.h=new He,e.g=er(e.j,r?t:null,!e.u),0<e.P&&(e.O=new Ee(f(e.Y,e,e.g),e.P)),t=e.V,r=e.g,n=e.ba,"readystatechange");Array.isArray(s)||(s&&(ve[0]=s.toString()),s=ve);for(let c=0;c<s.length;c++){var i=he(r,s[c],n||t.handleEvent,!1,t.h||t);if(!i)break;t.g[i.key]=i}t=e.J?ne(e.J):{},e.u?(e.v||(e.v="POST"),t["Content-Type"]="application/x-www-form-urlencoded",e.g.ea(e.B,e.v,e.u,t)):(e.v="GET",e.g.ea(e.B,e.v,null,t)),Le(),a=e.i,B=e.v,o=e.B,u=e.l,l=e.S,h=e.u,a.info(function(){if(a.g)if(h){var t="",r=h.split("&");for(let e=0;e<r.length;e++){var n,s,i=r[e].split("=");1<i.length&&(n=i[0],i=i[1],t=2<=(s=n.split("_")).length&&"type"==s[1]?t+(n+"=")+i+"&":t+(n+"=redacted&"))}}else t=null;else t=h;return"XMLHTTP REQ ("+u+") [attempt "+l+"]: "+B+"\n"+o+"\n"+t})}function je(e){return e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function Qe(e){e.T=Date.now()+e.H,ze(e,e.H)}function ze(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=m(f(e.aa,e),t)}function Ye(e){e.D&&(F.clearTimeout(e.D),e.D=null)}function x(e){0==e.j.I||e.K||Wt(e.j,e)}function L(e){Ye(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,we(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dispose())}function We(e,t){try{var r=e.j;if(0!=r.I&&(r.g==e||tt(r.h,e)))if(!e.L&&tt(r.h,e)&&3==r.I){try{var n=r.Ba.g.parse(t)}catch(e){n=null}if(Array.isArray(n)&&3==n.length){var s=n;if(0==s[0]){e:if(!r.v){if(r.g){if(!(r.g.F+3e3<e.F))break e;Yt(r),Mt(r)}jt(r),S(18)}}else r.xa=s[1],0<r.xa-r.K&&s[2]<37500&&r.F&&0==r.A&&!r.C&&(r.C=m(f(r.Va,r),6e3));et(r.h)<=1&&r.ta&&(r.ta=void 0)}else T(r,11)}else if(!e.L&&r.g!=e||Yt(r),!A(t))for(s=r.Ba.g.parse(t),t=0;t<s.length;t++){var i,a,B,o,u,l,h,c,C,d,g=s[t],p=g[0];p<=r.K||(r.K=p,g=g[1],2==r.I?"c"==g[0]?(r.M=g[1],r.ba=g[2],null!=(i=g[3])&&(r.ka=i,r.j.info("VER="+r.ka)),null!=(a=g[4])&&(r.za=a,r.j.info("SVER="+r.za)),null!=(B=g[5])&&"number"==typeof B&&0<B&&(n=1.5*B,r.O=n,r.j.info("backChannelRequestTimeoutMs_="+n)),n=r,(o=e.g)&&(!(u=o.g?o.g.getResponseHeader("X-Client-Wire-Protocol"):null)||(l=n.h).g||-1==u.indexOf("spdy")&&-1==u.indexOf("quic")&&-1==u.indexOf("h2")||(l.j=l.l,l.g=new Set,l.h&&(rt(l,l.h),l.h=null)),n.G)&&(h=o.g?o.g.getResponseHeader("X-HTTP-Session-Id"):null)&&(n.wa=h,E(n.J,n.G,h)),r.I=3,r.l&&r.l.ra(),r.aa&&(r.T=Date.now()-e.F,r.j.info("Handshake RTT: "+r.T+"ms")),c=e,(n=r).na=Zt(n,n.L?n.ba:null,n.W),c.L?(nt(n.h,c),C=c,(d=n.O)&&(C.H=d),C.D&&(Ye(C),Qe(C)),n.g=c):Kt(n),0<r.i.length&&Vt(r)):"stop"!=g[0]&&"close"!=g[0]||T(r,7):3==r.I&&("stop"==g[0]||"close"==g[0]?"stop"==g[0]?T(r,7):Pt(r):"noop"!=g[0]&&r.l&&r.l.qa(g),r.A=0))}Le()}catch(e){}}C.prototype.ba=function(e){e=e.target;var t=this.O;t&&3==R(e)?t.j():this.Y(e)},C.prototype.Y=function(e){try{if(e==this.g)e:{var t=R(this.g),r=this.g.ya();this.g.ca();if(!(t<3)&&(3!=t||this.g&&(this.h.h||this.g.la()||Rt(this.g)))){this.K||4!=t||7==r||Le(),Ye(this);var n,s,i=this.g.ca(),a=(this.X=i,(e=>{if(!je(e))return e.g.la();var t=Rt(e.g);if(""===t)return"";let r="",n=t.length,s=4==R(e.g);if(!e.h.i){if("undefined"==typeof TextDecoder)return L(e),x(e),"";e.h.i=new F.TextDecoder}for(let i=0;i<n;i++)e.h.h=!0,r+=e.h.i.decode(t[i],{stream:!(s&&i==n-1)});return t.length=0,e.h.g+=r,e.C=0,e.h.g})(this));if(this.o=200==i,w=this.i,y=this.v,_=this.B,I=this.l,T=this.S,b=t,N=i,w.info(function(){return"XMLHTTP RESP ("+I+") [ attempt "+T+"]: "+y+"\n"+_+"\n"+b+" "+N}),this.o){if(this.U&&!this.L){t:{if(this.g){var B,o=this.g;if((B=o.g?o.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!A(B)){var u=B;break t}}u=null}if(!(e=u)){this.o=!1,this.m=3,S(12),L(this),x(this);break e}O(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,We(this,e)}if(this.R){for(e=!0;!this.K&&this.C<a.length;){if(D=a,v=E=void 0,E=(m=this).C,(n=-1==(v=D.indexOf("\n",E))?qe:(E=Number(D.substring(E,v)),isNaN(E)?Ue:(v+=1)+E>D.length?qe:(D=D.slice(v,v+E),m.C=v+E,D)))==qe){4==t&&(this.m=4,S(14),e=!1),O(this.i,this.l,null,"[Incomplete Response]");break}if(n==Ue){this.m=4,S(15),O(this.i,this.l,a,"[Invalid Chunk]"),e=!1;break}O(this.i,this.l,n,null),We(this,n)}je(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=t||0!=a.length||this.h.h||(this.m=1,S(16),e=!1),this.o=this.o&&e,e?0<a.length&&!this.W&&(this.W=!0,(s=this.j).g==this)&&s.aa&&!s.P&&(s.j.info("Great, no buffering proxy detected. Bytes received: "+a.length),Qt(s),s.P=!0,S(11)):(O(this.i,this.l,a,"[Invalid Chunked Response]"),L(this),x(this))}else O(this.i,this.l,a,null),We(this,a);4==t&&L(this),this.o&&!this.K&&(4==t?Wt(this.j,this):(this.o=!1,Qe(this)))}else{{var l=this.g;var h,c,C,d={};l=(l.g&&2<=R(l)&&l.g.getAllResponseHeaders()||"").split("\r\n");for(let e=0;e<l.length;e++)A(l[e])||(h=(e=>{for(var t=1,r=(e=e.split(":"),[]);0<t&&e.length;)r.push(e.shift()),t--;return e.length&&r.push(e.join(":")),r})(l[e]),c=h[0],"string"==typeof(h=h[1])&&(h=h.trim(),C=d[c]||[],(d[c]=C).push(h)));var g,p=d,f=function(e){return e.join(", ")};for(g in p)f.call(void 0,p[g],g,p)}400==i&&0<a.indexOf("Unknown SID")?(this.m=3,S(12)):(this.m=0,S(13)),L(this),x(this)}}}}catch(e){}var m,D,E,v,w,y,_,I,T,b,N},C.prototype.cancel=function(){this.K=!0,L(this)},C.prototype.aa=function(){this.D=null;var e,t,r=Date.now();0<=r-this.T?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(Le(),S(17)),L(this),this.m=2,x(this)):ze(this,this.T-r)};var Xe=class{constructor(e,t){this.g=e,this.map=t}};function $e(e){this.l=e||10,e=F.PerformanceNavigationTiming?0<(e=F.performance.getEntriesByType("navigation")).length&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(F.chrome&&F.chrome.loadTimes&&F.chrome.loadTimes()&&F.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function Ze(e){return e.h||e.g&&e.g.size>=e.j}function et(e){return e.h?1:e.g?e.g.size:0}function tt(e,t){return e.h?e.h==t:e.g&&e.g.has(t)}function rt(e,t){e.g?e.g.add(t):e.h=t}function nt(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function st(t){if(null!=t.h)return t.i.concat(t.h.G);if(null==t.g||0===t.g.size)return J(t.i);{let e=t.i;for(var r of t.g.values())e=e.concat(r.G);return e}}$e.prototype.cancel=function(){if(this.i=st(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(var e of this.g.values())e.cancel();this.g.clear()}};var it=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function d(e){this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1;let t;e instanceof d?(this.l=e.l,p(this,e.j),this.o=e.o,this.g=e.g,D(this,e.u),this.h=e.h,at(this,Et(e.i)),this.m=e.m):e&&(t=String(e).match(it))?(this.l=!1,p(this,t[1]||"",!0),this.o=v(t[2]||""),this.g=v(t[3]||"",!0),D(this,t[4]),this.h=v(t[5]||"",!0),at(this,t[6]||"",!0),this.m=v(t[7]||"")):(this.l=!1,this.i=new gt(null,this.l))}function g(e){return new d(e)}function p(e,t,r){e.j=r?v(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function D(e,t){if(t){if(t=Number(t),isNaN(t)||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function at(e,t,r){var n,s;t instanceof gt?(e.i=t,n=e.i,(s=e.l)&&!n.j&&(w(n),n.i=null,n.g.forEach(function(e,t){var r=t.toLowerCase();t!=r&&(pt(this,t),Dt(this,r,e))},n)),n.j=s):(r||(t=ot(t,Ct)),e.i=new gt(t,e.l))}function E(e,t,r){e.i.set(t,r)}function Bt(e){return E(e,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),e}function v(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function ot(e,t,r){return"string"==typeof e?(e=encodeURI(e).replace(t,ut),e=r?e.replace(/%25([0-9a-fA-F]{2})/g,"%$1"):e):null}function ut(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}d.prototype.toString=function(){var e=[],t=this.j,r=(t&&e.push(ot(t,lt,!0),":"),this.g);return!r&&"file"!=t||(e.push("//"),(t=this.o)&&e.push(ot(t,lt,!0),"@"),e.push(c(r).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null==(r=this.u))||e.push(":",String(r)),(r=this.h)&&(this.g&&"/"!=r.charAt(0)&&e.push("/"),e.push(ot(r,"/"==r.charAt(0)?ct:ht,!0))),(r=this.i.toString())&&e.push("?",r),(r=this.m)&&e.push("#",ot(r,dt)),e.join("")},d.prototype.resolve=function(e){var t=g(this);let r=!!e.j;r?p(t,e.j):r=!!e.o,r?t.o=e.o:r=!!e.g,r?t.g=e.g:r=null!=e.u;var n=e.h;if(r)D(t,e.u);else if(r=!!e.h)if("/"!=n.charAt(0)&&(this.g&&!this.h?n="/"+n:-1!=(s=t.h.lastIndexOf("/"))&&(n=t.h.slice(0,s+1)+n)),".."==(s=n)||"."==s)n="";else if(-1!=s.indexOf("./")||-1!=s.indexOf("/.")){var n=0==s.lastIndexOf("/",0),s=s.split("/"),i=[];for(let e=0;e<s.length;){var a=s[e++];"."==a?n&&e==s.length&&i.push(""):".."==a?((1<i.length||1==i.length&&""!=i[0])&&i.pop(),n&&e==s.length&&i.push("")):(i.push(a),n=!0)}n=i.join("/")}else n=s;return r?t.h=n:r=""!==e.i.toString(),r?at(t,Et(e.i)):r=!!e.m,r&&(t.m=e.m),t};var lt=/[#\/\?@]/g,ht=/[#\?:]/g,ct=/[#\?]/g,Ct=/[#\?@]/g,dt=/#/g;function gt(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function w(r){if(!r.g&&(r.g=new Map,r.h=0,r.i)){var n=r.i,s=function(e,t){r.add(decodeURIComponent(e.replace(/\+/g," ")),t)};if(n){n=n.split("&");for(let r=0;r<n.length;r++){var i=n[r].indexOf("=");let e,t=null;0<=i?(e=n[r].substring(0,i),t=n[r].substring(i+1)):e=n[r],s(e,t?decodeURIComponent(t.replace(/\+/g," ")):"")}}}}function pt(e,t){w(e),t=y(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function ft(e,t){return w(e),t=y(e,t),e.g.has(t)}function mt(e,t){w(e);let r=[];if("string"==typeof t)ft(e,t)&&(r=r.concat(e.g.get(y(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)r=r.concat(e[t]);return r}function Dt(e,t,r){pt(e,t),0<r.length&&(e.i=null,e.g.set(y(e,t),J(r)),e.h+=r.length)}function Et(e){var t=new gt;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function y(e,t){return t=String(t),t=e.j?t.toLowerCase():t}function _(e,t,r,n,s){try{s&&(s.onload=null,s.onerror=null,s.onabort=null,s.ontimeout=null),n(r)}catch(e){}}function vt(){this.g=new Ie}function wt(e){this.i=e.Sb||null,this.h=e.ab||!1}function yt(e,t){a.call(this),this.H=e,this.o=t,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.A=new Headers,this.h=null,this.F="GET",this.D="",this.g=!1,this.B=this.j=this.l=null,this.v=new AbortController}function _t(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function It(e){e.readyState=4,e.l=null,e.j=null,e.B=null,Tt(e)}function Tt(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function bt(e){let r="";return re(e,function(e,t){r=(r=r+t+":")+e+"\r\n"}),r}function Nt(e,t,r){e:{for(n in r){var n=!1;break e}n=!0}n||(r=bt(r),"string"==typeof e?null!=r&&c(r):E(e,t,r))}function I(e){a.call(this),this.headers=new Map,this.L=e||null,this.h=!1,this.g=null,this.D="",this.o=0,this.l="",this.j=this.B=this.v=this.A=!1,this.m=null,this.F="",this.H=!1}(e=gt.prototype).add=function(e,t){w(this),this.i=null,e=y(this,e);let r=this.g.get(e);return r||this.g.set(e,r=[]),r.push(t),this.h+=1,this},e.forEach=function(r,n){w(this),this.g.forEach(function(e,t){e.forEach(function(e){r.call(n,e,t,this)},this)},this)},e.set=function(e,t){return w(this),this.i=null,ft(this,e=y(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},e.get=function(e,t){return e&&0<(e=mt(this,e)).length?String(e[0]):t},e.toString=function(){if(this.i)return this.i;if(!this.g)return"";var r=[],e=Array.from(this.g.keys());for(let i=0;i<e.length;i++){var n=c(s=e[i]),s=mt(this,s);for(let t=0;t<s.length;t++){let e=n;""!==s[t]&&(e+="="+c(s[t])),r.push(e)}}return this.i=r.join("&")},t(wt,Te),wt.prototype.g=function(){return new yt(this.i,this.h)},t(yt,a),(e=yt.prototype).open=function(e,t){if(0!=this.readyState)throw this.abort(),Error("Error reopening a connection");this.F=e,this.D=t,this.readyState=1,Tt(this)},e.send=function(e){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");if(this.v.signal.aborted)throw this.abort(),Error("Request was aborted.");this.g=!0;var t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||F).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},e.abort=function(){this.response=this.responseText="",this.A=new Headers,this.status=0,this.v.abort(),this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,It(this)),this.readyState=0},e.Pa=function(e){if(this.g&&(this.l=e,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=e.headers,this.readyState=2,Tt(this)),this.g)&&(this.readyState=3,Tt(this),this.g))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==F.ReadableStream&&"body"in e){if(this.j=e.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.B=new TextDecoder;_t(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},e.Ma=function(e){var t;this.g&&(this.o&&e.value?this.response.push(e.value):!this.o&&(t=e.value||new Uint8Array(0),t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t),(e.done?It:Tt)(this),3==this.readyState)&&_t(this)},e.Oa=function(e){this.g&&(this.response=this.responseText=e,It(this))},e.Na=function(e){this.g&&(this.response=e,It(this))},e.ga=function(){this.g&&It(this)},e.setRequestHeader=function(e,t){this.A.append(e,t)},e.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},e.getAllResponseHeaders=function(){if(!this.h)return"";for(var e=[],t=this.h.entries(),r=t.next();!r.done;)r=r.value,e.push(r[0]+": "+r[1]),r=t.next();return e.join("\r\n")},Object.defineProperty(yt.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),t(I,a);var Ft=/^https?$/i,At=["POST","PUT"];function St(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,Ot(e),Lt(e)}function Ot(e){e.A||(e.A=!0,o(e,"complete"),o(e,"error"))}function xt(t){if(t.h&&void 0!==M)if(t.v&&4==R(t))setTimeout(t.Ca.bind(t),0);else if(o(t,"readystatechange"),4==R(t)){t.h=!1;try{var e,r,n=t.ca();switch(n){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var s=!0;break;default:s=!1}if(!(e=s)){if(r=0===n){let e=String(t.D).match(it)[1]||null;!e&&F.self&&F.self.location&&(e=F.self.location.protocol.slice(0,-1)),r=!Ft.test(e?e.toLowerCase():"")}e=r}if(e)o(t,"complete"),o(t,"success");else{t.o=6;try{var i=2<R(t)?t.g.statusText:""}catch(e){i=""}t.l=i+" ["+t.ca()+"]",Ot(t)}}finally{Lt(t)}}}function Lt(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);var r=e.g;e.g=null,t||o(e,"ready");try{r.onreadystatechange=null}catch(e){}}}function R(e){return e.g?e.g.readyState:0}function Rt(e){try{if(e.g){if("response"in e.g)return e.g.response;switch(e.F){case"":case"text":return e.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in e.g)return e.g.mozResponseArrayBuffer}}return null}catch(e){return null}}function kt(e,t,r){return r&&r.internalChannelParams&&r.internalChannelParams[e]||t}function Gt(e){this.za=0,this.i=[],this.j=new h,this.ba=this.na=this.J=this.W=this.g=this.wa=this.G=this.H=this.u=this.U=this.o=null,this.Ya=this.V=0,this.Sa=kt("failFast",!1,e),this.F=this.C=this.v=this.m=this.l=null,this.X=!0,this.xa=this.K=-1,this.Y=this.A=this.D=0,this.Qa=kt("baseRetryDelayMs",5e3,e),this.Za=kt("retryDelaySeedMs",1e4,e),this.Ta=kt("forwardChannelMaxRetries",2,e),this.va=kt("forwardChannelRequestTimeoutMs",2e4,e),this.ma=e&&e.xmlHttpFactory||void 0,this.Ua=e&&e.Rb||void 0,this.Aa=e&&e.useFetchStreams||!1,this.O=void 0,this.L=e&&e.supportsCrossDomainXhr||!1,this.M="",this.h=new $e(e&&e.concurrentRequestLimit),this.Ba=new vt,this.S=e&&e.fastHandshake||!1,this.R=e&&e.encodeInitMessageHeaders||!1,this.S&&this.R&&(this.R=!1),this.Ra=e&&e.Pb||!1,e&&e.ua&&this.j.ua(),e&&e.forceLongPolling&&(this.X=!1),this.aa=!this.S&&this.X&&e&&e.detectBufferingProxy||!1,this.ia=void 0,e&&e.longPollingTimeout&&0<e.longPollingTimeout&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function Pt(e){if(Ht(e),3==e.I){var t=e.V++,r=g(e.J);if(E(r,"SID",e.M),E(r,"RID",t),E(r,"TYPE","terminate"),qt(e,r),(t=new C(e,e.j,t)).M=2,t.A=Bt(g(r)),r=!1,F.navigator&&F.navigator.sendBeacon)try{r=F.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!r&&F.Image&&((new Image).src=t.A,r=!0),r||(t.g=er(t.j,null),t.g.ea(t.A)),t.F=Date.now(),Qe(t)}$t(e)}function Mt(e){e.g&&(Qt(e),e.g.cancel(),e.g=null)}function Ht(e){Mt(e),e.v&&(F.clearTimeout(e.v),e.v=null),Yt(e),e.h.cancel(),e.m&&("number"==typeof e.m&&F.clearTimeout(e.m),e.m=null)}function Vt(e){var t;Ze(e.h)||e.m||(e.m=!0,t=e.Ea,r||Y(),n||(r(),n=!0),z.add(t,e),e.D=0)}function Ut(e,t){var r=t?t.l:e.V++,n=g(e.J);E(n,"SID",e.M),E(n,"RID",r),E(n,"AID",e.K),qt(e,n),e.u&&e.o&&Nt(n,e.u,e.o),r=new C(e,e.j,r,e.D+1),null===e.u&&(r.J=e.o),t&&(e.i=t.G.concat(e.i)),t=Jt(e,r,1e3),r.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),rt(e.h,r),Je(r,n,t)}function qt(e,r){e.H&&re(e.H,function(e,t){E(r,t,e)}),e.l&&re({},function(e,t){E(r,t,e)})}function Jt(e,t,s){s=Math.min(e.i.length,s);var i=e.l?f(e.l.Ka,e.l,e):null;e:{let r=e.i,n=-1;for(;;){var a=["count="+s];-1==n?0<s?(n=r[0].g,a.push("ofs="+n)):n=0:a.push("ofs="+n);let e=!0;for(let t=0;t<s;t++){var B=r[t].g,o=r[t].map;if((B-=n)<0)n=Math.max(0,r[t].g-100),e=!1;else try{B="req"+B+"_"||"";try{var u,l,h=o instanceof Map?o:Object.entries(o);for([u,l]of h){let e=l;H(l)&&(e=ye(l)),a.push(B+u+"="+encodeURIComponent(e))}}catch(e){throw a.push(B+"type="+encodeURIComponent("_badmap")),e}}catch(e){i&&i(o)}}if(e){h=a.join("&");break e}}h=void 0}return e=e.i.splice(0,s),t.G=e,h}function Kt(e){var t;e.g||e.v||(e.Y=1,t=e.Da,r||Y(),n||(r(),n=!0),z.add(t,e),e.A=0)}function jt(e){return!(e.g||e.v||3<=e.A)&&(e.Y++,e.v=m(f(e.Da,e),Xt(e,e.A)),e.A++,1)}function Qt(e){null!=e.B&&(F.clearTimeout(e.B),e.B=null)}function zt(e){e.g=new C(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=g(e.na),r=(E(t,"RID","rpc"),E(t,"SID",e.M),E(t,"AID",e.K),E(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&E(t,"TO",e.ia),E(t,"TYPE","xmlhttp"),qt(e,t),e.u&&e.o&&Nt(t,e.u,e.o),e.O&&(e.g.H=e.O),e.g);e=e.ba,r.M=1,r.A=Bt(g(t)),r.u=null,r.R=!0,Ke(r,e)}function Yt(e){null!=e.C&&(F.clearTimeout(e.C),e.C=null)}function Wt(e,t){var r,n,s,i=null;if(e.g==t){Yt(e),Qt(e),e.g=null;var a=2}else{if(!tt(e.h,t))return;i=t.G,nt(e.h,t),a=1}if(0!=e.I)if(t.o)(1==a?(i=t.u?t.u.length:0,t=Date.now()-t.F,r=e.D,o(a=Oe(),new ke(a,i)),Vt):Kt)(e);else if(3==(r=t.m)||0==r&&0<t.X||(1!=a||(s=t,et((n=e).h)>=n.h.j-(n.m?1:0))||(n.m?(n.i=s.G.concat(n.i),0):1==n.I||2==n.I||n.D>=(n.Sa?0:n.Ta)||(n.m=m(f(n.Ea,n,s),Xt(n,n.D)),n.D++,0)))&&(2!=a||!jt(e)))switch(i&&0<i.length&&(t=e.h,t.i=t.i.concat(i)),r){case 1:T(e,5);break;case 4:T(e,10);break;case 3:T(e,6);break;default:T(e,2)}}function Xt(e,t){let r=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(r*=2),r*t}function T(e,t){var r,n,s;e.j.info("Error code "+t),2==t?(r=f(e.bb,e),n=!(s=e.Ua),s=new d(s||"//www.google.com/images/cleardot.gif"),F.location&&"http"==F.location.protocol||p(s,"https"),Bt(s),(n?(t,r)=>{var n=new h;if(F.Image){let e=new Image;e.onload=U(_,n,"TestLoadImage: loaded",!0,r,e),e.onerror=U(_,n,"TestLoadImage: error",!1,r,e),e.onabort=U(_,n,"TestLoadImage: abort",!1,r,e),e.ontimeout=U(_,n,"TestLoadImage: timeout",!1,r,e),F.setTimeout(function(){e.ontimeout&&e.ontimeout()},1e4),e.src=t}else r(!1)}:(e,t)=>{let r=new h,n=new AbortController,s=setTimeout(()=>{n.abort(),_(r,0,!1,t)},1e4);fetch(e,{signal:n.signal}).then(e=>{clearTimeout(s),e.ok?_(r,0,!0,t):_(r,0,!1,t)}).catch(()=>{clearTimeout(s),_(r,0,!1,t)})})(s.toString(),r)):S(2),e.I=0,e.l&&e.l.pa(t),$t(e),Ht(e)}function $t(e){var t;e.I=0,e.ja=[],e.l&&(0==(t=st(e.h)).length&&0==e.i.length||(K(e.ja,t),K(e.ja,e.i),e.h.i.length=0,J(e.i),e.i.length=0),e.l.oa())}function Zt(e,t,r){var n,s,i=r instanceof d?g(r):new d(r);return""!=i.g?(t&&(i.g=t+"."+i.g),D(i,i.u)):(i=(n=F.location).protocol,t=t?t+"."+n.hostname:n.hostname,n=+n.port,s=new d(null),i&&p(s,i),t&&(s.g=t),n&&D(s,n),r&&(s.h=r),i=s),r=e.G,t=e.wa,r&&t&&E(i,r,t),E(i,"VER",e.ka),qt(e,i),i}function er(e,t,r){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=e.Aa&&!e.ma?new I(new wt({ab:r})):new I(e.ma)).Fa(e.L),t}function tr(){}function rr(){}function b(e,t){a.call(this),this.g=new Gt(t),this.l=e,this.h=t&&t.messageUrlParams||null,e=t&&t.messageHeaders||null,t&&t.clientProtocolHeaderRequired&&(e?e["X-Client-Protocol"]="webchannel":e={"X-Client-Protocol":"webchannel"}),this.g.o=e,e=t&&t.initMessageHeaders||null,t&&t.messageContentType&&(e?e["X-WebChannel-Content-Type"]=t.messageContentType:e={"X-WebChannel-Content-Type":t.messageContentType}),t&&t.sa&&(e?e["X-WebChannel-Client-Profile"]=t.sa:e={"X-WebChannel-Client-Profile":t.sa}),this.g.U=e,(e=t&&t.Qb)&&!A(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!A(t)&&(this.g.G=t,null!==(e=this.h))&&t in e&&t in(e=this.h)&&delete e[t],this.j=new N(this)}function nr(e){Fe.call(this),e.__headers__&&(this.headers=e.__headers__,this.statusCode=e.__status__,delete e.__headers__,delete e.__status__);var t=e.__sm__;if(t){e:{for(var r in t){e=r;break e}e=void 0}(this.i=e)&&(e=this.i,t=null!==t&&e in t?t[e]:void 0),this.data=t}else this.data=e}function sr(){Ae.call(this),this.status=1}function N(e){this.g=e}(e=I.prototype).Fa=function(e){this.H=e},e.ea=function(e,t,r,n){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+e);t=t?t.toUpperCase():"GET",this.D=e,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=(this.L||Ve).g(),this.g.onreadystatechange=q(f(this.Ca,this));try{this.B=!0,this.g.open(t,String(e),!0),this.B=!1}catch(e){return void St(this,e)}if(e=r||"",r=new Map(this.headers),n)if(Object.getPrototypeOf(n)===Object.prototype)for(var s in n)r.set(s,n[s]);else{if("function"!=typeof n.keys||"function"!=typeof n.get)throw Error("Unknown input type for opt_headers: "+String(n));for(var i of n.keys())r.set(i,n.get(i))}n=Array.from(r.keys()).find(e=>"content-type"==e.toLowerCase()),s=F.FormData&&e instanceof F.FormData,0<=Array.prototype.indexOf.call(At,t,void 0)&&!n&&!s&&r.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(var[a,B]of r)this.g.setRequestHeader(a,B);this.F&&(this.g.responseType=this.F),"withCredentials"in this.g&&this.g.withCredentials!==this.H&&(this.g.withCredentials=this.H);try{this.m&&(clearTimeout(this.m),this.m=null),this.v=!0,this.g.send(e),this.v=!1}catch(e){St(this,e)}},e.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,o(this,"complete"),o(this,"abort"),Lt(this))},e.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Lt(this,!0)),I.Z.N.call(this)},e.Ca=function(){this.u||(this.B||this.v||this.j?xt(this):this.Xa())},e.Xa=function(){xt(this)},e.isActive=function(){return!!this.g},e.ca=function(){try{return 2<R(this)?this.g.status:-1}catch(e){return-1}},e.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},e.La=function(e){var t;if(this.g)return t=this.g.responseText,e&&0==t.indexOf(e)&&(t=t.substring(e.length)),_e(t)},e.ya=function(){return this.o},e.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(e=Gt.prototype).ka=8,e.I=1,e.connect=function(e,t,r,n){S(0),this.W=e,this.H=t||{},r&&void 0!==n&&(this.H.OSID=r,this.H.OAID=n),this.F=this.X,this.J=Zt(this,null,this.W),Vt(this)},e.Ea=function(t){if(this.m)if(this.m=null,1==this.I){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var r=new C(this,this.j,t);let e=this.o;if(this.U&&(e?ie(e=ne(e),this.U):e=this.U),null!==this.u||this.R||(r.J=e,e=null),this.S)e:{for(var n=0,s=0;s<this.i.length;s++){var i=this.i[s];if("__data__"in i.map&&"string"==typeof(i=i.map.__data__)?i=i.length:i=void 0,void 0===i)break;if(4096<(n+=i)){n=s;break e}if(4096===n||s===this.i.length-1){n=s+1;break e}}n=1e3}else n=1e3;n=Jt(this,r,n),E(s=g(this.J),"RID",t),E(s,"CVER",22),this.G&&E(s,"X-HTTP-Session-Id",this.G),qt(this,s),e&&(this.R?n="headers="+c(bt(e))+"&"+n:this.u&&Nt(s,this.u,e)),rt(this.h,r),this.Ra&&E(s,"TYPE","init"),this.S?(E(s,"$req",n),E(s,"SID","null"),r.U=!0,Je(r,s,null)):Je(r,s,n),this.I=2}}else 3==this.I&&(t?Ut(this,t):0==this.i.length||Ze(this.h)||Ut(this))},e.Da=function(){var e;this.v=null,zt(this),this.aa&&!(this.P||null==this.g||this.T<=0)&&(e=4*this.T,this.j.info("BP detection timer enabled: "+e),this.B=m(f(this.Wa,this),e))},e.Wa=function(){this.B&&(this.B=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.P=!0,S(10),Mt(this),zt(this))},e.Va=function(){null!=this.C&&(this.C=null,Mt(this),jt(this),S(19))},e.bb=function(e){e?(this.j.info("Successfully pinged google.com"),S(2)):(this.j.info("Failed to ping google.com"),S(1))},e.isActive=function(){return!!this.l&&this.l.isActive(this)},(e=tr.prototype).ra=function(){},e.qa=function(){},e.pa=function(){},e.oa=function(){},e.isActive=function(){return!0},e.Ka=function(){},rr.prototype.g=function(e,t){return new b(e,t)},t(b,a),b.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},b.prototype.close=function(){Pt(this.g)},b.prototype.o=function(e){var t,r=this.g;"string"==typeof e?((t={}).__data__=e,e=t):this.v&&((t={}).__data__=ye(e),e=t),r.i.push(new Xe(r.Ya++,e)),3==r.I&&Vt(r)},b.prototype.N=function(){this.g.l=null,delete this.j,Pt(this.g),delete this.g,b.Z.N.call(this)},t(nr,Fe),t(sr,Ae),t(N,tr),N.prototype.ra=function(){o(this.g,"a")},N.prototype.qa=function(e){o(this.g,new nr(e))},N.prototype.pa=function(e){o(this.g,new sr)},N.prototype.oa=function(){o(this.g,"b")},rr.prototype.createWebChannel=rr.prototype.g,b.prototype.send=b.prototype.o,b.prototype.open=b.prototype.m,cr=function(){return new rr},hr=Oe,lr=l,ur={jb:0,mb:1,nb:2,Hb:3,Mb:4,Jb:5,Kb:6,Ib:7,Gb:8,Lb:9,PROXY:10,NOPROXY:11,Eb:12,Ab:13,Bb:14,zb:15,Cb:16,Db:17,fb:18,eb:19,gb:20},Ge.NO_ERROR=0,Ge.TIMEOUT=8,Ge.HTTP_ERROR=6,or=Ge,Pe.COMPLETE="complete",Br=Pe,(be.EventType=Ne).OPEN="a",Ne.CLOSE="b",Ne.ERROR="c",Ne.MESSAGE="d",a.prototype.listen=a.prototype.J,ar=be,I.prototype.listenOnce=I.prototype.K,I.prototype.getLastError=I.prototype.Ha,I.prototype.getLastErrorCode=I.prototype.ya,I.prototype.getStatus=I.prototype.ca,I.prototype.getResponseJson=I.prototype.La,I.prototype.getResponseText=I.prototype.la,I.prototype.send=I.prototype.ea,I.prototype.setWithCredentials=I.prototype.Fa,ir=I}).apply(void 0!==Cr?Cr:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),class y{static FOLD_CASE=1;static LITERAL=2;static CLASS_NL=4;static DOT_NL=8;static ONE_LINE=16;static NON_GREEDY=32;static PERL_X=64;static UNICODE_GROUPS=128;static WAS_DOLLAR=256;static LOOKBEHIND=512;static MATCH_NL=y.CLASS_NL|y.DOT_NL;static PERL=y.CLASS_NL|y.ONE_LINE|y.PERL_X|y.UNICODE_GROUPS;static POSIX=0;static UNANCHORED=0;static ANCHOR_START=1;static ANCHOR_BOTH=2});const he=1,ce=2,Ce=4,de=8,ge=16,pe=512;let fe=new Int32Array(128),me=new Int32Array(128),De=65535;for(let bf=0;bf<128;bf++)97<=bf&&bf<=122?fe[bf]=bf-32:fe[bf]=bf,65<=bf&&bf<=90?me[bf]=bf+32:me[bf]=bf;var D=class{static CODES=new Map([["",7],["\b",8],["\t",9],["\n",10],["\v",11],["\f",12],["\r",13],[" ",32],['"',34],["$",36],["&",38],["'",39],["(",40],[")",41],["*",42],["+",43],["-",45],[".",46],["0",48],["1",49],["2",50],["3",51],["4",52],["5",53],["6",54],["7",55],["8",56],["9",57],[":",58],["<",60],[">",62],["?",63],["A",65],["B",66],["C",67],["F",70],["P",80],["Q",81],["U",85],["Z",90],["[",91],["\\",92],["]",93],["^",94],["_",95],["`",96],["a",97],["b",98],["f",102],["i",105],["m",109],["n",110],["r",114],["s",115],["t",116],["v",118],["x",120],["z",122],["{",123],["|",124],["}",125]]);static toUpperCase(e){var t,r,n;return e<128?fe[e]:(r=(t=String.fromCodePoint(e).toUpperCase()).codePointAt(0)>De?2:1,t.length>r||(n=(r=String.fromCodePoint(t.codePointAt(0)).toLowerCase()).codePointAt(0)>De?2:1,r.length>n)||r.codePointAt(0)!==e?e:t.codePointAt(0))}static toLowerCase(e){var t,r,n;return e<128?me[e]:(r=(t=String.fromCodePoint(e).toLowerCase()).codePointAt(0)>De?2:1,t.length>r||(n=(r=String.fromCodePoint(t.codePointAt(0)).toUpperCase()).codePointAt(0)>De?2:1,r.length>n)||r.codePointAt(0)!==e?e:t.codePointAt(0))}},t=class{constructor(e,t=!1){this.data=e,this.isStride1=t,this.SIZE=t?2:3}getLo(e){return this.data[e*this.SIZE]}getHi(e){return this.data[e*this.SIZE+1]}getStride(e){return this.isStride1?1:this.data[e*this.SIZE+2]}get length(){return this.data.length/this.SIZE}};let Ee=new Uint8Array(256);for(let Nf=0;Nf<64;Nf++)Ee["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-".charCodeAt(Nf)]=Nf;let ve=e=>{var t=[];let r=0,n=0;for(let i=0;i<e.length;i++){var s=Ee[e.charCodeAt(i)];r|=(31&s)<<n,0==(32&s)?(t.push(r),r=0,n=0):n+=5}return t},r=(e,t)=>{var r=ve(e),n=t?r.length/2:r.length/3,s=new Uint32Array(3*n);let i=0,a=0;for(let B=0;B<n;B++)i+=r[a++],s[3*B]=i,i+=r[a++],s[3*B+1]=i,s[3*B+2]=t?1:r[a++];return s},we=class{constructor(e){this.initializer=e,this.cache=new Map}has(e){return e in this.initializer}get(e){var t;return this.cache.has(e)?this.cache.get(e):(t=(t=this.initializer[e])?t():null,this.cache.set(e,t),t)}};var ye=class{static _CASE_ORBIT=null;static get CASE_ORBIT(){return this._CASE_ORBIT||(this._CASE_ORBIT=(e=>{var t=ve(e),r=new Map;let n=0;for(let i=0;i<t.length;i+=2){n+=t[i];var s=t[i+1];r.set(n,n+(s>>>1^-(1&s)))}return r})("rCgCIgCY+rQI4QiCuuBLgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCCgCBgCBgCBgCBgCBgCBgCB+7OB-BB-BB-BB-BB-BBskQB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BC-BB-BB-BB-BB-BB-BB-BByHBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBxHBCBBBCBBBCBBB3SBmMBkNBCBBBCBBB8MBCBBB6MB6MBCBBC+EB0MB2MBCBBB6MB+MBiGBmNBiNBCBBBmKBikzCBmNBqNBkIBsNBCBBBCBBBCBBB0NBCBBB0NDCBBB0NBCBBByNByNBCBBBCBBB2NBCBBDCBBCwDFCBCBDBCBCBDBCBCBDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB9EBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBCBDBCBBBhGBvDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBjICCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBH2iVBCBBBlKBwiVB+jVB+jVBCBBBlMBqEBuEBCBBBCBBBCBBBCBBBCBBB+hVB4hVB8hVBjNB7MC5MB5MCzMC1MB+0yCE5MB20yCC9MBu2yCBwyyCBo0yCChNBlNBo0yCBu-UBi0yCDlNC6-UBpNDrNIu+UDzNCm0yCBzNE0yyCBzNBpEBxNBxNBtEG1NLqxyCBkxyCnFoFrBCBBBCBBDCBBEkIBkIBkICoHHsCCqCBqCBqCCgEC+DB+DBmkOBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCC+BBgCBgCBgCBgCBgCBgCBgCBgCBrCBpCBpCBpCBmjOB-BB8BB-BB-BBgEB-BB-BByBBqgOBsDB-BBtwBB-BB-BB-BBsBBgDBCB-BB-BB-BBeB-BB-BB61OB-BB-BB-DB9DB9DBQB7DBmCE9CBrDBPBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBrFB-EBOBnHB3FB-FCCBBBNBCBBCjIBjIBjIBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB8kMB-BB6kMB-BB-BB-BB-BB-BB-BB-BB-BB-BBokMB-BB-BBkkMBkkMB-BB-BB-BB-BB-BB-BB-BB4jMB-BB-BB-BB-BB-BB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EBCBBBCBoiMBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBJCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBeBCBBBCBBBCBBBCBBBCBBBCBBBCBBBdBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDL-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-C64CgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOCgmOGgmODg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FDg8FBg8FBg8FhVg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBQBQBQBQBQBQDPBPBPBPBPBPjkC7mMB5mMBnmMBjmMBCBlmMB3lMBpiMBk8kCBCBBG-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FD-7FB-7FB-7F6FoglCEsuHRwjlCyDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCB0DBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBG1DD97OCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPEQCQCQCQCPCPCPCPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPB0EB0EBsFBsFBsFBsFBoGBoGBgIBgIBgHBgHB8HB8HDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQCSFPBPBzEBzEBRCxnOFSFrFBrFBrFBrFBREQBQClkOFPBPBnGBnGFQBQCljOCODPBPB-GB-GBNHSF-HB-HB7HB7HBRqJ53OE9tQBrmQH4Bc3BSgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfECBByZ0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzB34BgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CBCBBBt-UBruHBt+UB1iVBviVBCBBBCBBBCBBB3hVB5-UB9hVB7hVCCBBCCBBI9jVB9jVBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBICBBBCBBECBBN-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOC-lOG-lOzoeCBBBCBBBCBBBCBBBCBBBCBl8kCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBTCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBnECBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBKCBBBCBBBnglCBCBBBCBBBCBBBCBBBCBBECBBBvyyCDCBBBCBBBgDCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBn0yCB90yCB10yCBh0yCBn0yCCjxyCBzyyCBpxyCBg6BBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB-CBl0yCBvjlCBCBBBCBBBt2yCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBhkzCZCBB9a-5Bd-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCm6TCBB7gBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCH-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BmlBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvChDwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCFvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvC1DuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCCuCBuCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCCtCBtCk2BgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEO-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-D+CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCL-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-B74CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhrVgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BD1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BtxekCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjC")),this._CASE_ORBIT}static _Print=null;static get Print(){return this._Print||(this._Print=new t(r("hB9CBjBLBCpWBDFBFGBCCCBSBCsMBClBBDxBBDCBC2BBJaBFFBSVBC-FBCvBBD6BBDkDBP6BBDwBBDOBCbBDCCBJBGfBIqCBCgFBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYBDCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPBLCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGBCCBCHBDBBDVBCGBCBBCEBDIBDBBDCBICBFBBCEBDRBLBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBGMBCCBCWBCPBDIBCCBCDBIBBCCBCBBDDBDJBIVBCCBCWBCJBCEBDIBCCBCDBIBBGCBCDBDJBCCBNMBCCBCyBBCCBCFBFPBDZBCCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBN5BBFcBmBBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDBhBnCBCjBBFmBBCjBBCOBCMBmBlGBCGGD4LBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBH1CBDFBD-TBCbBE4CBIVBKXBKTBNMBCCBCBBN9CBDJBHJBHNBCKBH4CBIqBBGlCBLeBCLBFLBFEEBoBBDEBMrBBFZBHKBE9BBDgCBCcBDKBHJBHNBDtBBDLBVsCBClFBJ7BBEOBE9BBGqBBDKBJqBBG1QBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBSXBJuBBSBBDaBCMBEhBBPgBBQrEBF5UBXKBWz4BBD9LBGsBBCGGD3BBIBBPXBKGBCGBCGBCGBCGBCGBCGBCGBC9DBjBZBC4CBN1GBbPBC+BBC1CBDmDBGqBBC9CBC1CBKvBBCszcBE2BBK7KBV3FBJ8GBV7BBEJBH3BBJlCBJLBHzDBMdBEtCBCKBFgBBC2BBKNBDJBDmDBZbBLFBDFBDFBKGBCGBC7BBF9DBDJBHj9KBNWBFwBBloItLBDpDBnBGBNEBGZBCEBCCCBCCBCCBoUBhBpBBHyBBCSBCDBFEBCmEBF9FBEFBDFBDFBDCBEGBCGBOBBDLBCZBCSBCBBCOBDNBjB6DBGCBFsBBE3CBCMBEwBwBBsBBjEcBEwBBQbBFjBBKdBGqBBGdBCkBBFNBrB9EBDJBHjBBFjBBFnBBJzBBMLBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBCnCBJIBxBSBCBBGgBBEaBGaBnB3BBFTBDxBBCBBGHBCCBCcBDCBFJBIIBI-BBhBmBBFLBK1BBEcBDaBGZBIDBNGBxCoCB4ByBBOyBBItBBJJBHlBBEcBJBBxGeBCpBBCCBDBBRFBJIBiBtBBJpBBXZBnBbBVWBKtCBFjBBK9BBCEBOYBIJBH0BBCRBJmBBK-CBCTBMRBCuBB-BGBCCCBCBCOBCKBH6BBGJBHDBCHBDBBDVBCGBCBBCEBCJBDBBDCBDHHGGBDGBEEBMJBCDDClBBCJBCDDCDBCJBCBBJBBe7CBCEBfnCBJJBnF1BBDlBBjBkCBMJBHMBU5BBHJBHTBdaBDOBFWB6F7BBlDyCBNHBDDDBGBCBBCdBCBBDLBKJBnCHBDtBBDKBcnCBJyCBOoCBIJB3CHB5ChBBPJBHIBCsBBCNBLcBEfBDVBCNBqCGBCBBCrBBECCBCCBHBJJBHFBCBBCkBBCBBCFBIJBHrBBFJB3HYBIQBCoBBEcB2CQQBwBBO6cBnDuDBCEBMjGBtyCiDBOvhBBRVBL68DBGmSB61G5BBn2B4RBIeBCJBFwCBCJBHdBDFBLlCBLJBCGBCUBGSBxN5BBnG6CBGYBDYBtBqCBF4BBIQBhCEBMGBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBDDBh7D8HBEzNBHWBQQBQtBBDWBKzDB9B1HBLmBBDpCBJvDBWlCB7DTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBD9VBQEBCOBxiBeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBENBDJBFBBhKeBS5BBGxOxOBoBB3GqBBFhGhGBdBCVBJBBhHGBCDBCBBCOBCkGBDPBqBrCBFJBFBByYjCBtC8BBjGDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBBvIrBBFjDBNOBDOBCOBCkBBLtFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBmgB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIBnkzVvHB",!1))),this._Print}static CATEGORIES=new we({C:()=>new t(r("AfBgDgBBOrWrWBHHBCBICCVuMuMnBBBzBBBE4B4BBGBcDBHQBXhGhGxBBB8BBBmDNB8BBByBBBQddBCCMEBhBGBsCiFiFJBBDBBXIICCBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBPMMBEB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKMMBDBbEByBPBDBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCB-FCBHBBHBBHBBECBIIIBLBDBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIB-BGGBLBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMBxhBPBXJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBF-6DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBrCHBxDUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBNDBLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIlkzVBxHvw-FB",!1)),Cc:()=>new t(r("AfgDgB",!0)),Cf:()=>new t(r("tFzqBzqBBEBXhGhGyBhMhMBxCxCs5D9-B9-BBDBbEByBEBCJBw03B6H6HBBBimEQQj7IPBhjiBDBwmFHBn0rYffB+CB",!1)),Cn:()=>new t(r("4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBDBvzIBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBNDBLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-BB---BBB---BBB",!1)),Co:()=>new t(r("gg4B-nGh4hc9--BD9--B",!0)),Cs:()=>new t(r("gg2B--B",!0)),L:()=>new t(r("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICCiEEBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoCaBFDBuBqBBkBBBCiDBCQQBIIBLLBBBDRRCdBe4CBMZZBfBKBBFGGBUBFKKEYYBXBIKBGXBCGBRpBB7B1BBETTIJBQPBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNGB7BBBCCCBDBCXBCCCBIBCBBKDDBDBCWWBCBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNSSBkBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBkBFFkC4CBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBzC+C+CBtBBSHB3BdBOBBLrBBbjBBqBCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBhC1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBF1B1BB8zC8zCBjHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBxC2O2OBrBrBBDBGBBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBReBDlCByBIBDmDBDxCBVQBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBdRRBDBCJBLEBCoBBYCBCHBVWBEEEBwBBCEEBDDBDBDCCZCBDKBICBNFBDFBDFBKGBCGBCqBBCNBHyDBej9KBNWBFwBBloItLBDpDBnBGBNEBGCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBxB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOjBBnBbBKWB7HpBBHBBRFB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB1D-BBgBHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBqBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBGjCjCBLBhCBBCPPBNNB0mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBn7F0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFBmI9BBzEsBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCCBCBBCGBDEBKBBhHGBCDBCBBCOBCkGB8BjCBI1lB1lBBCBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),LC:()=>new t(r("hCZBHZB7BLLBVBCeBCiGBCDBFvGBDZBhGDBDBBECBCHHCCBCCCBSBCyCBCqEBJlFBClBBKoBB44ClBBCGGDqBBDCBhV1CBDFBjkCKBGqBBDCBhCrBBgCMBChBBmD1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGBmIFFDJBCEEBDBHGCBCBCFBFDDBCBGEBF1B1BB8zC8zCB6DBDmDBHDBEBBNlBBCGGzoetBBTbBnEtCBCWBEDBCsCBZBBE2Z2ZBpBBGIBIvCBh6TGBNEBqgBZBHZBmlBvCBhDjBBFjBB1DKBCOBCGBCBBCKBCOBCGBCBBk2ByBBOyBB+CVBLVB74C-BBhrV-BBhBYBDYBtpZ0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BJBCTBHFB2uCjCB",!1)),Ll:()=>new t(r("hDZB7BqBqBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDZBiGCCEEEBBBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBDCB5XFBjkCIBC2D2DBqBBgCMBChBBnD0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBBzIEEBEEcKFDBBJDBF2B2Bs1CvBBCEEBGCFCCBCCBEBGiDCBIICFFNlBBCGG0oesBCUaCoEMCBBBC+BCBGBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCbEE2ZqBBGIBIvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFB4vChBB",!1)),Lm:()=>new t(r("wVRBFLBPEBICCmEGG-OnHnHlFBBuIBBFgBgBKEEhFoFoF1mBgEgE2R72B72BsDkTkTxOFBvF+BBOjBjBBjBByVOORMBg-CBByHgGgG2OsBsBBDBGiDiDB+C+CBBB34bjnBjnBBEBvIzDzDdBB6DIBxCYYpDDBEBB2OXXqEtDtDWBBoDDBKngVngVuBBBh-BFBCpBBCIB0sBhBhB2K04D04DnrTDB9PCBpBBBnRMBhCBBCPPB9-P9-PBCBCGBCBByhM9BBqGGBud0Q0QsSAB",!1)),Lo:()=>new t(r("qFQQhIFFBCBxGBB7ZaBFDBuBfBCJBkBBBCiDBCZZBLLBBBDRRCdBe4CBMZZBfBWVBrBYBIKBGXBCGBRoBB8B1BBETTIJBROBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNFB8BBBCCCBDBCXBCCCBIBCBBKDDBDBYDBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNyDyDBnKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPByDrTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBpBkCkCBhBBC0BBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBxFuBBSHB3BdBOBBLrBBbjBBqBCBLdByDDBCFBCBBE7hB7hBBCB4-C3BBZWBKGBCGBCGBCGBCGBCGBCGBCGBoR2B2BF1CBJCCB4CBFGGBpBBC9CBSfBxBPBhQ-tGBhC0wUBC2jBBkCnBBJrIBFPBLBBjCyByBBkCBqFoDoDEGBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBuBEBDIBLEBCoBBYCBCHBVPBCFBEEEBwBBCEEBDDBDBDCCZBBEKBIPPBEBDFBDFBKGBCGByEiBBej9KBNWBFwBBloItLBDpDBkCCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBqDJBCsBBDeBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBhEtCBjDnBBJzBB9CzBBN2JBKVBLHB5EFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4FjBBnBDBCxJxJBoBBHBBRCBCBB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB0GHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBnBBCBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBB0BUBGSB0NnBB2MqCBGwFwFB0mHBqBfBiDyDBuwIiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBxzI2P2PBrBBiBiKiKBcBTrBBlPaBmHdBDwGwGBdBCCBCBBCGBDEBKiHiHBFBCDBCBBCOBCkGB8pBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Lt:()=>new t(r("lOGDnB2sH2sHBGBJHBJHBNQQwBAB",!1)),Lu:()=>new t(r("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBG+B+B9zCvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBB",!1)),M:()=>new t(r("gYvDB0IGBoIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCgBB3BCBCRBCGBLBBeCB5BCCBFBDBBDCBKLLBbbDCB5BCCBDBFBBDCBEffBEEMCB5BCCBGBCCBCCBVBBXFBCCB5BCCBFBDBBDCBICBLBBf8B8BBDBECBCDBKpBpBBDB4BCCBFBCCBCDBIBBMBBeCB5BCCBFBCCBCDBIBBMBBQNNBCB4BBBCGBCCBCDBKLLBeeBBBnCFFBEBCCCBGBTBB+BDDBFBNHBjDDDBHBMGBqCBBcECFBByBTBCBBGKBCjBBKlDlDBSBYDBFCBCCBDGBEDBOLBCLLBCBgWCBzdDBdCBeBBfBBhCfBKuBuBBBBC2D2DBjBjB3DLBFLB8GEB6BJBCcBDxBxBBsBBDLBVEBwBQBnBIBNCBfMB5BNBxBTB5ECBCUBFHHDCBnG-BBxWgBB--CCBuEhDhDBeBrRFBqDBB1udDBCJBhBBBxCBBxIEEFYYBDBF0C0CBzBzBBQBbRBOnBnBBGBaMBtBDBwBNBlBkCkCBMBNJJBuBuBBBBzBCCBBBDBBGBBCqBqBBDBGBBtHHBCBBx5TiXiXBOBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB7DCB2BOBqBDDBLLBCBuBKBI+B+BBBBlBNBRBBtBNNBBBxBNBJDBCBB9CLBHDD+ELBWDB4BBBCGBDBBDCBKLLBDDBFBEEBkCIBCDDCDBCEBCPPBzCzCBQBYyCyCBSBsHGBDIBcBBzCQBrDMBmDOBhIOB2HFBCBBDDBCCCBuEuEBFBDGBEddBIBpBGBCDBJKKBJBvBPBnGHBoGHBCHBzCVBCNB7DFBECCBCCBFBCjCjCBDBCBBCEB8KDBKBBCxBxBBFBEEBYmnFmnFHOBpmLRBhuCEB8BGB5gBCCB1BBIDByCMMBslTslTBizEizEBsBBDWB-QEBEFBJHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),Mc:()=>new t(r("joC4B4BDCBJDBCBBzBBB7BCBHBBDBBLsBsB7BCBjC7B7BBBBJCCB2B2BB7B7BCHHBDDBLLnDBBCBBECBCCBLqBqBBBB+BDB+BBB7BCCBDBDBBCBBKBBdPPB7B7BBBBGCBCCBLrBrBBsCsCBBBHHBTBBrKBBgCsFsFBFFHDDBaaBLLBBBDGBWBBDFBDLLBBB5zBffiEIIBGBCBB7KDBDCBFBBCFBhHBB7BCCKCCBJJBEByExBxBGCCBDBCBB+BffFBBD9B9BDCBCEEBxBxBBGBJBBsFWW35EBB0-dBBD5C5CBzBzBBOBvEBBwBxBxBBFFBDDBBBvDBBDBBZuBuBCuDuDDBBGuHuHBCCBCCBCC0gZCCgEuBuBBBBFBB0DZZB8B8BxBCBKBBO+C+CBBBEBBCrFrFBBBgBBB7BBBCDBDBBDCBKLLB1C1CBBBIDDCDBCBBCmDmDBBBJBBErDrDBBBHCCBCBDuHuHBBBHDBDyDyDBBBJBBCuDuDCBBHoDoDCBBFmImIBBBK4H4HBEBCBBFDDCvEvEBBBJDBF1C1CeBB-BqGqGECCoGPPrDIID2G2GBDBFBBC-K-KBNNxBBBJBBCpvQpvQBBBlxD2BBpDBB0rYBBHFB",!1)),Me:()=>new t(r("okBBB1xF-wB-wBBCBCCBsshBCB",!1)),Mn:()=>new t(r("gYvDB0IEBqIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCfB4BCCFHBFEEBFBLBBe7B7BFDBJVVBbbDBB6BFFBFFBDDBBBEffBEEMBB6BFFBDBCBBFVVBXXBEBC7B7BDCCBCBJIIBMMBff+BNNzBEE4BCCBBBGCBCDBIBBMBBe7B7BDHHGBBVBBdBB6BBBFDBJVVBeepCIIBBBC7C7CDGBNHBjDDDBHBMGBqCBBcEC4BNBCEBCBBGKBCjBBKnDnDBCBCFBCBBDBBaBBFCBRDBODDBHHQgWgWBBBzdCBeBBfBBfBBhCBBCGBJDDBJBKuBuBBBBC2D2DBjBjB3DCBFBBKHHBBB8GBBD7B7BCGBCCCDHBHJBDxBxBBMBCeBDLBVDBxBCCBDBCGGpBIBNBBhBDBDBBCCB5BCCBEECCB7BHBDBB5ECBCMBCGBFHHEBBnG-BBxWMBFEEBKB--CCBuEhDhDBeBrRDBsDBB1udFFBIBhBBBxCBBxIEEFaaBGG4EBBbRBOnBnBBGBaKBvBCBxBDDBCBDBBoBkCkCBEBDBBDBBNJJwB0B0BCCBDBBGBBCrBrBBJJvHDDFx5Tx5TiXPBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB8D3B3BBNBqBDDBLLBBByBDBDBBI+B+BBBBlBEBCHB-BNNB1B1BBHBLDBDgDgDBBBDCCBHHD+E+EEHBWBB6BBBEmBmBBFBEEBnCFBOECPBB2CHBDCBCYY1CFBCFFBCCBvHvHBCBHBBCBBcBB2CHBDCCBrDrDCDDBEBCmDmDCDDBCBCEBkIIBCBBhIBBCFFxEDBDBBFhBhBBIBpBFBDDBJKKBEBDCBvBMBCBBnGCCBBBCqGqGBFBCFBCzCzCBUBDGBCBBCBB7DFBECCBCCBFBCpCpCBEEC8K8KBMMB1B1BBDBGCCYmnFmnFHOBpmLLBECBhuCEB8BGB5gBgCgCBCByC5lT5lTBizEizEBsBBDWBhRCBSHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),N:()=>new t(r("wBJB5DBBGDDBBBitBJBnEJBnGJB9MJB3DJBFFBtDJB3DJB3DJBDFBvDMB0DJBJGBoDJBpDGBISBuDJBhDJB3DJBnCTBtIJBnCJBwWTBybCBwHJBHJBXJBtJJBhEKBmFJBHJB3FJB3CJBnEJBHJB3gBEEBEBHJBnGyBBDEB3W7BBvCVB3TdBqrBqYqYaIBPCB4KDBrEJBfHBCOBhBJBoBOBh7cJB9FJBhKFB7EJBnBJBnGJBXJB3CJB3MJB34UJBuPsBBN4BBSBB2KaBlBDBeJJnEEBrGJBvdHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBxBJBHJB3IeB-EJBrBDBxDGBnEdBhEJB9BJBxEJBITB8HJB3KJB3DJB3LJBnDJBHTBtCLBlNSB+CJB3UJB3CcBkHJBnCJB3BJBnLJBnDUBshBuDBimPJBnpCJB3CJBnEJBCGBvQJBnIWB+KCB6nXJBnuBTBNTBtDYB2iBxBBhqCJBnNJB3PJB4HJBtWIBhEJB4Y6BBCCBCDBtCsBBCOBjeMBk3CJB",!1)),Nd:()=>new t(r("wBJnxBJnEJnGJ9MJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJhDJ3DJnCJ3IJnCJn6BJnBJtJJhEJnFJHJ3FJ3CJnEJHJnuiBJnVJnBJnGJXJ3CJ3MJ34UJnsBJnkCJHJ9YJhEJ9BJxEJ3IJ3KJ3DJ3LJnDJHTtCJnNJnDJ3UJ3CJ3HJnCJ3BJnLJ3uQJnpCJ3CJnEJ3QJ37XJ12CxBhqCJnNJ3PJ4HJ2aJ30EJ",!0)),Nl:()=>new t(r("u3FCBwzCiBBDDB-zDaaBHBPCBs1dJBxyW0BBtOJJnEEBrhIuDBm8SCB",!1)),No:()=>new t(r("yFBBGDDBBB2pCFB5LFB5DCBmEGB6GGBSIByNJB2hBTB0jBJBhP20B20BEFBHJBnGPBqB3W3WB6BBvCVB3TdBqrB1kB1kBBCBrEJBfHBCOBhBJBoBOBxrdFBymWsBBiCDBSBB2KaBlBDB1pBHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBhLeB-EJBrBDBxDGBnETB8LTBmqBBBvNIBobSB0aUBn8SGB-YWBqhZTBNTBtDYBvqFIBid6BBCCBCDBtCsBBCOBjeMB",!1)),P:()=>new t(r("hBCBCFBCDBLBBEBBbCBCccCkBkBGEELBBEEE-VJJzOFBqBBB0BCCDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCmBmBBCBoCrCrCBDBFBBwDFBsFlTlTBHB4EuTuTtBBBvCCBoCBB+ECBCCBmBKB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBM9Z9ZBWBJTBCMBCLBfBBPBB6TDBeBB+hBNBwCBBgBJB0MVBgCDBhBBB8XDBCBBxDwEwEBtBBCfBDLBkNCBFJBDLBRNNjD7C7CjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HzqUzqUBxGxGBIBXiBBCNBCFFCBB2ECBCFBCDBLBBEBBbCBCccCCCBFB7MCB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDByO-J-JjBlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Pc:()=>new t(r("-Cg-Hg-HBUU-u3BBBZCBwHAB",!1)),Pd:()=>new t(r("tB9qB9qB0BiyDiyDmgBqgCqgCBEBiwDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Pe:()=>new t(r("pB0B0BgB+1D+1DC-6B-6BqtC4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECtBGCtNICEGCDBB-ozB6G6GeOCESSCCCrF0B0BgBGD",!1)),Pf:()=>new t(r("7F+6H+6HEddpuDCCFDDQEE",!1)),Pi:()=>new t(r("rFt7Ht7HDBBDaapuDCCFDDQEE",!1)),Po:()=>new t(r("hBCBCCBDECBLLBEEBcclCGGPBBI-V-VJzOzOBEBqB3B3BDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCxDxDrCEBFBBwDFBsFlTlTBHBmY9D9DBBBoCBB+ECBCCBmBFBCDB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBMjajaBJJBGBJIBDDBDCBEKBCCCBIB7kDDBCBBxDwEwEBFFBBBDDDBHBCBBCDDBLLBDBCJBDDBCCCBLBDCBtNCB6B+F+FjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HlxUlxUBFBDXXVBBDDBECBCDBICBHCCB2E2EBBBCCBDECBLLBEEBcclBDDB7M7MBBB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDB0ZlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Ps:()=>new t(r("oBzBzBgB-1D-1DC-6B-6B-rCEEnB4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECaTTCECtNICEGCDipzBipzB4GeeCMCESSCCCrFzBzBgBEEDAB",!1)),S:()=>new t(r("kBHHRCBgBCCcCCkBEBCBBDCCBCBDEEfgBgBrODBNNBGGBCCCBPB2DPPBxDxDsErIrIBBB3DCBDDDBvGvGLUUB4H4HIBBpEqLqLBHHB2H2H-DjEjEBGBlEwGwGqBmGmGiGCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WuLuLlL+E+EBgBBiLJBKIBhiBCCBBBMCBOCBOCBOBBmCOOoBCBOCBUhBB-BBBCDBCBBLCCBBBGFBCECFMMBFFBDBGDBC7B7BBFFB2LBFcBD+HBXKByCtCBXnTBtBwBBDeBLyMBX+BBFfBD1LBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBB8CBB0HBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BB6RWBKBBoDBB+EDBLDB+RCBiHPPB+9T+9TpEgBBuLPBhCBB3BHBtBDBjDCCBBBD7E7EHRRBBBgBCCcCCiEGBCGBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSmWmWBiKiKBGBnjC2kC2kCBbBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQQBgDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBrbaagBaagBaagBaagBaa9B-PB4BDBzBHBCNBCBBp2BwNwNttCEE+DiOiOBvIvIBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Sc:()=>new t(r("kB+D+DBCBqnB8D8DzPBBzPBBI2H2HoImSmS8sClmClmCBgBB37hBkuVkuVtD7E7E8GBBEBB3-HDB-4wBxtCxtC",!1)),Sk:()=>new t(r("+CCCoCHHFEEqQDBNNBGGBCCCBPB2DPPBjoBjoB15FCCBBBMCBOCBOCBOBB9kEBBkzdWBKBBoDBBxePPBniUniUBPB8bCCjF4g9B4g9BBDB",!1)),Sm:()=>new t(r("rBRRBBB+BCCuBFFmBgBgB-XwQwQBBB8xGOOoBCBOCBsEoBoBBDBHlClCBDBGBBFGDIgBgBBDDCgBgBBqIBhBBB7CffBXBpBFB2OKK3BHBwDxKxKBDBDeBLPBhIiEBX+BBFfBDhIBxBUBDFB9+zB5Z5ZCCBlFRRBBB+BCCkEHHBCBitDBBhrwBx+Bx+BagBgBagBgBagBgBagBgBat5Ft5FB-uC-uCBHB",!1)),So:()=>new t(r("mFDDFCCyerIrIBgEgEBvGvGLUUB4H4HkQ2L2LjEFBClElEwGqBqBoMCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WzWzW+EhBBiLJBKIBksBBBCDBCBBLCCBHHBEBCECFMMBPPCBBC7B7BBKKBDBDDBCBBCBBCGBCeBDBBCCCBdBtIHBFTBDGBDwCBCdBanBBHnCBXKByCtCBX2FBCIBC1BBJuDBC3HBtBrBBhC-HBhQvBBWBBHmBBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBBxKBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BBibDBLBBC+R+RBBBqqUPBuLPBhCBB3BHBuBCBlPEEFBBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSpgBpgBBGBnjC2kC2kCBGBFQBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQPBhDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBqlB-PB4BDBzBHBCNBCBBp2B96C96CiEyWyWBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E6HBG4WBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBB-B3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Z:()=>new t(r("gBgEgEgvFgsCgsCBJBeBBGwBwBh9DAB",!1)),Zl:()=>new t(r("ohIA",!0)),Zp:()=>new t(r("phIA",!0)),Zs:()=>new t(r("gBgEgEgvFgsCgsCBJBlBwBwBh9DAB",!1)),ASCII_Hex_Digit:()=>new t(r("wBJIFbF",!0)),Alphabetic:()=>new t(r("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICC3CeeBQBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoBNBCCCBCCBCCJaBFDBeKBG3BBCGBPlDBCHBFHBFCBLCBDRRBuBBOkDBZgBBKBBFGGBWBDSBUYBIKBGXBCGBIJJBoBBLLBEGBHrCBCPBCCBFOBOSBCHBDBBDVBCGBCEEBCBEHBDBBDBBCJJFBBCEBNBBLFFBBBCFBFBBDVBCGBCBBCBBCBBFEBFBBDBBFIIBCBCSSBEBMCBCIBCCBCVBCGBCBBCEBEIBCCBCBBEQQBCBWDBFCBCHBDBBDVBCGBCBBCEBEHBDBBDBBKBBFBBCEBORRBCCBEBECBCDBEBBCCCBEEBEEBBBELBFEBECBCCBEHHpBMBCCBCWBCPBEHBCCBCCBJBBCCBCBBDDBdDBCHBCCBCWBCJBCEBEHBCCBCCBJBBGCBCDBOCBNMBCCBCoBBDHBCCBCCBCGGBCBIEBXFBCCBCRBEXBCIBCDDBFBJFBCCCBGBTBBO5BBGGBH0B0BBECBDBCXBCCCBRBCCBDEBCHHPDBhBgCgCBGBCjBBFSBFPBCjBBkC2BBCDDBDBR-BBLDBDlBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBEKBITBMUBNTBNMBCCBCBBNzBBDSBPFFkC4CBIqBBGlCBLeBCLBFIBYdBDEBMrBBFZB3BbBF+BBDTBzBYYBMMBBByBzBBCOBCHB0BpBBDDBLrBBCKBP2BBXCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBUhBBM1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBFSSBnBBuZzBB34BkHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBCfBwB2O2OBBBaIBIEBDEBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBGHBEwDBoBIBDmDBDxCBVUBCgBBZzBBNjCBCtBtBBEBECCBBBLgBBGiBBOcBEyBBCLBQRRBOBLEBC2BBKNBTWBEkCBCCCZCBDPBDDBMFBDFBDFBKGBCGBCqBBCNBH6DBWj9KBNWBFwBBloItLBDpDBnBGBNEBGLBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmC0BBsIcBEwBBwBfBOdBGqBBGdBDjBBFHBCEBrB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCDBCBBGHBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOnBBjBbBEGGBVB7HpBBCBBEBBRFBzBCBEcBLJJBUBrBRBvBUBcWBKlCBsBEBL4BBKOOBXBYyBBSDBJiBBEKKB+BBCDBKBBLCCkBRBChBBDHHBCB-BGBCCCBCBCOBCJBI4BBYDBCHBDBBDVBCGBCBBCEBEHBDBBDBBEHHGGBdJBCDDClBBCJBCDDCDBCBBECCtBhCBCCBCDBVCBfhCBDBBC5F5FB0BBDGBaFBjB+BBCEE8B1BBDoCoCBZBDNBWGB6F4BBoD-BBgBHBDDDBGBCBBCdBCBBDBBDDB+CHBDtBBDFBCCCBccBxBBDJBSnCBGTTBnCBoDHB5CgBBgBIBCsBBCGBCyByBBcBDVBCNBqCGBCBBCrBBECCBCCBBBCDDBZZBEBCBBCkBBCBBCDBCYYBqBBlIWBKQBCoBBECBwDwCwCB4cBnDuDBSjGBtyCgDBQvhBBSFBa68DBGmSB61GuBBy2B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBF4BBIQBhCBBCNNBFBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBFi7Fi7FBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCVBJBBhHGBCDBCBBCOBCkGB8BjCBEEE1lBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1TZBHZBHZB3zD-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Dash:()=>new t(r("tB9qB9qB0BiyDiyDmgBqgCqgCBEB+BoBoBQnMnMlgDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Emoji:()=>new t(r("jBHHGJBwDFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDrGrGhFBBNBBPDDBIBsCZBCBBYVVDIBWBBvFhBBDvDBDBBCCBDyCBDCBCmIBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDDBEJBECCBEEDJBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Emoji_Component:()=>new t(r("jBHHGJB0+H2G2Gsp3B3+8B3+8BBYB8PEBxtBDBtzhY-CB",!1)),Emoji_Modifier:()=>new t(r("7-8DE",!0)),Emoji_Modifier_Base:()=>new t(r("9wJ8G8GRDB4jzD9B9BBBBDDDBBB2DBBDKBWSBEFFBBBCCBICCZqGqGBFFWFFBvFvFBBBEEB0CRRBBBKMMgSDDJHBHKKBIBDCB5B+B+BBCCBCCSCBCMBmHCBrBIB",!1)),Emoji_Presentation:()=>new t(r("64IBBuGDBEDDqQBBWBBzBLBsBUUOJJBSSBGGBJJGWWIBBCFFDIIFBBdkBkBCFFBBBC+B+BBBBZPP8aBB0BFFvlxDrGrG-FDDBIBsCZBCZZVDDBDBCCBWBBvFgBBNIBClCBCVBNqBBFEBNQBEEEBlCBCCCB5FBD+BBODBCXBTbbBOO3C0CBxBlCBHEEBBBDDBEDBMBBIIBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Extended_Pictographic:()=>new t(r("pFFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDoBoBBCBlDLBQBBQPPBmBmBBIBxDBBNBBPDDBIBU3BBcOBLVVDIBCDBKWBH7FBDvDBDBBCCBDyCBDCBCDBG9HBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDQBECCBEBDMB7GlBBNDB5BHBLFBpBHBfBBNDBDNBKmBBNuBBCJBC4FB5CHBPxEBhI9fB",!1)),Hex_Digit:()=>new t(r("wBJIFbFq1-BJIFbF",!0)),Lowercase:()=>new t(r("hDZBwBLLFlBlBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDiBBIBBfEBhDsBsBCEEDDBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBCDB5XFBjkCIBC2D2DB+FBiC0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBB6DOORMBuDEEBEEcKFDBBJDBFiBiBBOBFsasaBYBn6BvBBCEEBGCFCCBCCBGBEiDCBIICFFNlBBCGG0oesBCUaCBBBmEMCBBBC8BCBIBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCWDBCCCBBB2ZqBBCNBHvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBkODDBBBCpBBCIBmoByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFBmI9BB1lChBB",!1)),Math:()=>new t(r("rBRRBBBgBeeCuBuBFmBmBgB5W5WBBBDbbBDDBBBwQCBuwGccBBBMEEOPPBCBWEBMEBiCMBFEEBFFBDBTFFDJBCDDBEBHEEBDDBCCBBBCFBENBClClCBWBCFBCBBFBBFfBCHHBPPBqIBJDBVBB7CffBZBCZZMGB+NBBNJBFFBFBBDBBEEBPCCDFBMHBGBB6BCCeDBKCBxK-BBhI-PBxBUBDFB9+zB4Z4ZBEBCjFjFRCBeCCeCCkEHHBCBitDBBhrwBwoBwoBBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBBhwFDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB-uCIB",!1)),Quotation_Mark:()=>new t(r("iBFFkEQQ96HHBaBBowDqOqOBCBOCBixzBDB+FFF7CBB",!1)),Terminal_Punctuation:()=>new t(r("hBLLCMMBEE-ZJJiQ6B6BpCPPCCB1FsBsBBJBCsHsHB3B3BBEBCHBgBmImIB1nB1nBBtFtFFFB4JBB2YHBmY9D9DBBBoCBB+ECBEoBoBBCBDBB7JBBjLDBjFBBLBBCCBeCB8FEB-BBBldYYBKKBBBwlDCBzJOOFLLCBBEBBtNBB8ndBBuICBkHEB-LBB3CBBgD4E4EBBB0ECBgERRB6H6HnxUDDB6B6BBBBCDBqFLLCMMBEEiCDD7hBxBxBnkBoGoG3JBB5EFBlCFB6CDB5dEBtBDB+FGBxDDBgECBiEBBHRRB5C5CBDBtDrJrJB2D2DBBBNBBnLDBEOBqDBB6HCBmQCC8HBB4CBBFBB-MCBuBmUmUBrCrCBspBspBBDB6vRBBmEiCiCBBBLqRqRBoJoJBnwTnwTovHDB",!1)),Uppercase:()=>new t(r("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBGbbBOBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBBvgCZBHZBHZB",!1)),White_Space:()=>new t(r("JEBTlDlDbgvFgvFgsCKBeBBGwBwBh9DAB",!1))});static get Upper(){return this.CATEGORIES.get("Lu")}static SCRIPTS=new we({Adlam:()=>new t(r("go6DrCFJFB",!0)),Ahom:()=>new t(r("g4lCaDOFW",!0)),Anatolian_Hieroglyphs:()=>new t(r("ggxCmS",!0)),Arabic:()=>new t(r("gwBEBCFBCNBCCBCfBCJBMZBCrDBChBBxCvBBxHhBBGqCBCcBxy8BtPBDvEBhBPBxDEBCmEBk7DeBkCFBJIBiBFBh43BDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB",!1)),Armenian:()=>new t(r("xpBlBDxBDCks9BE",!0)),Avestan:()=>new t(r("g4iC1BEG",!0)),Balinese:()=>new t(r("g4GsCCxB",!0)),Bamum:()=>new t(r("g1pB3CpowB4R",!0)),Bassa_Vah:()=>new t(r("w26CdDF",!0)),Batak:()=>new t(r("g+GzBJD",!0)),Bengali:()=>new t(r("gsCDBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYB",!1)),Beria_Erfe:()=>new t(r("g17CYDY",!0)),Bhaiksuki:()=>new t(r("ggnCICsBCNLc",!0)),Bopomofo:()=>new t(r("qXB6wLqBxDf",!0)),Brahmi:()=>new t(r("ggkCtCFjBKA",!0)),Braille:()=>new t(r("ggK-H",!0)),Buginese:()=>new t(r("gwGbDB",!0)),Buhid:()=>new t(r("g6FT",!0)),Canadian_Aboriginal:()=>new t(r("ggF-TxRlC7tgCP",!0)),Carian:()=>new t(r("g1gCwB",!0)),Caucasian_Albanian:()=>new t(r("wphCzBMA",!0)),Chakma:()=>new t(r("gokC0BCR",!0)),Cham:()=>new t(r("gwqB2BKNDJDD",!0)),Cherokee:()=>new t(r("g9E1CDFz7lBvC",!0)),Chorasmian:()=>new t(r("w9jCb",!0)),Common:()=>new t(r("AgCBbFBbuBBCOBCEBYgBgBiOmBBGEBDTB1DKKHCC+THHPEEhB9E9ElQiEiEB6mB6mB2MDBjJwvBwvBBBBoCBBsGBBCumBumBOIIBCBCFBCCBDmYmYBKBD2CBCKBEKBCOBShBB-BlBBCCBDFBCaBCQBqBCBF5UBXKBW-cBhIzTBDpEBhQ9CBzMUBCCCBXBQHBFDB8CBBE7C7CB0E0EBOBhBlBBKxBxBB+BBgBwCBwB5C5CBmFBhuG-BBhoWhBBnDCBmFJB1HhFhFsMPPBzuUzuUBxGxGBIBXiBBCSBCDB0ECCBeBbFBbKBLuBuBBhChCBFBCGBLEBjICBFsBBEIBxCMB0BsBBlHaBltuBDB96D8HBEzNBHWBQQBgDzDB9B1HBLmBBD9BBEQBJBBIdBF8BB2GTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBByjFjCBtC8BBjWrBBFjDBNOBDOBCOBCkBBLtFB5BZBCBBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBnghYffB+CB",!1)),Coptic:()=>new t(r("ifNxkKzDGG",!0)),Cuneiform:()=>new t(r("ggoC5cnDuDCEMjG",!0)),Cypriot:()=>new t(r("ggiCFBDCCBqBBCBBEDD",!1)),Cypro_Minoan:()=>new t(r("w8rCiD",!0)),Cyrillic:()=>new t(r("ggBkEBDoFBx6FKBhFtCtCojEfBhie-CBv8VBBhw4B9BBiBAB",!1)),Deseret:()=>new t(r("gghCvC",!0)),Devanagari:()=>new t(r("goCwCFODZh7nBfhwcJ",!0)),Dives_Akuru:()=>new t(r("gomCGBDDDBGBCBBCdBCBBDLBKJB",!1)),Dogra:()=>new t(r("ggmC7B",!0)),Duployan:()=>new t(r("ggvDqDGMEIIJDD",!0)),Egyptian_Hieroglyphs:()=>new t(r("ggsC1iBL68D",!0)),Elbasan:()=>new t(r("gohCnB",!0)),Elymaic:()=>new t(r("g-jCW",!0)),Ethiopic:()=>new t(r("gwEoCBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBnvGWBKGBCGBCGBCGBCGBCGBCGBCGBjpfFBDFBDFBKGBCGBylvCGBCDBCBBCOB",!1)),Garay:()=>new t(r("gqjClBEcJB",!0)),Georgian:()=>new t(r("glElBBCGGDqBBCDBx8CqBBDCBhiElBBCGG",!1)),Glagolitic:()=>new t(r("ggL-Ch9sDGCQDGCBCE",!0)),Gothic:()=>new t(r("w5gCa",!0)),Grantha:()=>new t(r("g4kCDBCHBDBBDVBCGBCBBCEBDIBDBBDCBDHHGGBDGBEEB",!1)),Greek:()=>new t(r("wbDBCCBDDBCFFCCCBBBCCCBSBC+BBPPBnpGEBzBEBFEB1ChKhKBUBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBoJ-xiB-xiB7uVuCBSgj0Bgj0BBkCB",!1)),Gujarati:()=>new t(r("h0CCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGB",!1)),Gunjala_Gondi:()=>new t(r("grnCFCBCkBCBCFIJ",!0)),Gurmukhi:()=>new t(r("hwCCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPB",!1)),Gurung_Khema:()=>new t(r("go4C5B",!0)),Han:()=>new t(r("g0LZBC4CBN1GBwBCCaIBPDBle-tGBhC-vUBhoWtLBDpDBpodBBNGBqgkB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Hangul:()=>new t(r("goE-HvxHBiI9CyDeiCei3dckUj9KNWFwBl9JeEFDFDFDC",!0)),Hanifi_Rohingya:()=>new t(r("gojCnBJJ",!0)),Hanunoo:()=>new t(r("g5FU",!0)),Hatran:()=>new t(r("gniCSCBGE",!0)),Hebrew:()=>new t(r("xsB2BBJaBFFBpp9BZBCEBCCCBCCBCCBIB",!1)),Hiragana:()=>new t(r("hiM1CBHCBi7-C+IBTeeBBBulQAB",!1)),Imperial_Aramaic:()=>new t(r("giiCVCI",!0)),Inherited:()=>new t(r("gYvDB2IBBlOKBbhXhXBCB8qEtBBDLBlPCBCMBCGBFHHEBBnG-BBtQBBjGgBB65DDBsDBBmrzBPBRNBwejHjH7iEl+uBl+uBBsBBDWBhRCBSHBDGBfDBz6rYvHB",!1)),Inscriptional_Pahlavi:()=>new t(r("g7iCSGH",!0)),Inscriptional_Parthian:()=>new t(r("g6iCVDH",!0)),Javanese:()=>new t(r("gsqBtCDJFB",!0)),Kaithi:()=>new t(r("gkkCiCLA",!0)),Kannada:()=>new t(r("gkDMCCCWCJCEDICCCDIBGCCDDJCC",!0)),Katakana:()=>new t(r("hlM5CBDCBxHPBxGuBBC3CBvgzBJBCsBBzisBDBCGBCBBCgJgJBBBzBPPBCB",!1)),Kawi:()=>new t(r("g4nCQCoBEc",!0)),Kayah_Li:()=>new t(r("goqBtBCA",!0)),Kharoshthi:()=>new t(r("gwiCDCBGHCCCcDCFJII",!0)),Khitan_Small_Script:()=>new t(r("k-7C84G84GB0OBqBAB",!1)),Khmer:()=>new t(r("g8F9CDJHJnPf",!0)),Khojki:()=>new t(r("gwkCRCuB",!0)),Khudawadi:()=>new t(r("w1kC6BGJ",!0)),Kirat_Rai:()=>new t(r("gq7C5B",!0)),Lao:()=>new t(r("h0DBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDB",!1)),Latin:()=>new t(r("hCZBHZBwBQQGWBCeBCgOBoBEB8wGlBBHwBBGDBGMBClCBiC-HByLOORMBuEBBHccSoBB42CfBj1elDBExCBVOBxZqBBCIBCDB38TGB7gBZBHZBmhCFBCpBBCIBm61BeBHFB",!1)),Lepcha:()=>new t(r("ggH3BEOEC",!0)),Limbu:()=>new t(r("goGeBCLBFLBFEEBKB",!1)),Linear_A:()=>new t(r("gwhC2JKVLH",!0)),Linear_B:()=>new t(r("gggCLCZCSCBCODNjB6D",!0)),Lisu:()=>new t(r("wmpBvBx1eA",!0)),Lycian:()=>new t(r("g0gCc",!0)),Lydian:()=>new t(r("gpiCZGA",!0)),Mahajani:()=>new t(r("wqkCmB",!0)),Makasar:()=>new t(r("g3nCY",!0)),Malayalam:()=>new t(r("goDMCCCyBCCCFFPDZ",!0)),Mandaic:()=>new t(r("giCbDA",!0)),Manichaean:()=>new t(r("g2iCmBFL",!0)),Marchen:()=>new t(r("wjnCfDVCN",!0)),Masaram_Gondi:()=>new t(r("gonCGBCBBCrBBECCBCCBHBJJB",!1)),Medefaidrin:()=>new t(r("gy7C6C",!0)),Meetei_Mayek:()=>new t(r("g3qBWqGtBDJ",!0)),Mende_Kikakui:()=>new t(r("gg6DkGDP",!0)),Meroitic_Cursive:()=>new t(r("gtiCXFTDtB",!0)),Meroitic_Hieroglyphs:()=>new t(r("gsiCf",!0)),Miao:()=>new t(r("g47CqCF4BIQ",!0)),Modi:()=>new t(r("gwlCkCMJ",!0)),Mongolian:()=>new t(r("ggGBBDCCBSBH4CBIqBB2t-BMB",!1)),Mro:()=>new t(r("gy6CeCJFB",!0)),Multani:()=>new t(r("g0kCGBCCCBCBCOBCKB",!1)),Myanmar:()=>new t(r("ggE-EhqmBeiDfxibT",!0)),Nabataean:()=>new t(r("gkiCeJI",!0)),Nag_Mundari:()=>new t(r("wm5DpB",!0)),Nandinagari:()=>new t(r("gtmCHDtBDK",!0)),New_Tai_Lue:()=>new t(r("gsGrBFZHKEB",!0)),Newa:()=>new t(r("gglC7CCE",!0)),Nko:()=>new t(r("g+B6BDC",!0)),Nushu:()=>new t(r("h-7CvsQvsQBqMB",!1)),Nyiakeng_Puachue_Hmong:()=>new t(r("go4DsBENDJFB",!0)),Ogham:()=>new t(r("g0Fc",!0)),Ol_Chiki:()=>new t(r("wiHvB",!0)),Ol_Onal:()=>new t(r("wu5DqBFA",!0)),Old_Hungarian:()=>new t(r("gkjCyBOyBIF",!0)),Old_Italic:()=>new t(r("g4gCjBKC",!0)),Old_North_Arabian:()=>new t(r("g0iCf",!0)),Old_Permic:()=>new t(r("w6gCqB",!0)),Old_Persian:()=>new t(r("g9gCjBFN",!0)),Old_Sogdian:()=>new t(r("g4jCnB",!0)),Old_South_Arabian:()=>new t(r("gziCf",!0)),Old_Turkic:()=>new t(r("ggjCoC",!0)),Old_Uyghur:()=>new t(r("w7jCZ",!0)),Oriya:()=>new t(r("h4CCCHDBDVCGCBCEDIDBDCICFBCEDR",!0)),Osage:()=>new t(r("wlhCjBFjB",!0)),Osmanya:()=>new t(r("gkhCdDJ",!0)),Pahawh_Hmong:()=>new t(r("g46ClCLJCGCUGS",!0)),Palmyrene:()=>new t(r("gjiCf",!0)),Pau_Cin_Hau:()=>new t(r("g2mC4B",!0)),Phags_Pa:()=>new t(r("giqB3B",!0)),Phoenician:()=>new t(r("goiCbEA",!0)),Psalter_Pahlavi:()=>new t(r("g8iCRIDNG",!0)),Rejang:()=>new t(r("wpqBjBMA",!0)),Runic:()=>new t(r("g1FqCEK",!0)),Samaritan:()=>new t(r("ggCtBDO",!0)),Saurashtra:()=>new t(r("gkqBlCJL",!0)),Sharada:()=>new t(r("gskC-ChsCH",!0)),Shavian:()=>new t(r("wihCvB",!0)),Siddham:()=>new t(r("gslC1BDlB",!0)),Sidetic:()=>new t(r("gqiCZ",!0)),SignWriting:()=>new t(r("gg2DrUQECO",!0)),Sinhala:()=>new t(r("hsDCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBt-gCTB",!1)),Sogdian:()=>new t(r("w5jCpB",!0)),Sora_Sompeng:()=>new t(r("wmkCYIJ",!0)),Soyombo:()=>new t(r("wymCyC",!0)),Sundanese:()=>new t(r("g8G-BhIH",!0)),Sunuwar:()=>new t(r("g+mChBPJ",!0)),Syloti_Nagri:()=>new t(r("ggqBsB",!0)),Syriac:()=>new t(r("g4BNC7BDCxIK",!0)),Tagalog:()=>new t(r("g4FVKA",!0)),Tagbanwa:()=>new t(r("g7FMCCCB",!0)),Tai_Le:()=>new t(r("wqGdDE",!0)),Tai_Tham:()=>new t(r("gxG+BCcDKHJHN",!0)),Tai_Viet:()=>new t(r("g0qBiCZE",!0)),Tai_Yo:()=>new t(r("g25DeCVJB",!0)),Takri:()=>new t(r("g0lC5BHJ",!0)),Tamil:()=>new t(r("i8CBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBm+kCxBBOAB",!1)),Tangsa:()=>new t(r("wz6CuCCJ",!0)),Tangut:()=>new t(r("g-7CgBgBB+3GBhQeBiDyDB",!1)),Telugu:()=>new t(r("ggDMCCCWCPDICCCDIBCCCBDDDJII",!0)),Thaana:()=>new t(r("g8BxB",!0)),Thai:()=>new t(r("hwD5BGb",!0)),Tibetan:()=>new t(r("g4DnCCjBFmBCjBCOCGFB",!0)),Tifinagh:()=>new t(r("wpL3BIBPA",!0)),Tirhuta:()=>new t(r("gklCnCJJ",!0)),Todhri:()=>new t(r("guhCzB",!0)),Tolong_Siki:()=>new t(r("wtnCrBFJ",!0)),Toto:()=>new t(r("w04De",!0)),Tulu_Tigalari:()=>new t(r("g8kCJBCDDClBBCJBCDDCDBCJBCBBJBB",!1)),Ugaritic:()=>new t(r("g8gCdCA",!0)),Unknown:()=>new t(r("4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBNDBLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-FB",!1)),Vai:()=>new t(r("gopBrJ",!0)),Vithkuqi:()=>new t(r("wrhCKCOCGCBCKCOCGCB",!0)),Wancho:()=>new t(r("g24D5BGA",!0)),Warang_Citi:()=>new t(r("glmCyCNA",!0)),Yezidi:()=>new t(r("g0jCpBCCDB",!0)),Yi:()=>new t(r("ggoBskBE2B",!0)),Zanabazar_Square:()=>new t(r("gwmCnC",!0))});static FOLD_CATEGORIES=new we({L:()=>new t(r("laA",!0)),LC:()=>new t(r("laA",!0)),Ll:()=>new t(r("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGC3HrBrBCEEJHHCCBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHxC9zC9zCBuBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Lt:()=>new t(r("kOCCBCCBCClBCCtsHHBJHBJHBMQQwBAB",!1)),Lu:()=>new t(r("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpL2B2Bs1CvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1)),M:()=>new t(r("5cgBgBlgHAB",!1)),Mn:()=>new t(r("5cgBgBlgHAB",!1)),Emoji:()=>new t(r("8mJA",!0)),Extended_Pictographic:()=>new t(r("8mJA",!0)),Lowercase:()=>new t(r("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHuBPBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Math:()=>new t(r("ycGDCHHFMMDDDCHHFAB",!1)),Uppercase:()=>new t(r("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpLiBiBBOBFsasaBYBn6BvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1))});static FOLD_SCRIPT=new we({Common:()=>new t(r("8cgBgB",!1)),Greek:()=>new t(r("1FwUwU",!1)),Inherited:()=>new t(r("5cgBgBlgHAB",!1))})},g=class g{static MAX_RUNE=1114111;static MAX_ASCII=127;static MAX_LATIN1=255;static MAX_BMP=65535;static MIN_FOLD=65;static MAX_FOLD=125251;static MIN_HIGH_SURROGATE=55296;static MAX_HIGH_SURROGATE=56319;static MIN_LOW_SURROGATE=56320;static MAX_LOW_SURROGATE=57343;static MIN_SUPPLEMENTARY_CODE_POINT=65536;static is32(e,t){let r=0,n=e.length;for(;r<n;){var s=r+Math.floor((n-r)/2),i=e.getLo(s),a=e.getHi(s);if(i<=t&&t<=a)return(t-i)%e.getStride(s)==0;t<i?n=s:r=s+1}return!1}static is(t,r){if(r<=g.MAX_LATIN1){for(let e=0;e<t.length;e++){var n;if(!(r>t.getHi(e)))return!(r<(n=t.getLo(e)))&&(r-n)%t.getStride(e)==0}return!1}return 0<t.length&&r>=t.getLo(0)&&g.is32(t,r)}static isUpper(e){var t;return e<=g.MAX_LATIN1?(t=String.fromCodePoint(e)).toUpperCase()===t&&t.toLowerCase()!==t:g.is(ye.Upper,e)}static isPrint(e){return e<=g.MAX_LATIN1?32<=e&&e<g.MAX_ASCII||161<=e&&173!==e:g.is(ye.Print,e)}static simpleFold(e){var t;return ye.CASE_ORBIT.has(e)?ye.CASE_ORBIT.get(e):(t=D.toLowerCase(e))!==e?t:D.toUpperCase(e)}static equalsIgnoreCase(t,r){if(t===r)return!0;if(!(t<0||r<0)){if(t<=g.MAX_ASCII&&r<=g.MAX_ASCII)return 65<=t&&t<=90&&(t|=32),65<=r&&r<=90&&(r|=32),t===r;for(let e=g.simpleFold(t);e!==t;e=g.simpleFold(e))if(e===r)return!0}return!1}};let _e=new Uint8Array(256);for(let Ff=0;Ff<256;Ff++)_e[Ff]=97<=Ff&&Ff<=122||65<=Ff&&Ff<=90||48<=Ff&&Ff<=57||95===Ff?1:0;let Ie=null,Te=null;var E=class E{static METACHARACTERS="\\.+*?()|[]{}^$";static EMPTY_BEGIN_LINE=1;static EMPTY_END_LINE=2;static EMPTY_BEGIN_TEXT=4;static EMPTY_END_TEXT=8;static EMPTY_WORD_BOUNDARY=16;static EMPTY_NO_WORD_BOUNDARY=32;static EMPTY_ALL=-1;static emptyInts(){return[]}static isByteArray(e){return Array.isArray(e)||e instanceof Uint8Array}static isalnum(e){return D.CODES.get("0")<=e&&e<=D.CODES.get("9")||D.CODES.get("a")<=e&&e<=D.CODES.get("z")||D.CODES.get("A")<=e&&e<=D.CODES.get("Z")}static unhex(e){return D.CODES.get("0")<=e&&e<=D.CODES.get("9")?e-D.CODES.get("0"):D.CODES.get("a")<=e&&e<=D.CODES.get("f")?e-D.CODES.get("a")+10:D.CODES.get("A")<=e&&e<=D.CODES.get("F")?e-D.CODES.get("A")+10:-1}static escapeRune(e){let t="";if(g.isPrint(e))0<=E.METACHARACTERS.indexOf(String.fromCodePoint(e))&&(t+="\\"),t+=String.fromCodePoint(e);else switch(e){case D.CODES.get('"'):t+='\\"';break;case D.CODES.get("\\"):t+="\\\\";break;case D.CODES.get("\t"):t+="\\t";break;case D.CODES.get("\n"):t+="\\n";break;case D.CODES.get("\r"):t+="\\r";break;case D.CODES.get("\b"):t+="\\b";break;case D.CODES.get("\f"):t+="\\f";break;default:var r=e.toString(16);e<256?(t+="\\x",1===r.length&&(t+="0"),t+=r):t+=`\\x{${r}}`}return t}static stringToRunes(e){var t=String(e),r=[];let n=0;for(;n<t.length;){var s=t.codePointAt(n);r.push(s),n+=s>g.MAX_BMP?2:1}return r}static runeToString(e){return String.fromCodePoint(e)}static isWordRune(e){return e<256&&1===_e[e]}static emptyOpContext(e,t){let r=0;return e<0&&(r|=E.EMPTY_BEGIN_TEXT|E.EMPTY_BEGIN_LINE),10===e&&(r|=E.EMPTY_BEGIN_LINE),t<0&&(r|=E.EMPTY_END_TEXT|E.EMPTY_END_LINE),10===t&&(r|=E.EMPTY_END_LINE),E.isWordRune(e)!==E.isWordRune(t)?r|=E.EMPTY_WORD_BOUNDARY:r|=E.EMPTY_NO_WORD_BOUNDARY,r}static quoteMeta(e){return e.split("").map(e=>0<=E.METACHARACTERS.indexOf(e)?"\\"+e:e).join("")}static charCount(e){return e>g.MAX_BMP?2:1}static toArray(e){var t=e.length,r=new Array(t);for(let n=0;n<t;n++)r[n]=e[n];return r}static stringToUtf8ByteArray(s){if(globalThis.TextEncoder)return Ie=Ie||new TextEncoder,E.toArray(Ie.encode(s));{let t=[],r=0;for(let n=0;n<s.length;n++){let e=s.charCodeAt(n);e<128?t[r++]=e:(e<2048?t[r++]=e>>6|192:((64512&e)===g.MIN_HIGH_SURROGATE&&n+1<s.length&&(64512&s.charCodeAt(n+1))===g.MIN_LOW_SURROGATE?(e=g.MIN_SUPPLEMENTARY_CODE_POINT+((1023&e)<<10)+(1023&s.charCodeAt(++n)),t[r++]=e>>18|240,t[r++]=e>>12&63|128):t[r++]=e>>12|224,t[r++]=e>>6&63|128),t[r++]=63&e|128)}return t}}static utf8ByteArrayToString(n){var e;if(globalThis.TextDecoder)return Te=Te||new TextDecoder("utf-8"),e=n instanceof Uint8Array?n:new Uint8Array(n),Te.decode(e);{let e=[],t=0,r=0;for(;t<n.length;){var s,i,a,B=n[t++];B<128?e[r++]=String.fromCharCode(B):191<B&&B<224?(s=n[t++],e[r++]=String.fromCharCode((31&B)<<6|63&s)):239<B&&B<365?(s=((7&B)<<18|(63&n[t++])<<12|(63&n[t++])<<6|63&n[t++])-g.MIN_SUPPLEMENTARY_CODE_POINT,e[r++]=String.fromCharCode(g.MIN_HIGH_SURROGATE+(s>>10)),e[r++]=String.fromCharCode(g.MIN_LOW_SURROGATE+(1023&s))):(i=n[t++],a=n[t++],e[r++]=String.fromCharCode((15&B)<<12|(63&i)<<6|63&a))}return e.join("")}}},e=(e=[],t=0)=>{var r=Object.create(null);for(let i=0;i<e.length;i++){var n=e[i],s=t+i;r[n]=s,r[s]=n}return Object.freeze(r)},be=class be{static Encoding=e(["UTF_16","UTF_8"]);getEncoding(){throw Error("not implemented")}asCharSequence(){throw Error("not implemented")}asBytes(){throw Error("not implemented")}length(){throw Error("not implemented")}isUTF8Encoding(){return this.getEncoding()===be.Encoding.UTF_8}isUTF16Encoding(){return this.getEncoding()===be.Encoding.UTF_16}},Ne=class extends be{constructor(e=null){super(),this.bytes=e}getEncoding(){return be.Encoding.UTF_8}asCharSequence(){return E.utf8ByteArrayToString(this.bytes)}asBytes(){return this.bytes}length(){return this.bytes.length}},Fe=class extends be{constructor(e=null){super(),this.charSequence=e}getEncoding(){return be.Encoding.UTF_16}asCharSequence(){return this.charSequence}asBytes(){return E.stringToUtf8ByteArray(this.charSequence.toString())}length(){return this.charSequence.length}},Ae=class{static utf16(e){return new Fe(e)}static utf8(e){return E.isByteArray(e)?new Ne(e):new Ne(E.stringToUtf8ByteArray(e))}},Se=class{static EOF(){return-8}constructor(){this.end=0}canCheckPrefix(){return!0}endPos(){return this.end}hasString(){return!1}hasAnyString(){return!1}prefixLength(){return 0}},Oe=class extends Se{constructor(e,t=0,r=e.length){super(),this.bytes=e,this.start=t,this.end=r}hasString(e,t){var r,n=e.bytes;return 0===n.length||-1!==(r=this.indexOf(this.bytes,n,this.start+t))&&r<=this.end-n.length}hasAnyString(e,t){return!!e.ac8&&e.ac8.searchUTF8(this.bytes,this.start+t,this.end)}step(e){var t,r,n,s;return(e+=this.start)>=this.end?Se.EOF():(t=255&this.bytes[e])<128?t<<3|1:194<=t&&t<=223&&e+1<this.end?128!=(192&(r=255&this.bytes[e+1]))?t<<3|1:((31&t)<<6|63&r)<<3|2:224<=t&&t<=239&&e+2<this.end?128!=(192&(r=255&this.bytes[e+1]))||128!=(192&(n=255&this.bytes[e+2]))?t<<3|1:((15&t)<<12|(63&r)<<6|63&n)<<3|3:!(240<=t&&t<=244&&e+3<this.end)||128!=(192&(r=255&this.bytes[e+1]))||128!=(192&(n=255&this.bytes[e+2]))||128!=(192&(s=255&this.bytes[e+3]))?t<<3|1:((7&t)<<18|(63&r)<<12|(63&n)<<6|63&s)<<3|4}index(e,t){t+=this.start;var r=this.indexOf(this.bytes,e.prefixUTF8,t);return r<0?r:r-t}context(r){let n=-1;if((r+=this.start)>this.start&&r<=this.end){let t=r-1;if(128<=(n=this.bytes[t--])){let e=r-4;for(e<this.start&&(e=this.start);t>=e&&128==(192&this.bytes[t]);)t--;t<this.start&&(t=this.start),n=this.step(t-this.start)>>3}}var e=r<this.end?this.step(r-this.start)>>3:-1;return E.emptyOpContext(n,e)}indexOf(r,n,e=0){var s=n.length;if(0===s)return e<=this.end?e:-1;var i=n[0],a=this.end-s,B="function"==typeof r.indexOf;let o=e;for(;o<=a;){if(B){if(-1===(o=r.indexOf(i,o))||o>a)return-1}else{for(;o<=a&&r[o]!==i;)o++;if(o>a)return-1}let e=!0;for(let t=1;t<s;t++)if(r[o+t]!==n[t]){e=!1;break}if(e)return o;o++}return-1}prefixLength(e){return e.prefixUTF8.length}},xe=class extends Se{constructor(e,t=0,r=e.length){super(),this.charSequence=e,this.start=t,this.end=r}hasString(e,t){var r=this.charSequence.indexOf(e.str,this.start+t);return-1!==r&&r<=this.end-e.str.length}hasAnyString(e,t){return!!e.ac16&&e.ac16.searchUTF16(this.charSequence,this.start+t,this.end)}step(e){var t,r;return(e+=this.start)>=this.end?Se.EOF():!((t=this.charSequence.charCodeAt(e))<g.MIN_HIGH_SURROGATE||t>g.MAX_HIGH_SURROGATE||e+1>=this.end)&&(r=this.charSequence.charCodeAt(e+1))>=g.MIN_LOW_SURROGATE&&r<=g.MAX_LOW_SURROGATE?1024*(t-g.MIN_HIGH_SURROGATE)+(r-g.MIN_LOW_SURROGATE)+g.MIN_SUPPLEMENTARY_CODE_POINT<<3|2:t<<3|1}index(e,t){t+=this.start;var r=this.charSequence.indexOf(e.prefix,t);return r<0||r>this.end-e.prefix.length?-1:r-t}context(e){var t=(e+=this.start)>this.start&&e<=this.end?this.charSequence.charCodeAt(e-1):-1,r=e<this.end?this.charSequence.charCodeAt(e):-1;return E.emptyOpContext(t,r)}prefixLength(e){return e.prefix.length}},Le=class{static fromUTF8(e,t=0,r=e.length){return new Oe(e,t,r)}static fromUTF16(e,t=0,r=e.length){return new xe(e,t,r)}},n=class extends Error{constructor(e){super(e),this.name="RE2JSException"}},c=class extends n{constructor(e,t=null){let r="error parsing regexp: "+e;t&&(r+=`: \`${t}\``),super(r),this.name="RE2JSSyntaxException",this.message=r,this.error=e,this.input=t}getDescription(){return this.error}getPattern(){return this.input}},Re=class extends n{constructor(e){super(e),this.name="RE2JSCompileException"}},ke=class extends n{constructor(e){super(e),this.name="RE2JSGroupException"}},Ge=class extends n{constructor(e){super(e),this.name="RE2JSFlagsException"}},Pe=class extends n{constructor(e){super(e),this.name="RE2JSInternalException"}},Me=class Me{static MAX_REPLACER_ARGS=65535;static quoteReplacement(e,t=!1){return t?e.indexOf("\\")<0&&e.indexOf("$")<0?e:e.split("").map(e=>{var t=e.codePointAt(0);return t===D.CODES.get("\\")||t===D.CODES.get("$")?"\\"+e:e}).join(""):e.indexOf("$")<0?e:e.split("").map(e=>e.codePointAt(0)===D.CODES.get("$")?"$$":e).join("")}constructor(e,t){if(null===e)throw new Error("pattern is null");this.patternInput=e;var r=this.patternInput.re2();this.patternGroupCount=r.numberOfCapturingGroups(),this.groups=[],this.namedGroups=r.namedGroups,this.numberOfInstructions=r.numberOfInstructions(),t instanceof be?this.resetMatcherInput(t):E.isByteArray(t)?this.resetMatcherInput(Ae.utf8(t)):this.resetMatcherInput(Ae.utf16(t))}pattern(){return this.patternInput}reset(){return this.matcherInputLength=this.matcherInput.length(),this.appendPos=0,this.hasMatch=!1,this.hasGroups=!1,this.anchorFlag=0,this}resetMatcherInput(e){if(null===e)throw new Error("input is null");return this.matcherInput=e,this.reset(),this}start(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new ke(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e]}end(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new ke(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e+1]}programSize(){return this.numberOfInstructions}group(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new ke(`group '${e}' not found`);e=t}var t=this.start(e),r=this.end(e);return t<0&&r<0?null:this.substring(t,r)}getNamedGroups(){if(!this.hasMatch)throw new ke("perhaps no match attempted");var e,t=Object.create(null);for(e of Object.keys(this.namedGroups))t[e]=this.group(e);return t}groupCount(){return this.patternGroupCount}loadGroup(e){if(e<0||e>this.patternGroupCount)throw new ke("Group index out of bounds: "+e);if(!this.hasMatch)throw new ke("perhaps no match attempted");if(0!==e&&!this.hasGroups){var t=this.matcherInputLength,t=this.patternInput.re2().matchMachineInput(this.matcherInput,this.groups[0],t,this.anchorFlag,1+this.patternGroupCount);if(!t[0])throw new ke("inconsistency in matching group data");this.groups=t[1],this.hasGroups=!0}}matches(){return this.genMatch(0,y.ANCHOR_BOTH)}lookingAt(){return this.genMatch(0,y.ANCHOR_START)}find(e=null){if(null!==e){if(e<0||e>this.matcherInputLength)throw new ke("start index out of bounds: "+e);return this.reset(),this.genMatch(e,0)}var t;return e=0,this.hasMatch&&(e=this.groups[1],this.groups[0]===this.groups[1])&&((t=(this.matcherInput.isUTF16Encoding()?Le.fromUTF16(this.matcherInput.asCharSequence(),0,this.matcherInputLength):Le.fromUTF8(this.matcherInput.asBytes(),0,this.matcherInputLength)).step(e))<0?e++:e+=7&t),this.genMatch(e,y.UNANCHORED)}genMatch(e,t){var r=this.patternInput.re2().matchMachineInput(this.matcherInput,e,this.matcherInputLength,t,1);return!!r[0]&&(this.groups=r[1],this.hasMatch=!0,this.hasGroups=0===this.patternGroupCount,this.anchorFlag=t,!0)}substring(e,t){return this.matcherInput.isUTF8Encoding()?E.utf8ByteArrayToString(this.matcherInput.asBytes().slice(e,t)):this.matcherInput.asCharSequence().substring(e,t).toString()}inputLength(){return this.matcherInputLength}appendReplacement(e,t=!1){let r="";var n=this.start(),s=this.end();return this.appendPos<n&&(r+=this.substring(this.appendPos,n)),this.appendPos=s,r+=t?this.appendReplacementInternalJava(e):this.appendReplacementInternalJs(e)}appendReplacementInternalJava(r){let n="",s=0;var i=r.length;for(let o=0;o<i-1;o++)if(r.codePointAt(o)===D.CODES.get("\\"))s<o&&(n+=r.substring(s,o)),o++,s=o;else if(r.codePointAt(o)===D.CODES.get("$")){let t=r.codePointAt(o+1);if(D.CODES.get("0")<=t&&t<=D.CODES.get("9")){let e=t-D.CODES.get("0");for(s<o&&(n+=r.substring(s,o)),o+=2;o<i&&!((t=r.codePointAt(o))<D.CODES.get("0")||t>D.CODES.get("9")||10*e+t-D.CODES.get("0")>this.patternGroupCount);o++)e=10*e+t-D.CODES.get("0");if(e>this.patternGroupCount)throw new ke("n > number of groups: "+e);var a=this.group(e);null!==a&&(n+=a),s=o,o--}else if(t===D.CODES.get("{")){s<o&&(n+=r.substring(s,o));let e=++o+1;for(;e<r.length&&r.codePointAt(e)!==D.CODES.get("}")&&r.codePointAt(e)!==D.CODES.get(" ");)e++;if(e===r.length||r.codePointAt(e)!==D.CODES.get("}"))throw new ke("named capture group is missing trailing '}'");var a=r.substring(o+1,e),B=this.group(a);null!==B&&(n+=B),s=e+1,o=e}}return s<i&&(n+=r.substring(s,i)),n}appendReplacementInternalJs(r){let n="",s=0;var i=r.length;for(let u=0;u<i-1;u++)if(r.codePointAt(u)===D.CODES.get("$")){let t=r.codePointAt(u+1);if(D.CODES.get("$")===t){s<u&&(n+=r.substring(s,u)),n+="$",u++,s=u+1;continue}if(D.CODES.get("&")===t){s<u&&(n+=r.substring(s,u));var a=this.group(0);n+=null!==a?a:"$&",u++,s=u+1;continue}if(D.CODES.get("`")===t){s<u&&(n+=r.substring(s,u)),n+=this.substring(0,this.start(0)),u++,s=u+1;continue}if(D.CODES.get("'")===t){s<u&&(n+=r.substring(s,u)),n+=this.substring(this.end(0),this.matcherInputLength),u++,s=u+1;continue}if(D.CODES.get("1")<=t&&t<=D.CODES.get("9")){let e=t-D.CODES.get("0");for(s<u&&(n+=r.substring(s,u)),u+=2;u<i&&!((t=r.codePointAt(u))<D.CODES.get("0")||t>D.CODES.get("9")||10*e+t-D.CODES.get("0")>this.patternGroupCount);u++)e=10*e+t-D.CODES.get("0");if(e>this.patternGroupCount){n+="$"+e,s=u,u--;continue}a=this.group(e);null!==a&&(n+=a),s=u,u--;continue}if(t===D.CODES.get("<")){s<u&&(n+=r.substring(s,u));let e=++u+1;for(;e<r.length&&r.codePointAt(e)!==D.CODES.get(">")&&r.codePointAt(e)!==D.CODES.get(" ");)e++;if(e===r.length||r.codePointAt(e)!==D.CODES.get(">")){n+=r.substring(u-1,e+1),s=e+1,u=e;continue}var B,o=r.substring(u+1,e);Object.prototype.hasOwnProperty.call(this.namedGroups,o)?null!==(B=this.group(o))&&(n+=B):n+=`$<${o}>`,s=e+1,u=e;continue}}return s<i&&(n+=r.substring(s,i)),n}appendTail(){return this.substring(this.appendPos,this.matcherInputLength)}replaceAll(e,t=!1){return this.replace(e,!0,t)}replaceFirst(e,t=!1){return this.replace(e,!1,t)}replace(e,t=!0,r=!1){let n="";this.reset();var s="function"==typeof e,i=0<Object.keys(this.namedGroups).length;let a=null;if(s){if(this.groupCount()>=Me.MAX_REPLACER_ARGS)throw new ke("Too many capture groups to safely invoke replacer function");a=this.matcherInput.isUTF8Encoding()?this.matcherInput.asBytes():this.matcherInput.asCharSequence()}for(;this.find()&&(n+=s?this.appendReplacementFunc(e,i,a):this.appendReplacement(e,r),t););return n+=this.appendTail()}appendReplacementFunc(e,t,r){let n="";var s=this.start(),i=this.end(),i=(this.appendPos<s&&(n+=this.substring(this.appendPos,s)),this.appendPos=i,this.buildReplacerArgs(s,t,r));return n+=String(e(...i))}buildReplacerArgs(e,t,r){var n=[this.group(0)],s=this.groupCount();for(let o=1;o<=s;o++){var i=this.start(o);n.push(i<0?void 0:this.substring(i,this.end(o)))}if(n.push(e),n.push(r),t){var a,B=this.getNamedGroups();for(a in B)null===B[a]&&(B[a]=void 0);n.push(B)}return n}},v=class v{static ALT=1;static ALT_MATCH=2;static CAPTURE=3;static EMPTY_WIDTH=4;static FAIL=5;static MATCH=6;static NOP=7;static RUNE=8;static RUNE1=9;static RUNE_ANY=10;static RUNE_ANY_NOT_NL=11;static LB_WRITE=12;static LB_CHECK=13;static isRuneOp(e){return v.RUNE<=e&&e<=v.RUNE_ANY_NOT_NL}static escapeRunes(e){let t='"';for(var r of e)t+=E.escapeRune(r);return t+='"'}constructor(e){this.op=e,this.out=0,this.arg=0,this.runes=[],this.next=null}matchRune(t){if(1===this.runes.length)return i=this.runes[0],0!=(this.arg&y.FOLD_CASE)?g.equalsIgnoreCase(i,t):t===i;var r=this.runes.length;if(0===r)return!1;if(2===r||4===r||6===r||8===r){for(let e=0;e<r;e+=2){if(t<this.runes[e])return!1;if(t<=this.runes[e+1])return!0}return!1}let e=0,n=r>>1;for(;1<n;){var s=n>>1;e+=this.runes[e+s<<1]<=t?s:0,n-=s}var i=(e+=this.runes[e<<1]<=t?1:0)-1;return 0<=i&&t<=this.runes[i<<1|1]}matchRunePos(t){if(1===this.runes.length)return i=this.runes[0],0!=(this.arg&y.FOLD_CASE)?g.equalsIgnoreCase(i,t)?0:-1:t===i?0:-1;var r=this.runes.length;if(0===r)return-1;if(2===r||4===r||6===r||8===r){for(let e=0;e<r;e+=2){if(t<this.runes[e])return-1;if(t<=this.runes[e+1])return Math.floor(e/2)}return-1}let e=0,n=r>>1;for(;1<n;){var s=n>>1;e+=this.runes[e+s<<1]<=t?s:0,n-=s}var i=(e+=this.runes[e<<1]<=t?1:0)-1;return 0<=i&&t<=this.runes[i<<1|1]?i:-1}toString(){switch(this.op){case v.ALT:return`alt -> ${this.out}, `+this.arg;case v.ALT_MATCH:return`altmatch -> ${this.out}, `+this.arg;case v.CAPTURE:return`cap ${this.arg} -> `+this.out;case v.EMPTY_WIDTH:return`empty ${this.arg} -> `+this.out;case v.MATCH:return"match"+(0!==this.arg?" "+this.arg:"");case v.FAIL:return"fail";case v.NOP:return"nop -> "+this.out;case v.LB_WRITE:return`lbwrite ${this.arg} -> `+this.out;case v.LB_CHECK:return`lbcheck ${this.arg} -> `+this.out;case v.RUNE:return null===this.runes?"rune <null>":["rune ",v.escapeRunes(this.runes),0!=(this.arg&y.FOLD_CASE)?"/i":""," -> ",this.out].join("");case v.RUNE1:return`rune1 ${v.escapeRunes(this.runes)} -> `+this.out;case v.RUNE_ANY:return"any -> "+this.out;case v.RUNE_ANY_NOT_NL:return"anynotnl -> "+this.out;default:throw new Error("unhandled case in Inst.toString")}}},He=class{constructor(){this.inst=null,this.cap=null}},Ve=class{constructor(e){this.sparse=new Int32Array(e),this.densePcs=new Int32Array(e),this.denseThreads=new Array(e),this.size=0}contains(e){var t=this.sparse[e];return t<this.size&&this.densePcs[t]===e}isEmpty(){return 0===this.size}add(e){var t=this.size++;return this.sparse[e]=t,this.denseThreads[t]=null,this.densePcs[t]=e,t}clear(){for(let e=0;e<this.size;e++)this.denseThreads[e]=null;this.size=0}toString(){let e="{";for(let t=0;t<this.size;t++)0!==t&&(e+=", "),e+=this.densePcs[t];return e+="}"}},Ue=class Ue{static THREADS_CHUNK_SIZE=128;static fromRE2(e){var t=new Ue;return t.prog=e.prog,t.re2=e,t.q0=new Ve(t.prog.numInst()),t.q1=new Ve(t.prog.numInst()),t.pool=[],t.poolSize=0,t.matched=!1,t.matchcap=new Int32Array(t.prog.numCap<2?2:t.prog.numCap),t.ncap=0,t}static fromMachine(e){return Ue.fromRE2(e.re2)}constructor(){this.prog=null,this.re2=null,this.q0=null,this.q1=null,this.pool=[],this.poolSize=0,this.matched=!1,this.matchcap=null,this.ncap=0,this.lbTable=null}init(e){(this.ncap=e)>this.matchcap.length?this.initNewCap(e):this.resetCap(),0<this.prog.numLb&&((!this.lbTable||this.lbTable.length<this.prog.numLb+1)&&(this.lbTable=new Int32Array(this.prog.numLb+1)),this.lbTable.fill(-1))}resetCap(){for(let e=0;e<this.poolSize;e++)this.pool[e].cap.fill(-1)}initNewCap(e){for(let t=0;t<this.poolSize;t++)this.pool[t].cap=new Int32Array(e).fill(-1);this.matchcap=new Int32Array(e).fill(-1)}submatches(){return 0===this.ncap?E.emptyInts():E.toArray(this.matchcap.subarray(0,this.ncap))}alloc(e){if(0===this.poolSize){var t=this.matchcap.length;for(let e=0;e<Ue.THREADS_CHUNK_SIZE;e++){let e=new He;e.cap=new Int32Array(t),this.pool[this.poolSize++]=e}}this.poolSize--;let r=this.pool[this.poolSize];return r.inst=e,r}freeQueue(e,t=0){for(let n=t;n<e.size;n++){var r=e.denseThreads[n];null!==r&&(this.pool[this.poolSize++]=r)}e.clear()}freeThread(e){this.pool[this.poolSize++]=e}match(e,t,r){var n=this.re2.cond;if(n===E.EMPTY_ALL)return!1;if((r===y.ANCHOR_START||r===y.ANCHOR_BOTH)&&0!==t)return!1;this.matched=!1,this.matchcap.fill(-1);let s=0<this.prog.numLb?0:t;var i=t;let a=this.q0,B=this.q1,o=e.step(s),u=o>>3,l=7&o,h=-1,c=0;o!==Se.EOF()&&(o=e.step(s+l),h=o>>3,c=7&o);let C;for(C=0===s?E.emptyOpContext(-1,u):e.context(s);;){if(a.isEmpty()){if(0!=(n&E.EMPTY_BEGIN_TEXT)&&0!==s)break;if((r===y.ANCHOR_START||r===y.ANCHOR_BOTH)&&0!==s)break;if(this.matched)break;if(0===this.prog.numLb&&0!==this.re2.prefix.length&&h!==this.re2.prefixRune&&e.canCheckPrefix()){var d=e.index(this.re2,s);if(d<0)break;s+=d,o=e.step(s),u=o>>3,l=7&o,o=e.step(s+l),h=o>>3,c=7&o}}if(0===s&&0<this.prog.numLb)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(a,this.prog.lbStarts[e],s,this.matchcap,C,null);this.matched||0!==s&&r!==y.UNANCHORED||s>=i&&(0<this.ncap&&(this.matchcap[0]=s),this.add(a,this.prog.start,s,this.matchcap,C,null));d=s+l;if(C=e.context(d),this.step(a,B,s,d,u,C,r,s===e.endPos()),0===l)break;if(0===this.ncap&&this.matched)break;s+=l,u=h,l=c,-1!==u&&(o=e.step(s+l),h=o>>3,c=7&o);var g=a;a=B,B=g}return this.freeQueue(B),this.matched}matchSet(n,e,s){var t=this.re2.cond;if(t===E.EMPTY_ALL)return[];if((s===y.ANCHOR_START||s===y.ANCHOR_BOTH)&&0!==e)return[];let i=0<this.prog.numLb?0:e;var a=e;let B=this.q0,o=this.q1,u=n.step(i),l=u>>3,h=7&u,c=-1,C=0,d=(u!==Se.EOF()&&(u=n.step(i+h),c=u>>3,C=7&u),0===i?E.emptyOpContext(-1,l):n.context(i));for(var g=new Set;;){if(B.isEmpty()){if(0!=(t&E.EMPTY_BEGIN_TEXT)&&0!==i)break;if((s===y.ANCHOR_START||s===y.ANCHOR_BOTH)&&0!==i)break}if(0===i&&0<this.prog.numLb)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(B,this.prog.lbStarts[e],i,this.matchcap,d,null);0!==i&&s!==y.UNANCHORED||i>=a&&this.add(B,this.prog.start,i,this.matchcap,d,null);var p=i+h;d=n.context(p);for(let r=0;r<B.size;r++){let t=B.denseThreads[r];if(null!==t){var f=t.inst;let e=!1;switch(f.op){case v.MATCH:s===y.ANCHOR_BOTH&&i!==n.endPos()||g.add(f.arg);break;case v.RUNE:e=f.matchRune(l);break;case v.RUNE1:e=l===f.runes[0];break;case v.RUNE_ANY:e=!0;break;case v.RUNE_ANY_NOT_NL:e=l!==D.CODES.get("\n");break;default:throw new Pe("bad inst")}null!==(t=e?this.add(o,f.out,p,t.cap,d,t):t)&&(this.freeThread(t),B.denseThreads[r]=null)}}if(B.clear(),0===h)break;i+=h,l=c,h=C,-1!==l&&(u=n.step(i+h),c=u>>3,C=7&u);var m=B;B=o,o=m}return this.freeQueue(o),Array.from(g).sort((e,t)=>e-t)}step(r,n,s,i,a,B,o,u){var l=this.re2.longest;for(let c=0;c<r.size;c++){let t=r.denseThreads[c];if(null!==t)if(l&&this.matched&&0<this.ncap&&this.matchcap[0]<t.cap[0])this.freeThread(t);else{var h=t.inst;let e=!1;switch(h.op){case v.MATCH:o===y.ANCHOR_BOTH&&!u||(0<this.ncap&&(!l||!this.matched||this.matchcap[1]<s)&&(t.cap[1]=s,this.matchcap.set(t.cap.subarray(0,this.ncap))),l||this.freeQueue(r,c+1),this.matched=!0);break;case v.RUNE:e=h.matchRune(a);break;case v.RUNE1:e=a===h.runes[0];break;case v.RUNE_ANY:e=!0;break;case v.RUNE_ANY_NOT_NL:e=a!==D.CODES.get("\n");break;default:throw new Pe("bad inst")}null!==(t=e?this.add(n,h.out,i,t.cap,B,t):t)&&(this.freeThread(t),r.denseThreads[c]=null)}}r.clear()}add(e,t,r,n,s,i){for(;;){if(0===t)return i;if(e.contains(t))return i;var a,B=e.add(t),o=this.prog.inst[t];switch(o.op){case v.FAIL:return i;case v.ALT:case v.ALT_MATCH:i=this.add(e,o.out,r,n,s,i),t=o.arg;continue;case v.EMPTY_WIDTH:if(0!=(o.arg&~s))return i;t=o.out;continue;case v.NOP:t=o.out;continue;case v.CAPTURE:if(o.arg<this.ncap)return a=n[o.arg],n[o.arg]=r,this.add(e,o.out,r,n,s,null),n[o.arg]=a,i;t=o.out;continue;case v.LB_WRITE:this.lbTable[Math.abs(o.arg)]=r,t=o.out;continue;case v.LB_CHECK:if(0<o.arg){if(this.lbTable[o.arg]===r){t=o.out;continue}}else if(this.lbTable[-o.arg]!==r){t=o.out;continue}return i;case v.MATCH:case v.RUNE:case v.RUNE1:case v.RUNE_ANY:case v.RUNE_ANY_NOT_NL:if(null===i?i=this.alloc(o):i.inst=o,0<this.ncap&&i.cap!==n)for(let e=0;e<this.ncap;e++)i.cap[e]=n[e];return e.denseThreads[B]=i,i=null;default:throw new Error("unhandled")}}}};let qe=e=>{let t=-2128831035;for(let r=0;r<e.length;r++)t^=e[r],t=Math.imul(t,16777619);return t};var Je=class{constructor(e,t,r=[]){this.nfaStates=e,this.isMatch=t,this.matchIDs=r,this.nextLatin1=new Array(g.MAX_LATIN1+1).fill(null),this.nextLatin1Anchored=new Array(g.MAX_LATIN1+1).fill(null),this.transKeys=[],this.transVals=[],this.lastSeen=0}},Ke=class Ke{static MAX_CACHE_CLEARS=5;static STATE_MEMORY_ESTIMATE=838;constructor(e,t=8388608){this.prog=e,this.stateCache=new Map,this.stateCount=0,this.startState=null,this.stateLimit=Math.max(1,Math.floor(t/Ke.STATE_MEMORY_ESTIMATE)),this.cacheClears=0,this.failed=!1,this.clock=0}computeClosure(e){var t=new Set,r=[...e];let n=!1;for(var s=[];0<r.length;){var i=r.pop();if(!t.has(i)){t.add(i);var a=this.prog.getInst(i);switch(a.op){case v.MATCH:n=!0,s.includes(a.arg)||s.push(a.arg);break;case v.ALT:case v.ALT_MATCH:r.push(a.out),r.push(a.arg);break;case v.NOP:case v.CAPTURE:r.push(a.out);break;case v.EMPTY_WIDTH:case v.LB_WRITE:case v.LB_CHECK:return null}}}var B=Int32Array.from(t).sort();return s.sort((e,t)=>e-t),{pcs:B,isMatch:n,matchIDs:s}}getState(e){var t=this.computeClosure(e);if(!t)return null;var r=t.pcs,n=qe(r);let s=this.stateCache.get(n);if(s)for(let t=0;t<s.length;t++){let e=s[t];if(((e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0})(e.nfaStates,r))return e.lastSeen=++this.clock,e}else s=[],this.stateCache.set(n,s);if(this.failed)return null;if(this.stateCount>=this.stateLimit){if(this.cacheClears++,this.cacheClears>=Ke.MAX_CACHE_CLEARS)return this.failed=!0,this.stateCache.clear(),this.stateCount=0,this.startState=null;this.evictCache(),(s=this.stateCache.get(n))||(s=[],this.stateCache.set(n,s))}let i=new Je(r,t.isMatch,t.matchIDs);return i.lastSeen=++this.clock,s.push(i),this.stateCount++,i}evictCache(){var t,r=[];for(t of this.stateCache.values())for(let e=0;e<t.length;e++)r.push(t[e]);r.sort((e,t)=>e.lastSeen-t.lastSeen);var e=Math.max(1,Math.floor(this.stateLimit/2)),n=r.slice(r.length-e),e=new Set(n);this.stateCache.clear();for(let a=this.stateCount=0;a<n.length;a++){var s=n[a],i=(s.nextLatin1.fill(null),s.nextLatin1Anchored.fill(null),s.transKeys.length=0,s.transVals.length=0,qe(s.nfaStates));let e=this.stateCache.get(i);e||(e=[],this.stateCache.set(i,e)),e.push(s),this.stateCount++}this.startState&&!e.has(this.startState)&&(this.startState=null)}step(t,r,n){if(r<=g.MAX_LATIN1)if(n===y.UNANCHORED){var e=t.nextLatin1[r];if(null!==e)return e}else{e=t.nextLatin1Anchored[r];if(null!==e)return e}else{var s=r+(n===y.UNANCHORED?0:g.MAX_RUNE+1),i=t.transKeys,a=i.length;for(let e=0;e<a;e++)if(i[e]===s)return t.transVals[e]}var B=[];for(let l=0;l<t.nfaStates.length;l++){var o=t.nfaStates[l],o=this.prog.getInst(o);v.isRuneOp(o.op)&&o.matchRune(r)&&B.push(o.out)}n===y.UNANCHORED&&B.push(this.prog.start);var u,e=this.getState(B);return r<=g.MAX_LATIN1?n===y.UNANCHORED?t.nextLatin1[r]=e:t.nextLatin1Anchored[r]=e:(u=r+(n===y.UNANCHORED?0:g.MAX_RUNE+1),t.transKeys.push(u),t.transVals.push(e)),e}match(r,n,s){if(s!==y.ANCHOR_START&&s!==y.ANCHOR_BOTH||0===n){if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;var i=r.endPos();let e=this.startState;if(e.isMatch){if(s!==y.ANCHOR_BOTH)return!0;if(n===i)return!0}let t=n;for(;t<i;){var a=r.step(t),B=a>>3,a=7&a;if(0==a)break;if(null===(e=s===y.UNANCHORED&&B<=g.MAX_LATIN1&&e.nextLatin1[B]||this.step(e,B,s)))return null;if(e.lastSeen=++this.clock,e.isMatch){if(s!==y.ANCHOR_BOTH)return!0;if(t+a===i)return!0}if(0===e.nfaStates.length&&s!==y.UNANCHORED)return!1;t+=a}}return!1}matchSet(e,t,r){if((r===y.ANCHOR_START||r===y.ANCHOR_BOTH)&&0!==t)return[];if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;let n=e.endPos(),s=this.startState,i=new Set;var a=(e,t)=>{e.isMatch&&(r===y.ANCHOR_BOTH?t===n&&e.matchIDs.forEach(e=>i.add(e)):e.matchIDs.forEach(e=>i.add(e)))};a(s,t);let B=t;for(;B<n;){var o=e.step(B),u=o>>3,o=7&o;if(0==o)break;if(null===(s=r===y.UNANCHORED&&u<=g.MAX_LATIN1&&s.nextLatin1[u]||this.step(s,u,r)))return null;if(s.lastSeen=++this.clock,B+=o,a(s,B),0===s.nfaStates.length&&r!==y.UNANCHORED)break}return Array.from(i).sort((e,t)=>e-t)}};var je=class{constructor(){this.end=0,this.cap=new Int32Array(0),this.matchcap=new Int32Array(0),this.ncap=0,this.jobPc=new Int32Array(256),this.jobArg=new Uint8Array(256),this.jobPos=new Int32Array(256),this.jobLen=0,this.visited=new Uint32Array(0)}reset(e,t,r){this.end=t,this.jobLen=0,this.ncap=r;var n=e.numInst()*(t+1)+32-1>>>5;this.visited.length<n?this.visited=new Uint32Array(n):this.visited.fill(0,0,n),this.cap.length<r?this.cap=new Int32Array(r).fill(-1):this.cap.fill(-1,0,r),this.matchcap.length<r?this.matchcap=new Int32Array(r).fill(-1):this.matchcap.fill(-1,0,r)}shouldVisit(e,t){var r=e*(this.end+1)+t,n=r>>>5,r=1<<(31&r);return 0==(this.visited[n]&r)&&(this.visited[n]|=r,!0)}push(e,t,r,n){var s,i;e.prog.getInst(t).op!==v.FAIL&&(n||this.shouldVisit(t,r))&&(this.jobLen>=this.jobPc.length&&(s=2*this.jobPc.length,(i=new Int32Array(s)).set(this.jobPc),this.jobPc=i,(i=new Uint8Array(s)).set(this.jobArg),this.jobArg=i,(i=new Int32Array(s)).set(this.jobPos),this.jobPos=i),this.jobPc[this.jobLen]=t,this.jobArg[this.jobLen]=n?1:0,this.jobPos[this.jobLen]=r,this.jobLen++)}tryBacktrack(s,i,e,t,a){var B=s.longest;for(this.push(s,e,t,!1);0<this.jobLen;){this.jobLen--;let e=this.jobPc[this.jobLen],t=1===this.jobArg[this.jobLen],r=this.jobPos[this.jobLen],n=!0;for(;;){if(!n&&!this.shouldVisit(e,r))break;n=!1;var o=s.prog.getInst(e);switch(o.op){case v.FAIL:throw new Pe("unexpected InstFail");case v.ALT:if(t){t=!1,e=o.arg;continue}this.push(s,e,r,!0),e=o.out;continue;case v.ALT_MATCH:var u=s.prog.getInst(o.out);if(v.isRuneOp(u.op)){this.push(s,o.arg,r,!1),e=o.arg,r=this.end;continue}this.push(s,o.out,this.end,!1),e=o.out;continue;case v.RUNE:u=i.step(r);if(u===Se.EOF())break;if(!o.matchRune(u>>3))break;r+=7&u,e=o.out;continue;case v.RUNE1:var l=i.step(r);if(l===Se.EOF())break;if(l>>3!==o.runes[0])break;r+=7&l,e=o.out;continue;case v.RUNE_ANY_NOT_NL:l=i.step(r);if(l===Se.EOF())break;if(l>>3==10)break;r+=7&l,e=o.out;continue;case v.RUNE_ANY:var h=i.step(r);if(h===Se.EOF())break;r+=7&h,e=o.out;continue;case v.CAPTURE:if(t){this.cap[o.arg]=r;break}o.arg<this.ncap&&(this.push(s,e,this.cap[o.arg],!0),this.cap[o.arg]=r),e=o.out;continue;case v.EMPTY_WIDTH:h=i.context(r);if(0!=(o.arg&~h))break;e=o.out;continue;case v.NOP:e=o.out;continue;case v.MATCH:if(a!==y.ANCHOR_BOTH||r===this.end){if(0===this.ncap)return!0;1<this.ncap&&(this.cap[1]=r);var c=this.matchcap[1];if((-1===c||B&&0<r&&r>c)&&this.matchcap.set(this.cap),!B)return!0;if(r===this.end)return!0}break;case v.LB_WRITE:case v.LB_CHECK:throw new Pe("Backtracker cannot evaluate Lookbehind instructions");default:throw new Pe("bad inst")}break}}return B&&1<this.matchcap.length&&0<=this.matchcap[1]}};let Qe=[];var ze=class ze{static shouldBacktrack(e){return e.numInst()<=500}static maxBitStateLen(e){return ze.shouldBacktrack(e)?Math.floor(262144/e.numInst()):0}static execute(t,r,n,s,e){var i=t.cond;if(i===E.EMPTY_ALL)return null;if((s===y.ANCHOR_START||s===y.ANCHOR_BOTH)&&0!==n)return null;if(0!=(i&E.EMPTY_BEGIN_TEXT)&&0!==n)return null;var a=0<Qe.length?Qe.pop():new je,B=r.endPos();a.reset(t.prog,B,e);let o=!1;if(0!=(i&E.EMPTY_BEGIN_TEXT)||s===y.ANCHOR_START||s===y.ANCHOR_BOTH)0<a.ncap&&(a.cap[0]=n),a.tryBacktrack(t,r,t.prog.start,n,s)&&(o=!0);else{let e=-1;for(;n<=B&&0!==e;n+=e){if(0<t.prefix.length){var u=r.index(t,n);if(u<0)break;n+=u}if(0<a.ncap&&(a.cap[0]=n),a.tryBacktrack(t,r,t.prog.start,n,s)){o=!0;break}u=r.step(n);e=u===Se.EOF()?0:7&u}}return o?(i=0===e?[]:E.toArray(a.matchcap.subarray(0,e)),Qe.push(a),i):(Qe.push(a),null)}},Ye=class{constructor(e){this.sparse=new Uint32Array(e),this.dense=new Uint32Array(e),this.size=0,this.nextIndex=0}empty(){return this.nextIndex>=this.size}next(){return this.dense[this.nextIndex++]}clear(){this.size=0,this.nextIndex=0}contains(e){return e<this.sparse.length&&this.sparse[e]<this.size&&this.dense[this.sparse[e]]===e}insert(e){this.contains(e)||this.insertNew(e)}insertNew(e){e>=this.sparse.length||(this.sparse[e]=this.size,this.dense[this.size]=e,this.size++)}};var We=class{constructor(e){this.start=e.start,this.numCap=e.numCap,this.inst=new Array(e.inst.length);for(let n=0;n<e.inst.length;n++){var t=e.inst[n],r=new v(t.op);r.out=t.out,r.arg=t.arg,r.runes=t.runes?t.runes.slice():[],r.next=null,this.inst[n]=r}}};var Xe=class Xe{static compile(e){if(0===e.start)return null;if(0<e.numLb)return null;var t=e.inst[e.start];if(t.op!==v.EMPTY_WIDTH||0==(t.arg&E.EMPTY_BEGIN_TEXT))return null;let r=!1;for(let i=0;i<e.inst.length;i++)if(e.inst[i].op===v.ALT||e.inst[i].op===v.ALT_MATCH){r=!0;break}for(let a=0;a<e.inst.length;a++){var n=e.inst[a],s=e.inst[n.out].op;switch(n.op){case v.ALT:case v.ALT_MATCH:if(s===v.MATCH||e.inst[n.arg].op===v.MATCH)return null;break;case v.EMPTY_WIDTH:if(s!==v.MATCH)break;if((n.arg&E.EMPTY_END_TEXT)===E.EMPTY_END_TEXT)continue;return null;default:if(s===v.MATCH&&r)return null}}return null!==(t=(e=>{if(1e3<=e.inst.length)return null;let l=new Ye(e.inst.length),h=new Ye(e.inst.length),c=new Array(e.inst.length),C=new Array(e.inst.length).fill(!1),d=t=>{let r=!0;var n=e.inst[t];if(h.contains(t))return!0;switch(h.insert(t),n.op){case v.ALT:case v.ALT_MATCH:{r=d(n.out)&&d(n.arg);let e=C[n.out];var s=C[n.arg];if(e&&s)return!1;s&&(i=n.out,n.out=n.arg,n.arg=i,e,e=s,0),e&&(C[t]=!0,n.op=v.ALT_MATCH);var i=((s,i,a,B)=>{var e=s.length,t=i.length;let o=0,u=0,l=[],h=[],r=!0,c=-1;for(var n=e=>{var t=e?s:i,r=e?o:u,n=e?a:B;return!(0<c&&t[r]<=l[c]||(l.push(t[r],t[r+1]),e?o+=2:u+=2,c+=2,h.push(n),0))};o<e||u<t;)if(!(r=!(u>=t)&&(o>=e||i[u]<s[o])?n(!1):n(!0)))return null;return{merged:l,next:h}})(c[n.out]||[],c[n.arg]||[],n.out,n.arg);if(!i)return!1;c[t]=i.merged,n.next=new Uint32Array(i.next);break}case v.CAPTURE:case v.EMPTY_WIDTH:case v.NOP:r=d(n.out),C[t]=C[n.out],c[t]=c[n.out]?c[n.out].slice():[],n.next=new Uint32Array(Math.floor(c[t].length/2)+1).fill(n.out);break;case v.MATCH:case v.FAIL:C[t]=n.op===v.MATCH;break;case v.RUNE:if(C[t]=!1,!(n.next&&0<n.next.length))if(l.insert(n.out),n.runes&&0!==n.runes.length){var a=[];if(1===n.runes.length&&0!=(n.arg&y.FOLD_CASE)){var B=n.runes[0];a.push(B,B);for(let e=g.simpleFold(B);e!==B;e=g.simpleFold(e))a.push(e,e);a.sort((e,t)=>e-t)}else for(let e=0;e<n.runes.length;e++)a.push(n.runes[e]);c[t]=a,n.next=new Uint32Array(Math.floor(a.length/2)+1).fill(n.out),n.op=v.RUNE}else c[t]=[],n.next=new Uint32Array([n.out]);break;case v.RUNE1:if(C[t]=!1,!(n.next&&0<n.next.length)){l.insert(n.out);var o=[];if(0!=(n.arg&y.FOLD_CASE)){var u=n.runes[0];o.push(u,u);for(let e=g.simpleFold(u);e!==u;e=g.simpleFold(e))o.push(e,e);o.sort((e,t)=>e-t)}else o.push(n.runes[0],n.runes[0]);c[t]=o,n.next=new Uint32Array(Math.floor(o.length/2)+1).fill(n.out),n.op=v.RUNE}break;case v.RUNE_ANY:C[t]=!1,n.next&&0<n.next.length||(l.insert(n.out),c[t]=[0,g.MAX_RUNE],n.next=new Uint32Array([n.out]));break;case v.RUNE_ANY_NOT_NL:C[t]=!1,n.next&&0<n.next.length||(l.insert(n.out),c[t]=[0,9,11,g.MAX_RUNE],n.next=new Uint32Array(Math.floor(c[t].length/2)+1).fill(n.out))}return r};for(l.clear(),l.insert(e.start);!l.empty();)if(h.clear(),!d(l.next()))return null;for(let t=0;t<e.inst.length;t++)c[t]&&(e.inst[t].runes=c[t]);return e})((e=>{var t=new We(e);for(let B=0;B<t.inst.length;B++){var a=t.inst[B];if(a.op===v.ALT||a.op===v.ALT_MATCH){let n="out",s="arg",i=t.inst[a[s]];if(i.op===v.ALT||i.op===v.ALT_MATCH||(n="arg",s="out",(i=t.inst[a[s]]).op===v.ALT)||i.op===v.ALT_MATCH){var r=t.inst[a[n]];if(r.op!==v.ALT&&r.op!==v.ALT_MATCH){let e="out",t="arg",r=!1;i.out===B?r=!0:i.arg===B&&(r=!0,e="arg",t="out"),r&&(i[e]=a[n]),a[n]===i[e]&&(a[s]=i[t])}}}}return t})(e)))&&((e,t)=>{for(let n=0;n<t.inst.length;n++){var r=t.inst[n];switch(r.op){case v.ALT:case v.ALT_MATCH:case v.RUNE:break;case v.CAPTURE:case v.EMPTY_WIDTH:case v.NOP:case v.MATCH:case v.FAIL:e.inst[n].next=null;break;case v.RUNE1:case v.RUNE_ANY:case v.RUNE_ANY_NOT_NL:e.inst[n].next=null,e.inst[n].op=r.op,e.inst[n].runes=r.runes?r.runes.slice():[]}}})(t,e),t}static next(e,t){var r=e.matchRunePos(t);return 0<=r?e.next[r]:e.op===v.ALT_MATCH?e.out:0}static execute(e,t,r,n,s){var i=e.onepass;if(!i)return null;var a=new Int32Array(s).fill(-1);let B=!1;var o,u=t.step(r);let l=u>>3,h=7&u,c=Se.EOF(),C=-1,d=0,g=(u!==Se.EOF()&&(c=t.step(r+h))!==Se.EOF()&&(C=c>>3,d=7&c),0===r?E.emptyOpContext(-1,l):t.context(r)),p=i.start;for(;;){switch(o=i.inst[p],p=o.out,o.op){case v.MATCH:return n===y.ANCHOR_BOTH&&r!==t.endPos()?null:(B=!0,0<a.length&&(a[0]=0,a[1]=r),0===s?[]:E.toArray(a));case v.RUNE:if(o.matchRune(l))break;return null;case v.RUNE1:if(l!==o.runes[0])return null;break;case v.RUNE_ANY:break;case v.RUNE_ANY_NOT_NL:if(10===l)return null;break;case v.ALT:case v.ALT_MATCH:p=Xe.next(o,l);continue;case v.FAIL:return null;case v.NOP:continue;case v.EMPTY_WIDTH:if(0!=(o.arg&~g))return null;continue;case v.CAPTURE:o.arg<a.length&&(a[o.arg]=r);continue;default:throw new Pe("bad inst")}if(0===h)break;g=E.emptyOpContext(l,C),r+=h,l=C,h=d,-1!==l&&(c=t.step(r+h),d=c!==Se.EOF()?(C=c>>3,7&c):(C=-1,0))}return B?0===s?[]:E.toArray(a):null}},_=class _{static Op=e(["NO_MATCH","EMPTY_MATCH","LITERAL","CHAR_CLASS","ANY_CHAR_NOT_NL","ANY_CHAR","BEGIN_LINE","END_LINE","BEGIN_TEXT","END_TEXT","WORD_BOUNDARY","NO_WORD_BOUNDARY","CAPTURE","STAR","PLUS","QUEST","REPEAT","CONCAT","ALTERNATE","PLB","NLB","LEFT_PAREN","VERTICAL_BAR"]);static isPseudoOp(e){return e>=_.Op.LEFT_PAREN}static emptySubs(){return[]}static quoteIfHyphen(e){return e===D.CODES.get("-")?"\\":""}static fromRegexp(e){var t=new _(e.op);return t.flags=e.flags,t.subs=e.subs,t.runes=e.runes,t.cap=e.cap,t.min=e.min,t.max=e.max,t.name=e.name,t.namedGroups=e.namedGroups,t.lb=e.lb,t}constructor(e){this.op=e,this.flags=0,this.subs=_.emptySubs(),this.runes=[],this.min=0,this.max=0,this.cap=0,this.name=null,this.namedGroups=Object.create(null),this.lb=0}reinit(){this.flags=0,this.subs=_.emptySubs(),this.runes=[],this.cap=0,this.min=0,this.max=0,this.name=null,this.namedGroups=Object.create(null),this.lb=0}toString(){return this.appendTo()}appendTo(){let t="";switch(this.op){case _.Op.NO_MATCH:t+="[^\\x00-\\x{10FFFF}]";break;case _.Op.EMPTY_MATCH:t+="(?:)";break;case _.Op.STAR:case _.Op.PLUS:case _.Op.QUEST:case _.Op.REPEAT:var e=this.subs[0];switch(e.op>_.Op.CAPTURE||e.op===_.Op.LITERAL&&1<e.runes.length?t+=`(?:${e.appendTo()})`:t+=e.appendTo(),this.op){case _.Op.STAR:t+="*";break;case _.Op.PLUS:t+="+";break;case _.Op.QUEST:t+="?";break;case _.Op.REPEAT:t+="{"+this.min,this.min!==this.max&&(t+=",",0<=this.max)&&(t+=this.max),t+="}"}0!=(this.flags&y.NON_GREEDY)&&(t+="?");break;case _.Op.CONCAT:for(var r of this.subs)r.op===_.Op.ALTERNATE?t+=`(?:${r.appendTo()})`:t+=r.appendTo();break;case _.Op.ALTERNATE:{let e="";for(var n of this.subs)t+=e,e="|",t+=n.appendTo();break}case _.Op.LITERAL:0!=(this.flags&y.FOLD_CASE)&&(t+="(?i:");for(var s of this.runes)t+=E.escapeRune(s);0!=(this.flags&y.FOLD_CASE)&&(t+=")");break;case _.Op.ANY_CHAR_NOT_NL:t+="(?-s:.)";break;case _.Op.ANY_CHAR:t+="(?s:.)";break;case _.Op.PLB:t+=`(?<=${this.subs[0].appendTo()})`;break;case _.Op.NLB:t+=`(?<!${this.subs[0].appendTo()})`;break;case _.Op.CAPTURE:null===this.name||0===this.name.length?t+="(":t+=`(?P<${this.name}>`,this.subs[0].op!==_.Op.EMPTY_MATCH&&(t+=this.subs[0].appendTo()),t+=")";break;case _.Op.BEGIN_TEXT:t+="\\A";break;case _.Op.END_TEXT:0!=(this.flags&y.WAS_DOLLAR)?t+="(?-m:$)":t+="\\z";break;case _.Op.BEGIN_LINE:t+="^";break;case _.Op.END_LINE:t+="$";break;case _.Op.WORD_BOUNDARY:t+="\\b";break;case _.Op.NO_WORD_BOUNDARY:t+="\\B";break;case _.Op.CHAR_CLASS:if(this.runes.length%2!=0)t+="[invalid char class]";else{if(t+="[",0===this.runes.length)t+="^\\x00-\\x{10FFFF}";else if(0===this.runes[0]&&this.runes[this.runes.length-1]===g.MAX_RUNE){t+="^";for(let e=1;e<this.runes.length-1;e+=2){var i=this.runes[e]+1,a=this.runes[e+1]-1;t=(t+=_.quoteIfHyphen(i))+E.escapeRune(i),i!==a&&(t=(t=(t+="-")+_.quoteIfHyphen(a))+E.escapeRune(a))}}else for(let e=0;e<this.runes.length;e+=2){var B=this.runes[e],o=this.runes[e+1];t=(t+=_.quoteIfHyphen(B))+E.escapeRune(B),B!==o&&(t=(t=(t+="-")+_.quoteIfHyphen(o))+E.escapeRune(o))}t+="]"}break;default:t+=this.op}return t}maxCap(){let e=0;if(this.op===_.Op.CAPTURE&&(e=this.cap),null!==this.subs)for(var t of this.subs){t=t.maxCap();e<t&&(e=t)}return e}equals(t){if(!(null!==t&&t instanceof _))return!1;if(this.op!==t.op)return!1;switch(this.op){case _.Op.END_TEXT:if((this.flags&y.WAS_DOLLAR)!=(t.flags&y.WAS_DOLLAR))return!1;break;case _.Op.LITERAL:case _.Op.CHAR_CLASS:if(null!==this.runes||null!==t.runes){if(null===this.runes||null===t.runes)return!1;if(this.runes.length!==t.runes.length)return!1;for(let e=0;e<this.runes.length;e++)if(this.runes[e]!==t.runes[e])return!1}break;case _.Op.ALTERNATE:case _.Op.CONCAT:if(this.subs.length!==t.subs.length)return!1;for(let e=0;e<this.subs.length;++e)if(!this.subs[e].equals(t.subs[e]))return!1;break;case _.Op.STAR:case _.Op.PLUS:case _.Op.QUEST:if((this.flags&y.NON_GREEDY)==(t.flags&y.NON_GREEDY)&&this.subs[0].equals(t.subs[0]))break;return!1;case _.Op.REPEAT:if((this.flags&y.NON_GREEDY)==(t.flags&y.NON_GREEDY)&&this.min===t.min&&this.max===t.max&&this.subs[0].equals(t.subs[0]))break;return!1;case _.Op.CAPTURE:if(this.cap===t.cap&&(null===this.name?null===t.name:this.name===t.name)&&this.subs[0].equals(t.subs[0]))break;return!1;case _.Op.PLB:case _.Op.NLB:if(this.lb===t.lb&&this.subs[0].equals(t.subs[0]))break;return!1}return!0}},$e=class{constructor(e){this.next=[Object.create(null)],this.fail=[0],this.match=[!1];for(var r of e){let e=0;for(let t=0;t<r.length;t++){var n=r[t];n in this.next[e]||(this.next.push(Object.create(null)),this.fail.push(0),this.match.push(!1),this.next[e][n]=this.next.length-1),e=this.next[e][n]}this.match[e]=!0}var t,s,i=[];for(t in this.next[0])Object.prototype.hasOwnProperty.call(this.next[0],t)&&(s=this.next[0][t],this.fail[s]=0,i.push(s));for(;0<i.length;){var a,B=i.shift();for(a in this.next[B])if(Object.prototype.hasOwnProperty.call(this.next[B],a)){var o=this.next[B][a];let e=this.fail[B];for(;0!==e&&!(a in this.next[e]);)e=this.fail[e];a in this.next[e]?this.fail[o]=this.next[e][a]:this.fail[o]=0,this.match[o]=this.match[o]||this.match[this.fail[o]],i.push(o)}}}searchUTF16(e,t,r){let n=0;for(let i=t;i<r;i++){for(var s=e.charCodeAt(i);0!==n&&!(s in this.next[n]);)n=this.fail[n];if(s in this.next[n]&&(n=this.next[n][s]),this.match[n])return!0}return!1}searchUTF8(e,t,r){let n=0;for(let i=t;i<r;i++){for(var s=e[i];0!==n&&!(s in this.next[n]);)n=this.fail[n];if(s in this.next[n]&&(n=this.next[n][s]),this.match[n])return!0}return!1}},C=class C{static Type={NONE:0,EXACT:1,AND:2,OR:3};constructor(e){this.type=e,this.subs=[],this.str="",this.bytes=null,this.ac16=null,this.ac8=null}eval(r,n){switch(this.type){case C.Type.NONE:return!0;case C.Type.EXACT:return r.hasString(this,n);case C.Type.AND:for(let e=0;e<this.subs.length;e++)if(!this.subs[e].eval(r,n))return!1;return!0;case C.Type.OR:if(this.ac16&&this.ac8)return r.hasAnyString(this,n);for(let t=0;t<this.subs.length;t++)if(this.subs[t].eval(r,n))return!0;return!1;default:return!0}}},Ze=class Ze{static build(e){var t=Ze.fromRegexp(e);return Ze.simplify(t)}static fromRegexp(r){if(!r)return new C(C.Type.NONE);switch(r.op){case _.Op.PLB:case _.Op.NLB:case _.Op.NO_MATCH:case _.Op.EMPTY_MATCH:case _.Op.BEGIN_LINE:case _.Op.END_LINE:case _.Op.BEGIN_TEXT:case _.Op.END_TEXT:case _.Op.WORD_BOUNDARY:case _.Op.NO_WORD_BOUNDARY:case _.Op.CHAR_CLASS:case _.Op.ANY_CHAR_NOT_NL:case _.Op.ANY_CHAR:return new C(C.Type.NONE);case _.Op.LITERAL:{if(0===r.runes.length||0!=(r.flags&y.FOLD_CASE))return new C(C.Type.NONE);var n=new C(C.Type.EXACT);let e="";for(let t=0;t<r.runes.length;t++)e+=String.fromCodePoint(r.runes[t]);return n.str=e,n.bytes=E.stringToUtf8ByteArray(n.str),n}case _.Op.CAPTURE:case _.Op.PLUS:return Ze.fromRegexp(r.subs[0]);case _.Op.REPEAT:return 1<=r.min?Ze.fromRegexp(r.subs[0]):new C(C.Type.NONE);case _.Op.CONCAT:var e,t=new C(C.Type.AND);for(e of r.subs)t.subs.push(Ze.fromRegexp(e));return t;case _.Op.ALTERNATE:var s,i=new C(C.Type.OR);for(s of r.subs)i.subs.push(Ze.fromRegexp(s));return i;default:return new C(C.Type.NONE)}}static simplify(t){if(t.type!==C.Type.EXACT&&t.type!==C.Type.NONE){if(t.type===C.Type.AND){var e,r=[];for(e of t.subs){var n=Ze.simplify(e);if(n.type!==C.Type.NONE)if(n.type===C.Type.AND)for(let e=0;e<n.subs.length;e++)r.push(n.subs[e]);else r.push(n)}return 0===r.length?new C(C.Type.NONE):1===r.length?r[0]:(t.subs=r,t)}if(t.type===C.Type.OR){var s,i=[];for(s of t.subs){var a=Ze.simplify(s);if(a.type===C.Type.NONE)return new C(C.Type.NONE);if(a.type===C.Type.OR)for(let e=0;e<a.subs.length;e++)i.push(a.subs[e]);else i.push(a)}if(0===i.length)return new C(C.Type.NONE);if(1===i.length)return i[0];var B,o,u=new Set,l=[];for(B of i)B.type===C.Type.EXACT?u.has(B.str)||(u.add(B.str),l.push(B)):l.push(B);let e=!0;for(o of t.subs=l)if(o.type!==C.Type.EXACT){e=!1;break}e&&1<l.length&&(t.ac16=new $e(l.map(e=>{var t=[];for(let r=0;r<e.str.length;r++)t.push(e.str.charCodeAt(r));return t})),t.ac8=new $e(l.map(e=>e.bytes)))}}return t}},et=class{constructor(e=0,t=0){this.head=e,this.tail=t}},tt=class{constructor(){this.inst=[],this.start=0,this.numCap=2,this.lbStarts=[],this.numLb=0}getInst(e){return this.inst[e]}numInst(){return this.inst.length}addInst(e){this.inst.push(new v(e))}skipNop(e){let t=this.inst[e];for(;t.op===v.NOP||t.op===v.CAPTURE;)e=(t=this.inst[e]).out;return t}prefix(){let e="",t=this.skipNop(this.start);if(v.isRuneOp(t.op)&&1===t.runes.length)for(;v.isRuneOp(t.op)&&1===t.runes.length&&0==(t.arg&y.FOLD_CASE);)e+=String.fromCodePoint(t.runes[0]),t=this.skipNop(t.out);return[t.op===v.MATCH,e]}startCond(){let e=0,t=this.start;e:for(;;){var r=this.inst[t];switch(r.op){case v.EMPTY_WIDTH:e|=r.arg;break;case v.FAIL:return-1;case v.CAPTURE:case v.NOP:break;default:break e}t=r.out}return e}patch(e,t){let r=e.head;for(;0!==r;){var n=this.inst[r>>1];0==(1&r)?(r=n.out,n.out=t):(r=n.arg,n.arg=t)}}append(e,t){var r;return 0===e.head?t:0===t.head?e:(r=this.inst[e.tail>>1],0==(1&e.tail)?r.out=t.head:r.arg=t.head,new et(e.head,t.tail))}toString(){let e="";for(let r=0;r<this.inst.length;r++){var t=e.length;e+=r,r===this.start&&(e+="*"),e=(e+=" ".substring(e.length-t))+this.inst[r]+"\n"}return e}},rt=class{constructor(e=0,t=new et,r=!1){this.i=e,this.out=t,this.nullable=r}},nt=class nt{static ANY_RUNE_NOT_NL(){return[0,D.CODES.get("\n")-1,D.CODES.get("\n")+1,g.MAX_RUNE]}static ANY_RUNE(){return[0,g.MAX_RUNE]}static compileRegexp(e){var t=new nt,r=t.compile(e);return t.prog.patch(r.out,t.newInst(v.MATCH).i),t.prog.start=r.i,t.prog}static compileSet(n){var s=new nt;if(0===n.length)s.prog.start=s.newInst(v.FAIL).i;else{var i=[];for(let t=0;t<n.length;t++){var a=s.compile(n[t]),B=s.newInst(v.MATCH);s.prog.getInst(B.i).arg=t,s.prog.patch(a.out,B.i),i.push(a.i)}let e=i[0];for(let r=1;r<i.length;r++){var o=s.newInst(v.ALT),u=s.prog.getInst(o.i);u.out=e,u.arg=i[r],e=o.i}s.prog.start=e}return s.prog}constructor(){this.prog=new tt,this.newInst(v.FAIL)}newInst(e){return this.prog.addInst(e),new rt(this.prog.numInst()-1,new et,!0)}nop(){var e=this.newInst(v.NOP);return e.out=new et(e.i<<1,e.i<<1),e}fail(){return new rt}cap(e){var t=this.newInst(v.CAPTURE);return t.out=new et(t.i<<1,t.i<<1),this.prog.getInst(t.i).arg=e,this.prog.numCap<e+1&&(this.prog.numCap=e+1),t}cat(e,t){return 0===e.i||0===t.i?this.fail():(this.prog.patch(e.out,t.i),new rt(e.i,t.out,e.nullable&&t.nullable))}alt(e,t){var r,n;return 0===e.i?t:0===t.i?e:(r=this.newInst(v.ALT),(n=this.prog.getInst(r.i)).out=e.i,n.arg=t.i,r.out=this.prog.append(e.out,t.out),r.nullable=e.nullable||t.nullable,r)}loop(e,t){var r=this.newInst(v.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new et(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new et(r.i<<1|1,r.i<<1|1)),this.prog.patch(e.out,r.i),r}quest(e,t){var r=this.newInst(v.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new et(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new et(r.i<<1|1,r.i<<1|1)),r.out=this.prog.append(r.out,e.out),r}star(e,t){return e.nullable?this.quest(this.plus(e,t),t):this.loop(e,t)}plus(e,t){return new rt(e.i,this.loop(e,t).out,e.nullable)}empty(e){var t=this.newInst(v.EMPTY_WIDTH);return this.prog.getInst(t.i).arg=e,t.out=new et(t.i<<1,t.i<<1),t}rune(e,t){var r=this.newInst(v.RUNE),n=(r.nullable=!1,this.prog.getInst(r.i));return n.runes=e,t&=y.FOLD_CASE,1===e.length&&g.simpleFold(e[0])!==e[0]||(t&=-2),n.arg=t,r.out=new et(r.i<<1,r.i<<1),0==(t&y.FOLD_CASE)&&1===e.length||2===e.length&&e[0]===e[1]?n.op=v.RUNE1:2===e.length&&0===e[0]&&e[1]===g.MAX_RUNE?n.op=v.RUNE_ANY:4===e.length&&0===e[0]&&e[1]===D.CODES.get("\n")-1&&e[2]===D.CODES.get("\n")+1&&e[3]===g.MAX_RUNE&&(n.op=v.RUNE_ANY_NOT_NL),r}lookBehind(e,t){var r=this.newInst(v.LB_WRITE),n=(this.prog.getInst(r.i).arg=t,this.rune(nt.ANY_RUNE(),0)),n=this.star(n,!0),n=this.cat(n,e),r=(this.prog.patch(n.out,r.i),this.newInst(v.LB_CHECK));return this.prog.getInst(r.i).arg=t,this.prog.lbStarts.push(n.i),Math.abs(t)>this.prog.numLb&&(this.prog.numLb=Math.abs(t)),r.out=new et(r.i<<1,r.i<<1),r}compile(t){switch(t.op){case _.Op.NO_MATCH:return this.fail();case _.Op.EMPTY_MATCH:return this.nop();case _.Op.LITERAL:if(0===t.runes.length)return this.nop();{let e=null;for(var r of t.runes){r=this.rune([r],t.flags);e=null===e?r:this.cat(e,r)}return e}case _.Op.CHAR_CLASS:return this.rune(t.runes,t.flags);case _.Op.ANY_CHAR_NOT_NL:return this.rune(nt.ANY_RUNE_NOT_NL(),0);case _.Op.ANY_CHAR:return this.rune(nt.ANY_RUNE(),0);case _.Op.BEGIN_LINE:return this.empty(E.EMPTY_BEGIN_LINE);case _.Op.END_LINE:return this.empty(E.EMPTY_END_LINE);case _.Op.BEGIN_TEXT:return this.empty(E.EMPTY_BEGIN_TEXT);case _.Op.END_TEXT:return this.empty(E.EMPTY_END_TEXT);case _.Op.WORD_BOUNDARY:return this.empty(E.EMPTY_WORD_BOUNDARY);case _.Op.NO_WORD_BOUNDARY:return this.empty(E.EMPTY_NO_WORD_BOUNDARY);case _.Op.PLB:case _.Op.NLB:return this.lookBehind(this.compile(t.subs[0]),t.lb);case _.Op.CAPTURE:var e=this.cap(t.cap<<1),n=this.compile(t.subs[0]),s=this.cap(t.cap<<1|1);return this.cat(this.cat(e,n),s);case _.Op.STAR:return this.star(this.compile(t.subs[0]),0!=(t.flags&y.NON_GREEDY));case _.Op.PLUS:return this.plus(this.compile(t.subs[0]),0!=(t.flags&y.NON_GREEDY));case _.Op.QUEST:return this.quest(this.compile(t.subs[0]),0!=(t.flags&y.NON_GREEDY));case _.Op.CONCAT:if(0===t.subs.length)return this.nop();{let e=null;for(var i of t.subs){i=this.compile(i);e=null===e?i:this.cat(e,i)}return e}case _.Op.ALTERNATE:if(0===t.subs.length)return this.nop();{let e=null;for(var a of t.subs){a=this.compile(a);e=null===e?a:this.alt(e,a)}return e}default:throw new Re("regexp: unhandled case in compile")}}},st=class st{static simplify(n){if(null===n)return null;switch(n.op){case _.Op.PLB:case _.Op.NLB:case _.Op.CAPTURE:var s=st.simplify(n.subs[0]);return s!==n.subs[0]?((e=_.fromRegexp(n)).runes=[],e.subs=[s],e):n;case _.Op.CONCAT:case _.Op.ALTERNATE:{var r=[];let t=!1;for(let e=0;e<n.subs.length;e++){var i=n.subs[e],a=st.simplify(i);if(a!==i&&(t=!0),n.op===_.Op.CONCAT){if(a.op===_.Op.NO_MATCH)return new _(_.Op.NO_MATCH);if(a.op===_.Op.EMPTY_MATCH){t=!0;continue}if(a.op===_.Op.CONCAT){t=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}else if(n.op===_.Op.ALTERNATE){if(a.op===_.Op.NO_MATCH){t=!0;continue}if(a.op===_.Op.ALTERNATE){t=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}r.push(a)}return t?0===r.length?new _(n.op===_.Op.CONCAT?_.Op.EMPTY_MATCH:_.Op.NO_MATCH):1===r.length?r[0]:((s=_.fromRegexp(n)).runes=[],s.subs=r,s):n}case _.Op.CHAR_CLASS:return null===n.runes?n:0===n.runes.length?new _(_.Op.NO_MATCH):2===n.runes.length&&0===n.runes[0]&&n.runes[1]===g.MAX_RUNE?new _(_.Op.ANY_CHAR):4===n.runes.length&&0===n.runes[0]&&n.runes[1]===D.CODES.get("\n")-1&&n.runes[2]===D.CODES.get("\n")+1&&n.runes[3]===g.MAX_RUNE?new _(_.Op.ANY_CHAR_NOT_NL):n;case _.Op.STAR:case _.Op.PLUS:case _.Op.QUEST:var e=st.simplify(n.subs[0]);return st.simplify1(n.op,n.flags,e,n);case _.Op.REPEAT:{if(0===n.min&&0===n.max)return new _(_.Op.EMPTY_MATCH);var B=st.simplify(n.subs[0]);if(-1===n.max){if(0===n.min)return st.simplify1(_.Op.STAR,n.flags,B,null);if(1===n.min)return st.simplify1(_.Op.PLUS,n.flags,B,null);var s=new _(_.Op.CONCAT),t=[];for(let e=0;e<n.min-1;e++)t.push(B);return t.push(st.simplify1(_.Op.PLUS,n.flags,B,null)),s.subs=t.slice(0),st.simplify(s)}if(1===n.min&&1===n.max)return B;let r=null;if(0<n.min){r=[];for(let e=0;e<n.min;e++)r.push(B)}if(n.min<n.max){let e=st.simplify1(_.Op.QUEST,n.flags,B,null);for(let t=n.min+1;t<n.max;t++){var o=new _(_.Op.CONCAT);o.subs=[B,e],e=st.simplify1(_.Op.QUEST,n.flags,o,null)}if(null===r)return e;r.push(e)}return null!==r?((e=new _(_.Op.CONCAT)).subs=r.slice(0),st.simplify(e)):new _(_.Op.NO_MATCH)}}return n}static simplify1(e,t,r,n){var s;return r.op===_.Op.EMPTY_MATCH?r:r.op===_.Op.NO_MATCH?e===_.Op.PLUS?r:new _(_.Op.EMPTY_MATCH):e===r.op&&(t&y.NON_GREEDY)==(r.flags&y.NON_GREEDY)?r:null!==n&&n.op===e&&(n.flags&y.NON_GREEDY)==(t&y.NON_GREEDY)&&r===n.subs[0]?n:((s=new _(e)).flags=t,s.subs=[r],s)}},n=class{constructor(e,t){this.sign=e,this.cls=t}},e=[48,57],it=[9,10,12,13,32,32],at=[48,57,65,90,95,95,97,122];let Bt=new Map([["\\d",new n(1,e)],["\\D",new n(-1,e)],["\\s",new n(1,it)],["\\S",new n(-1,it)],["\\w",new n(1,at)],["\\W",new n(-1,at)]]);var e=[48,57,65,90,97,122],it=[65,90,97,122],at=[0,127],ot=[9,9,32,32],ut=[0,31,127,127],lt=[48,57],ht=[33,126],ct=[97,122],Ct=[32,126],dt=[33,47,58,64,91,96,123,126],gt=[9,13,32,32],pt=[65,90],ft=[48,57,65,90,95,95,97,122],mt=[48,57,65,70,97,102];let Dt=new Map([["[:alnum:]",new n(1,e)],["[:^alnum:]",new n(-1,e)],["[:alpha:]",new n(1,it)],["[:^alpha:]",new n(-1,it)],["[:ascii:]",new n(1,at)],["[:^ascii:]",new n(-1,at)],["[:blank:]",new n(1,ot)],["[:^blank:]",new n(-1,ot)],["[:cntrl:]",new n(1,ut)],["[:^cntrl:]",new n(-1,ut)],["[:digit:]",new n(1,lt)],["[:^digit:]",new n(-1,lt)],["[:graph:]",new n(1,ht)],["[:^graph:]",new n(-1,ht)],["[:lower:]",new n(1,ct)],["[:^lower:]",new n(-1,ct)],["[:print:]",new n(1,Ct)],["[:^print:]",new n(-1,Ct)],["[:punct:]",new n(1,dt)],["[:^punct:]",new n(-1,dt)],["[:space:]",new n(1,gt)],["[:^space:]",new n(-1,gt)],["[:upper:]",new n(1,pt)],["[:^upper:]",new n(-1,pt)],["[:word:]",new n(1,ft)],["[:^word:]",new n(-1,ft)],["[:xdigit:]",new n(1,mt)],["[:^xdigit:]",new n(-1,mt)]]);var Et,vt,wt=class wt{static charClassToString(e,t){let r="[";for(let i=0;i<t;i+=2){0<i&&(r+=" ");var n=e[i],s=e[i+1];r+=n===s?"0x"+n.toString(16):`0x${n.toString(16)}-0x`+s.toString(16)}return r+="]"}static cmp(e,t,r,n){var s=e[t]-r;return 0!=s?s:n-e[t+1]}static qsortIntPair(e,t,r){var n,s=-2&((t+r)/2|0),i=e[s],a=e[1+s];let B=t,o=r;for(;B<=o;){for(;B<r&&wt.cmp(e,B,i,a)<0;)B+=2;for(;o>t&&0<wt.cmp(e,o,i,a);)o-=2;B<=o&&(B!==o&&(n=e[B],e[B]=e[o],e[o]=n,n=e[B+1],e[B+1]=e[o+1],e[o+1]=n),B+=2,o-=2)}t<o&&wt.qsortIntPair(e,t,o),B<r&&wt.qsortIntPair(e,B,r)}constructor(e=E.emptyInts()){this.r=e,this.len=e.length}toArray(){return this.len===this.r.length?this.r:this.r.slice(0,this.len)}cleanClass(){if(!(this.len<4)){wt.qsortIntPair(this.r,0,this.len-2);let e=2;for(let t=2;t<this.len;t+=2){var r=this.r[t],n=this.r[t+1];r<=this.r[e-1]+1?n>this.r[e-1]&&(this.r[e-1]=n):(this.r[e]=r,this.r[e+1]=n,e+=2)}this.len=e}return this}appendLiteral(e,t){return 0!=(t&y.FOLD_CASE)?this.appendFoldedRange(e,e):this.appendRange(e,e)}appendRange(t,r){if(0<this.len)for(let e=2;e<=4;e+=2)if(this.len>=e){var n=this.r[this.len-e],s=this.r[this.len-e+1];if(t<=s+1&&n<=r+1)return t<n&&(this.r[this.len-e]=t),s<r&&(this.r[this.len-e+1]=r),this}return this.r[this.len++]=t,this.r[this.len++]=r,this}appendFoldedRange(e,t){if(e<=g.MIN_FOLD&&t>=g.MAX_FOLD)return this.appendRange(e,t);if(t<g.MIN_FOLD||e>g.MAX_FOLD)return this.appendRange(e,t);e<g.MIN_FOLD&&(this.appendRange(e,g.MIN_FOLD-1),e=g.MIN_FOLD),t>g.MAX_FOLD&&(this.appendRange(g.MAX_FOLD+1,t),t=g.MAX_FOLD);for(let r=e;r<=t;r++){this.appendRange(r,r);for(let e=g.simpleFold(r);e!==r;e=g.simpleFold(e))this.appendRange(e,e)}return this}appendClass(e){for(let t=0;t<e.length;t+=2)this.appendRange(e[t],e[t+1]);return this}appendFoldedClass(e){for(let t=0;t<e.length;t+=2)this.appendFoldedRange(e[t],e[t+1]);return this}appendNegatedClass(e){let t=0;for(let s=0;s<e.length;s+=2){var r=e[s],n=e[s+1];t<=r-1&&this.appendRange(t,r-1),t=n+1}return t<=g.MAX_RUNE&&this.appendRange(t,g.MAX_RUNE),this}appendTable(e){for(let s=0;s<e.length;++s){var t=e.getLo(s),r=e.getHi(s),n=e.getStride(s);if(1===n)this.appendRange(t,r);else for(let e=t;e<=r;e+=n)this.appendRange(e,e)}return this}appendNegatedTable(e){let t=0;for(let i=0;i<e.length;++i){var r=e.getLo(i),n=e.getHi(i),s=e.getStride(i);if(1===s)t<=r-1&&this.appendRange(t,r-1),t=n+1;else for(let e=r;e<=n;e+=s)t<=e-1&&this.appendRange(t,e-1),t=e+1}return t<=g.MAX_RUNE&&this.appendRange(t,g.MAX_RUNE),this}appendTableWithSign(e,t){return t<0?this.appendNegatedTable(e):this.appendTable(e)}negateClass(){let e=0,t=0;for(let s=0;s<this.len;s+=2){var r=this.r[s],n=this.r[s+1];e<=r-1&&(this.r[t]=e,this.r[t+1]=r-1,t+=2),e=n+1}return this.len=t,e<=g.MAX_RUNE&&(this.r[this.len++]=e,this.r[this.len++]=g.MAX_RUNE),this}appendClassWithSign(e,t){return t<0?this.appendNegatedClass(e):this.appendClass(e)}appendGroup(e,t){let r=e.cls;return t&&(r=(new wt).appendFoldedClass(r).cleanClass().toArray()),this.appendClassWithSign(r,e.sign)}toString(){return wt.charClassToString(this.r,this.len)}},yt=class{constructor(e){this.str=e,this.position=0}pos(){return this.position}rewindTo(e){this.position=e}more(){return this.position<this.str.length}peek(){return this.str.codePointAt(this.position)}skip(e){this.position+=e}skipString(e){this.position+=e.length}pop(){var e=this.str.codePointAt(this.position);return this.position+=E.charCount(e),e}lookingAt(e){return this.str.startsWith(e,this.position)}rest(){return this.str.substring(this.position)}from(e){return this.str.substring(e,this.position)}toString(){return this.rest()}},I=class I{static ERR_INTERNAL_ERROR="regexp/syntax: internal error";static ERR_INVALID_CHAR_RANGE="invalid character class range";static ERR_INVALID_ESCAPE="invalid escape sequence";static ERR_INVALID_NAMED_CAPTURE="invalid named capture";static ERR_INVALID_PERL_OP="invalid or unsupported Perl syntax";static ERR_INVALID_REPEAT_OP="invalid nested repetition operator";static ERR_INVALID_REPEAT_SIZE="invalid repeat count";static ERR_MISSING_BRACKET="missing closing ]";static ERR_MISSING_PAREN="missing closing )";static ERR_MISSING_REPEAT_ARGUMENT="missing argument to repetition operator";static ERR_TRAILING_BACKSLASH="trailing backslash at end of expression";static ERR_DUPLICATE_NAMED_CAPTURE="duplicate capture group name";static ERR_UNEXPECTED_PAREN="unexpected )";static ERR_NESTING_DEPTH="expression nests too deeply";static ERR_LARGE="expression too large";static ERR_INVALID_CAPTURE_IN_LOOKBEHIND="invalid capture in lookbehind";static MAX_HEIGHT=1e3;static MAX_SIZE=3355443;static MAX_RUNES=33554432;static ANY_TABLE=new t(new Uint32Array([0,g.MAX_RUNE,1]));static ASCII_TABLE=new t(new Uint32Array([0,127,1]));static ASCII_FOLD_TABLE=new t(new Uint32Array([0,127,1,383,383,1,8490,8490,1]));static unicodeTable(e){return"Any"===e?{tab:I.ANY_TABLE,fold:I.ANY_TABLE,sign:1}:"Ascii"===e?{tab:I.ASCII_TABLE,fold:I.ASCII_FOLD_TABLE,sign:1}:"Assigned"===e?{tab:ye.CATEGORIES.get("Cn"),fold:ye.CATEGORIES.get("Cn"),sign:-1}:"Lc"===e?{tab:ye.CATEGORIES.get("LC"),fold:ye.FOLD_CATEGORIES.get("LC"),sign:1}:ye.CATEGORIES.has(e)?{tab:ye.CATEGORIES.get(e),fold:ye.FOLD_CATEGORIES.get(e),sign:1}:ye.SCRIPTS.has(e)?{tab:ye.SCRIPTS.get(e),fold:ye.FOLD_SCRIPT.get(e),sign:1}:null}static minFoldRune(e){if(e<g.MIN_FOLD||e>g.MAX_FOLD)return e;let t=e;var r=e;for(e=g.simpleFold(e);e!==r;e=g.simpleFold(e))t>e&&(t=e);return t}static leadingRegexp(e){var t;return e.op===_.Op.EMPTY_MATCH?null:e.op===_.Op.CONCAT&&0<e.subs.length?(t=e.subs[0]).op===_.Op.EMPTY_MATCH?null:t:e}static literalRegexp(e,t){var r=new _(_.Op.LITERAL);return r.flags=t,r.runes=E.stringToRunes(e),r}static parse(e,t){return new I(e,t).parseInternal()}static parseRepeat(e){var t=e.pos();if(!e.more()||!e.lookingAt("{"))return-1;e.skip(1);var r=I.parseInt(e);if(-1===r)return-1;if(!e.more())return-1;let n;if(e.lookingAt(",")){if(e.skip(1),!e.more())return-1;if(e.lookingAt("}"))n=-1;else if(-1===(n=I.parseInt(e)))return-1}else n=r;if(!e.more()||!e.lookingAt("}"))return-1;if(e.skip(1),r<0||1e3<r||-2===n||1e3<n||0<=n&&r>n)throw new c(I.ERR_INVALID_REPEAT_SIZE,e.from(t));return r<<16|n&g.MAX_BMP}static isValidCaptureName(e){if(0===e.length)return!1;for(let r=0;r<e.length;r++){var t=e.codePointAt(r);if(t!==D.CODES.get("_")&&!E.isalnum(t))return!1}return!0}static parseInt(e){for(var t=e.pos();e.more()&&e.peek()>=D.CODES.get("0")&&e.peek()<=D.CODES.get("9");)e.skip(1);t=e.from(t);return 0===t.length||1<t.length&&t.codePointAt(0)===D.CODES.get("0")?-1:8<t.length?-2:parseInt(t,10)}static isCharClass(e){return e.op===_.Op.LITERAL&&1===e.runes.length||e.op===_.Op.CHAR_CLASS||e.op===_.Op.ANY_CHAR_NOT_NL||e.op===_.Op.ANY_CHAR}static matchRune(t,r){switch(t.op){case _.Op.LITERAL:return 1===t.runes.length&&t.runes[0]===r;case _.Op.CHAR_CLASS:for(let e=0;e<t.runes.length;e+=2)if(t.runes[e]<=r&&r<=t.runes[e+1])return!0;return!1;case _.Op.ANY_CHAR_NOT_NL:return r!==D.CODES.get("\n");case _.Op.ANY_CHAR:return!0}return!1}static mergeCharClass(e,t){switch(e.op){case _.Op.ANY_CHAR:break;case _.Op.ANY_CHAR_NOT_NL:I.matchRune(t,D.CODES.get("\n"))&&(e.op=_.Op.ANY_CHAR);break;case _.Op.CHAR_CLASS:t.op===_.Op.LITERAL?e.runes=new wt(e.runes).appendLiteral(t.runes[0],t.flags).toArray():e.runes=new wt(e.runes).appendClass(t.runes).toArray();break;case _.Op.LITERAL:t.runes[0]===e.runes[0]&&t.flags===e.flags||(e.op=_.Op.CHAR_CLASS,e.runes=(new wt).appendLiteral(e.runes[0],e.flags).appendLiteral(t.runes[0],t.flags).toArray())}}static parseEscape(r){var e=r.pos();if(r.skip(1),!r.more())throw new c(I.ERR_TRAILING_BACKSLASH);let n=r.pop();e:switch(n){case D.CODES.get("1"):case D.CODES.get("2"):case D.CODES.get("3"):case D.CODES.get("4"):case D.CODES.get("5"):case D.CODES.get("6"):case D.CODES.get("7"):if(!r.more()||r.peek()<D.CODES.get("0")||r.peek()>D.CODES.get("7"))break;case D.CODES.get("0"):{let e=n-D.CODES.get("0");for(let t=1;t<3&&!(!r.more()||r.peek()<D.CODES.get("0")||r.peek()>D.CODES.get("7"));t++)e=8*e+r.peek()-D.CODES.get("0"),r.skip(1);return e}case D.CODES.get("x"):if(!r.more())break;if((n=r.pop())===D.CODES.get("{")){let e=0,t=0;for(;;){if(!r.more())break e;if((n=r.pop())===D.CODES.get("}"))break;var s=E.unhex(n);if(s<0)break e;if((t=16*t+s)>g.MAX_RUNE)break e;e++}if(0===e)break;return t}var t=E.unhex(n);if(!r.more())break;n=r.pop();var i=E.unhex(n);if(t<0||i<0)break;return 16*t+i;case D.CODES.get("a"):return D.CODES.get("");case D.CODES.get("f"):return D.CODES.get("\f");case D.CODES.get("n"):return D.CODES.get("\n");case D.CODES.get("r"):return D.CODES.get("\r");case D.CODES.get("t"):return D.CODES.get("\t");case D.CODES.get("v"):return D.CODES.get("\v");default:if(n<=g.MAX_ASCII&&!E.isalnum(n))return n}throw new c(I.ERR_INVALID_ESCAPE,r.from(e))}static parseClassChar(e,t){if(e.more())return e.lookingAt("\\")?I.parseEscape(e):e.pop();throw new c(I.ERR_MISSING_BRACKET,e.from(t))}static concatRunes(e,t){for(let r=0;r<t.length;r++)e.push(t[r]);return e}static hasCapture(e){if(null!==e){if(e.op===_.Op.CAPTURE)return!0;if(e.subs)for(var t of e.subs)if(I.hasCapture(t))return!0}return!1}constructor(e,t=0){this.wholeRegexp=e,this.flags=t,this.numCap=0,this.namedGroups=Object.create(null),this.stack=[],this.free=null,this.numRegexp=0,this.numRunes=0,this.repeats=0,this.height=null,this.size=null,this.nlb=0}newRegexp(e){let t=this.free;return null!==t&&null!==t.subs&&0<t.subs.length?(this.free=t.subs[0],t.reinit(),t.op=e):(t=new _(e),this.numRegexp+=1),t}reuse(e){null!==this.height&&this.height.has(e)&&this.height.delete(e),null!==e.subs&&0<e.subs.length&&(e.subs[0]=this.free),this.free=e}checkLimits(e){if(this.numRunes>I.MAX_RUNES)throw new c(I.ERR_LARGE);this.checkSize(e),this.checkHeight(e)}checkSize(t){if(null===this.size){if(0===this.repeats&&(this.repeats=1),t.op===_.Op.REPEAT){let e=t.max;(e=(e=-1===e?t.min:e)<=0?1:e)>Math.floor(I.MAX_SIZE/this.repeats)?this.repeats=I.MAX_SIZE:this.repeats*=e}if(this.numRegexp<Math.floor(I.MAX_SIZE/this.repeats))return;this.size=new Map;for(var e of this.stack)this.checkSize(e)}if(this.calcSize(t,!0)>I.MAX_SIZE)throw new c(I.ERR_LARGE)}calcSize(e,t=!1){if(!t&&null!==this.size&&this.size.has(e))return this.size.get(e);let r=0;switch(e.op){case _.Op.LITERAL:r=e.runes.length;break;case _.Op.PLB:case _.Op.NLB:case _.Op.CAPTURE:case _.Op.STAR:r=2+this.calcSize(e.subs[0]);break;case _.Op.PLUS:case _.Op.QUEST:r=1+this.calcSize(e.subs[0]);break;case _.Op.CONCAT:for(var n of e.subs)r+=this.calcSize(n);break;case _.Op.ALTERNATE:for(var s of e.subs)r+=this.calcSize(s);1<e.subs.length&&(r=r+e.subs.length-1);break;case _.Op.REPEAT:var i=this.calcSize(e.subs[0]);-1!==e.max?r=e.max*i+(e.max-e.min):r=0===e.min?2+i:1+e.min*i}return r=Math.max(1,r),null===this.size&&(this.size=new Map),this.size.set(e,r),r}checkHeight(e){if(!(this.numRegexp<I.MAX_HEIGHT)){if(null===this.height){this.height=new Map;for(var t of this.stack)this.checkHeight(t)}if(this.calcHeight(e,!0)>I.MAX_HEIGHT)throw new c(I.ERR_NESTING_DEPTH)}}calcHeight(e,t=!1){if(!t&&null!==this.height&&this.height.has(e))return this.height.get(e);let r=1;for(var n of e.subs){n=this.calcHeight(n);r<1+n&&(r=1+n)}return null===this.height&&(this.height=new Map),this.height.set(e,r),r}pop(){return this.stack.pop()}popToPseudo(){var e=this.stack.length;let t=e;for(;0<t&&!_.isPseudoOp(this.stack[t-1].op);)t--;e=this.stack.slice(t,e);return this.stack=this.stack.slice(0,t),e}push(e){if(this.numRunes+=e.runes.length,e.op===_.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]===e.runes[1]){if(this.maybeConcat(e.runes[0],-2&this.flags))return null;e.op=_.Op.LITERAL,e.runes=[e.runes[0]],e.flags=-2&this.flags}else if(e.op===_.Op.CHAR_CLASS&&4===e.runes.length&&e.runes[0]===e.runes[1]&&e.runes[2]===e.runes[3]&&g.simpleFold(e.runes[0])===e.runes[2]&&g.simpleFold(e.runes[2])===e.runes[0]||e.op===_.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]+1===e.runes[1]&&g.simpleFold(e.runes[0])===e.runes[1]&&g.simpleFold(e.runes[1])===e.runes[0]){if(this.maybeConcat(e.runes[0],this.flags|y.FOLD_CASE))return null;e.op=_.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags|y.FOLD_CASE}else this.maybeConcat(-1,0);return this.stack.push(e),this.checkLimits(e),e}maybeConcat(e,t){var r=this.stack.length;if(!(r<2)){var n=this.stack[r-1],r=this.stack[r-2];if(n.op===_.Op.LITERAL&&r.op===_.Op.LITERAL&&(n.flags&y.FOLD_CASE)==(r.flags&y.FOLD_CASE)){if(r.runes=I.concatRunes(r.runes,n.runes),0<=e)return n.runes=[e],n.flags=t,!0;this.pop(),this.reuse(n)}}return!1}newLiteral(e,t){var r=this.newRegexp(_.Op.LITERAL);return 0!=((r.flags=t)&y.FOLD_CASE)&&(e=I.minFoldRune(e)),r.runes=[e],r}literal(e){this.push(this.newLiteral(e,this.flags))}op(e){var t=this.newRegexp(e);return t.flags=this.flags,this.push(t)}repeat(e,t,r,n,s,i){let a=this.flags;if(0!=(a&y.PERL_X)&&(s.more()&&s.lookingAt("?")&&(s.skip(1),a^=y.NON_GREEDY),-1!==i))throw new c(I.ERR_INVALID_REPEAT_OP,s.from(i));var B=this.stack.length;if(0===B)throw new c(I.ERR_MISSING_REPEAT_ARGUMENT,s.from(n));var o=this.stack[B-1];if(_.isPseudoOp(o.op))throw new c(I.ERR_MISSING_REPEAT_ARGUMENT,s.from(n));var u=this.newRegexp(e);if(u.min=t,u.max=r,u.flags=a,u.subs=[o],this.stack[B-1]=u,this.checkLimits(u),e===_.Op.REPEAT&&(2<=t||2<=r)&&!this.repeatIsValid(u,1e3))throw new c(I.ERR_INVALID_REPEAT_SIZE,s.from(n))}repeatIsValid(t,r){if(t.op===_.Op.REPEAT){let e=t.max;if(0===e)return!0;if((e=e<0?t.min:e)>r)return!1;0<e&&(r=Math.trunc(r/e))}for(var e of t.subs)if(!this.repeatIsValid(e,r))return!1;return!0}concat(){this.maybeConcat(-1,0);var e=this.popToPseudo();return 0===e.length?this.push(this.newRegexp(_.Op.EMPTY_MATCH)):this.push(this.collapse(e,_.Op.CONCAT))}alternate(){var e=this.popToPseudo();return 0<e.length&&this.cleanAlt(e[e.length-1]),0===e.length?this.push(this.newRegexp(_.Op.NO_MATCH)):this.push(this.collapse(e,_.Op.ALTERNATE))}cleanAlt(e){e.op===_.Op.CHAR_CLASS&&(e.runes=new wt(e.runes).cleanClass().toArray(),2===e.runes.length&&0===e.runes[0]&&e.runes[1]===g.MAX_RUNE?(e.runes=[],e.op=_.Op.ANY_CHAR):4===e.runes.length&&0===e.runes[0]&&e.runes[1]===D.CODES.get("\n")-1&&e.runes[2]===D.CODES.get("\n")+1&&e.runes[3]===g.MAX_RUNE&&(e.runes=[],e.op=_.Op.ANY_CHAR_NOT_NL))}collapse(e,t){if(1===e.length)return e[0];let r=0;for(var n of e)r+=n.op===t?n.subs.length:1;var s,i,a=new Array(r).fill(null);let B=0;for(s of e)if(s.op===t){for(let e=0;e<s.subs.length;e++)a[B++]=s.subs[e];this.reuse(s)}else a[B++]=s;let o=this.newRegexp(t);return o.subs=a,t===_.Op.ALTERNATE&&(o.subs=this.factor(o.subs),1===o.subs.length)&&(o=(i=o).subs[0],this.reuse(i)),o}factor(s){if(s.length<2)return s;let i=0,a=s.length,B=0,o=null,u=0,l=0,h=0;for(let E=0;E<=a;E++){let t=null,r=0,n=0;if(E<a){let e=s[i+E];if((e=e.op===_.Op.CONCAT&&0<e.subs.length?e.subs[0]:e).op===_.Op.LITERAL&&(t=e.runes,r=e.runes.length,n=e.flags&y.FOLD_CASE),n===l){let e=0;for(;e<u&&e<r&&o[e]===t[e];)e++;if(0<e){u=e;continue}}}if(E!==h)if(E===h+1)s[B++]=s[i+h];else{var c=this.newRegexp(_.Op.LITERAL);c.flags=l,c.runes=o.slice(0,u);for(let e=h;e<E;e++)s[i+e]=this.removeLeadingString(s[i+e],u),this.checkLimits(s[i+e]);var C=this.collapse(s.slice(i+h,i+E),_.Op.ALTERNATE),d=this.newRegexp(_.Op.CONCAT);d.subs=[c,C],s[B++]=d}h=E,o=t,u=r,l=n}a=B,i=0,h=0;let t=null;for(let v=B=0;v<=a;v++){let e=null;if(!(v<a&&(e=I.leadingRegexp(s[i+v]),null!==t)&&t.equals(e)&&(I.isCharClass(t)||t.op===_.Op.REPEAT&&t.min===t.max&&I.isCharClass(t.subs[0])))){if(v!==h)if(v===h+1)s[B++]=s[i+h];else{var r=t;for(let e=h;e<v;e++){var n=e!==h;s[i+e]=this.removeLeadingRegexp(s[i+e],n),this.checkLimits(s[i+e])}var g=this.collapse(s.slice(i+h,i+v),_.Op.ALTERNATE),p=this.newRegexp(_.Op.CONCAT);p.subs=[r,g],s[B++]=p}h=v,t=e}}a=B,i=0,h=0;for(let w=B=0;w<=a;w++)if(!(w<a&&I.isCharClass(s[i+w]))){if(w!==h){if(w!==h+1){let e=h;for(let t=h+1;t<w;t++){var f=s[i+e],m=s[i+t];(f.op<m.op||f.op===m.op&&(null!==f.runes?f.runes.length:0)<(null!==m.runes?m.runes.length:0))&&(e=t)}var D=s[i+h];s[i+h]=s[i+e],s[i+e]=D;for(let r=h+1;r<w;r++)I.mergeCharClass(s[i+h],s[i+r]),this.reuse(s[i+r]);this.cleanAlt(s[i+h])}s[B++]=s[i+h]}w<a&&(s[B++]=s[i+w]),h=w+1}a=B,i=0,h=0;for(let e=B=0;e<a;++e)e+1<a&&s[i+e].op===_.Op.EMPTY_MATCH&&s[i+e+1].op===_.Op.EMPTY_MATCH||(s[B++]=s[i+e]);return a=B,i=0,s.slice(i,a)}removeLeadingString(e,t){if(e.op===_.Op.CONCAT&&0<e.subs.length){var r=this.removeLeadingString(e.subs[0],t);if((e.subs[0]=r).op===_.Op.EMPTY_MATCH)switch(this.reuse(r),e.subs.length){case 0:case 1:e.op=_.Op.EMPTY_MATCH,e.subs=_.emptySubs();break;case 2:var n=e;e=e.subs[1],this.reuse(n);break;default:e.subs=e.subs.slice(1,e.subs.length)}}else e.op===_.Op.LITERAL&&(e.runes=e.runes.slice(t,e.runes.length),0===e.runes.length)&&(e.op=_.Op.EMPTY_MATCH);return e}removeLeadingRegexp(e,t){if(e.op===_.Op.CONCAT&&0<e.subs.length){switch(t&&this.reuse(e.subs[0]),e.subs=e.subs.slice(1,e.subs.length),e.subs.length){case 0:e.op=_.Op.EMPTY_MATCH,e.subs=_.emptySubs();break;case 1:var r=e;e=e.subs[0],this.reuse(r)}return e}return t&&this.reuse(e),this.newRegexp(_.Op.EMPTY_MATCH)}parseInternal(){if(0!=(this.flags&y.LITERAL))return I.literalRegexp(this.wholeRegexp,this.flags);let r=-1,n=-1,s=-1;for(var i=new yt(this.wholeRegexp);i.more();){let t=-1;e:switch(i.peek()){case D.CODES.get("("):if(0!=(this.flags&y.LOOKBEHIND)){if(i.lookingAt("(?<=")){this.parsePosLookBehind(),i.skip(4);break}if(i.lookingAt("(?<!")){this.parseNegLookBehind(),i.skip(4);break}}0!=(this.flags&y.PERL_X)&&i.lookingAt("(?")?this.parsePerlFlags(i):(this.op(_.Op.LEFT_PAREN).cap=++this.numCap,i.skip(1));break;case D.CODES.get("|"):this.parseVerticalBar(),i.skip(1);break;case D.CODES.get(")"):this.parseRightParen(),i.skip(1);break;case D.CODES.get("^"):0!=(this.flags&y.ONE_LINE)?this.op(_.Op.BEGIN_TEXT):this.op(_.Op.BEGIN_LINE),i.skip(1);break;case D.CODES.get("$"):0!=(this.flags&y.ONE_LINE)?this.op(_.Op.END_TEXT).flags|=y.WAS_DOLLAR:this.op(_.Op.END_LINE),i.skip(1);break;case D.CODES.get("."):0!=(this.flags&y.DOT_NL)?this.op(_.Op.ANY_CHAR):this.op(_.Op.ANY_CHAR_NOT_NL),i.skip(1);break;case D.CODES.get("["):this.parseClass(i);break;case D.CODES.get("*"):case D.CODES.get("+"):case D.CODES.get("?"):{t=i.pos();let e=null;switch(i.pop()){case D.CODES.get("*"):e=_.Op.STAR;break;case D.CODES.get("+"):e=_.Op.PLUS;break;case D.CODES.get("?"):e=_.Op.QUEST}this.repeat(e,n,s,t,i,r);break}case D.CODES.get("{"):t=i.pos();var e=I.parseRepeat(i);e<0?(i.rewindTo(t),this.literal(i.pop())):(n=e>>16,s=(e&g.MAX_BMP)<<16>>16,this.repeat(_.Op.REPEAT,n,s,t,i,r));break;case D.CODES.get("\\"):var a=i.pos();if(i.skip(1),0!=(this.flags&y.PERL_X)&&i.more())switch(i.pop()){case D.CODES.get("A"):this.op(_.Op.BEGIN_TEXT);break e;case D.CODES.get("b"):this.op(_.Op.WORD_BOUNDARY);break e;case D.CODES.get("B"):this.op(_.Op.NO_WORD_BOUNDARY);break e;case D.CODES.get("C"):throw new c(I.ERR_INVALID_ESCAPE,"\\C");case D.CODES.get("Q"):{let e=i.rest();var B=e.indexOf("\\E");0<=B?(e=e.substring(0,B),i.skipString(e),i.skipString("\\E")):i.skipString(e);let t=0;for(;t<e.length;){var o=e.codePointAt(t);this.literal(o),t+=E.charCount(o)}break e}case D.CODES.get("z"):this.op(_.Op.END_TEXT);break e;default:i.rewindTo(a)}else i.rewindTo(a);var u=this.newRegexp(_.Op.CHAR_CLASS);if(u.flags=this.flags,i.lookingAt("\\p")||i.lookingAt("\\P")){e=new wt;if(this.parseUnicodeClass(i,e)){u.runes=e.toArray(),this.push(u);break}}var l=new wt;this.parsePerlClassEscape(i,l)?(u.runes=l.toArray(),this.push(u)):(i.rewindTo(a),this.reuse(u),this.literal(I.parseEscape(i)));break;default:this.literal(i.pop())}r=t}if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),1!==this.stack.length)throw new c(I.ERR_MISSING_PAREN,this.wholeRegexp);return this.stack[0].namedGroups=this.namedGroups,this.stack[0]}parsePerlFlags(n){var s=n.pos(),e=n.rest();if(!e.startsWith("(?P<")&&!e.startsWith("(?<")){n.skip(2);let e=this.flags,t=1,r=!1;e:for(;n.more();){var i=n.pop();switch(i){case D.CODES.get("i"):e|=y.FOLD_CASE,r=!0;break;case D.CODES.get("m"):e&=-17,r=!0;break;case D.CODES.get("s"):e|=y.DOT_NL,r=!0;break;case D.CODES.get("U"):e|=y.NON_GREEDY,r=!0;break;case D.CODES.get("-"):if(t<0)break e;t=-1,e=~e,r=!1;break;case D.CODES.get(":"):case D.CODES.get(")"):if(t<0){if(!r)break e;e=~e}return i===D.CODES.get(":")&&this.op(_.Op.LEFT_PAREN),void(this.flags=e);default:break e}}throw new c(I.ERR_INVALID_PERL_OP,n.from(s))}var s="P"===e.charAt(2)?4:3,t=e.indexOf(">");if(t<0)throw new c(I.ERR_INVALID_NAMED_CAPTURE,e);var r=e.substring(s,t);if(n.skipString(r),n.skip(1+s),!I.isValidCaptureName(r))throw new c(I.ERR_INVALID_NAMED_CAPTURE,e.substring(0,t+1));s=this.op(_.Op.LEFT_PAREN);if(s.cap=++this.numCap,this.namedGroups[r])throw new c(I.ERR_DUPLICATE_NAMED_CAPTURE,r);this.namedGroups[r]=this.numCap,s.name=r}parsePosLookBehind(){var e=this.newRegexp(_.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=++this.nlb,this.push(e)}parseNegLookBehind(){var e=this.newRegexp(_.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=-++this.nlb,this.push(e)}parseVerticalBar(){this.concat(),this.swapVerticalBar()||this.op(_.Op.VERTICAL_BAR)}swapVerticalBar(){var r=this.stack.length;if(3<=r&&this.stack[r-2].op===_.Op.VERTICAL_BAR&&I.isCharClass(this.stack[r-1])&&I.isCharClass(this.stack[r-3])){let e=this.stack[r-1],t=this.stack[r-3];return e.op>t.op&&(n=t,t=e,e=n,this.stack[r-3]=t),I.mergeCharClass(t,e),this.reuse(e),this.pop(),!0}if(2<=r){var n=this.stack[r-1],e=this.stack[r-2];if(e.op===_.Op.VERTICAL_BAR)return 3<=r&&this.cleanAlt(this.stack[r-3]),this.stack[r-2]=n,this.stack[r-1]=e,!0}return!1}parseRightParen(){if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),this.stack.length<2)throw new c(I.ERR_UNEXPECTED_PAREN,this.wholeRegexp);var e=this.pop(),t=this.pop();if(t.op!==_.Op.LEFT_PAREN)throw new c(I.ERR_UNEXPECTED_PAREN,this.wholeRegexp);if(this.flags=t.flags,0!==t.lb){if(I.hasCapture(e))throw new c(I.ERR_INVALID_CAPTURE_IN_LOOKBEHIND,this.wholeRegexp);0<t.lb?t.op=_.Op.PLB:t.op=_.Op.NLB,t.subs=[e],this.push(t)}else 0===t.cap?this.push(e):(t.op=_.Op.CAPTURE,t.subs=[e],this.push(t))}parsePerlClassEscape(e,t){var r=e.pos();if(0==(this.flags&y.PERL_X)||!e.more()||e.pop()!==D.CODES.get("\\")||!e.more())return!1;e.pop();r=e.from(r),r=Bt.has(r)?Bt.get(r):null;return null!==r&&(t.appendGroup(r,0!=(this.flags&y.FOLD_CASE)),!0)}parseNamedClass(e,t){var r=e.rest(),n=r.indexOf(":]");if(n<0)return!1;r=r.substring(0,n+2),e.skipString(r),n=Dt.has(r)?Dt.get(r):null;if(null===n)throw new c(I.ERR_INVALID_CHAR_RANGE,r);return t.appendGroup(n,0!=(this.flags&y.FOLD_CASE)),!0}parseUnicodeClass(e,t){var r=e.pos();if(0==(this.flags&y.UNICODE_GROUPS)||!e.lookingAt("\\p")&&!e.lookingAt("\\P"))return!1;e.skip(1);let n=1;if(e.pop()===D.CODES.get("P")&&(n=-1),!e.more())throw e.rewindTo(r),new c(I.ERR_INVALID_CHAR_RANGE,e.rest());let s;if((i=e.pop())!==D.CODES.get("{"))s=E.runeToString(i);else{var i=e.rest(),a=i.indexOf("}");if(a<0)throw e.rewindTo(r),new c(I.ERR_INVALID_CHAR_RANGE,e.rest());s=i.substring(0,a),e.skipString(s),e.skip(1)}0!==s.length&&s.codePointAt(0)===D.CODES.get("^")&&(n=0-n,s=s.substring(1));i=I.unicodeTable(s);if(null===i)throw new c(I.ERR_INVALID_CHAR_RANGE,e.from(r));i.sign<0&&(n=0-n);a=i.tab,r=i.fold;return 0==(this.flags&y.FOLD_CASE)||null===r?t.appendTableWithSign(a,n):(i=(new wt).appendTable(a).appendTable(r).cleanClass().toArray(),t.appendClassWithSign(i,n)),!0}parseClass(t){var r=t.pos(),e=(t.skip(1),this.newRegexp(_.Op.CHAR_CLASS)),n=(e.flags=this.flags,new wt);let s=1,i=(t.more()&&t.lookingAt("^")&&(s=-1,t.skip(1),0==(this.flags&y.CLASS_NL))&&n.appendRange(D.CODES.get("\n"),D.CODES.get("\n")),!0);for(;!t.more()||t.peek()!==D.CODES.get("]")||i;){if(t.more()&&t.lookingAt("-")&&0==(this.flags&y.PERL_X)&&!i){var a=t.rest();if("-"===a||!a.startsWith("-]"))throw t.rewindTo(r),new c(I.ERR_INVALID_CHAR_RANGE,t.rest())}i=!1;a=t.pos();if(t.lookingAt("[:")){if(this.parseNamedClass(t,n))continue;t.rewindTo(a)}if(!this.parseUnicodeClass(t,n)&&!this.parsePerlClassEscape(t,n)){t.rewindTo(a);var B=I.parseClassChar(t,r);let e=B;if(t.more()&&t.lookingAt("-"))if(t.skip(1),t.more()&&t.lookingAt("]"))t.skip(-1);else if((e=I.parseClassChar(t,r))<B)throw new c(I.ERR_INVALID_CHAR_RANGE,t.from(a));0==(this.flags&y.FOLD_CASE)?n.appendRange(B,e):n.appendFoldedRange(B,e)}}t.skip(1),n.cleanClass(),s<0&&n.negateClass(),e.runes=n.toArray(),this.push(e)}},_t=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}compareAndSet(e,t){return this.value===e&&(this.value=t,!0)}},It=class It{static initTest(e){var t=It.compile(e),r=new It(t.expr,t.prog,t.numSubexp,t.longest);return r.cond=t.cond,r.prefix=t.prefix,r.prefixUTF8=t.prefixUTF8,r.prefixComplete=t.prefixComplete,r.prefixRune=t.prefixRune,r.prefilter=t.prefilter,r}static compile(e){return It.compileImpl(e,y.PERL,!1)}static compilePOSIX(e){return It.compileImpl(e,y.POSIX,!0)}static compileImpl(e,t,r){let n=I.parse(e,t);var s=n.maxCap(),i=(n=st.simplify(n),Ze.build(n)),a=nt.compileRegexp(n),s=new It(e,a,s,r),[i,a]=(s.prefilter=i.type===C.Type.NONE?null:i,a.prefix());return s.prefixComplete=i,s.prefix=a,s.prefixUTF8=E.stringToUtf8ByteArray(s.prefix),0<s.prefix.length&&(s.prefixRune=s.prefix.codePointAt(0)),s.namedGroups=n.namedGroups,s}static match(e,t){return It.compile(e).match(t)}constructor(e,t,r=0,n=0){this.expr=e,this.prog=t,this.numSubexp=r,this.longest=n,this.cond=t.startCond(),this.prefix=null,this.prefixUTF8=null,this.prefixComplete=!1,this.prefixRune=0,this.pooled=new _t,this.dfa=new Ke(this.prog),this.onepass=Xe.compile(this.prog),this.prefilter=null}matchPrefixComplete(e,t,r,n){if((r===y.ANCHOR_START||r===y.ANCHOR_BOTH)&&0!==t)return null;let s=-1,i=-1;var a=e.prefixLength(this);if(r===y.UNANCHORED){var B=e.index(this,t);if(B<0)return null;s=t+B,i=s+a}else if(r===y.ANCHOR_BOTH){if(e.endPos()!==a)return null;if(0!==e.index(this,0))return null;s=0,i=a}else if(r===y.ANCHOR_START){if(0!==e.index(this,0))return null;s=0,i=a}return s<0?null:0<n?((B=new Int32Array(n).fill(-1))[0]=s,B[1]=i,Array.from(B)):[]}executeEngine(e,t,r,n){if(this.prefixComplete&&(0===n||0===this.numSubexp))return this.matchPrefixComplete(e,t,r,n);if(null!==this.prefilter&&r===y.UNANCHORED&&!this.prefilter.eval(e,t))return null;if(null!==this.onepass)return Xe.execute(this,e,t,r,n);if(0<n)return 0===this.prog.numLb&&e.endPos()<=ze.maxBitStateLen(this.prog)?ze.execute(this,e,t,r,n):this.doExecuteNFA(e,t,r,n);if(0===this.prog.numLb){var s=this.dfa.match(e,t,r);if(null!==s)return s?[]:null;if(e.endPos()<=ze.maxBitStateLen(this.prog))return ze.execute(this,e,t,r,n)}return this.doExecuteNFA(e,t,r,n)}numberOfCapturingGroups(){return this.numSubexp}numberOfInstructions(){return this.prog.numInst()}get(){let e;for(;(e=this.pooled.get())&&!this.pooled.compareAndSet(e,e.next););return e}reset(){this.pooled.set(null)}put(e,t){var r;for(this.pooled.get();r=this.pooled.get(),!t&&r&&(e=Ue.fromMachine(e),t=!0),e.next!==r&&(e.next=r),!this.pooled.compareAndSet(r,e););}toString(){return this.expr}doExecuteNFA(e,t,r,n){let s=this.get(),i=!1;s?null!==s.next&&(s=Ue.fromMachine(s),i=!0):(s=Ue.fromRE2(this),i=!0),s.init(n);var a=s.match(e,t,r)?s.submatches():null;return this.put(s,i),a}match(e){return null!==this.executeEngine(Le.fromUTF16(e),0,y.UNANCHORED,0)}matchWithGroup(e,t,r,n,s){return e instanceof be||(e=E.isByteArray(e)?Ae.utf8(e):Ae.utf16(e)),this.matchMachineInput(e,t,r,n,s)}matchMachineInput(e,t,r,n,s){var i;return r<t||(i=e.isUTF16Encoding()?Le.fromUTF16(e.asCharSequence(),0,r):Le.fromUTF8(e.asBytes(),0,r),null===(i=this.executeEngine(i,t,n,2*s)))?[!1,null]:[!0,i]}matchUTF8(e){return null!==this.executeEngine(Le.fromUTF8(e),0,y.UNANCHORED,0)}replaceAll(e,t){return this.replaceAllFunc(e,()=>t,2*e.length+1)}replaceFirst(e,t){return this.replaceAllFunc(e,()=>t,1)}replaceAllFunc(e,t,r){let n=0,s=0,i="";var a=Le.fromUTF16(e);let B=0;for(;s<=e.length;){var o=this.executeEngine(a,s,y.UNANCHORED,2);if(null===o||0===o.length)break;i+=e.substring(n,o[0]),(o[1]>n||0===o[0])&&(i+=t(e.substring(o[0],o[1])),B++),n=o[1];var u=7&a.step(s);if(s+u>o[1]?s+=u:s+1>o[1]?s++:s=o[1],B>=r)break}return i+=e.substring(n)}pad(t){if(null===t)return null;var r=2*(1+this.numSubexp);if(t.length<r){var n=new Array(r).fill(-1);for(let e=0;e<t.length;e++)n[e]=t[e];t=n}return t}allMatches(t,e,r=e=>e){var n=[],s=t.endPos();e<0&&(e=s+1);let i=0,a=0,B=-1;for(;a<e&&i<=s;){var o,u=this.executeEngine(t,i,y.UNANCHORED,this.prog.numCap);if(null===u||0===u.length)break;let e=!0;u[1]===i?(u[0]===B&&(e=!1),(o=t.step(i))<0?i=s+1:i+=7&o):i=u[1],B=u[1],e&&(n.push(r(this.pad(u))),a++)}return n}findUTF8(e){var t=this.executeEngine(Le.fromUTF8(e),0,y.UNANCHORED,2);return null===t?null:e.slice(t[0],t[1])}findUTF8Index(e){var t=this.executeEngine(Le.fromUTF8(e),0,y.UNANCHORED,2);return null===t?null:t.slice(0,2)}find(e){var t=this.executeEngine(Le.fromUTF16(e),0,y.UNANCHORED,2);return null===t?"":e.substring(t[0],t[1])}findIndex(e){return this.executeEngine(Le.fromUTF16(e),0,y.UNANCHORED,2)}findUTF8Submatch(e){var t=this.executeEngine(Le.fromUTF8(e),0,y.UNANCHORED,this.prog.numCap);if(null===t)return null;var r=new Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&0<=t[2*n]&&(r[n]=e.slice(t[2*n],t[2*n+1]));return r}findUTF8SubmatchIndex(e){return this.pad(this.executeEngine(Le.fromUTF8(e),0,y.UNANCHORED,this.prog.numCap))}findSubmatch(e){var t=this.executeEngine(Le.fromUTF16(e),0,y.UNANCHORED,this.prog.numCap);if(null===t)return null;var r=new Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&0<=t[2*n]&&(r[n]=e.substring(t[2*n],t[2*n+1]));return r}findSubmatchIndex(e){return this.pad(this.executeEngine(Le.fromUTF16(e),0,y.UNANCHORED,this.prog.numCap))}findAllUTF8(t,e){var r=this.allMatches(Le.fromUTF8(t),e,e=>t.slice(e[0],e[1]));return 0===r.length?null:r}findAllUTF8Index(e,t){var r=this.allMatches(Le.fromUTF8(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAll(t,e){var r=this.allMatches(Le.fromUTF16(t),e,e=>t.substring(e[0],e[1]));return 0===r.length?null:r}findAllIndex(e,t){var r=this.allMatches(Le.fromUTF16(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAllUTF8Submatch(n,e){var t=this.allMatches(Le.fromUTF8(n),e,e=>{var t=new Array(e.length/2|0).fill(null);for(let r=0;r<t.length;r++)0<=e[2*r]&&(t[r]=n.slice(e[2*r],e[2*r+1]));return t});return 0===t.length?null:t}findAllUTF8SubmatchIndex(e,t){var r=this.allMatches(Le.fromUTF8(e),t);return 0===r.length?null:r}findAllSubmatch(n,e){var t=this.allMatches(Le.fromUTF16(n),e,e=>{var t=new Array(e.length/2|0).fill(null);for(let r=0;r<t.length;r++)0<=e[2*r]&&(t[r]=n.substring(e[2*r],e[2*r+1]));return t});return 0===t.length?null:t}findAllSubmatchIndex(e,t){var r=this.allMatches(Le.fromUTF16(e),t);return 0===r.length?null:r}},Tt=class Tt{static isHexadecimal(e){return"0"<=e&&e<="9"||"A"<=e&&e<="F"||"a"<=e&&e<="f"}static translate(s){let e="";if(s instanceof RegExp&&(s.ignoreCase&&(e+="i"),s.multiline&&(e+="m"),s.dotAll&&(e+="s"),s=s.source),"string"!=typeof s)return s;let i="",a=!1;var B=s.length;0===B&&(i="(?:)",a=!0);let t=!1,o=0;for(;o<B;){let e=s[o];if("\\"===e){if(o+1<B)switch(e=s[o+1]){case"\\":i+="\\\\",o+=2;continue;case"c":if(o+2<B){var r=s[o+2].charCodeAt(0);if(65<=r&&r<=90||97<=r&&r<=122){r=r%32;i=(i=(i+="\\x")+(r>>4).toString(16).toUpperCase())+(15&r).toString(16).toUpperCase(),o+=3,a=!0;continue}}i+="c",o+=2,a=!0;continue;case"u":if(o+2<B)if("{"===s[o+2]){let e=o+3,t=!1,r=!1;for(;e<B;){var n=s[e];if("}"===n){r=!0;break}if(!Tt.isHexadecimal(n))break;t=!0,e++}if(r&&t){i+="\\x",o+=2,a=!0;continue}}else if(o+5<B){let e=!0;for(let t=0;t<4;t++)if(!Tt.isHexadecimal(s[o+2+t])){e=!1;break}if(e){i+="\\x{"+s.substring(o+2,o+6)+"}",o+=6,a=!0;continue}}i+="u",o+=2,a=!0;continue;case"x":{let n=!1;if(o+2<B&&"{"===s[o+2]){let e=o+3,t=!1,r=!1;for(;e<B;){var u=s[e];if("}"===u){r=!0;break}if(!Tt.isHexadecimal(u))break;t=!0,e++}r&&t&&(n=!0)}else o+3<B&&Tt.isHexadecimal(s[o+2])&&Tt.isHexadecimal(s[o+3])&&(n=!0);n?(i+="\\x",o+=2):(i+="x",o+=2,a=!0);continue}case"n":case"r":case"t":case"a":case"f":case"v":case"d":case"D":case"s":case"S":case"w":case"W":case"b":case"B":case"p":case"P":case"A":case"z":case"Q":case"E":case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":i+="\\"+e,o+=2;continue;default:var l,r=s.codePointAt(o+1);48<=r&&r<=57||65<=r&&r<=90||97<=r&&r<=122?(l=E.charCount(r),i+=s.substring(o+1,o+1+l),o+=l+1,a=!0):(i+="\\",l=E.charCount(r),i+=s.substring(o+1,o+1+l),o+=l+1);continue}}else{if("/"===e){i+="\\/",o+=1,a=!0;continue}if("["===e)t=!0;else if("]"===e)t=!1;else if(!t&&"("===e&&o+2<B&&"?"===s[o+1]&&"<"===s[o+2]&&o+3<B&&!"=!>)".includes(s[o+3])){i+="(?P<",o+=3,a=!0;continue}}var h=s.codePointAt(o),h=E.charCount(h);i+=s.substring(o,o+h),o+=h}var c=a?i:s;return 0<e.length?`(?${e})`+c:c}},bt=class bt{static CASE_INSENSITIVE=he;static DOTALL=ce;static MULTILINE=Ce;static DISABLE_UNICODE_GROUPS=de;static LONGEST_MATCH=ge;static LOOKBEHINDS=pe;static quote(e){return E.quoteMeta(e)}static quoteReplacement(e,t=!1){return Me.quoteReplacement(e,t)}static translateRegExp(e){return Tt.translate(e)}static compile(e,t=0){let r=e;if(0!=(t&bt.CASE_INSENSITIVE)&&(r="(?i)"+r),0!=(t&bt.DOTALL)&&(r="(?s)"+r),0!=(t&bt.MULTILINE)&&(r="(?m)"+r),0!=(-544&t))throw new Ge("Flags should only be a combination of MULTILINE, DOTALL, CASE_INSENSITIVE, DISABLE_UNICODE_GROUPS, LONGEST_MATCH, LOOKBEHINDS");let n=y.PERL;0!=(t&bt.DISABLE_UNICODE_GROUPS)&&(n&=-129),0!=(t&bt.LOOKBEHINDS)&&(n|=y.LOOKBEHIND);var s=new bt(e,t);return s.re2Input=It.compileImpl(r,n,0!=(t&bt.LONGEST_MATCH)),s}static matches(e,t){return bt.compile(e).testExact(t)}static initTest(e,t,r){if(null==e)throw new Error("pattern is null");if(null==r)throw new Error("re2 is null");var n=new bt(e,t);return n.re2Input=r,n}constructor(e,t){this.patternInput=e,this.flagsInput=t,this.re2Input=null}reset(){this.re2Input.reset()}flags(){return this.flagsInput}pattern(){return this.patternInput}re2(){return this.re2Input}matches(e){return this.testExact(e)}matcher(e){return E.isByteArray(e)&&(e=Ae.utf8(e)),new Me(this,e)}test(e){return E.isByteArray(e)?this.re2Input.matchUTF8(e):this.re2Input.match(e)}testExact(e){var t=E.isByteArray(e)?Le.fromUTF8(e):Le.fromUTF16(e);return null!==this.re2Input.executeEngine(t,0,y.ANCHOR_BOTH,0)}split(e,t=0){var r=this.matcher(e),n=[];let s=0,i=0;for(;r.find();){if(0===i&&0===r.end());else{if(0<t&&n.length===t-1)break;if(i===r.start()){if(0===t){s+=1,i=r.end();continue}}else for(;0<s;)n.push(""),--s;n.push(r.substring(i,r.start()))}i=r.end()}if(0===t&&i!==r.inputLength()){for(;0<s;)n.push(""),--s;n.push(r.substring(i,r.inputLength()))}return 0===t&&0!==n.length||n.push(r.substring(i,r.inputLength())),n}*matchAll(t){for(var r=this.matcher(t);r.find();){var n=[r.group(0)];for(let e=1;e<=r.groupCount();e++){var s=r.group(e);n.push(null===s?void 0:s)}n.index=r.start(0),n.input=t;var i=this.namedGroups();if(0<Object.keys(i).length){var a,B=r.getNamedGroups();for(a in B)null===B[a]&&(B[a]=void 0);n.groups=B}else n.groups=void 0;yield n}}toString(){return this.patternInput}programSize(){return this.re2Input.numberOfInstructions()}groupCount(){return this.re2Input.numberOfCapturingGroups()}namedGroups(){return this.re2Input.namedGroups}equals(e){return this===e||null!==e&&this.constructor===e.constructor&&this.flagsInput===e.flagsInput&&this.patternInput===e.patternInput}};let Nt="12.19.0";let Ft=new class{constructor(e){this.name=e,this._logLevel=oe,this._logHandler=le,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in h))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?Be[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,h.DEBUG,...e),this._logHandler(this,h.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,h.VERBOSE,...e),this._logHandler(this,h.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,h.INFO,...e),this._logHandler(this,h.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,h.WARN,...e),this._logHandler(this,h.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,h.ERROR,...e),this._logHandler(this,h.ERROR,...e)}}("@firebase/firestore");function At(){return Ft.logLevel}function d(e,...t){var r;Ft.logLevel<=h.DEBUG&&(r=t.map(xt),Ft.debug(`Firestore (${Nt}): `+e,...r))}function St(e,...t){var r;Ft.logLevel<=h.ERROR&&(r=t.map(xt),Ft.error(`Firestore (${Nt}): `+e,...r))}function Ot(e,...t){var r;Ft.logLevel<=h.WARN&&(r=t.map(xt),Ft.warn(`Firestore (${Nt}): `+e,...r))}function xt(t){if("string"==typeof t)return t;try{return JSON.stringify(t)}catch(e){return t}}function T(e,t,r){let n="Unexpected state";"string"==typeof t?n=t:r=t,Lt(e,n,r)}function Lt(e,t,r){let n=`FIRESTORE (${Nt}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==r)try{n+=" CONTEXT: "+JSON.stringify(r)}catch(e){n+=" CONTEXT: "+r}throw St(n),new Error(n)}function f(e,t,r,n){let s="Unexpected state";"string"==typeof r?s=r:n=r,e||Lt(t,s,n)}class Rt{static newId(){var t=62*Math.floor(256/62);let r="";for(;r.length<20;){var n=(t=>{var r="undefined"!=typeof self&&(self.crypto||self.msCrypto),n=new Uint8Array(t);if(r&&"function"==typeof r.getRandomValues)r.getRandomValues(n);else for(let e=0;e<t;e++)n[e]=Math.floor(256*Math.random());return n})(40);for(let e=0;e<n.length;++e)r.length<20&&n[e]<t&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(n[e]%62))}return r}}function b(e,t){return e<t?-1:t<e?1:0}function kt(r,n){let e=Math.min(r.length,n.length);for(let s=0;s<e;s++){let e=r.charAt(s),t=n.charAt(s);if(e!==t)return Mt(e)===Mt(t)?b(e,t):Mt(e)?1:-1}return b(r.length,n.length)}let Gt=55296,Pt=57343;function Mt(e){var t=e.charCodeAt(0);return t>=Gt&&t<=Pt}function Ht(e,r,n){return e.length===r.length&&e.every((e,t)=>n(e,r[t]))}function Vt(e){return e+"\0"}class p{constructor(e,t){this.comparator=e,this.root=t||qt.EMPTY}insert(e,t){return new p(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,qt.BLACK,null,null))}remove(e){return new p(this.comparator,this.root.remove(e,this.comparator).copy(null,null,qt.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){var r=this.comparator(e,t.key);if(0===r)return t.value;r<0?t=t.left:0<r&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){var n=this.comparator(e,r.key);if(0===n)return t+r.left.size;r=n<0?r.left:(t+=r.left.size+1,r.right)}return-1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(r){this.inorderTraversal((e,t)=>(r(e,t),!1))}toString(){let r=[];return this.inorderTraversal((e,t)=>(r.push(e+":"+t),!1)),`{${r.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new Ut(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new Ut(this.root,e,this.comparator,!1)}getReverseIterator(){return new Ut(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new Ut(this.root,e,this.comparator,!0)}}class Ut{constructor(e,t,r,n){this.isReverse=n,this.nodeStack=[];let s=1;for(;!e.isEmpty();)if(s=t?r(e.key,t):1,t&&n&&(s*=-1),s<0)e=this.isReverse?e.left:e.right;else{if(0===s){this.nodeStack.push(e);break}this.nodeStack.push(e),e=this.isReverse?e.right:e.left}}getNext(){let e=this.nodeStack.pop();var t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return 0<this.nodeStack.length}peek(){var e;return 0===this.nodeStack.length?null:{key:(e=this.nodeStack[this.nodeStack.length-1]).key,value:e.value}}}class qt{constructor(e,t,r,n,s){this.key=e,this.value=t,this.color=null!=r?r:qt.RED,this.left=null!=n?n:qt.EMPTY,this.right=null!=s?s:qt.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,n,s){return new qt(null!=e?e:this.key,null!=t?t:this.value,null!=r?r:this.color,null!=n?n:this.left,null!=s?s:this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,r){var n=this,s=r(e,n.key);return(n=s<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===s?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp()}removeMin(){if(this.left.isEmpty())return qt.EMPTY;let e=this;return(e=(e=e.left.isRed()||e.left.left.isRed()?e:e.moveRedLeft()).copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let r,n=this;if(t(e,n.key)<0)n=(n=n.left.isEmpty()||n.left.isRed()||n.left.left.isRed()?n:n.moveRedLeft()).copy(null,null,null,n.left.remove(e,t),null);else{if(0===t(e,(n=(n=n.left.isRed()?n.rotateRight():n).right.isEmpty()||n.right.isRed()||n.right.left.isRed()?n:n.moveRedRight()).key)){if(n.right.isEmpty())return qt.EMPTY;r=n.right.min(),n=n.copy(r.key,r.value,null,null,n.right.removeMin())}n=n.copy(null,null,null,null,n.right.remove(e,t))}return n.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e=(e=(e=e.right.isRed()&&!e.left.isRed()?e.rotateLeft():e).left.isRed()&&e.left.left.isRed()?e.rotateRight():e).left.isRed()&&e.right.isRed()?e.colorFlip():e}moveRedLeft(){let e=this.colorFlip();return e=e.right.left.isRed()?(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip():e}moveRedRight(){let e=this.colorFlip();return e=e.left.left.isRed()?(e=e.rotateRight()).colorFlip():e}rotateLeft(){var e=this.copy(null,null,qt.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){var e=this.copy(null,null,qt.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){var e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){var e=this.check();return Math.pow(2,e)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw T(43730,{key:this.key,value:this.value});if(this.right.isRed())throw T(14113,{key:this.key,value:this.value});var e=this.left.check();if(e!==this.right.check())throw T(27949);return e+(this.isRed()?0:1)}}qt.EMPTY=null,qt.RED=!0,qt.BLACK=!1,qt.EMPTY=new class{constructor(){this.size=0}get key(){throw T(57766)}get value(){throw T(16141)}get color(){throw T(16727)}get left(){throw T(29726)}get right(){throw T(36894)}copy(e,t,r,n,s){return this}insert(e,t,r){return new qt(e,t)}remove(e,t){return this}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};class m{constructor(e){this.comparator=e,this.data=new p(this.comparator)}has(e){return null!==this.data.get(e)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(r){this.data.inorderTraversal((e,t)=>(r(e),!1))}forEachInRange(e,t){for(var r=this.data.getIteratorFrom(e[0]);r.hasNext();){var n=r.getNext();if(0<=this.comparator(n.key,e[1]))return;t(n.key)}}forEachWhile(e,t){for(var r=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){var t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new Jt(this.data.getIterator())}getIteratorFrom(e){return new Jt(this.data.getIteratorFrom(e))}add(e){return this.copy(this.data.remove(e).insert(e,!0))}delete(e){return this.has(e)?this.copy(this.data.remove(e)):this}isEmpty(){return this.data.isEmpty()}unionWith(e){let t=this;return t.size<e.size&&(t=e,e=this),e.forEach(e=>{t=t.add(e)}),t}isEqual(e){if(!(e instanceof m))return!1;if(this.size!==e.size)return!1;for(var r=this.data.getIterator(),n=e.data.getIterator();r.hasNext();){let e=r.getNext().key,t=n.getNext().key;if(0!==this.comparator(e,t))return!1}return!0}toArray(){let t=[];return this.forEach(e=>{t.push(e)}),t}toString(){let t=[];return this.forEach(e=>t.push(e)),"SortedSet("+t.toString()+")"}copy(e){var t=new m(this.comparator);return t.data=e,t}}class Jt{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function Kt(e){return e.hasNext()?e.getNext():void 0}let w={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class N extends ${constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: `+this.message}}let jt="__name__";class Qt{constructor(e,t,r){void 0===t?t=0:t>e.length&&T(637,{offset:t,range:e.length}),void 0===r?r=e.length-t:r>e.length-t&&T(1746,{length:r,range:e.length-t}),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return 0===Qt.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof Qt?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return this.construct(this.segments,this.offset+(e=void 0===e?1:e),this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return 0===this.length}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,r){let e=Math.min(t.length,r.length);for(let n=0;n<e;n++){let e=Qt.compareSegments(t.get(n),r.get(n));if(0!==e)return e}return b(t.length,r.length)}static compareSegments(e,t){var r=Qt.isNumericId(e),n=Qt.isNumericId(t);return r&&!n?-1:!r&&n?1:r&&n?Qt.extractNumericId(e).compare(Qt.extractNumericId(t)):kt(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return ie.fromString(e.substring(4,e.length-2))}}class F extends Qt{construct(e,t,r){return new F(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toStringWithLeadingSlash(){return"/"+this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){var t,r=[];for(t of e){if(0<=t.indexOf("//"))throw new N(w.INVALID_ARGUMENT,`Invalid segment (${t}). Paths must not contain // in them.`);r.push(...t.split("/").filter(e=>0<e.length))}return new F(r)}static emptyPath(){return new F([])}}let zt=/^[_a-zA-Z][_a-zA-Z0-9]*$/,Yt=class _f extends Qt{construct(e,t,r){return new _f(e,t,r)}static isValidIdentifier(e){return zt.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e=_f.isValidIdentifier(e)?e:"`"+e+"`")).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===jt}static keyField(){return new _f([jt])}static fromServerFormat(t){let e=[],r="",n=0;var s=()=>{if(0===r.length)throw new N(w.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);e.push(r),r=""};let i=!1;for(;n<t.length;){let e=t[n];if("\\"===e){if(n+1===t.length)throw new N(w.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let e=t[n+1];if("\\"!==e&&"."!==e&&"`"!==e)throw new N(w.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);r+=e,n+=2}else"`"===e?i=!i:"."!==e||i?r+=e:s(),n++}if(s(),i)throw new N(w.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new _f(e)}static emptyPath(){return new _f([])}};class Wt{constructor(e){(this.fields=e).sort(Yt.comparator)}static empty(){return new Wt([])}unionWith(e){let t=new m(Yt.comparator);for(let e of this.fields)t=t.add(e);for(var r of e)t=t.add(r);return new Wt(t.toArray())}covers(e){for(var t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return Ht(this.fields,e.fields,(e,t)=>e.isEqual(t))}}function Xt(e){let t=0;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function $t(e,t){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(r,e[r])}function Zt(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class A{constructor(e){this.path=e}static fromPath(e){return new A(F.fromString(e))}static fromName(e){return new A(F.fromString(e).popFirst(5))}static empty(){return new A(F.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return 2<=this.path.length&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return null!==e&&0===F.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return F.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new A(new F(e.slice()))}}function er(e,t,r){if(!r)throw new N(w.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function tr(e,t,r,n){if(!0===t&&!0===n)throw new N(w.INVALID_ARGUMENT,e+` and ${r} cannot be used together.`)}function rr(e){if(!A.isDocumentKey(e))throw new N(w.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function nr(e){if(A.isDocumentKey(e))throw new N(w.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function sr(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function dr(e){var t,r;return void 0===e?"undefined":null===e?"null":"string"==typeof e?(20<e.length&&(e=e.substring(0,20)+"..."),JSON.stringify(e)):"number"==typeof e||"boolean"==typeof e?""+e:"object"==typeof e?e instanceof Array?"an array":(t=(r=e).constructor?r.constructor.name:null)?`a custom ${t} object`:"an object":"function"==typeof e?"a function":T(12329,{type:typeof e})}function S(e,t){if((e="_delegate"in e?e._delegate:e)instanceof t)return e;if(t.name===e.constructor.name)throw new N(w.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");var r=dr(e);throw new N(w.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: `+r)}function gr(e,t){if(t<=0)throw new N(w.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)}function pr(e,t){var r={typeString:e};return t&&(r.value=t),r}function fr(e,t){if(!sr(e))throw new N(w.INVALID_ARGUMENT,"JSON must be an object");let r;for(let a in t)if(t[a]){var n=t[a].typeString,s="value"in t[a]?{value:t[a].value}:void 0;if(!(a in e)){r=`JSON missing required field: '${a}'`;break}var i=e[a];if(n&&typeof i!==n){r=`JSON field '${a}' must be a ${n}.`;break}if(void 0!==s&&i!==s.value){r=`Expected '${a}' field to equal '${s.value}'`;break}}if(r)throw new N(w.INVALID_ARGUMENT,r);return 1}let mr=-62135596800;class l{static now(){return l.fromMillis(Date.now())}static fromDate(e){return l.fromMillis(e.getTime())}static fromMillis(e){var t=Math.floor(e/1e3),r=Math.floor(1e6*(e-1e3*t));return new l(t,r)}static fromInstant(e){if(e&&"bigint"==typeof e.t)return l._fromEpochNanoseconds(e.t);throw new N(w.INVALID_ARGUMENT,"Invalid Temporal.Instant object provided.")}static _fromEpochNanoseconds(e){let t,r;var n;return r=0n<=e?(t=Number(e/1000000000n),Number(e%1000000000n)):0n===(n=e%1000000000n)?(t=Number(e/1000000000n),0):(t=Number(e/1000000000n-1n),Number(n+1000000000n)),new l(t,r)}constructor(e,t){if(this.seconds=e,(this.nanoseconds=t)<0)throw new N(w.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(1e9<=t)throw new N(w.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<mr)throw new N(w.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(253402300800<=e)throw new N(w.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}toInstant(){var e;if("undefined"!=typeof Temporal&&Temporal.Instant)return e=1000000000n*BigInt(this.seconds)+BigInt(this.nanoseconds),Temporal.Instant.__PRIVATE_fromEpochNanoseconds(e);throw new N(w.FAILED_PRECONDITION,"The Temporal object is not available in the current environment.")}_compareTo(e){return this.seconds===e.seconds?b(this.nanoseconds,e.nanoseconds):b(this.seconds,e.seconds)}isEqual(e){return e.seconds===this.seconds&&e.nanoseconds===this.nanoseconds}toString(){return"Timestamp(seconds="+this.seconds+", nanoseconds="+this.nanoseconds+")"}toJSON(){return{type:l._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(fr(e,l._jsonSchema))return new l(e.seconds,e.nanoseconds)}valueOf(){var e=this.seconds-mr;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}l._jsonSchemaVersion="firestore/timestamp/1.0",l._jsonSchema={type:pr("string",l._jsonSchemaVersion),seconds:pr("number"),nanoseconds:pr("number")};class Dr extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}class Er{constructor(e){this.binaryString=e}static fromBase64String(e){var t=(e=>{try{return atob(e)}catch(e){throw"undefined"!=typeof DOMException&&e instanceof DOMException?new Dr("Invalid base64 string: "+e):e}})(e);return new Er(t)}static fromUint8Array(e){var t=(e=>{let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t})(e);return new Er(t)}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return e=this.binaryString,btoa(e);var e}toUint8Array(){var e=this.binaryString,t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return b(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}Er.EMPTY_BYTE_STRING=new Er("");let vr=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function wr(t){if(f(!!t,39018),"string"!=typeof t)return{seconds:yr(t.seconds),nanos:yr(t.nanos)};{let e=0;var r=vr.exec(t),r=(f(!!r,46558,{timestamp:t}),r[1]&&(r=((r=r[1])+"000000000").substr(0,9),e=Number(r)),new Date(t));return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}}function yr(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function _r(e){return"string"==typeof e?Er.fromBase64String(e):Er.fromUint8Array(e)}let Ir="server_timestamp",Tr="__type__",br="__previous_value__",Nr="__local_write_time__";function Fr(e){return(e?.mapValue?.fields||{})[Tr]?.stringValue===Ir}function Ar(e){var t=e.mapValue.fields[br];return Fr(t)?Ar(t):t}function Sr(e){var t=wr(e.mapValue.fields[Nr].timestampValue);return new l(t.seconds,t.nanos)}class Or{constructor(e,t,r,n,s,i,a,B,o,u,l,h,c){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=n,this.ssl=s,this.forceLongPolling=i,this.autoDetectLongPolling=a,this.longPollingOptions=B,this.useFetchStreams=o,this.isUsingEmulator=u,this.apiKey=l,this._customHeaders=h,this.grpcFlowControlWindow=c}}let xr="(default)";class Lr{constructor(e,t){this.projectId=e,this.database=t||xr}static empty(){return new Lr("","")}get isDefaultDatabase(){return this.database===xr}isEqual(e){return e instanceof Lr&&e.projectId===this.projectId&&e.database===this.database}}let Rr=-1;function kr(e){return null==e}function Gr(e){return 0===e&&1/e==-1/0}function Pr(e){return"number"==typeof e&&Number.isInteger(e)&&!Gr(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}let Mr="__type__",Hr="__max__",Vr={mapValue:{fields:{__type__:{stringValue:Hr}}}},Ur="__vector__",qr="value",Jr={nullValue:"NULL_VALUE"},Kr={booleanValue:!0},jr={booleanValue:!1};function Qr(e){return"nullValue"in e?0:"booleanValue"in e?1:"integerValue"in e||"doubleValue"in e?2:"timestampValue"in e?3:"stringValue"in e?5:"bytesValue"in e?6:"referenceValue"in e?7:"geoPointValue"in e?8:"arrayValue"in e?9:"mapValue"in e?Fr(e)?4:cn(e)?9007199254740991:un(e)?10:11:T(28295,{value:e})}function zr(r,n,s){if(r===n)return!0;var t,i,a,B,e=Qr(r);if(e!==Qr(n))return!1;switch(e){case 0:case 9007199254740991:return!0;case 1:return r.booleanValue===n.booleanValue;case 4:return Sr(r).isEqual(Sr(n));case 3:return i=n,"string"==typeof(t=r).timestampValue&&"string"==typeof i.timestampValue&&t.timestampValue.length===i.timestampValue.length?t.timestampValue===i.timestampValue:(a=wr(t.timestampValue),B=wr(i.timestampValue),a.seconds===B.seconds&&a.nanos===B.nanos);case 5:return r.stringValue===n.stringValue;case 6:return t=n,_r(r.bytesValue).isEqual(_r(t.bytesValue));case 7:return r.referenceValue===n.referenceValue;case 8:return i=n,yr((o=r).geoPointValue.latitude)===yr(i.geoPointValue.latitude)&&yr(o.geoPointValue.longitude)===yr(i.geoPointValue.longitude);case 2:{var o=r;var u=n;var l=s;if("integerValue"in o&&"integerValue"in u)return yr(o.integerValue)===yr(u.integerValue);let e,t;if("doubleValue"in o&&"doubleValue"in u)e=yr(o.doubleValue),t=yr(u.doubleValue);else{if(!l?.i)return!1;e=yr(o.integerValue??o.doubleValue),t=yr(u.integerValue??u.doubleValue)}return e===t?!!l?.o||Gr(e)===Gr(t):!(void 0!==l&&!l.u)&&isNaN(e)&&isNaN(t);return}case 9:return Ht(r.arrayValue.values||[],n.arrayValue.values||[],(e,t)=>zr(e,t,s));case 10:case 11:var h=r,u=n,c=s,C=h.mapValue.fields||{},d=u.mapValue.fields||{};if(Xt(C)!==Xt(d))return!1;for(let e in C)if(C.hasOwnProperty(e)&&(void 0===d[e]||!zr(C[e],d[e],c)))return!1;return!0;default:return T(52216,{left:r})}}function Yr(e,t){return void 0!==(e.values||[]).find(e=>zr(e,t))}function Wr(e,n){if(e===n)return 0;var s,i,a,B,o,u,l,h,c=Qr(e),t=Qr(n);if(c!==t)return b(c,t);switch(c){case 0:case 9007199254740991:return 0;case 1:return b(e.booleanValue,n.booleanValue);case 2:return u=n,l=yr((o=e).integerValue||o.doubleValue),h=yr(u.integerValue||u.doubleValue),l<h?-1:h<l?1:l===h?0:isNaN(l)?isNaN(h)?0:-1:1;case 3:return Xr(e.timestampValue,n.timestampValue);case 4:return Xr(Sr(e),Sr(n));case 5:return kt(e.stringValue,n.stringValue);case 6:return o=e.bytesValue,u=n.bytesValue,l=_r(o),h=_r(u),l.compareTo(h);case 7:var C=e.referenceValue,d=n.referenceValue,g=C.split("/"),p=d.split("/");for(let t=0;t<g.length&&t<p.length;t++){let e=b(g[t],p[t]);if(0!==e)return e}return b(g.length,p.length);case 8:return C=e.geoPointValue,d=n.geoPointValue,0!==(B=b(yr(C.latitude),yr(d.latitude)))?B:b(yr(C.longitude),yr(d.longitude));case 9:return $r(e.arrayValue,n.arrayValue);case 10:return f=e.mapValue,s=n.mapValue,B=f.fields||{},i=s.fields||{},B=B[qr]?.arrayValue,i=i[qr]?.arrayValue,0!==(a=b(B?.values?.length||0,i?.values?.length||0))?a:$r(B,i);case 11:var f=e.mapValue,m=n.mapValue;if(f===Vr.mapValue&&m===Vr.mapValue)return 0;if(f===Vr.mapValue)return 1;if(m===Vr.mapValue)return-1;var D=f.fields||{},E=Object.keys(D),v=m.fields||{},w=Object.keys(v);E.sort(),w.sort();for(let r=0;r<E.length&&r<w.length;++r){let e=kt(E[r],w[r]);if(0!==e)return e;var y=Wr(D[E[r]],v[w[r]]);if(0!==y)return y}return b(E.length,w.length);default:throw T(23264,{l:c})}}function Xr(e,t){var r,n,s;return"string"==typeof e&&"string"==typeof t&&e.length===t.length?b(e,t):(r=wr(e),n=wr(t),0!==(s=b(r.seconds,n.seconds))?s:b(r.nanos,n.nanos))}function $r(e,t){var r=e.values||[],n=t.values||[];for(let s=0;s<r.length&&s<n.length;++s){let e=Wr(r[s],n[s]);if(void 0!==e&&0!==e)return e}return b(r.length,n.length)}function Zr(e){return function i(e){return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(e=>{let t=wr(e);return`time(${t.seconds},${t.nanos})`})(e.timestampValue):"stringValue"in e?e.stringValue:"bytesValue"in e?(e=>_r(e).toBase64())(e.bytesValue):"referenceValue"in e?(e=>A.fromName(e).toString())(e.referenceValue):"geoPointValue"in e?(e=>`geo(${e.latitude},${e.longitude})`)(e.geoPointValue):"arrayValue"in e?(e=>{let t="[",r=!0;for(var n of e.values||[])r?r=!1:t+=",",t+=i(n);return t+"]"})(e.arrayValue):"mapValue"in e?(e=>{let t=Object.keys(e.fields||{}).sort(),r="{",n=!0;for(var s of t)n?n=!1:r+=",",r+=s+":"+i(e.fields[s]);return r+"}"})(e.mapValue):T(61005,{value:e})}(e)}function en(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/`+t.path.canonicalString()}}function tn(e){return!!e&&"integerValue"in e}function rn(e){return!!e&&"doubleValue"in e}function nn(e){return tn(e)||rn(e)}function sn(e){return!!e&&"arrayValue"in e}function an(e){return e&&"nullValue"in e}function Bn(e){return e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function on(e){return e&&"mapValue"in e}function un(e){return(e?.mapValue?.fields||{})[Mr]?.stringValue===Ur}function ln(e){return(e?.mapValue?.fields||{})[qr]?.arrayValue}function hn(t){if(t.geoPointValue)return{geoPointValue:{...t.geoPointValue}};if(t.timestampValue&&"object"==typeof t.timestampValue)return{timestampValue:{...t.timestampValue}};if(t.mapValue){let r={mapValue:{fields:{}}};return $t(t.mapValue.fields,(e,t)=>r.mapValue.fields[e]=hn(t)),r}if(t.arrayValue){var r={arrayValue:{values:[]}};for(let e=0;e<(t.arrayValue.values||[]).length;++e)r.arrayValue.values[e]=hn(t.arrayValue.values[e]);return r}return{...t}}function cn(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===Hr}let Cn={mapValue:{fields:{[Mr]:{stringValue:Ur},[qr]:{arrayValue:{}}}}};function dn(e,t){var r=Wr(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function gn(e,t){var r=Wr(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class pn{constructor(e){this.value=e}static empty(){return new pn({mapValue:{}})}field(r){if(r.isEmpty())return this.value;{let e=this.value;for(let t=0;t<r.length-1;++t)if(!on(e=(e.mapValue.fields||{})[r.get(t)]))return null;return(e=(e.mapValue.fields||{})[r.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=hn(t)}setAll(e){let r=Yt.emptyPath(),n={},s=[];e.forEach((e,t)=>{if(!r.isImmediateParentOf(t)){let e=this.getFieldsMap(r);this.applyChanges(e,n,s),n={},s=[],r=t.popLast()}e?n[t.lastSegment()]=hn(e):s.push(t.lastSegment())});var t=this.getFieldsMap(r);this.applyChanges(t,n,s)}delete(e){var t=this.field(e.popLast());on(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return zr(this.value,e.value)}getFieldsMap(t){let r=this.value;r.mapValue.fields||(r.mapValue={fields:{}});for(let n=0;n<t.length;++n){let e=r.mapValue.fields[t.get(n)];on(e)&&e.mapValue.fields||(e={mapValue:{fields:{}}},r.mapValue.fields[t.get(n)]=e),r=e}return r.mapValue.fields}applyChanges(r,e,t){$t(e,(e,t)=>r[e]=t);for(let e of t)delete r[e]}clone(){return new pn(hn(this.value))}}function fn(e,t){if(e.useProto3Json){if(isNaN(t))return{doubleValue:"NaN"};if(t===1/0)return{doubleValue:"Infinity"};if(t===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:Gr(t)?"-0":t}}function mn(e){return{integerValue:""+e}}function Dn(e,t){return Pr(t)?mn(t):fn(e,t)}class En{constructor(){this._=void 0}}function vn(e,t){return e instanceof Nn?nn(t)?t:{integerValue:0}:null}class wn extends En{}class yn extends En{constructor(e){super(),this.elements=e}}function _n(e,t){var r=xn(t);for(let t of e.elements)r.some(e=>zr(e,t))||r.push(t);return{arrayValue:{values:r}}}class In extends En{constructor(e){super(),this.elements=e}}function Tn(e,t){let r=xn(t);for(let t of e.elements)r=r.filter(e=>!zr(e,t));return{arrayValue:{values:r}}}class bn extends En{constructor(e,t){super(),this.serializer=e,this.h=t}}class Nn extends bn{}class Fn extends bn{}class An extends bn{}function Sn(e,t,r){var n;return nn(t)?(n=r(On(t),On(e.h)),tn(t)&&tn(e.h)?mn(n):fn(e.serializer,n)):e.h}function On(e){return yr(e.integerValue||e.doubleValue)}function xn(e){return sn(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class Ln{constructor(e,t){this.field=e,this.transform=t}}class Rn{constructor(e,t){this.version=e,this.transformResults=t}}class kn{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new kn}static exists(e){return new kn(void 0,e)}static updateTime(e){return new kn(e)}get isNone(){return void 0===this.updateTime&&void 0===this.exists}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function Gn(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class Pn{}function Mn(e,r){if(!e.hasLocalMutations||r&&0===r.fields.length)return null;if(null===r)return e.isNoDocument()?new Qn(e.key,kn.none()):new Un(e.key,e.data,kn.none());{var n,s=e.data,i=pn.empty();let t=new m(Yt.comparator);for(n of r.fields)if(!t.has(n)){let e=s.field(n);null===e&&1<n.length&&(n=n.popLast(),e=s.field(n)),null===e?i.delete(n):i.set(n,e),t=t.add(n)}return new qn(e.key,i,new Wt(t.toArray()),kn.none())}}function Hn(e,t,r,n){return e instanceof Un?(i=t,a=r,B=n,Gn((s=e).precondition,i)?(o=s.value.clone(),u=jn(s.fieldTransforms,B,i),o.setAll(u),i.convertToFoundDocument(i.version,o).setHasLocalMutations(),null):a):e instanceof qn?(s=t,B=r,i=n,Gn((a=e).precondition,s)?(u=jn(a.fieldTransforms,i,s),(o=s.data).setAll(Jn(a)),o.setAll(u),s.convertToFoundDocument(s.version,o).setHasLocalMutations(),null===B?null:B.unionWith(a.fieldMask.fields).unionWith(a.fieldTransforms.map(e=>e.field))):B):(n=t,t=r,Gn(e.precondition,n)?(n.convertToNoDocument(n.version).setHasLocalMutations(),null):t);var s,i,a,B,o,u}function Vn(e,t){return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&(r=e.fieldTransforms,n=t.fieldTransforms,!!(void 0===r&&void 0===n||r&&n&&Ht(r,n,(e,t)=>(t=t,(e=e).field.isEqual(t.field)&&(e=e.transform,t=t.transform,e instanceof yn&&t instanceof yn||e instanceof In&&t instanceof In?Ht(e.elements,t.elements,zr):e instanceof Nn&&t instanceof Nn||e instanceof Fn&&t instanceof Fn||e instanceof An&&t instanceof An?zr(e.h,t.h):e instanceof wn&&t instanceof wn)))))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask));var r,n}class Un extends Pn{constructor(e,t,r,n=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=n,this.type=0}getFieldMask(){return null}}class qn extends Pn{constructor(e,t,r,n,s=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=n,this.fieldTransforms=s,this.type=1}getFieldMask(){return this.fieldMask}}function Jn(r){let n=new Map;return r.fieldMask.fields.forEach(e=>{var t;e.isEmpty()||(t=r.data.field(e),n.set(e,t))}),n}function Kn(e,t,r){var n,s,i,a=new Map;f(e.length===r.length,32656,{T:r.length,P:e.length});for(let l=0;l<r.length;l++){var B=e[l],o=B.transform,u=t.data.field(B.field);a.set(B.field,(n=o,s=u,i=r[l],n instanceof yn?_n(n,s):n instanceof In?Tn(n,s):i))}return a}function jn(e,r,n){var s,i,a,B,o,u,l,h=new Map;for(s of e){let e=s.transform,t=n.data.field(s.field);h.set(s.field,(i=e,a=t,B=r,l=u=o=void 0,i instanceof wn?(B=B,u=a,l={fields:{[Tr]:{stringValue:Ir},[Nr]:{timestampValue:{seconds:B.seconds,nanos:B.nanoseconds}}}},(u=u&&Fr(u)?Ar(u):u)&&(l.fields[br]=u),{mapValue:l}):i instanceof yn?_n(i,a):i instanceof In?Tn(i,a):i instanceof Nn?(l=vn(B=i,a),o=On(l)+On(B.h),tn(l)&&tn(B.h)?mn(o):fn(B.serializer,o)):i instanceof Fn?Sn(i,a,Math.min):i instanceof An?Sn(i,a,Math.max):void 0))}return h}class Qn extends Pn{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class zn extends Pn{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class Yn{constructor(e,t){this.position=e,this.inclusive=t}}function Wn(e,t,r){let n=0;for(let a=0;a<e.position.length;a++){var s=t[a],i=e.position[a];if(n=s.field.isKeyField()?A.comparator(A.fromName(i.referenceValue),r.key):Wr(i,r.data.field(s.field)),"desc"===s.dir&&(n*=-1),0!==n)break}return n}function Xn(e,t){if(null===e)return null===t;if(null===t)return!1;if(e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let r=0;r<e.position.length;r++)if(!zr(e.position[r],t.position[r]))return!1;return!0}class $n{}class O extends $n{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,r):new is(e,t,r):"array-contains"===t?new us(e,r):"in"===t?new ls(e,r):"not-in"===t?new hs(e,r):"array-contains-any"===t?new cs(e,r):new O(e,t,r)}static createKeyFieldInFilter(e,t,r){return new("in"===t?as:Bs)(e,r)}matches(e){var t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(Wr(t,this.value)):null!==t&&Qr(this.value)===Qr(t)&&this.matchesComparison(Wr(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return 0===e;case"!=":return 0!==e;case">":return 0<e;case">=":return 0<=e;default:return T(47266,{operator:this.op})}}isInequality(){return 0<=["<","<=",">",">=","!=","not-in"].indexOf(this.op)}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class x extends $n{constructor(e,t){super(),this.filters=e,this.op=t,this.I=null}static create(e,t){return new x(e,t)}matches(t){return Zn(this)?void 0===this.filters.find(e=>!e.matches(t)):void 0!==this.filters.find(e=>e.matches(t))}getFlattenedFilters(){return null===this.I&&(this.I=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.I}getFilters(){return Object.assign([],this.filters)}}function Zn(e){return"and"===e.op}function es(e){return"or"===e.op}function ts(e){return rs(e)&&Zn(e)}function rs(e){for(var t of e.filters)if(t instanceof x)return!1;return!0}function ns(e,t){var r=e.filters.concat(t);return x.create(r,e.op)}function ss(e){return e instanceof O?`${(t=e).field.canonicalString()} ${t.op} `+Zr(t.value):e instanceof x?(t=e).op.toString()+" {"+t.getFilters().map(ss).join(" ,")+"}":"Filter";var t}class is extends O{constructor(e,t,r){super(e,t,r),this.key=A.fromName(r.referenceValue)}matches(e){var t=A.comparator(e.key,this.key);return this.matchesComparison(t)}}class as extends O{constructor(e,t){super(e,"in",t),this.keys=os(0,t)}matches(t){return this.keys.some(e=>e.isEqual(t.key))}}class Bs extends O{constructor(e,t){super(e,"not-in",t),this.keys=os(0,t)}matches(t){return!this.keys.some(e=>e.isEqual(t.key))}}function os(e,t){return(t.arrayValue?.values||[]).map(e=>A.fromName(e.referenceValue))}class us extends O{constructor(e,t){super(e,"array-contains",t)}matches(e){var t=e.data.field(this.field);return sn(t)&&Yr(t.arrayValue,this.value)}}class ls extends O{constructor(e,t){super(e,"in",t)}matches(e){var t=e.data.field(this.field);return null!==t&&Yr(this.value.arrayValue,t)}}class hs extends O{constructor(e,t){super(e,"not-in",t)}matches(e){var t;return!Yr(this.value.arrayValue,{nullValue:"NULL_VALUE"})&&null!==(t=e.data.field(this.field))&&void 0===t.nullValue&&!Yr(this.value.arrayValue,t)}}class cs extends O{constructor(e,t){super(e,"array-contains-any",t)}matches(e){var t=e.data.field(this.field);return!(!sn(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>Yr(this.value.arrayValue,e))}}class Cs{constructor(e,t="asc"){this.field=e,this.dir=t}}class L{static fromTimestamp(e){return new L(e)}static min(){return new L(new l(0,0))}static max(){return new L(new l(253402300799,999999999))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}class ds{constructor(e,t,r,n,s,i,a){this.key=e,this.documentType=t,this.version=r,this.readTime=n,this.createTime=s,this.data=i,this.documentState=a}static newInvalidDocument(e){return new ds(e,0,L.min(),L.min(),L.min(),pn.empty(),0)}static newFoundDocument(e,t,r,n){return new ds(e,1,t,L.min(),r,n,0)}static newNoDocument(e,t){return new ds(e,2,t,L.min(),L.min(),pn.empty(),0)}static newUnknownDocument(e,t){return new ds(e,3,t,L.min(),L.min(),pn.empty(),2)}convertToFoundDocument(e,t){return!this.createTime.isEqual(L.min())||2!==this.documentType&&0!==this.documentType||(this.createTime=e),this.version=e,this.documentType=1,this.data=t,this.documentState=0,this}convertToNoDocument(e){return this.version=e,this.documentType=2,this.data=pn.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=pn.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=L.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return 1===this.documentState}get hasCommittedMutations(){return 2===this.documentState}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return 0!==this.documentType}isFoundDocument(){return 1===this.documentType}isNoDocument(){return 2===this.documentType}isUnknownDocument(){return 3===this.documentType}isEqual(e){return e instanceof ds&&this.key.isEqual(e.key)&&this.version.isEqual(e.version)&&this.documentType===e.documentType&&this.documentState===e.documentState&&this.data.isEqual(e.data)}mutableCopy(){return new ds(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}})`}}let gs=-1;class ps{constructor(e,t,r,n){this.indexId=e,this.collectionGroup=t,this.fields=r,this.indexState=n}}function fs(e){return e.fields.find(e=>2===e.kind)}function ms(e){return e.fields.filter(e=>2!==e.kind)}ps.UNKNOWN_ID=-1;class Ds{constructor(e,t){this.fieldPath=e,this.kind=t}}class Es{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new Es(0,ys.min())}}function vs(e,t){var r=e.toTimestamp().seconds,n=e.toTimestamp().nanoseconds+1,r=L.fromTimestamp(1e9===n?new l(r+1,0):new l(r,n));return new ys(r,A.empty(),t)}function ws(e){return new ys(e.readTime,e.key,gs)}class ys{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new ys(L.min(),A.empty(),gs)}static max(){return new ys(L.max(),A.empty(),gs)}}function _s(e,t){var r=e.readTime.compareTo(t.readTime);return 0!==r||0!==(r=A.comparator(e.documentKey,t.documentKey))?r:b(e.largestBatchId,t.largestBatchId)}class Is{constructor(e,t=null,r=[],n=[],s=null,i=null,a=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=n,this.limit=s,this.startAt=i,this.endAt=a,this.R=null}}function Ts(e,t=null,r=[],n=[],s=null,i=null,a=null){return new Is(e,t,r,n,s,i,a)}function bs(e){var t=e;if(null===t.R){let e=t.path.canonicalString();null!==t.collectionGroup&&(e+="|cg:"+t.collectionGroup),e=(e=(e+="|f:")+t.filters.map(e=>function t(e){var r;return e instanceof O?e.field.canonicalString()+e.op.toString()+Zr(e.value):ts(e)?e.filters.map(e=>t(e)).join(","):(r=e.filters.map(e=>t(e)).join(","),e.op+`(${r})`)}(e)).join(",")+"|ob:")+t.orderBy.map(e=>(e=e).field.canonicalString()+e.dir).join(","),kr(t.limit)||(e=(e+="|l:")+t.limit),t.startAt&&(e=(e=(e+="|lb:")+(t.startAt.inclusive?"b:":"a:"))+t.startAt.position.map(e=>Zr(e)).join(",")),t.endAt&&(e=(e=(e+="|ub:")+(t.endAt.inclusive?"a:":"b:"))+t.endAt.position.map(e=>Zr(e)).join(",")),t.R=e}return t.R}function Ns(e,t){if(e.limit!==t.limit)return!1;if(e.orderBy.length!==t.orderBy.length)return!1;for(let s=0;s<e.orderBy.length;s++)if(r=e.orderBy[s],n=t.orderBy[s],r.dir!==n.dir||!r.field.isEqual(n.field))return!1;var r,n;if(e.filters.length!==t.filters.length)return!1;for(let i=0;i<e.filters.length;i++)if(!function n(e,t){return e instanceof O?(r=e,(i=t)instanceof O&&r.op===i.op&&r.field.isEqual(i.field)&&zr(r.value,i.value)):e instanceof x?(r=e,(s=t)instanceof x&&r.op===s.op&&r.filters.length===s.filters.length&&r.filters.reduce((e,t,r)=>e&&n(t,s.filters[r]),!0)):void T(19439);var s,r,i}(e.filters[i],t.filters[i]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!Xn(e.startAt,t.startAt)&&Xn(e.endAt,t.endAt)}function Fs(e){return e.isCorePipeline}function As(e){return!!e.path&&A.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function Ss(e,t){return e.filters.filter(e=>e instanceof O&&e.field.isEqual(t))}function Os(e,r,n){let s=Jr,i=!0;for(let n of Ss(e,r)){let e=Jr,t=!0;switch(n.op){case"<":case"<=":e="nullValue"in(a=n.value)?Jr:"booleanValue"in a?{booleanValue:!1}:"integerValue"in a||"doubleValue"in a?{doubleValue:NaN}:"timestampValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"stringValue"in a?{stringValue:""}:"bytesValue"in a?{bytesValue:""}:"referenceValue"in a?en(Lr.empty(),A.empty()):"geoPointValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"arrayValue"in a?{arrayValue:{}}:"mapValue"in a?un(a)?Cn:{mapValue:{}}:T(35942,{value:a});break;case"==":case"in":case">=":e=n.value;break;case">":e=n.value,t=!1;break;case"!=":case"not-in":e=Jr}dn({value:s,inclusive:i},{value:e,inclusive:t})<0&&(s=e,i=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];dn({value:s,inclusive:i},{value:e,inclusive:n.inclusive})<0&&(s=e,i=n.inclusive);break}return{value:s,inclusive:i}}function xs(e,r,n){let s=Vr,i=!0;for(let n of Ss(e,r)){let e=Vr,t=!0;switch(n.op){case">=":case">":e="nullValue"in(a=n.value)?{booleanValue:!1}:"booleanValue"in a?{doubleValue:NaN}:"integerValue"in a||"doubleValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"timestampValue"in a?{stringValue:""}:"stringValue"in a?{bytesValue:""}:"bytesValue"in a?en(Lr.empty(),A.empty()):"referenceValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"geoPointValue"in a?{arrayValue:{}}:"arrayValue"in a?Cn:"mapValue"in a?un(a)?{mapValue:{}}:Vr:T(61959,{value:a}),t=!1;break;case"==":case"in":case"<=":e=n.value;break;case"<":e=n.value,t=!1;break;case"!=":case"not-in":e=Vr}0<gn({value:s,inclusive:i},{value:e,inclusive:t})&&(s=e,i=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];0<gn({value:s,inclusive:i},{value:e,inclusive:n.inclusive})&&(s=e,i=n.inclusive);break}return{value:s,inclusive:i}}class Ls{constructor(e,t=null,r=[],n=[],s=null,i="F",a=null,B=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=s,this.limitType=i,this.startAt=a,this.endAt=B,this.A=null,this.V=null,this.m=null,this.startAt,this.endAt}}function Rs(e,t,r,n,s,i,a,B){return new Ls(e,t,r,n,s,i,a,B)}function ks(e){return new Ls(e)}function Gs(e){return 0===e.filters.length&&null===e.limit&&null==e.startAt&&null==e.endAt&&(0===e.explicitOrderBy.length||1===e.explicitOrderBy.length&&e.explicitOrderBy[0].field.isKeyField())}function Ps(e){return null!==e.collectionGroup}function Ms(e){let n=e;if(null===n.A){n.A=[];let t=new Set;for(var s of n.explicitOrderBy)n.A.push(s),t.add(s.field.canonicalString());let r=0<n.explicitOrderBy.length?n.explicitOrderBy[n.explicitOrderBy.length-1].dir:"asc",e=(e=>{let t=new m(Yt.comparator);return e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t})(n);e.forEach(e=>{t.has(e.canonicalString())||e.isKeyField()||n.A.push(new Cs(e,r))}),t.has(Yt.keyField().canonicalString())||n.A.push(new Cs(Yt.keyField(),r))}return n.A}function Hs(e){var t=e;return t.V||(t.V=((e,t)=>{if("F"===e.limitType)return Ts(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);t=t.map(e=>{var t="desc"===e.dir?"asc":"desc";return new Cs(e.field,t)});var r=e.endAt?new Yn(e.endAt.position,e.endAt.inclusive):null,n=e.startAt?new Yn(e.startAt.position,e.startAt.inclusive):null;return Ts(e.path,e.collectionGroup,t,e.filters,e.limit,r,n)})(t,Ms(e))),t.V}function Vs(e,t){var r=e.filters.concat([t]);return new Ls(e.path,e.collectionGroup,e.explicitOrderBy.slice(),r,e.limit,e.limitType,e.startAt,e.endAt)}function Us(e,t,r){return new Ls(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,r,e.startAt,e.endAt)}function qs(e,t){return Ns(Hs(e),Hs(t))&&e.limitType===t.limitType}function Js(e){return`Query(target=${(e=>{let t=e.path.canonicalString();return null!==e.collectionGroup&&(t+=" collectionGroup="+e.collectionGroup),0<e.filters.length&&(t+=`, filters: [${e.filters.map(e=>ss(e)).join(", ")}]`),kr(e.limit)||(t+=", limit: "+e.limit),0<e.orderBy.length&&(t+=`, orderBy: [${e.orderBy.map(e=>`${(e=e).field.canonicalString()} (${e.dir})`).join(", ")}]`),e.startAt&&(t=(t=(t+=", startAt: ")+(e.startAt.inclusive?"b:":"a:"))+e.startAt.position.map(e=>Zr(e)).join(",")),`Target(${t=e.endAt?(t=(t+=", endAt: ")+(e.endAt.inclusive?"a:":"b:"))+e.endAt.position.map(e=>Zr(e)).join(","):t})`})(Hs(e))}; limitType=${e.limitType})`}function Ks(e,t){return t.isFoundDocument()&&(i=e,B=(a=t).key.path,null!==i.collectionGroup?a.key.hasCollectionId(i.collectionGroup)&&i.path.isPrefixOf(B):A.isDocumentKey(i.path)?i.path.isEqual(B):i.path.isImmediateParentOf(B))&&((e,t)=>{for(var r of Ms(e))if(!r.field.isKeyField()&&null===t.data.field(r.field))return!1;return!0})(e,t)&&((e,t)=>{for(var r of e.filters)if(!r.matches(t))return!1;return!0})(e,t)&&(a=t,!(i=e).startAt||(n=i.startAt,r=Ms(i),s=Wn(n,r,a),n.inclusive?s<=0:s<0))&&(!i.endAt||(r=i.endAt,n=Ms(i),s=Wn(r,n,a),r.inclusive?0<=s:0<s));var r,n,s,i,a,B}function js(e){return(t,r)=>{let n=!1;for(var s of Ms(e)){let e=((e,t,r)=>{var n=e.field.isKeyField()?A.comparator(t.key,r.key):((e,t,r)=>{var n=t.data.field(e),s=r.data.field(e);return null!==n&&null!==s?Wr(n,s):T(42886)})(e.field,t,r);switch(e.dir){case"asc":return n;case"desc":return-1*n;default:return T(19790,{direction:e.dir})}})(s,t,r);if(0!==e)return e;n=n||s.field.isKeyField()}return 0}}class Qs{constructor(e,t){this.count=e,this.unchangedNames=t}}function zs(e){switch(e){case w.OK:return T(64938);case w.CANCELLED:case w.UNKNOWN:case w.DEADLINE_EXCEEDED:case w.RESOURCE_EXHAUSTED:case w.INTERNAL:case w.UNAVAILABLE:case w.UNAUTHENTICATED:return!1;case w.INVALID_ARGUMENT:case w.NOT_FOUND:case w.ALREADY_EXISTS:case w.PERMISSION_DENIED:case w.FAILED_PRECONDITION:case w.ABORTED:case w.OUT_OF_RANGE:case w.UNIMPLEMENTED:case w.DATA_LOSS:return!0;default:return T(15467,{code:e})}}function Ys(e){if(void 0===e)return St("GRPC error has no .code"),w.UNKNOWN;switch(e){case Et.OK:return w.OK;case Et.CANCELLED:return w.CANCELLED;case Et.UNKNOWN:return w.UNKNOWN;case Et.DEADLINE_EXCEEDED:return w.DEADLINE_EXCEEDED;case Et.RESOURCE_EXHAUSTED:return w.RESOURCE_EXHAUSTED;case Et.INTERNAL:return w.INTERNAL;case Et.UNAVAILABLE:return w.UNAVAILABLE;case Et.UNAUTHENTICATED:return w.UNAUTHENTICATED;case Et.INVALID_ARGUMENT:return w.INVALID_ARGUMENT;case Et.NOT_FOUND:return w.NOT_FOUND;case Et.ALREADY_EXISTS:return w.ALREADY_EXISTS;case Et.PERMISSION_DENIED:return w.PERMISSION_DENIED;case Et.FAILED_PRECONDITION:return w.FAILED_PRECONDITION;case Et.ABORTED:return w.ABORTED;case Et.OUT_OF_RANGE:return w.OUT_OF_RANGE;case Et.UNIMPLEMENTED:return w.UNIMPLEMENTED;case Et.DATA_LOSS:return w.DATA_LOSS;default:return T(39323,{code:e})}}(e=Et=Et||{})[e.OK=0]="OK",e[e.CANCELLED=1]="CANCELLED",e[e.UNKNOWN=2]="UNKNOWN",e[e.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",e[e.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",e[e.NOT_FOUND=5]="NOT_FOUND",e[e.ALREADY_EXISTS=6]="ALREADY_EXISTS",e[e.PERMISSION_DENIED=7]="PERMISSION_DENIED",e[e.UNAUTHENTICATED=16]="UNAUTHENTICATED",e[e.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",e[e.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",e[e.ABORTED=10]="ABORTED",e[e.OUT_OF_RANGE=11]="OUT_OF_RANGE",e[e.UNIMPLEMENTED=12]="UNIMPLEMENTED",e[e.INTERNAL=13]="INTERNAL",e[e.UNAVAILABLE=14]="UNAVAILABLE",e[e.DATA_LOSS=15]="DATA_LOSS";class Ws{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(r){let e=this.mapKeyFn(r),n=this.inner[e];if(void 0!==n)for(let[e,t]of n)if(this.equalsFn(e,r))return t}has(e){return void 0!==this.get(e)}set(t,r){var e=this.mapKeyFn(t),n=this.inner[e];if(void 0===n)this.inner[e]=[[t,r]];else{for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return void(n[e]=[t,r]);n.push([t,r])}this.innerSize++}delete(t){var r=this.mapKeyFn(t),n=this.inner[r];if(void 0!==n)for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return 1===n.length?delete this.inner[r]:n.splice(e,1),this.innerSize--,!0;return!1}forEach(n){$t(this.inner,(e,t)=>{for(let[e,r]of t)n(e,r)})}isEmpty(){return Zt(this.inner)}size(){return this.innerSize}}let Xs=new p(A.comparator);let $s=new p(A.comparator);function Zs(...e){let t=$s;for(var r of e)t=t.insert(r.key,r);return t}function ei(e){let r=$s;return e.forEach((e,t)=>r=r.insert(e,t.overlayedDocument)),r}function ti(){return new Ws(e=>e.toString(),(e,t)=>e.isEqual(t))}let ri=new p(A.comparator),ni=new m(A.comparator);function R(...e){let t=ni;for(var r of e)t=t.add(r);return t}let si=new m(b);function ii(){return new TextEncoder}let ai=new ie([4294967295,4294967295],0);function Bi(e){var t=ii().encode(e),r=new ae;return r.update(t),new Uint8Array(r.digest())}function oi(e){var t=new DataView(e.buffer),r=t.getUint32(0,!0),n=t.getUint32(4,!0),s=t.getUint32(8,!0),t=t.getUint32(12,!0);return[new ie([r,n],0),new ie([s,t],0)]}class ui{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||8<=t)throw new li("Invalid padding: "+t);if(r<0)throw new li("Invalid hash count: "+r);if(0<e.length&&0===this.hashCount)throw new li("Invalid hash count: "+r);if(0===e.length&&0!==t)throw new li("Invalid padding when bitmap length is 0: "+t);this.p=8*e.length-t,this.S=ie.fromNumber(this.p)}v(e,t,r){let n=e.add(t.multiply(ie.fromNumber(r)));return(n=1===n.compare(ai)?new ie([n.getBits(0),n.getBits(1)],0):n).modulo(this.S).toNumber()}D(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(0===this.p)return!1;let t=Bi(e),[r,n]=oi(t);for(let s=0;s<this.hashCount;s++){let e=this.v(r,n,s);if(!this.D(e))return!1}return!0}static create(e,t,r){let n=e%8==0?0:8-e%8,s=new Uint8Array(Math.ceil(e/8)),i=new ui(s,n,t);return r.forEach(e=>i.insert(e)),i}insert(s){if(0!==this.p){let e=Bi(s),[t,r]=oi(e);for(let n=0;n<this.hashCount;n++){let e=this.v(t,r,n);this.C(e)}}}C(e){var t=Math.floor(e/8);this.bitmap[t]|=1<<e%8}}class li extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}class hi{constructor(e,t,r,n,s,i){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=n,this.augmentedDocumentUpdates=s,this.resolvedLimboDocuments=i}static createSynthesizedRemoteEventForCurrentChange(e,t,r){var n=new Map;return n.set(e,ci.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new hi(L.min(),n,new p(b),Xs,Xs,R())}}class ci{constructor(e,t,r,n,s){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=n,this.removedDocuments=s}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new ci(r,t,R(),R(),R())}}class Ci{constructor(e,t,r,n){this.F=e,this.removedTargetIds=t,this.key=r,this.O=n}}class di{constructor(e,t){this.targetId=e,this.M=t}}class gi{constructor(e,t,r=Er.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class pi{constructor(e){this.targetId=e,this.N=0,this.L=Ei(),this.B=Er.EMPTY_BYTE_STRING,this.U=!1,this.k=!0}get current(){return this.U}get resumeToken(){return this.B}get q(){return 0!==this.N}get $(){return this.k}K(e){0<e.approximateByteSize()&&(this.k=!0,this.B=e)}W(){let r=R(),n=R(),s=R();return this.L.forEach((e,t)=>{switch(t){case 0:r=r.add(e);break;case 2:n=n.add(e);break;case 1:s=s.add(e);break;default:T(38017,{changeType:t})}}),new ci(this.B,this.U,r,n,s)}G(){this.k=!1,this.L=Ei()}j(e,t){this.k=!0,this.L=this.L.insert(e,t)}H(e){this.k=!0,this.L=this.L.remove(e)}J(){this.N+=1}Y(){--this.N,f(0<=this.N,3241,{N:this.N,targetId:this.targetId})}Z(){this.k=!0,this.U=!0}}let fi="WatchChangeAggregator";class mi{constructor(e){this.X=e,this.ee=new Map,this.te=Xs,this.ne=Di(),this.re=Xs,this.ie=Di(),this.se=new p(b)}_e(e){for(var t of e.F)e.O&&e.O.isFoundDocument()?this.oe(t,e.O):this.ae(t,e.key,e.O);for(var r of e.removedTargetIds)this.ae(r,e.key,e.O)}ue(r){this.forEachTarget(r,e=>{var t=this.ee.get(e);if(t)switch(r.state){case 0:this.ce(e)&&t.K(r.resumeToken);break;case 1:t.Y(),t.q||t.G(),t.K(r.resumeToken);break;case 2:t.Y(),t.q||this.removeTarget(e);break;case 3:this.ce(e)&&(t.Z(),t.K(r.resumeToken));break;case 4:this.ce(e)&&(this.le(e),t.K(r.resumeToken));break;default:T(56790,{state:r.state})}else d(fi,`handleTargetChange received targetChange for untracked target ID (${e}) with state (${r.state})`)})}forEachTarget(e,r){0<e.targetIds.length?e.targetIds.forEach(r):this.ee.forEach((e,t)=>{this.ce(t)&&r(t)})}Ee(e){return Fs(e)?"documents"===e.getPipelineSourceType()&&1===e.getPipelineDocuments()?.length:As(e)}he(n){let s=n.targetId,e=n.M.count,t=this.Te(s);if(t){var r=t.target;if(this.Ee(r))if(0===e){let e=new A(Fs(r)?F.fromString(r.getPipelineDocuments()[0]):r.path);this.ae(s,e,ds.newNoDocument(e,L.min()))}else f(1===e,20013,"Single document existence filter with count: "+e);else{let r=this.Pe(s);if(r!==e){let e=this.Ie(n),t=e?this.Re(e,n,r):1;if(0!==t){this.le(s);let e=2===t?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.se=this.se.insert(s,e)}}}}}Ie(e){var t=e.M.unchangedNames;if(!t||!t.bits)return null;var{bits:{bitmap:t="",padding:r=0},hashCount:n=0}=t;let s,i;try{s=_r(t).toUint8Array()}catch(e){if(e instanceof Dr)return Ot("Decoding the base64 bloom filter in existence filter failed ("+e.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw e}try{i=new ui(s,r,n)}catch(e){return Ot(e instanceof li?"BloomFilter error: ":"Applying bloom filter failed: ",e),null}return 0===i.p?null:i}Re(e,t,r){return t.M.count===r-this.de(e,t.targetId)?0:2}de(r,n){var e=this.X.getRemoteKeysForTarget(n);let s=0;return e.forEach(e=>{var t=this.X.Ve(),t=`projects/${t.projectId}/databases/${t.database}/documents/`+e.path.canonicalString();r.mightContain(t)||(this.ae(n,e,null),s++)}),s}fe(s){let t=new Map,n=(this.ee.forEach((e,r)=>{var n=this.Te(r);if(n){if(e.current&&this.Ee(n.target)){let e=Fs(n.target)?F.fromString(n.target.getPipelineDocuments()[0]):n.target.path,t=new A(e);this.me(t).has(r)||this.pe(r,t)||this.ae(r,t,ds.newNoDocument(t,s))}e.$&&(t.set(r,e.W()),e.G())}}),R());this.ie.forEach((e,t)=>{let r=!0;t.forEachWhile(e=>{var t=this.Te(e);return!t||"TargetPurposeLimboResolution"===t.purpose||(r=!1)}),r&&(n=n.add(e))}),this.te.forEach((e,t)=>t.setReadTime(s)),this.re.forEach((e,t)=>t.setReadTime(s));var e=new hi(s,t,this.se,this.te,this.re,n);return this.te=Xs,this.ne=Di(),this.re=Xs,this.ie=Di(),this.se=new p(b),e}oe(e,t){var r,n=this.ee.get(e);n&&this.ce(e)?(r=this.pe(e,t.key)?2:0,n.j(t.key,r),Fs(this.Te(e).target)&&"exact"!==this.Te(e).target.getPipelineFlavor()?this.re=this.re.insert(t.key,t):this.te=this.te.insert(t.key,t),this.ne=this.ne.insert(t.key,this.me(t.key).add(e)),this.ie=this.ie.insert(t.key,this.ge(t.key).add(e))):d(fi,`addDocumentToTarget received document for unknown inactive target (${e})`)}ae(e,t,r){var n=this.ee.get(e);n&&this.ce(e)?(this.pe(e,t)?n.j(t,1):n.H(t),this.ie=this.ie.insert(t,this.ge(t).delete(e)),this.ie=this.ie.insert(t,this.ge(t).add(e)),r&&(Fs(this.Te(e).target)&&"exact"!==this.Te(e).target.getPipelineFlavor()?this.re=this.re.insert(t,r):this.te=this.te.insert(t,r))):d(fi,`removeDocumentFromTarget received document for unknown or inactive target (${e})`)}removeTarget(e){this.ee.delete(e)}Pe(e){var t=this.ee.get(e);return t?(t=t.W(),this.X.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size):0}J(e){let t=this.ee.get(e);t||(d(fi,"recordPendingTargetRequest set up tracking for target ID "+e),t=new pi(e),this.ee.set(e,t)),t.J()}ge(e){let t=this.ie.get(e);return t||(t=new m(b),this.ie=this.ie.insert(e,t)),t}me(e){let t=this.ne.get(e);return t||(t=new m(b),this.ne=this.ne.insert(e,t)),t}ce(e){var t=null!==this.Te(e);return t||d(fi,"Detected inactive target",e),t}Te(e){var t=this.ee.get(e);return void 0===t||t.q?null:this.X.ye(e)}le(t){this.ee.set(t,new pi(t)),this.X.getRemoteKeysForTarget(t).forEach(e=>{this.ae(t,e,null)})}pe(e,t){return this.X.getRemoteKeysForTarget(e).has(t)}}function Di(){return new p(A.comparator)}function Ei(){return new p(A.comparator)}let vi={asc:"ASCENDING",desc:"DESCENDING"},wi={"<":"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"},yi={and:"AND",or:"OR"};class _i{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function Ii(e,t){return e.useProto3Json||kr(t)?t:{value:t}}function Ti(e,t){return e.useProto3Json?`${new Date(1e3*t.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+t.nanoseconds).slice(-9)}Z`:{seconds:""+t.seconds,nanos:t.nanoseconds}}function bi(e){var t=wr(e);return new l(t.seconds,t.nanos)}function Ni(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function Fi(e,t){return Ti(e,t.toTimestamp())}function Ai(e){return f(!!e,49232),L.fromTimestamp(bi(e))}function Si(e,t){return Oi(e,t).canonicalString()}function Oi(e,t){e=e;var r=new F(["projects",e.projectId,"databases",e.database]).child("documents");return void 0===t?r:r.child(t)}function xi(e){var t=F.fromString(e);return f(ea(t),10190,{key:t.toString()}),t}function Li(e,t){return Si(e.databaseId,t.path)}function Ri(e,t){var r=xi(t);if(r.get(1)!==e.databaseId.projectId)throw new N(w.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+r.get(1)+" vs "+e.databaseId.projectId);if(r.get(3)!==e.databaseId.database)throw new N(w.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+r.get(3)+" vs "+e.databaseId.database);return new A(Mi(r))}function ki(e,t){return Si(e.databaseId,t)}function Gi(e){var t=xi(e);return 4===t.length?F.emptyPath():Mi(t)}function Pi(e){return new F(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function Mi(e){return f(4<e.length&&"documents"===e.get(4),29091,{key:e.toString()}),e.popFirst(5)}function Hi(e,t,r){return{name:Li(e,t),fields:r.value.mapValue.fields}}function Vi(e,t,r){var n=Ri(e,t.name),s=Ai(t.updateTime),i=t.createTime?Ai(t.createTime):L.min(),a=new pn({mapValue:{fields:t.fields}}),n=ds.newFoundDocument(n,s,i,a);return r&&n.setHasCommittedMutations(),r?n.setHasCommittedMutations():n}function Ui(e,t){let r;if(t instanceof Un)r={update:Hi(e,t.key,t.value)};else if(t instanceof Qn)r={delete:Li(e,t.key)};else if(t instanceof qn)r={update:Hi(e,t.key,t.data),updateMask:(e=>{let t=[];return e.fields.forEach(e=>t.push(e.canonicalString())),{fieldPaths:t}})(t.fieldMask)};else{if(!(t instanceof zn))return T(16599,{be:t.type});r={verify:Li(e,t.key)}}return 0<t.fieldTransforms.length&&(r.updateTransforms=t.fieldTransforms.map(e=>{var t=e.transform;if(t instanceof wn)return{fieldPath:e.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(t instanceof yn)return{fieldPath:e.field.canonicalString(),appendMissingElements:{values:t.elements}};if(t instanceof In)return{fieldPath:e.field.canonicalString(),removeAllFromArray:{values:t.elements}};if(t instanceof Nn)return{fieldPath:e.field.canonicalString(),increment:t.h};if(t instanceof Fn)return{fieldPath:e.field.canonicalString(),minimum:t.h};if(t instanceof An)return{fieldPath:e.field.canonicalString(),maximum:t.h};throw T(20930,{transform:e.transform})})),t.precondition.isNone||(r.currentDocument=(e=e,void 0!==(t=t.precondition).updateTime?{updateTime:Fi(e,t.updateTime)}:void 0!==t.exists?{exists:t.exists}:T(27497))),r}function qi(s,t){let r=t.currentDocument?void 0!==(i=t.currentDocument).updateTime?kn.updateTime(Ai(i.updateTime)):void 0!==i.exists?kn.exists(i.exists):kn.none():kn.none(),n=t.updateTransforms?t.updateTransforms.map(r=>{{var e=s;let t=null;if("setToServerValue"in r)f("REQUEST_TIME"===r.setToServerValue,16630,{proto:r}),t=new wn;else if("appendMissingElements"in r){let e=r.appendMissingElements.values||[];t=new yn(e)}else if("removeAllFromArray"in r){let e=r.removeAllFromArray.values||[];t=new In(e)}else"increment"in r?t=new Nn(e,r.increment):"minimum"in r?t=new Fn(e,r.minimum):"maximum"in r?t=new An(e,r.maximum):T(16584,{proto:r});var n=Yt.fromServerFormat(r.fieldPath);return new Ln(n,t)}}):[];var i,a;if(t.update){t.update.name;var B=Ri(s,t.update.name),o=new pn({mapValue:{fields:t.update.fields}});if(t.updateMask){i=t.updateMask,a=i.fieldPaths||[];let e=new Wt(a.map(e=>Yt.fromServerFormat(e)));return new qn(B,o,e,r,n)}return new Un(B,o,r,n)}if(t.delete){let e=Ri(s,t.delete);return new Qn(e,r)}if(t.verify){let e=Ri(s,t.verify);return new zn(e,r)}return T(1463,{proto:t})}function Ji(e,n){return e&&0<e.length?(f(void 0!==n,14353),e.map(t=>{{var r=n;let e=t.updateTime?Ai(t.updateTime):Ai(r);return e.isEqual(L.min())&&(e=Ai(r)),new Rn(e,t.transformResults||[])}})):[]}function Ki(e,t){return{documents:[ki(e,t.path)]}}function ji(e,t){var r={structuredQuery:{}},n=t.path;let s;null!==t.collectionGroup?(s=n,r.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(s=n.popLast(),r.structuredQuery.from=[{collectionId:n.lastSegment()}]),r.parent=ki(e,s);n=(e=>{if(0!==e.length)return function r(e){return e instanceof O?(e=>{if("=="===e.op){if(Bn(e.value))return{unaryFilter:{field:$i(e.field),op:"IS_NAN"}};if(an(e.value))return{unaryFilter:{field:$i(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(Bn(e.value))return{unaryFilter:{field:$i(e.field),op:"IS_NOT_NAN"}};if(an(e.value))return{unaryFilter:{field:$i(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:$i(e.field),op:Wi(e.op),value:e.value}}})(e):e instanceof x?(e=>{let t=e.getFilters().map(e=>r(e));return 1===t.length?t[0]:{compositeFilter:{op:Xi(e.op),filters:t}}})(e):T(54877,{filter:e})}(x.create(e,"and"))})(t.filters),n&&(r.structuredQuery.where=n),n=(e=>{if(0!==e.length)return e.map(e=>({field:$i((e=e).field),direction:(e=e.dir,vi[e])}))})(t.orderBy),n&&(r.structuredQuery.orderBy=n),n=Ii(e,t.limit);return null!==n&&(r.structuredQuery.limit=n),t.startAt&&(r.structuredQuery.startAt={before:(e=t.startAt).inclusive,values:e.position}),t.endAt&&(r.structuredQuery.endAt={before:!(e=t.endAt).inclusive,values:e.position}),{Se:r,parent:s}}function Qi(e){let t=Gi(e.parent);var r,n=e.structuredQuery,s=n.from?n.from.length:0;let i=null;if(0<s){f(1===s,65062);let e=n.from[0];e.allDescendants?i=e.collectionId:t=t.child(e.collectionId)}let a=[],B=(n.where&&(a=(e=n.where,(s=function t(e){return void 0!==e.unaryFilter?(s=>{switch(s.unaryFilter.op){case"IS_NAN":let e=Zi(s.unaryFilter.field);return O.create(e,"==",{doubleValue:NaN});case"IS_NULL":let t=Zi(s.unaryFilter.field);return O.create(t,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let r=Zi(s.unaryFilter.field);return O.create(r,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let n=Zi(s.unaryFilter.field);return O.create(n,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return T(61313);default:return T(60726)}})(e):void 0!==e.fieldFilter?(e=>O.create(Zi(e.fieldFilter.field),(e=>{switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":return T(58110);default:return T(50506)}})(e.fieldFilter.op),e.fieldFilter.value))(e):void 0!==e.compositeFilter?(e=>x.create(e.compositeFilter.filters.map(e=>t(e)),(e=>{switch(e){case"AND":return"and";case"OR":return"or";default:return T(1026)}})(e.compositeFilter.op)))(e):T(30097,{filter:e})}(e))instanceof x&&ts(s)?s.getFilters():[s])),[]),o=(n.orderBy&&(B=n.orderBy.map(e=>(e=e,new Cs(Zi(e.field),(e=>{switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}})(e.direction))))),null),u=(n.limit&&(o=(e=n.limit,kr(s="object"==typeof e?e.value:e)?null:s)),null),l=(n.startAt&&(u=(e=n.startAt,s=!!e.before,r=e.values||[],new Yn(r,s))),null);return n.endAt&&(l=(e=n.endAt,r=!e.before,s=e.values||[],new Yn(s,r))),Rs(t,i,B,a,o,"F",u,l)}function zi(e,t){var r=(e=>{switch(e){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return T(28987,{purpose:e})}})(t.purpose);return null==r?null:{"goog-listen-tags":r}}function Yi(t,e){return{structuredPipeline:{pipeline:{stages:e.stages.map(e=>e._toProto(t))}}}}function Wi(e){return wi[e]}function Xi(e){return yi[e]}function $i(e){return{fieldPath:e.canonicalString()}}function Zi(e){return Yt.fromServerFormat(e.fieldPath)}function ea(e){return 4<=e.length&&"projects"===e.get(0)&&"databases"===e.get(2)}function ta(e){return e&&"function"==typeof e._toProto&&"ProtoValue"===e._protoValueType}function ra(r,e){let n={fields:{}};return e.forEach((e,t)=>{if("string"!=typeof t)throw new Error("Cannot encode map with non-string key: "+t);n.fields[t]=e._toProto(r)}),{mapValue:n}}function na(e){return{stringValue:e}}function sa(e){return new _i(e,!0)}class ia{constructor(e){this._byteString=e}static fromBase64String(e){try{return new ia(Er.fromBase64String(e))}catch(e){throw new N(w.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new ia(Er.fromUint8Array(e))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(e){return this._byteString.isEqual(e._byteString)}toJSON(){return{type:ia._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(e){if(fr(e,ia._jsonSchema))return ia.fromBase64String(e.bytes)}}ia._jsonSchemaVersion="firestore/bytes/1.0",ia._jsonSchema={type:pr("string",ia._jsonSchemaVersion),bytes:pr("string")};let aa=class{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new N(w.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new Yt(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}};let Ba=class{constructor(e){this._methodName=e}};class oa{constructor(e,t){if(!isFinite(e)||e<-90||90<e)throw new N(w.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||180<t)throw new N(w.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+t);this._lat=e,this._long=t}get latitude(){return this._lat}get longitude(){return this._long}isEqual(e){return this._lat===e._lat&&this._long===e._long}_compareTo(e){return b(this._lat,e._lat)||b(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:oa._jsonSchemaVersion}}static fromJSON(e){if(fr(e,oa._jsonSchema))return new oa(e.latitude,e.longitude)}}oa._jsonSchemaVersion="firestore/geoPoint/1.0",oa._jsonSchema={type:pr("string",oa._jsonSchemaVersion),latitude:pr("number"),longitude:pr("number")};class ua{constructor(e){this.uid=e}isAuthenticated(){return null!=this.uid}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(e){return e.uid===this.uid}}ua.UNAUTHENTICATED=new ua(null),ua.GOOGLE_CREDENTIALS=new ua("google-credentials-uid"),ua.FIRST_PARTY=new ua("first-party-uid"),ua.MOCK_USER=new ua("mock-user");class la{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class ha{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization","Bearer "+e)}}class ca{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(ua.UNAUTHENTICATED))}shutdown(){}}class Ca{constructor(e){this.token=e,this.changeListener=null}getToken(){return Promise.resolve(this.token)}invalidateToken(){}start(e,t){this.changeListener=t,e.enqueueRetryable(()=>t(this.token.user))}shutdown(){this.changeListener=null}}class da{constructor(e){this.De=e,this.currentUser=ua.UNAUTHENTICATED,this.xe=0,this.forceRefresh=!1,this.auth=null}start(t,r){f(void 0===this.Ce,42304);let n=this.xe,s=e=>this.xe!==n?(n=this.xe,r(e)):Promise.resolve(),i=new la,a=(this.Ce=()=>{this.xe++,this.currentUser=this.Fe(),i.resolve(),i=new la,t.enqueueRetryable(()=>s(this.currentUser))},()=>{let e=i;t.enqueueRetryable(async()=>{await e.promise,await s(this.currentUser)})}),B=e=>{d("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.Ce&&(this.auth.addAuthTokenListener(this.Ce),a())};this.De.onInit(e=>B(e)),setTimeout(()=>{var e;this.auth||((e=this.De.getImmediate({optional:!0}))?B(e):(d("FirebaseAuthCredentialsProvider","Auth not yet detected"),i.resolve(),i=new la))},0),a()}getToken(){let t=this.xe,e=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(e).then(e=>this.xe!==t?(d("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):e?(f("string"==typeof e.accessToken,31837,{Oe:e}),new ha(e.accessToken,this.currentUser)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.Ce&&this.auth.removeAuthTokenListener(this.Ce),this.Ce=void 0}Fe(){var e=this.auth&&this.auth.getUid();return f(null===e||"string"==typeof e,2055,{Me:e}),new ua(e)}}class ga{constructor(e,t,r){this.Ne=e,this.Le=t,this.Be=r,this.type="FirstParty",this.user=ua.FIRST_PARTY,this.Ue=new Map}ke(){return this.Be?this.Be():null}get headers(){this.Ue.set("X-Goog-AuthUser",this.Ne);var e=this.ke();return e&&this.Ue.set("Authorization",e),this.Le&&this.Ue.set("X-Goog-Iam-Authorization-Token",this.Le),this.Ue}}class pa{constructor(e,t,r){this.Ne=e,this.Le=t,this.Be=r}getToken(){return Promise.resolve(new ga(this.Ne,this.Le,this.Be))}start(e,t){e.enqueueRetryable(()=>t(ua.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class fa{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&0<e.length&&this.headers.set("x-firebase-appcheck",this.value)}}class ma{constructor(e,t){this.qe=t,this.forceRefresh=!1,this.appCheck=null,this.$e=null,this.Ke=null,Sf._isFirebaseServerApp(e)&&e.settings.appCheckToken&&(this.Ke=e.settings.appCheckToken)}start(t,r){f(void 0===this.Ce,3512);let n=e=>{null!=e.error&&d("FirebaseAppCheckTokenProvider","Error getting App Check token; using placeholder token instead. Error: "+e.error.message);var t=e.token!==this.$e;return this.$e=e.token,d("FirebaseAppCheckTokenProvider",`Received ${t?"new":"existing"} token.`),t?r(e.token):Promise.resolve()},s=(this.Ce=e=>{t.enqueueRetryable(()=>n(e))},e=>{d("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.Ce&&this.appCheck.addTokenListener(this.Ce)});this.qe.onInit(e=>s(e)),setTimeout(()=>{var e;this.appCheck||((e=this.qe.getImmediate({optional:!0}))?s(e):d("FirebaseAppCheckTokenProvider","AppCheck not yet detected"))},0)}getToken(){var e;return this.Ke?Promise.resolve(new fa(this.Ke)):(e=this.forceRefresh,this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(f("string"==typeof e.token,44558,{tokenResult:e}),this.$e=e.token,new fa(e.token)):null):Promise.resolve(null))}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.Ce&&this.appCheck.removeTokenListener(this.Ce),this.Ce=void 0}}function Da(e){var t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}class Ea{Qe(e){}shutdown(){}}let va="ConnectivityMonitor";class wa{constructor(){this.We=()=>this.Ge(),this.ze=()=>this.je(),this.He=[],this.Je()}Qe(e){this.He.push(e)}shutdown(){window.removeEventListener("online",this.We),window.removeEventListener("offline",this.ze)}Je(){window.addEventListener("online",this.We),window.addEventListener("offline",this.ze)}Ge(){d(va,"Network connectivity changed: AVAILABLE");for(var e of this.He)e(0)}je(){d(va,"Network connectivity changed: UNAVAILABLE");for(var e of this.He)e(1)}static Ye(){return"undefined"!=typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}let ya=null;function _a(){return null===ya?ya=268435456+Math.round(2147483648*Math.random()):ya++,"0x"+ya.toString(16)}let Ia="RestConnection",Ta={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery",ExecutePipeline:"executePipeline"};class ba{constructor(e){this.ot=e.ot,this.ut=e.ut}ct(e){this.lt=e}Et(e){this.ht=e}Tt(e){this.Pt=e}onMessage(e){this.It=e}close(){this.ut()}send(e){this.ot(e)}Rt(){this.lt()}At(){this.ht()}Vt(e){this.Pt(e)}dt(e){this.It(e)}}let Na="WebChannelConnection",Fa=(e,t,r)=>{e.listen(t,e=>{try{r(e)}catch(e){setTimeout(()=>{throw e},0)}})};class Aa extends class{get Ze(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;var t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),n=encodeURIComponent(this.databaseId.database);this.Xe=t+"://"+e.host,this.et=`projects/${r}/databases/`+n,this.tt=this.databaseId.database===xr?"project_id="+r:`project_id=${r}&database_id=`+n}nt(t,e,r,n,s){let i=_a(),a=this.rt(t,e.toUriEncodedString());d(Ia,`Sending RPC '${t}' ${i}:`,a,r);var B={"google-cloud-resource-prefix":this.et,"x-goog-request-params":this.tt},o=(this.it(B,n,s),new URL(a)).host,o=ne(o);return this.st(t,a,B,r,o).then(e=>(d(Ia,`Received RPC '${t}' ${i}: `,e),e),e=>{throw Ot(Ia,`RPC '${t}' ${i} failed with error: `,e,"url: ",a,"request:",r),e})}_t(e,t,r,n,s,i){return this.nt(e,t,r,n,s)}it(r,t,n){if(r["X-Goog-Api-Client"]="gl-js/ fire/"+Nt,r["Content-Type"]="text/plain",this.databaseInfo.appId&&(r["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((e,t)=>r[t]=e),n&&n.headers.forEach((e,t)=>r[t]=e),this.databaseInfo._customHeaders)for(let e of Object.keys(this.databaseInfo._customHeaders))r[e]=this.databaseInfo._customHeaders[e]}rt(e,t){var r=Ta[e];let n=this.Xe+`/v1/${t}:`+r;return n=this.databaseInfo.apiKey?n+"?key="+encodeURIComponent(this.databaseInfo.apiKey):n}terminate(){}}{constructor(e){super(e),this.ft=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}static gt(){var e;Aa.yt||(e=hr(),Fa(e,lr.STAT_EVENT,e=>{e.stat===ur.PROXY?d(Na,"STAT_EVENT: detected buffering proxy"):e.stat===ur.NOPROXY&&d(Na,"STAT_EVENT: detected no buffering proxy")}),Aa.yt=!0)}st(o,t,r,n,e){let u=_a();return new Promise((i,a)=>{let B=new ir;B.setWithCredentials(!0),B.listenOnce(Br.COMPLETE,()=>{try{switch(B.getLastErrorCode()){case or.NO_ERROR:var e=B.getResponseJson();d(Na,`XHR for RPC '${o}' ${u} received:`,JSON.stringify(e)),i(e);break;case or.TIMEOUT:d(Na,`RPC '${o}' ${u} timed out`),a(new N(w.DEADLINE_EXCEEDED,"Request time out"));break;case or.HTTP_ERROR:var t=B.getStatus();if(d(Na,`RPC '${o}' ${u} failed with status:`,t,"response text:",B.getResponseText()),0<t){let e=B.getResponseJson();var r=(e=Array.isArray(e)?e[0]:e)?.error;if(r&&r.status&&r.message){n=r.status,s=n.toLowerCase().replace(/_/g,"-");let e=0<=Object.values(w).indexOf(s)?s:w.UNKNOWN;a(new N(e,r.message))}else a(new N(w.UNKNOWN,"Server responded with status "+B.getStatus()))}else a(new N(w.UNAVAILABLE,"Connection failed."));break;default:T(9055,{wt:o,streamId:u,bt:B.getLastErrorCode(),St:B.getLastError()})}}finally{d(Na,`RPC '${o}' ${u} completed.`)}var n,s});var e=JSON.stringify(n);d(Na,`RPC '${o}' ${u} sending request:`,n),B.send(t,"POST",e,r,15)})}vt(s,e,t){let i=_a(),r=[this.Xe,"/","google.firestore.v1.Firestore","/",s,"/channel"],n=this.createWebChannelTransport(),a={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/`+this.databaseId.database},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling},B=this.longPollingOptions.timeoutSeconds;void 0!==B&&(a.longPollingTimeout=Math.round(1e3*B)),this.useFetchStreams&&(a.useFetchStreams=!0),this.it(a.initMessageHeaders,e,t),a.encodeInitMessageHeaders=!0;var o=r.join("");d(Na,`Creating RPC '${s}' stream ${i}: `+o,a);let u=n.createWebChannel(o,a),l=(this.Dt(u),!1),h=!1,c=new ba({ot:e=>{h?d(Na,`Not sending because RPC '${s}' stream ${i} is closed:`,e):(l||(d(Na,`Opening RPC '${s}' stream ${i} transport.`),u.open(),l=!0),d(Na,`RPC '${s}' stream ${i} sending:`,e),u.send(e))},ut:()=>u.close()});return Fa(u,ar.EventType.OPEN,()=>{h||(d(Na,`RPC '${s}' stream ${i} transport opened.`),c.Rt())}),Fa(u,ar.EventType.CLOSE,()=>{h||(h=!0,d(Na,`RPC '${s}' stream ${i} transport closed`),c.Vt(),this.xt(u))}),Fa(u,ar.EventType.ERROR,e=>{h||(h=!0,Ot(Na,`RPC '${s}' stream ${i} transport errored. Name:`,e.name,"Message:",e.message),c.Vt(new N(w.UNAVAILABLE,"The operation could not be completed")))}),Fa(u,ar.EventType.MESSAGE,e=>{if(!h){var t=e.data[0],n=(f(!!t,16349),t),n=n?.error||n[0]?.error;if(n){d(Na,`RPC '${s}' stream ${i} received error:`,n);let e=n.status,t=(e=>{var t=Et[e];if(void 0!==t)return Ys(t)})(e),r=n.message;"NOT_FOUND"===e&&r.includes("database")&&r.includes("does not exist")&&r.includes(this.databaseId.database)&&Ot(`Database '${this.databaseId.database}' not found. Please check your project configuration.`),void 0===t&&(t=w.INTERNAL,r="Unknown error status: "+e+" with message "+n.message),h=!0,c.Vt(new N(t,r)),u.close()}else d(Na,`RPC '${s}' stream ${i} received:`,t),c.dt(t)}}),Aa.gt(),setTimeout(()=>{c.At()},0),c}terminate(){this.ft.forEach(e=>e.close()),this.ft=[]}Dt(e){this.ft.push(e)}xt(t){this.ft=this.ft.filter(e=>e===t)}it(e,t,r){super.it(e,t,r),this.databaseInfo.apiKey&&(e["x-goog-api-key"]=this.databaseInfo.apiKey)}createWebChannelTransport(){return cr()}}Aa.yt=!1;class Sa{constructor(e,t,r=1e3,n=1.5,s=6e4){this.Ct=e,this.timerId=t,this.Ft=r,this.Ot=n,this.Mt=s,this.Nt=0,this.Lt=null,this.Bt=Date.now(),this.reset()}reset(){this.Nt=0}Ut(){this.Nt=this.Mt}kt(e){this.cancel();var t=Math.floor(this.Nt+this.qt()),r=Math.max(0,Date.now()-this.Bt),n=Math.max(0,t-r);0<n&&d("ExponentialBackoff",`Backing off for ${n} ms (base delay: ${this.Nt} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.Lt=this.Ct.enqueueAfterDelay(this.timerId,n,()=>(this.Bt=Date.now(),e())),this.Nt*=this.Ot,this.Nt<this.Ft&&(this.Nt=this.Ft),this.Nt>this.Mt&&(this.Nt=this.Mt)}$t(){null!==this.Lt&&(this.Lt.skipDelay(),this.Lt=null)}cancel(){null!==this.Lt&&(this.Lt.cancel(),this.Lt=null)}qt(){return(Math.random()-.5)*this.Nt}}let Oa="PersistentStream";class xa{constructor(e,t,r,n,s,i,a,B){this.Ct=e,this.Kt=r,this.Qt=n,this.connection=s,this.authCredentialsProvider=i,this.appCheckCredentialsProvider=a,this.listener=B,this.state=0,this.Wt=0,this.Gt=null,this.zt=null,this.stream=null,this.jt=0,this.Ht=new Sa(e,t)}Jt(){return 1===this.state||5===this.state||this.Yt()}Yt(){return 2===this.state||3===this.state}start(){this.jt=0,4!==this.state?this.auth():this.Zt()}async stop(){this.Jt()&&await this.close(0)}Xt(){this.state=0,this.Ht.reset()}en(){this.Yt()&&null===this.Gt&&(this.Gt=this.Ct.enqueueAfterDelay(this.Kt,6e4,()=>this.tn()))}nn(e){this.rn(),this.stream.send(e)}async tn(){if(this.Yt())return this.close(0)}rn(){this.Gt&&(this.Gt.cancel(),this.Gt=null)}sn(){this.zt&&(this.zt.cancel(),this.zt=null)}async close(e,t){this.rn(),this.sn(),this.Ht.cancel(),this.Wt++,4!==e?this.Ht.reset():t&&t.code===w.RESOURCE_EXHAUSTED?(St(t.toString()),St("Using maximum backoff delay to prevent overloading the backend."),this.Ht.Ut()):t&&t.code===w.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(this._n(),this.stream.close(),this.stream=null),this.state=e,await this.listener.Tt(t)}_n(){}auth(){this.state=1;let e=this.an(this.Wt),r=this.Wt;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([e,t])=>{this.Wt===r&&this.un(e,t)},t=>{e(()=>{var e=new N(w.UNKNOWN,"Fetching auth token failed: "+t.message);return this.cn(e)})})}un(e,t){let r=this.an(this.Wt);this.stream=this.En(e,t),this.stream.ct(()=>{r(()=>this.listener.ct())}),this.stream.Et(()=>{r(()=>(this.state=2,this.zt=this.Ct.enqueueAfterDelay(this.Qt,1e4,()=>(this.Yt()&&(this.state=3),Promise.resolve())),this.listener.Et()))}),this.stream.Tt(e=>{r(()=>this.cn(e))}),this.stream.onMessage(e=>{r(()=>1==++this.jt?this.hn(e):this.onNext(e))})}Zt(){this.state=5,this.Ht.kt(async()=>{this.state=0,this.start()})}cn(e){return d(Oa,"close with error: "+e),this.stream=null,this.close(4,e)}an(t){return e=>{this.Ct.enqueueAndForget(()=>this.Wt===t?e():(d(Oa,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class La extends xa{constructor(e,t,r,n,s,i){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,n,i),this.serializer=s}En(e,t){return this.connection.vt("Listen",e,t)}hn(e){return this.onNext(e)}onNext(e){this.Ht.reset();var t=((t,i)=>{let a;if("targetChange"in i){i.targetChange;var r="NO_CHANGE"===(e=i.targetChange.targetChangeType||"NO_CHANGE")?0:"ADD"===e?1:"REMOVE"===e?2:"CURRENT"===e?3:"RESET"===e?4:T(39313,{state:e}),n=i.targetChange.targetIds||[],s=(e=i.targetChange.resumeToken,t.useProto3Json?(f(void 0===e||"string"==typeof e,58123),Er.fromBase64String(e||"")):(f(void 0===e||e instanceof Buffer||e instanceof Uint8Array,16193),Er.fromUint8Array(e||new Uint8Array))),B=i.targetChange.cause,B=B&&(B=void 0===(e=B).code?w.UNKNOWN:Ys(e.code),new N(B,e.message||""));a=new gi(r,n,s,B||null)}else if("documentChange"in i){i.documentChange;let e=i.documentChange;e.document,e.document.name,e.document.updateTime;r=Ri(t,e.document.name),n=Ai(e.document.updateTime),s=e.document.createTime?Ai(e.document.createTime):L.min(),B=new pn({mapValue:{fields:e.document.fields}}),r=ds.newFoundDocument(r,n,s,B),n=e.targetIds||[],s=e.removedTargetIds||[];a=new Ci(n,s,r.key,r)}else if("documentDelete"in i){i.documentDelete;let e=i.documentDelete;e.document;n=Ri(t,e.document),s=e.readTime?Ai(e.readTime):L.min(),r=ds.newNoDocument(n,s),n=e.removedTargetIds||[];a=new Ci([],n,r.key,r)}else if("documentRemove"in i){i.documentRemove;let e=i.documentRemove;e.document;s=Ri(t,e.document),n=e.removedTargetIds||[];a=new Ci([],n,s,null)}else{if(!("filter"in i))return T(11601,{we:i});{i.filter;let e=i.filter,{count:t=0,unchangedNames:r}=(e.targetId,e),n=new Qs(t,r),s=e.targetId;a=new di(s,n)}}var e;return a})(this.serializer,e),r="targetChange"in(e=e)&&(!(r=e.targetChange).targetIds||!r.targetIds.length)&&r.readTime?Ai(r.readTime):L.min();return this.listener.Tn(t,r)}Pn(e){var t={},r=(t.database=Pi(this.serializer),t.addTarget=((t,r)=>{var n;let e=r.target;if((n=Fs(e)?{pipelineQuery:Yi(t,e)}:As(e)?{documents:Ki(t,e)}:{query:ji(t,e).Se}).targetId=r.targetId,0<r.resumeToken.approximateByteSize()){n.resumeToken=Ni(t,r.resumeToken);let e=Ii(t,r.expectedCount);null!==e&&(n.expectedCount=e)}else if(0<r.snapshotVersion.compareTo(L.min())){n.readTime=Ti(t,r.snapshotVersion.toTimestamp());let e=Ii(t,r.expectedCount);null!==e&&(n.expectedCount=e)}return n})(this.serializer,e),zi(this.serializer,e));r&&(t.labels=r),this.nn(t)}In(e){var t={};t.database=Pi(this.serializer),t.removeTarget=e,this.nn(t)}}class Ra extends xa{constructor(e,t,r,n,s,i){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,n,i),this.serializer=s}get Rn(){return 0<this.jt}start(){this.lastStreamToken=void 0,super.start()}_n(){this.Rn&&this.An([])}En(e,t){return this.connection.vt("Write",e,t)}hn(e){return f(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,f(!e.writeResults||0===e.writeResults.length,55816),this.listener.Vn()}onNext(e){f(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this.Ht.reset();var t=Ji(e.writeResults,e.commitTime),r=Ai(e.commitTime);return this.listener.dn(r,t)}fn(){var e={};e.database=Pi(this.serializer),this.nn(e)}An(e){var t={streamToken:this.lastStreamToken,writes:e.map(e=>Ui(this.serializer,e))};this.nn(t)}}class ka extends class{}{constructor(e,t,r,n){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=n,this.mn=!1}pn(){if(this.mn)throw new N(w.FAILED_PRECONDITION,"The client has already been terminated.")}nt(r,n,s,i){return this.pn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection.nt(r,Oi(n,s),i,e,t)).catch(e=>{throw"FirebaseError"===e.name?(e.code===w.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new N(w.UNKNOWN,e.toString())})}_t(r,n,s,i,a){return this.pn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection._t(r,Oi(n,s),i,e,t,a)).catch(e=>{throw"FirebaseError"===e.name?(e.code===w.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new N(w.UNKNOWN,e.toString())})}terminate(){this.mn=!0,this.connection.terminate()}}let Ga=new Map;let Pa={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class Ma{static withCacheSize(e){return new Ma(e,Ma.DEFAULT_COLLECTION_PERCENTILE,Ma.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}Ma.DEFAULT_COLLECTION_PERCENTILE=10,Ma.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,Ma.DEFAULT=new Ma(41943040,Ma.DEFAULT_COLLECTION_PERCENTILE,Ma.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),Ma.DISABLED=new Ma(-1,0,0);class Ha{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=e=>this.gn(e),this.yn=e=>t.writeSequenceNumber(e))}gn(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){var e=++this.previousValue;return this.yn&&this.yn(e),e}}Ha.wn=-1;let Va="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class Ua{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function qa(e){if(e.code!==w.FAILED_PRECONDITION||e.message!==Va)throw e;d("LocalStore","Unexpectedly lost primary lease")}class k{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(e=>{this.isDone=!0,this.result=e,this.nextCallback&&this.nextCallback(e)},e=>{this.isDone=!0,this.error=e,this.catchCallback&&this.catchCallback(e)})}catch(e){return this.next(void 0,e)}next(n,s){return this.callbackAttached&&T(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(s,this.error):this.wrapSuccess(n,this.result):new k((t,r)=>{this.nextCallback=e=>{this.wrapSuccess(n,e).next(t,r)},this.catchCallback=e=>{this.wrapFailure(s,e).next(t,r)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{var t=e();return t instanceof k?t:k.resolve(t)}catch(e){return k.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):k.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):k.reject(t)}static resolve(r){return new k((e,t)=>{e(r)})}static reject(r){return new k((e,t)=>{t(r)})}static waitFor(e){return new k((t,r)=>{let n=0,s=0,i=!1;e.forEach(e=>{++n,e.next(()=>{++s,i&&s===n&&t()},e=>r(e))}),i=!0,s===n&&t()})}static or(e){let t=k.resolve(!1);for(let r of e)t=t.next(e=>e?k.resolve(e):r());return t}static forEach(e,r){let n=[];return e.forEach((e,t)=>{n.push(r.call(this,e,t))}),this.waitFor(n)}static mapArray(B,o){return new k((r,n)=>{let s=B.length,i=new Array(s),a=0;for(let e=0;e<s;e++){let t=e;o(B[t]).next(e=>{i[t]=e,++a===s&&r(i)},e=>n(e))}})}static doWhile(n,s){return new k((e,t)=>{let r=()=>{!0===n()?s().next(()=>{r()},t):e()};r()})}}let Ja="SimpleDb";class Ka{static open(e,t,r,n){try{return new Ka(t,e.transaction(n,r))}catch(e){throw new Ya(t,e)}}constructor(r,e){this.action=r,this.transaction=e,this.aborted=!1,this.bn=new la,this.transaction.oncomplete=()=>{this.bn.resolve()},this.transaction.onabort=()=>{e.error?this.bn.reject(new Ya(r,e.error)):this.bn.resolve()},this.transaction.onerror=e=>{var t=eB(e.target.error);this.bn.reject(new Ya(r,t))}}get Sn(){return this.bn.promise}abort(e){e&&this.bn.reject(e),this.aborted||(d(Ja,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}vn(){var e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){var t=this.transaction.objectStore(e);return new Xa(t)}}class ja{static delete(e){return d(Ja,"Removing database:",e),$a(q().indexedDB.deleteDatabase(e)).toPromise()}static Ye(){var e,t,r;return!(!(()=>{try{return"object"==typeof indexedDB}catch(e){}})()||!ja.Dn()&&(e=z(),t=0<(t=ja.xn(e))&&t<10,r=0<(r=Qa(e))&&r<4.5,0<e.indexOf("MSIE ")||0<e.indexOf("Trident/")||0<e.indexOf("Edge/")||t||r))}static Dn(){return"undefined"!=typeof process&&"YES"===process.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static Cn(e,t){return e.store(t)}static xn(e){var t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),t=t?t[1].split("_").slice(0,2).join("."):"-1";return Number(t)}constructor(e,t,r){this.name=e,this.version=t,this.Fn=r,this.On=null,12.2===ja.xn(z())&&St("Firestore persistence suffers from a bug in iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.")}async Mn(i){return this.db||(d(Ja,"Opening database:",this.name),this.db=await new Promise((r,n)=>{let s=indexedDB.open(this.name,this.version);s.onsuccess=e=>{var t=e.target.result;r(t)},s.onblocked=()=>{n(new Ya(i,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},s.onerror=e=>{var t=e.target.error;"VersionError"===t.name?n(new N(w.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):"InvalidStateError"===t.name?n(new N(w.FAILED_PRECONDITION,"Unable to open an IndexedDB connection. This could be due to running in a private browsing session on a browser whose private browsing sessions do not support IndexedDB: "+t)):n(new Ya(i,t))},s.onupgradeneeded=e=>{d(Ja,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);var t=e.target.result;this.Fn.Nn(t,s.transaction,e.oldVersion,this.version).next(()=>{d(Ja,"Database upgrade to version "+this.version+" complete")})}})),this.Ln&&(this.db.onversionchange=e=>this.Ln(e)),this.db}Bn(t){this.Ln=t,this.db&&(this.db.onversionchange=e=>t(e))}async runTransaction(r,e,n,s){var i="readonly"===e;let a=0;for(;;){++a;try{this.db=await this.Mn(r);let t=Ka.open(this.db,r,i?"readonly":"readwrite",n),e=s(t).next(e=>(t.vn(),e)).catch(e=>(t.abort(e),k.reject(e))).toPromise();return e.catch(()=>{}),await t.Sn,e}catch(r){let e=r,t="FirebaseError"!==e.name&&a<3;if(d(Ja,"Transaction failed with error:",e.message,"Retrying:",t),this.close(),!t)return Promise.reject(e)}}}close(){this.db&&this.db.close(),this.db=void 0}}function Qa(e){var t=e.match(/Android ([\d.]+)/i),t=t?t[1].split(".").slice(0,2).join("."):"-1";return Number(t)}class za{constructor(e){this.Un=e,this.kn=!1,this.qn=null}get isDone(){return this.kn}get $n(){return this.qn}set cursor(e){this.Un=e}done(){this.kn=!0}Kn(e){this.qn=e}delete(){return $a(this.Un.delete())}}class Ya extends N{constructor(e,t){super(w.UNAVAILABLE,`IndexedDB transaction '${e}' failed: `+t),this.name="IndexedDbTransactionError"}}function Wa(e){return"IndexedDbTransactionError"===e.name}class Xa{constructor(e){this.store=e}put(e,t){let r;return $a(r=void 0!==t?(d(Ja,"PUT",this.store.name,e,t),this.store.put(t,e)):(d(Ja,"PUT",this.store.name,"<auto-key>",e),this.store.put(e)))}add(e){return d(Ja,"ADD",this.store.name,e,e),$a(this.store.add(e))}get(t){return $a(this.store.get(t)).next(e=>(void 0===e&&(e=null),d(Ja,"GET",this.store.name,t,e),e))}delete(e){return d(Ja,"DELETE",this.store.name,e),$a(this.store.delete(e))}count(){return d(Ja,"COUNT",this.store.name),$a(this.store.count())}Qn(e,t){var n=this.options(e,t),r=n.index?this.store.index(n.index):this.store;if("function"==typeof r.getAll){let e=r.getAll(n.range);return new k((t,r)=>{e.onerror=e=>{r(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(n),r=[];return this.Wn(e,(e,t)=>{r.push(t)}).next(()=>r)}}Gn(e,t){let n=this.store.getAll(e,null===t?void 0:t);return new k((t,r)=>{n.onerror=e=>{r(e.target.error)},n.onsuccess=e=>{t(e.target.result)}})}zn(e,t){d(Ja,"DELETE ALL",this.store.name);var r=this.options(e,t),r=(r.jn=!1,this.cursor(r));return this.Wn(r,(e,t,r)=>r.delete())}Hn(e,t){let r;t?r=e:(r={},t=e);var n=this.cursor(r);return this.Wn(n,t)}Jn(s){let e=this.cursor({});return new k((r,n)=>{e.onerror=e=>{var t=eB(e.target.error);n(t)},e.onsuccess=e=>{let t=e.target.result;t?s(t.primaryKey,t.value).next(e=>{e?t.continue():r()}):r()}})}Wn(e,i){let a=[];return new k((s,t)=>{e.onerror=e=>{t(e.target.error)},e.onsuccess=e=>{var n=e.target.result;if(n){let t=new za(n),r=i(n.primaryKey,n.value,t);if(r instanceof k){let e=r.catch(e=>(t.done(),k.reject(e)));a.push(e)}t.isDone?s():null===t.$n?n.continue():n.continue(t.$n)}else s()}}).next(()=>k.waitFor(a))}options(e,t){let r;return void 0!==e&&("string"==typeof e?r=e:t=e),{index:r,range:t}}cursor(e){let t="next";var r;return e.reverse&&(t="prev"),e.index?(r=this.store.index(e.index),e.jn?r.openKeyCursor(e.range,t):r.openCursor(e.range,t)):this.store.openCursor(e.range,t)}}function $a(e){return new k((r,n)=>{e.onsuccess=e=>{var t=e.target.result;r(t)},e.onerror=e=>{var t=eB(e.target.error);n(t)}})}let Za=!1;function eB(e){let t=ja.xn(z());if(12.2<=t&&t<13){let t="An internal error was encountered in the Indexed Database server";if(0<=e.message.indexOf(t)){let e=new N("internal",`IOS_INDEXEDDB_BUG1: IndexedDb has thrown '${t}'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.`);return Za||(Za=!0,setTimeout(()=>{throw e},0)),e}}return e}let tB="LruGarbageCollector";function rB([e,t],[r,n]){var s=b(e,r);return 0===s?b(t,n):s}class nB{constructor(e){this.Yn=e,this.buffer=new m(rB),this.Zn=0}Xn(){return++this.Zn}er(e){var t=[e,this.Xn()];if(this.buffer.size<this.Yn)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();rB(t,e)<0&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}}class sB{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.tr=null}start(){-1!==this.garbageCollector.params.cacheSizeCollectionThreshold&&this.nr(6e4)}stop(){this.tr&&(this.tr.cancel(),this.tr=null)}get started(){return null!==this.tr}nr(e){d(tB,`Garbage collection scheduled in ${e}ms`),this.tr=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",e,async()=>{this.tr=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(e){Wa(e)?d(tB,"Ignoring IndexedDB error during garbage collection: ",e):await qa(e)}await this.nr(3e5)})}}class iB{constructor(e,t){this.rr=e,this.params=t}calculateTargetCount(e,t){return this.rr.ir(e).next(e=>Math.floor(t/100*e))}nthSequenceNumber(e,t){if(0===t)return k.resolve(Ha.wn);let r=new nB(t);return this.rr.forEachTarget(e,e=>r.er(e.sequenceNumber)).next(()=>this.rr.sr(e,e=>r.er(e))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.rr.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.rr.removeOrphanedDocuments(e,t)}collect(t,r){return-1===this.params.cacheSizeCollectionThreshold?(d("LruGarbageCollector","Garbage collection skipped; disabled"),k.resolve(Pa)):this.getCacheSize(t).next(e=>e<this.params.cacheSizeCollectionThreshold?(d("LruGarbageCollector",`Garbage collection skipped; Cache size ${e} is lower than threshold `+this.params.cacheSizeCollectionThreshold),Pa):this._r(t,r))}getCacheSize(e){return this.rr.getCacheSize(e)}_r(t,r){let n,s,i,a,B,o,u,l=Date.now();return this.calculateTargetCount(t,this.params.percentileToCollect).next(e=>(s=e>this.params.maximumSequenceNumbersToCollect?(d("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from `+e),this.params.maximumSequenceNumbersToCollect):e,a=Date.now(),this.nthSequenceNumber(t,s))).next(e=>(n=e,B=Date.now(),this.removeTargets(t,n,r))).next(e=>(i=e,o=Date.now(),this.removeOrphanedDocuments(t,n))).next(e=>(u=Date.now(),At()<=h.DEBUG&&d("LruGarbageCollector",`LRU Garbage Collection
Counted targets in ${a-l}ms
Determined least recently used ${s} in `+(B-a)+"ms\n"+` Removed ${i} targets in `+(o-B)+"ms\n"+` Removed ${e} documents in `+(u-o)+"ms\n"+`Total Duration: ${u-l}ms`),k.resolve({didRun:!0,sequenceNumbersCollected:s,targetsRemoved:i,documentsRemoved:e})))}}function aB(e,t){return new iB(e,t)}let BB="firestore.googleapis.com";class oB{constructor(e){if(void 0===e.host){if(void 0!==e.ssl)throw new N(w.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=BB,this.ssl=!0}else this.host=e.host,this.ssl=e.ssl??!0;if(this.isUsingEmulator=void 0!==e.emulatorOptions,this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e._customHeaders&&(this._customHeaders={...e._customHeaders}),void 0===e.cacheSizeBytes)this.cacheSizeBytes=41943040;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new N(w.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}tr("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:void 0===e.experimentalAutoDetectLongPolling?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=Da(e.experimentalLongPollingOptions??{});var t=this.experimentalLongPollingOptions;if(void 0!==t.timeoutSeconds){if(isNaN(t.timeoutSeconds))throw new N(w.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (must not be NaN)`);if(t.timeoutSeconds<5)throw new N(w.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (minimum allowed value is 5)`);if(30<t.timeoutSeconds)throw new N(w.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (maximum allowed value is 30)`)}if(this.useFetchStreams=!!e.useFetchStreams,void 0!==e.grpcFlowControlWindow){if("number"!=typeof e.grpcFlowControlWindow||e.grpcFlowControlWindow<=0||2147483647<e.grpcFlowControlWindow||!Number.isInteger(e.grpcFlowControlWindow))throw new N(w.INVALID_ARGUMENT,"grpcFlowControlWindow must be a positive integer and cannot exceed 2147483647");this.grpcFlowControlWindow=e.grpcFlowControlWindow}}isEqual(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&(t=this.experimentalLongPollingOptions,r=e.experimentalLongPollingOptions,t.timeoutSeconds===r.timeoutSeconds)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams&&this.grpcFlowControlWindow===e.grpcFlowControlWindow&&((r,n)=>{if(r!==n){if(!r||!n)return!1;let e=Object.keys(r),t=Object.keys(n);if(e.length!==t.length)return!1;for(let t of e)if(r[t]!==n[t])return!1}return!0})(this._customHeaders,e._customHeaders);var t,r}}let uB=class{constructor(e,t,r,n){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=n,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new oB({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(this._app)return this._app;throw new N(w.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available")}get _initialized(){return this._settingsFrozen}get _terminated(){return"notTerminated"!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new N(w.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 oB(e),this._emulatorOptions=e.emulatorOptions||{},void 0!==e.credentials&&(this._authCredentials=(e=>{if(!e)return new ca;switch(e.type){case"firstParty":return new pa(e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new N(w.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}})(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return"notTerminated"===this._terminateTask&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){"notTerminated"===this._terminateTask?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return e=this,(t=Ga.get(e))&&(d("ComponentProvider","Removing Datastore"),Ga.delete(e),t.terminate()),Promise.resolve();var e,t}};function lB(n,e,t,s={}){n=S(n,uB);let r=ne(e),i=n._getSettings(),a={...i,emulatorOptions:n._getEmulatorOptions()},B=e+":"+t;r&&(async e=>(await fetch(e,{credentials:"include"})).ok)("https://"+B),i.host!==BB&&i.host!==B&&Ot("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.");var o={...i,host:B,ssl:r,emulatorOptions:s};if(!ee(o,a)&&(n._setSettings(o),s.mockUserToken)){let t,r;if("string"==typeof s.mockUserToken)t=s.mockUserToken,r=ua.MOCK_USER;else{t=((e,t)=>{if(e.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');var r=t||"demo-project",n=e.iat||0,s=e.sub||e.user_id;if(s)return r={iss:"https://securetoken.google.com/"+r,aud:r,iat:n,exp:n+3600,auth_time:n,sub:s,user_id:s,firebase:{sign_in_provider:"custom",identities:{}},...e},[V(JSON.stringify({alg:"none",type:"JWT"})),V(JSON.stringify(r)),""].join(".");throw new Error("mockUserToken must contain 'sub' or 'user_id' field!")})(s.mockUserToken,n._app?.options.projectId);let e=s.mockUserToken.sub||s.mockUserToken.user_id;if(!e)throw new N(w.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");r=new ua(e)}n._authCredentials=new Ca(new ha(t,r))}}let hB=class Df{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new Df(this.firestore,e,this._query)}};class G{constructor(e,t,r){this.converter=t,this._key=r,this.type="document",this.firestore=e}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new cB(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new G(this.firestore,e,this._key)}toJSON(){return{type:G._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(e,t,r){if(fr(t,G._jsonSchema))return new G(e,r||null,new A(F.fromString(t.referencePath)))}}G._jsonSchemaVersion="firestore/documentReference/1.0",G._jsonSchema={type:pr("string",G._jsonSchemaVersion),referencePath:pr("string")};class cB extends hB{constructor(e,t,r){super(e,t,ks(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){var e=this._path.popLast();return e.isEmpty()?null:new G(this.firestore,null,new A(e))}withConverter(e){return new cB(this.firestore,e,this._path)}}function CB(t,r,...n){if(t=re(t),er("collection","path",r),t instanceof uB){let e=F.fromString(r,...n);return nr(e),new cB(t,null,e)}var e;if(t instanceof G||t instanceof cB)return nr(e=t._path.child(F.fromString(r,...n))),new cB(t.firestore,null,e);throw new N(w.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function dB(t,r,...n){if(t=re(t),er("doc","path",r=1===arguments.length?Rt.newId():r),t instanceof uB){let e=F.fromString(r,...n);return rr(e),new G(t,null,new A(e))}var e;if(t instanceof G||t instanceof cB)return rr(e=t._path.child(F.fromString(r,...n))),new G(t.firestore,t instanceof cB?t.converter:null,new A(e));throw new N(w.INVALID_ARGUMENT,"Expected first argument to doc() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function gB(e,t){return e=re(e),t=re(t),(e instanceof G||e instanceof cB)&&(t instanceof G||t instanceof cB)&&e.firestore===t.firestore&&e.path===t.path&&e.converter===t.converter}function pB(e,t){return e=re(e),t=re(t),e instanceof hB&&t instanceof hB&&e.firestore===t.firestore&&qs(e._query,t._query)&&e.converter===t.converter}class fB{constructor(e){this._values=(e||[]).map(e=>e)}toArray(){return this._values.map(e=>e)}isEqual(e){var t=this._values,r=e._values;if(t.length!==r.length)return!1;for(let n=0;n<t.length;++n)if(t[n]!==r[n])return!1;return!0}toJSON(){return{type:fB._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(e){if(fr(e,fB._jsonSchema)){if(Array.isArray(e.vectorValues)&&e.vectorValues.every(e=>"number"==typeof e))return new fB(e.vectorValues);throw new N(w.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}}fB._jsonSchemaVersion="firestore/vectorValue/1.0",fB._jsonSchema={type:pr("string",fB._jsonSchemaVersion),vectorValues:pr("object")};let mB=/^__.*__$/;class DB{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return null!==this.fieldMask?new qn(e,this.data,this.fieldMask,t,this.fieldTransforms):new Un(e,this.data,t,this.fieldTransforms)}}class EB{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new qn(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function vB(e){switch(e){case 0:case 2:case 1:return 1;case 3:case 4:return;default:throw T(40011,{dataSource:e})}}class wB{constructor(e,t,r,n,s,i){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=n,void 0===s&&this.validatePath(),this.fieldTransforms=s||[],this.fieldMask=i||[]}get path(){return this.settings.path}get dataSource(){return this.settings.dataSource}contextWith(e){return new wB({...this.settings,...e},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}childContextForField(e){var t=this.path?.child(e),t=this.contextWith({path:t,arrayElement:!1});return t.validatePathSegment(e),t}childContextForFieldPath(e){var t=this.path?.child(e),t=this.contextWith({path:t,arrayElement:!1});return t.validatePath(),t}childContextForArray(e){return this.contextWith({path:void 0,arrayElement:!0})}createError(e){return qB(e,this.settings.methodName,this.settings.hasConverter||!1,this.path,this.settings.targetDoc)}contains(t){return void 0!==this.fieldMask.find(e=>t.isPrefixOf(e))||void 0!==this.fieldTransforms.find(e=>t.isPrefixOf(e.field))}validatePath(){if(this.path)for(let e=0;e<this.path.length;e++)this.validatePathSegment(this.path.get(e))}validatePathSegment(e){if(0===e.length)throw this.createError("Document fields must not be empty");if(vB(this.dataSource)&&mB.test(e))throw this.createError('Document fields cannot begin and end with "__"')}}class yB{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||sa(e)}createContext(e,t,r,n=!1){return new wB({dataSource:e,methodName:t,targetDoc:r,path:Yt.emptyPath(),arrayElement:!1,hasConverter:n},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function _B(e){var t=e._freezeSettings(),r=sa(e._databaseId);return new yB(e._databaseId,!!t.ignoreUndefinedProperties,r)}function IB(e,n,s,t,r,i={}){var a=e.createContext(i.merge||i.mergeFields?2:0,n,s,r),B=(MB("Data must be an object, but it was:",a,t),kB(t,a));let o,u;if(i.merge)o=new Wt(a.fieldMask),u=a.fieldTransforms;else if(i.mergeFields){let t=[];for(let r of i.mergeFields){let e=HB(n,r,s);if(!a.contains(e))throw new N(w.INVALID_ARGUMENT,`Field '${e}' is specified in your field mask but missing from your input data.`);JB(t,e)||t.push(e)}o=new Wt(t),u=a.fieldTransforms.filter(e=>o.covers(e.field))}else o=null,u=a.fieldTransforms;return new DB(new pn(B),o,u)}class TB extends Ba{_toFieldTransform(e){if(2!==e.dataSource)throw 1===e.dataSource?e.createError(this._methodName+"() can only appear at the top level of your update data"):e.createError(this._methodName+"() cannot be used with set() unless you pass {merge:true}");return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof TB}}function bB(e,t,r){return new wB({dataSource:3,targetDoc:t.settings.targetDoc,methodName:e._methodName,arrayElement:r},t.databaseId,t.serializer,t.ignoreUndefinedProperties)}class NB extends Ba{_toFieldTransform(e){return new Ln(e.path,new wn)}isEqual(e){return e instanceof NB}}class FB extends Ba{constructor(e,t){super(e),this.ar=t}_toFieldTransform(e){let t=bB(this,e,!0),r=this.ar.map(e=>RB(e,t)),n=new yn(r);return new Ln(e.path,n)}isEqual(e){return e instanceof FB&&ee(this.ar,e.ar)}}class AB extends Ba{constructor(e,t){super(e),this.ar=t}_toFieldTransform(e){let t=bB(this,e,!0),r=this.ar.map(e=>RB(e,t)),n=new In(r);return new Ln(e.path,n)}isEqual(e){return e instanceof AB&&ee(this.ar,e.ar)}}class SB extends Ba{constructor(e,t){super(e),this.ur=t}_toFieldTransform(e){var t=new Nn(e.serializer,Dn(e.serializer,this.ur));return new Ln(e.path,t)}isEqual(e){return e instanceof SB&&(this.ur===e.ur||Number.isNaN(this.ur)&&Number.isNaN(e.ur))}}function OB(e,s,i,t){let a=e.createContext(1,s,i),B=(MB("Data must be an object, but it was:",a,t),[]),o=pn.empty();$t(t,(e,t)=>{var r=UB(s,e,i),n=(t=re(t),a.childContextForFieldPath(r));if(t instanceof TB)B.push(r);else{let e=RB(t,n);null!=e&&(B.push(r),o.set(r,e))}});var r=new Wt(B);return new EB(o,r,a.fieldTransforms)}function xB(e,t,r,n,s,i){var a=e.createContext(1,t,r),B=[HB(t,n,r)],o=[s];if(i.length%2!=0)throw new N(w.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let C=0;C<i.length;C+=2)B.push(HB(t,i[C])),o.push(i[C+1]);var u=[],l=pn.empty();for(let d=B.length-1;0<=d;--d)if(!JB(u,B[d])){let t=B[d];var h=re(o[d]);let r=a.childContextForFieldPath(t);if(h instanceof TB)u.push(t);else{let e=RB(h,r);null!=e&&(u.push(t),l.set(t,e))}}var c=new Wt(u);return new EB(l,c,a.fieldTransforms)}function LB(e,t,r,n=!1){return RB(r,e.createContext(n?4:3,t))}function RB(e,r){if(PB(e=re(e)))return MB("Unsupported field value:",r,e),kB(e,r);if(e instanceof Ba){{var n=e;var s=r;if(!vB(s.dataSource))throw s.createError(n._methodName+"() can only be used with update() and set()");if(!s.path)throw s.createError(n._methodName+"() is not currently supported inside arrays");var t=n._toFieldTransform(s);t&&s.fieldTransforms.push(t)}return null}if(void 0===e&&r.ignoreUndefinedProperties)return null;if(r.path&&r.fieldMask.push(r.path),e instanceof Array){if(r.settings.arrayElement&&4!==r.dataSource)throw r.createError("Nested arrays are not supported");{var i,a=r,B=[];let t=0;for(i of e){let e=RB(i,a.childContextForArray(t));null==e&&(e={nullValue:"NULL_VALUE"}),B.push(e),t++}return{arrayValue:{values:B}}}}var o,n=e,s=r;if(null===(n=re(n)))return{nullValue:"NULL_VALUE"};if("number"==typeof n)return Dn(s.serializer,n);if("boolean"==typeof n)return{booleanValue:n};if("string"==typeof n)return{stringValue:n};if(n instanceof Date){let e=l.fromDate(n);return{timestampValue:Ti(s.serializer,e)}}if(n instanceof l){let e=new l(n.seconds,1e3*Math.floor(n.nanoseconds/1e3));return{timestampValue:Ti(s.serializer,e)}}if(GB(n)){let e=l.fromInstant(n),t=new l(e.seconds,1e3*Math.floor(e.nanoseconds/1e3));return{timestampValue:Ti(s.serializer,t)}}if(n instanceof oa)return{geoPointValue:{latitude:n.latitude,longitude:n.longitude}};if(n instanceof ia)return{bytesValue:Ni(s.serializer,n._byteString)};if(n instanceof G){let e=s.databaseId,t=n.firestore._databaseId;if(t.isEqual(e))return{referenceValue:Si(n.firestore._databaseId||s.databaseId,n._key.path)};throw s.createError(`Document reference is for database ${t.projectId}/${t.database} but should be for database ${e.projectId}/`+e.database)}if(n instanceof fB)return o=s,t=(e=n)instanceof fB?e.toArray():e,{mapValue:{fields:{[Mr]:{stringValue:Ur},[qr]:{arrayValue:{values:t.map(e=>{if("number"!=typeof e)throw o.createError("VectorValues must only contain numeric values.");return fn(o.serializer,e)})}}}}};if(ta(n))return n._toProto(s.serializer);throw s.createError("Unsupported field value: "+dr(n))}function kB(e,n){let s={};return Zt(e)?n.path&&0<n.path.length&&n.fieldMask.push(n.path):$t(e,(e,t)=>{var r=RB(t,n.childContextForField(e));null!=r&&(s[e]=r)}),{mapValue:{fields:s}}}function GB(e){return"object"==typeof e&&null!==e&&("undefined"!=typeof Temporal&&"function"==typeof Temporal.Instant&&e instanceof Temporal.Instant||"Temporal.Instant"===e[Symbol.toStringTag]&&"bigint"==typeof e.t)}function PB(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof l||e instanceof oa||e instanceof ia||e instanceof G||e instanceof Ba||e instanceof fB||GB(e)||ta(e))}function MB(e,t,r){var n;if(!PB(r)||!sr(r))throw"an object"===(n=dr(r))?t.createError(e+" a custom object"):t.createError(e+" "+n)}function HB(e,t,r){if((t=re(t))instanceof aa)return t._internalPath;if("string"==typeof t)return UB(e,t);throw qB("Field path arguments must be of type string or ",e,!1,void 0,r)}let VB=new RegExp("[~\\*/\\[\\]]");function UB(t,r,n){if(0<=r.search(VB))throw qB(`Invalid field path (${r}). Paths must not contain '~', '*', '/', '[', or ']'`,t,!1,void 0,n);try{return new aa(...r.split("."))._internalPath}catch(e){throw qB(`Invalid field path (${r}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,t,!1,void 0,n)}}function qB(e,t,r,n,s){var i=n&&!n.isEmpty(),a=void 0!==s;let B=`Function ${t}() called with invalid data`,o=(r&&(B+=" (via `toFirestore()`)"),B+=". ","");return(i||a)&&(o+=" (found",i&&(o+=" in field "+n),a&&(o+=" in document "+s),o+=")"),new N(w.INVALID_ARGUMENT,B+e+o)}function JB(e,t){return e.some(e=>e.isEqual(t))}function KB(e){return"function"==typeof e._readUserData}class jB{constructor(e){this.optionDefinitions=e}_getKnownOptions(t,r){var n,s=pn.empty();for(n in this.optionDefinitions)if(this.optionDefinitions.hasOwnProperty(n)){var i=this.optionDefinitions[n];if(n in t){var a=t[n];let e;i.nestedOptions&&sr(a)?e={mapValue:{fields:new jB(i.nestedOptions).getOptionsProto(r,a)}}:a&&(e=RB(a,r)??void 0),e&&s.set(Yt.fromServerFormat(i.serverName),e)}}return s}getOptionsProto(r,e,t){var n=this._getKnownOptions(e,r);if(t){let e=new Map(((e,t)=>{var r,n=[];for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.push(t(e[r],r,e));return n})(t,(e,t)=>[Yt.fromServerFormat(t),void 0!==e?RB(e,r):null]));n.setAll(e)}return n.value.mapValue.fields??{}}}function s(e){return e instanceof YB?e:sr(e)?(e=>{var t,r=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t=e[n],r.push(no(n)),r.push(s(t)));return new i("map",r,"map")})(e):e instanceof Array?((e,t)=>new i("array",e.map(e=>s(e)),t))(e,"array"):so(e,void 0)}function QB(e){if(e instanceof YB)return e;if(e instanceof fB)return no(e);if(Array.isArray(e))return no((t=e,new fB(t)));var t;throw new Error("Unsupported value: "+typeof e)}function zB(e){return("string"==typeof e?to:s)(e)}class YB{constructor(){this._protoValueType="ProtoValue"}add(e){return new i("add",[this,s(e)],"add")}asBoolean(){if(this instanceof io)return this;if(this instanceof ro)return new Bo(this);if(this instanceof eo)return new oo(this);if(this instanceof i)return new ao(this);throw new N("invalid-argument",`Conversion of type ${typeof this} to BooleanExpression not supported.`)}subtract(e){return new i("subtract",[this,s(e)],"subtract")}multiply(e){return new i("multiply",[this,s(e)],"multiply")}divide(e){return new i("divide",[this,s(e)],"divide")}mod(e){return new i("mod",[this,s(e)],"mod")}equal(e){return new i("equal",[this,s(e)],"equal").asBoolean()}notEqual(e){return new i("not_equal",[this,s(e)],"notEqual").asBoolean()}lessThan(e){return new i("less_than",[this,s(e)],"lessThan").asBoolean()}lessThanOrEqual(e){return new i("less_than_or_equal",[this,s(e)],"lessThanOrEqual").asBoolean()}greaterThan(e){return new i("greater_than",[this,s(e)],"greaterThan").asBoolean()}greaterThanOrEqual(e){return new i("greater_than_or_equal",[this,s(e)],"greaterThanOrEqual").asBoolean()}arrayConcat(e,...t){var r=[e,...t].map(e=>s(e));return new i("array_concat",[this,...r],"arrayConcat")}arrayContains(e){return new i("array_contains",[this,s(e)],"arrayContains").asBoolean()}arrayContainsAll(e){var t=Array.isArray(e)?new ZB(e.map(s),"arrayContainsAll"):e;return new i("array_contains_all",[this,t],"arrayContainsAll").asBoolean()}arrayContainsAny(e){var t=Array.isArray(e)?new ZB(e.map(s),"arrayContainsAny"):e;return new i("array_contains_any",[this,t],"arrayContainsAny").asBoolean()}arrayReverse(){return new i("array_reverse",[this])}arrayLength(){return new i("array_length",[this],"arrayLength")}equalAny(e){var t=Array.isArray(e)?new ZB(e.map(s),"equalAny"):e;return new i("equal_any",[this,t],"equalAny").asBoolean()}notEqualAny(e){var t=Array.isArray(e)?new ZB(e.map(s),"notEqualAny"):e;return new i("not_equal_any",[this,t],"notEqualAny").asBoolean()}exists(){return new i("exists",[this],"exists").asBoolean()}charLength(){return new i("char_length",[this],"charLength")}like(e){return new i("like",[this,s(e)],"like").asBoolean()}regexContains(e){return new i("regex_contains",[this,s(e)],"regexContains").asBoolean()}regexFind(e){return new i("regex_find",[this,s(e)],"regexFind")}regexFindAll(e){return new i("regex_find_all",[this,s(e)],"regexFindAll")}regexMatch(e){return new i("regex_match",[this,s(e)],"regexMatch").asBoolean()}stringContains(e){return new i("string_contains",[this,s(e)],"stringContains").asBoolean()}startsWith(e){return new i("starts_with",[this,s(e)],"startsWith").asBoolean()}endsWith(e){return new i("ends_with",[this,s(e)],"endsWith").asBoolean()}toLower(){return new i("to_lower",[this],"toLower")}toUpper(){return new i("to_upper",[this],"toUpper")}trim(e){var t=[this];return e&&t.push(s(e)),new i("trim",t,"trim")}ltrim(e){var t=[this];return e&&t.push(s(e)),new i("ltrim",t,"ltrim")}rtrim(e){var t=[this];return e&&t.push(s(e)),new i("rtrim",t,"rtrim")}type(){return new i("type",[this])}isType(e){return new i("is_type",[this,no(e)],"isType").asBoolean()}stringConcat(e,...t){var r=[e,...t].map(s);return new i("string_concat",[this,...r],"stringConcat")}stringIndexOf(e){return new i("string_index_of",[this,s(e)],"stringIndexOf")}stringRepeat(e){return new i("string_repeat",[this,s(e)],"stringRepeat")}stringReplaceAll(e,t){return new i("string_replace_all",[this,s(e),s(t)],"stringReplaceAll")}stringReplaceOne(e,t){return new i("string_replace_one",[this,s(e),s(t)],"stringReplaceOne")}concat(e,...t){var r=[e,...t].map(s);return new i("concat",[this,...r],"concat")}reverse(){return new i("reverse",[this],"reverse")}arrayFilter(e,t){return new i("array_filter",[this,s(e),t],"arrayFilter")}arrayTransform(e,t){return new i("array_transform",[this,s(e),t],"arrayTransform")}arrayTransformWithIndex(e,t,r){return new i("array_transform",[this,s(e),s(t),r],"arrayTransformWithIndex")}arraySlice(e,t){var r=[this,s(e)];return void 0!==t&&r.push(s(t)),new i("array_slice",r,"arraySlice")}arrayFirst(){return new i("array_first",[this],"arrayFirst")}arrayFirstN(e){return new i("array_first_n",[this,s(e)],"arrayFirstN")}arrayLast(){return new i("array_last",[this],"arrayLast")}arrayLastN(e){return new i("array_last_n",[this,s(e)],"arrayLastN")}arrayMaximum(){return new i("maximum",[this],"arrayMaximum")}arrayMaximumN(e){return new i("maximum_n",[this,s(e)],"arrayMaximumN")}arrayMinimum(){return new i("minimum",[this],"arrayMinimum")}arrayMinimumN(e){return new i("minimum_n",[this,s(e)],"arrayMinimumN")}arrayIndexOf(e){return new i("array_index_of",[this,s(e),s("first")],"arrayIndexOf")}arrayLastIndexOf(e){return new i("array_index_of",[this,s(e),s("last")],"arrayLastIndexOf")}arrayIndexOfAll(e){return new i("array_index_of_all",[this,s(e)],"arrayIndexOfAll")}byteLength(){return new i("byte_length",[this],"byteLength")}ceil(){return new i("ceil",[this])}floor(){return new i("floor",[this])}abs(){return new i("abs",[this])}exp(){return new i("exp",[this])}mapGet(e){return new i("map_get",[this,no(e)],"mapGet")}mapSet(e,t,...r){var n=[this,s(e),s(t),...r.map(s)];return new i("map_set",n,"mapSet")}mapKeys(){return new i("map_keys",[this],"mapKeys")}mapValues(){return new i("map_values",[this],"mapValues")}mapEntries(){return new i("map_entries",[this],"mapEntries")}getField(e){return new i("get_field",[this,s(e)],"get_field")}count(){return WB._create("count",[this],"count")}sum(){return WB._create("sum",[this],"sum")}average(){return WB._create("average",[this],"average")}minimum(){return WB._create("minimum",[this],"minimum")}maximum(){return WB._create("maximum",[this],"maximum")}first(){return WB._create("first",[this],"first")}last(){return WB._create("last",[this],"last")}arrayAgg(){return WB._create("array_agg",[this],"arrayAgg")}arrayAggDistinct(){return WB._create("array_agg_distinct",[this],"arrayAggDistinct")}countDistinct(){return WB._create("count_distinct",[this],"countDistinct")}logicalMaximum(e,...t){var r=[e,...t];return new i("maximum",[this,...r.map(s)],"logicalMaximum")}logicalMinimum(e,...t){var r=[e,...t];return new i("minimum",[this,...r.map(s)],"minimum")}vectorLength(){return new i("vector_length",[this],"vectorLength")}cosineDistance(e){return new i("cosine_distance",[this,QB(e)],"cosineDistance")}dotProduct(e){return new i("dot_product",[this,QB(e)],"dotProduct")}euclideanDistance(e){return new i("euclidean_distance",[this,QB(e)],"euclideanDistance")}unixMicrosToTimestamp(){return new i("unix_micros_to_timestamp",[this],"unixMicrosToTimestamp")}timestampToUnixMicros(){return new i("timestamp_to_unix_micros",[this],"timestampToUnixMicros")}unixMillisToTimestamp(){return new i("unix_millis_to_timestamp",[this],"unixMillisToTimestamp")}timestampToUnixMillis(){return new i("timestamp_to_unix_millis",[this],"timestampToUnixMillis")}unixSecondsToTimestamp(){return new i("unix_seconds_to_timestamp",[this],"unixSecondsToTimestamp")}timestampToUnixSeconds(){return new i("timestamp_to_unix_seconds",[this],"timestampToUnixSeconds")}timestampAdd(e,t){return new i("timestamp_add",[this,s(e),s(t)],"timestampAdd")}timestampSubtract(e,t){return new i("timestamp_subtract",[this,s(e),s(t)],"timestampSubtract")}timestampDiff(e,t){return new i("timestamp_diff",[this,zB(e),s(t)],"timestampDiff")}timestampExtract(e,t){var r=[this,s(e)];return t&&r.push(s(t)),new i("timestamp_extract",r,"timestampExtract")}documentId(){return new i("document_id",[this],"documentId")}parent(){return new i("parent",[this],"parent")}substring(e,t){var r=s(e);return new i("substring",void 0===t?[this,r]:[this,r,s(t)],"substring")}arrayGet(e){return new i("array_get",[this,s(e)],"arrayGet")}isError(){return new i("is_error",[this],"isError").asBoolean()}ifError(e){var t=new i("if_error",[this,s(e)],"ifError");return e instanceof io?t.asBoolean():t}isAbsent(){return new i("is_absent",[this],"isAbsent").asBoolean()}mapRemove(e){return new i("map_remove",[this,s(e)],"mapRemove")}mapMerge(e,...t){var r=s(e),n=t.map(s);return new i("map_merge",[this,r,...n],"mapMerge")}pow(e){return new i("pow",[this,s(e)])}trunc(e){return void 0===e?new i("trunc",[this]):new i("trunc",[this,s(e)],"trunc")}round(e){return void 0===e?new i("round",[this]):new i("round",[this,s(e)],"round")}collectionId(){return new i("collection_id",[this])}length(){return new i("length",[this])}ln(){return new i("ln",[this])}sqrt(){return new i("sqrt",[this])}stringReverse(){return new i("string_reverse",[this])}ifAbsent(e){return new i("if_absent",[this,s(e)],"ifAbsent")}ifNull(e){return new i("if_null",[this,s(e)],"ifNull")}coalesce(e,...t){return new i("coalesce",[this,s(e),...t.map(s)],"coalesce")}join(e){return new i("join",[this,s(e)],"join")}log10(){return new i("log10",[this])}arraySum(){return new i("sum",[this])}split(e){return new i("split",[this,s(e)])}timestampTruncate(e,t){var r=[this,s(e)];return t&&r.push(s(t)),new i("timestamp_trunc",r)}ascending(){return new uo(zB(this),"ascending","ascending")}descending(){return new uo(zB(this),"descending","descending")}as(e){return new $B(this,e,"as")}}class WB{constructor(e,t){this.name=e,this.params=t,this.exprType="AggregateFunction",this._protoValueType="ProtoValue"}static _create(e,t,r){var n=new WB(e,t);return n._methodName=r,n}as(e){return new XB(this,e,"as")}_toProto(t){return{functionValue:{name:this.name,args:this.params.map(e=>e._toProto(t))}}}_readUserData(t){t=this._methodName?t.contextWith({methodName:this._methodName}):t,this.params.forEach(e=>e._readUserData(t))}}class XB{constructor(e,t,r){this.aggregate=e,this.alias=t,this._methodName=r}_readUserData(e){this.aggregate._readUserData(e)}}class $B{constructor(e,t,r){this.expr=e,this.alias=t,this._methodName=r,this.exprType="AliasedExpression",this.selectable=!0}_readUserData(e){this.expr._readUserData(e)}}class ZB extends YB{constructor(e,t){super(),this.cr=e,this._methodName=t,this.expressionType="ListOfExpressions"}_toProto(t){return{arrayValue:{values:this.cr.map(e=>e._toProto(t))}}}_readUserData(t){this.cr.forEach(e=>e._readUserData(t))}}class eo extends YB{constructor(e,t){super(),this.fieldPath=e,this._methodName=t,this.expressionType="Field",this.selectable=!0}get _fieldPath(){return this.fieldPath}get fieldName(){return this.fieldPath.canonicalString()}get alias(){return this.fieldName}get expr(){return this}geoDistance(e){return new i("geo_distance",[this,s(e)],"geoDistance")}_toProto(e){return{fieldReferenceValue:this.fieldPath.canonicalString()}}_readUserData(e){}}function to(e){return e=e,t="field",new eo("string"==typeof e?jt===e?new aa(jt)._internalPath:HB("field",e):e._internalPath,t);var t}class ro extends YB{constructor(e,t){super(),this.value=e,this._methodName=t,this.expressionType="Constant"}static _fromProto(e){var t=new ro(e,void 0);return t._protoValue=e,t}_toProto(e){return f(void 0!==this._protoValue,237),this._protoValue}_getValue(){return this._protoValue}_readUserData(e){var t,r,n,s;e=this._methodName?e.contextWith({methodName:this._methodName}):e,"object"==typeof(t=this._protoValue)&&null!==t&&("nullValue"in t&&(null===t.nullValue||"NULL_VALUE"===t.nullValue)||"booleanValue"in t&&(null===t.booleanValue||"boolean"==typeof t.booleanValue)||"integerValue"in t&&(null===t.integerValue||"number"==typeof t.integerValue||"string"==typeof t.integerValue)||"doubleValue"in t&&(null===t.doubleValue||"number"==typeof t.doubleValue)||"timestampValue"in t&&(null===t.timestampValue||"object"==typeof(s=t.timestampValue)&&null!==s&&"seconds"in s&&(null===s.seconds||"number"==typeof s.seconds||"string"==typeof s.seconds)&&"nanos"in s&&(null===s.nanos||"number"==typeof s.nanos))||"stringValue"in t&&(null===t.stringValue||"string"==typeof t.stringValue)||"bytesValue"in t&&(null===t.bytesValue||t.bytesValue instanceof Uint8Array)||"referenceValue"in t&&(null===t.referenceValue||"string"==typeof t.referenceValue)||"geoPointValue"in t&&(null===t.geoPointValue||"object"==typeof(s=t.geoPointValue)&&null!==s&&"latitude"in s&&(null===s.latitude||"number"==typeof s.latitude)&&"longitude"in s&&(null===s.longitude||"number"==typeof s.longitude))||"arrayValue"in t&&(null===t.arrayValue||"object"==typeof(n=t.arrayValue)&&null!==n&&"values"in n&&(null===n.values||Array.isArray(n.values)))||"mapValue"in t&&(null===t.mapValue||"object"==typeof(n=t.mapValue)&&null!==n&&"fields"in n&&(null===n.fields||sr(n.fields)))||"fieldReferenceValue"in t&&(null===t.fieldReferenceValue||"string"==typeof t.fieldReferenceValue)||"functionValue"in t&&(null===t.functionValue||"object"==typeof(r=t.functionValue)&&null!==r&&"name"in r&&(null===r.name||"string"==typeof r.name)&&"args"in r&&(null===r.args||Array.isArray(r.args)))||"pipelineValue"in t&&(null===t.pipelineValue||"object"==typeof(r=t.pipelineValue)&&null!==r&&"stages"in r&&(null===r.stages||Array.isArray(r.stages))))||(this._protoValue=RB(this.value,e))}}function no(e){return so(e,"constant")}function so(e,t){var r=new ro(e,t);return"boolean"==typeof e?new Bo(r):r}class i extends YB{constructor(e,t,r,n){super(),this.name=e,this.params=t,this.expressionType="Function",(this._optionsProto=void 0)!==r&&(this._methodName=r),void 0!==n&&(this._options=n)}get _optionsUtil(){return new jB({})}_toProto(t){var e={functionValue:{name:this.name,args:this.params.map(e=>e._toProto(t))}};return this._optionsProto&&(e.functionValue.options=this._optionsProto),e}_readUserData(t){t=this._methodName?t.contextWith({methodName:this._methodName}):t,this.params.forEach(e=>e._readUserData(t)),this._options&&(this._optionsProto=this._optionsUtil.getOptionsProto(t,this._options))}}class io extends YB{get _methodName(){return this._expr._methodName}countIf(){return WB._create("count_if",[this],"countIf")}not(){return new i("not",[this],"not").asBoolean()}conditional(e,t){return new i("conditional",[this,e,t],"conditional")}ifError(e){var t=s(e),r=new i("if_error",[this,t],"ifError");return t instanceof io?r.asBoolean():r}_toProto(e){return this._expr._toProto(e)}_readUserData(e){this._expr._readUserData(e)}}class ao extends io{constructor(e){super(),this._expr=e,this.expressionType="Function"}}class Bo extends io{constructor(e){super(),this._expr=e,this.expressionType="Constant"}_getValue(){return this._expr._getValue()}}class oo extends io{constructor(e){super(),this._expr=e,this.expressionType="Field"}}class uo{constructor(e,t,r){this.expr=e,this.direction=t,this._methodName=r,this._protoValueType="ProtoValue"}_toProto(e){return{mapValue:{fields:{direction:na(this.direction),expression:this.expr._toProto(e)}}}}_readUserData(e){this.expr._readUserData(e)}}class lo{constructor(e){this.optionsProto=void 0,{rawOptions:this.rawOptions,...this.knownOptions}=e}_readUserData(e){this.optionsProto=this._optionsUtil.getOptionsProto(e,this.knownOptions,this.rawOptions)}_toProto(e){return{name:this._name,options:this.optionsProto}}}class ho extends lo{get _name(){return"add_fields"}get _optionsUtil(){return new jB({})}constructor(e,t){super(t),this.fields=e}_toProto(e){return{...super._toProto(e),args:[ra(e,this.fields)]}}_readUserData(e){super._readUserData(e),_o(this.fields,e)}}class co extends lo{get _name(){return"aggregate"}get _optionsUtil(){return new jB({})}constructor(e,t,r){super(r),this.groups=e,this.accumulators=t}_toProto(e){return{...super._toProto(e),args:[ra(e,this.accumulators),ra(e,this.groups)]}}_readUserData(e){super._readUserData(e),_o(this.groups,e),_o(this.accumulators,e)}}class Co extends lo{get _name(){return"distinct"}get _optionsUtil(){return new jB({})}constructor(e,t){super(t),this.groups=e}_toProto(e){return{...super._toProto(e),args:[ra(e,this.groups)]}}_readUserData(e){super._readUserData(e),_o(this.groups,e)}}class go extends lo{get _name(){return"collection"}get _optionsUtil(){return new jB({forceIndex:{serverName:"force_index"}})}constructor(e,t){super(t),this.hr=e.startsWith("/")?e:"/"+e}_toProto(e){return{...super._toProto(e),args:[{referenceValue:this.hr}]}}_readUserData(e){super._readUserData(e)}}class po extends lo{get _name(){return"collection_group"}get _optionsUtil(){return new jB({forceIndex:{serverName:"force_index"}})}constructor(e,t){super(t),this.collectionId=e}_toProto(e){return{...super._toProto(e),args:[{referenceValue:""},{stringValue:this.collectionId}]}}_readUserData(e){super._readUserData(e)}}class fo extends lo{get _name(){return"database"}get _optionsUtil(){return new jB({})}_toProto(e){return{...super._toProto(e)}}_readUserData(e){super._readUserData(e)}}class mo extends lo{get _name(){return"documents"}get _optionsUtil(){return new jB({})}constructor(e,t){if(super(t),!e||0===e.length)throw new N(w.INVALID_ARGUMENT,"Empty document paths are not allowed in DocumentsSource");var r=e.map(e=>e.startsWith("/")?e:"/"+e),n=new Set(r);if(n.size!==r.length)throw new N(w.INVALID_ARGUMENT,"Duplicate document paths are not allowed in DocumentsSource");this.Tr=r,this.Pr=n}_toProto(e){return{...super._toProto(e),args:this.Tr.map(e=>({referenceValue:e}))}}_readUserData(e){super._readUserData(e)}}class Do extends lo{get _name(){return"where"}get _optionsUtil(){return new jB({})}constructor(e,t){super(t),this.condition=e}_toProto(e){return{...super._toProto(e),args:[this.condition._toProto(e)]}}_readUserData(e){super._readUserData(e),_o(this.condition,e)}}class Eo extends lo{get _name(){return"limit"}get _optionsUtil(){return new jB({})}constructor(e,t){f(!isNaN(e)&&e!==1/0&&e!==-1/0,34860),super(t),this.limit=e}_toProto(e){return{...super._toProto(e),args:[Dn(e,this.limit)]}}}class vo extends lo{get _name(){return"select"}get _optionsUtil(){return new jB({})}constructor(e,t){super(t),this.selections=e}_toProto(e){return{...super._toProto(e),args:[ra(e,this.selections)]}}_readUserData(e){super._readUserData(e),_o(this.selections,e)}}class wo extends lo{get _name(){return"sort"}get _optionsUtil(){return new jB({})}constructor(e,t){super(t),this.orderings=e}_toProto(t){return{...super._toProto(t),args:this.orderings.map(e=>e._toProto(t))}}_readUserData(e){super._readUserData(e),_o(this.orderings,e)}}class yo extends lo{get _name(){return"replace_with"}get _optionsUtil(){return new jB({})}constructor(e,t){super(t),this.map=e}_toProto(e){return{...super._toProto(e),args:[this.map._toProto(e),na(yo.Ir)]}}_readUserData(e){super._readUserData(e),_o(this.map,e)}}function _o(e,t){KB(e)?e._readUserData(t):Array.isArray(e)?e.forEach(e=>e._readUserData(t)):e instanceof Map?e.forEach(e=>e._readUserData(t)):Object.values(e).forEach(e=>e._readUserData(t))}yo.Ir="full_replace";class Io{constructor(e,t,r){this.serializer=e,this.stages=t,this.listenOptions=r,this.isCorePipeline=!0}getPipelineCollection(){return bo(this)}getPipelineCollectionGroup(){return No(this)}getPipelineCollectionId(){return Fo(this)}getPipelineDocuments(){return Ao(this)}getPipelineFlavor(){{var n=this;let r="exact";return n.stages.forEach((e,t)=>{e._name!==Co.name&&e._name!==co.name||(r="keyless"),e._name===vo.name&&"exact"===r&&(r="augmented"),e._name===ho.name&&t<n.stages.length-1&&"exact"===r&&(r="augmented")}),r}}getPipelineSourceType(){return To(this)}}function To(e){var t=e.stages[0];return t instanceof go||t instanceof po||t instanceof fo||t instanceof mo?t._name:"unknown"}function bo(e){if("collection"===To(e))return e.stages[0].hr}function No(e){if("collection_group"===To(e))return e.stages[0].collectionId}function Fo(e){switch(To(e)){case"collection":return F.fromString(bo(e)).lastSegment();case"collection_group":return No(e);default:return}}function Ao(e){if("documents"===To(e))return e.stages[0].Tr}class u{constructor(e,t){this.type=e,this.value=t}static mr(){return new u("ERROR",void 0)}static pr(){return new u("UNSET",void 0)}static gr(){return new u("NULL",Jr)}static newValue(e){return an(e)?new u("NULL",Jr):(t=e)&&"booleanValue"in t?new u("BOOLEAN",e):tn(e)?new u("INT",e):rn(e)?new u("DOUBLE",e):(t=e)&&"timestampValue"in t&&t.timestampValue?new u("TIMESTAMP",e):(t=e)&&"stringValue"in t?new u("STRING",e):(t=e)&&"bytesValue"in t?new u("BYTES",e):e.referenceValue?new u("REFERENCE",e):e.geoPointValue?new u("GEO_POINT",e):sn(e)?new u("ARRAY",e):un(e)?new u("VECTOR",e):on(e)?new u("MAP",e):new u("ERROR",void 0);var t}yr(){return"ERROR"===this.type||"UNSET"===this.type}wr(){return"NULL"===this.type}}function So(e){if(!e.yr())return e.value}function Oo(e){return e instanceof io?e._expr:e}function P(e){if((e=Oo(e))instanceof eo)return new xo(e);if(e instanceof ro)return new Lo(e);if(e instanceof ZB)return new Ro(e);if(e instanceof i){if("add"===e.name)return new Uo(e);if("subtract"===e.name)return new qo(e);if("multiply"===e.name)return new Jo(e);if("divide"===e.name)return new Ko(e);if("mod"===e.name)return new jo(e);if("and"===e.name)return new Qo(e);if("equal"===e.name)return new uu(e);if("not_equal"===e.name)return new lu(e);if("less_than"===e.name)return new hu(e);if("less_than_or_equal"===e.name)return new cu(e);if("greater_than"===e.name)return new Cu(e);if("greater_than_or_equal"===e.name)return new du(e);if("array_concat"===e.name)return new gu(e);if("array_reverse"===e.name)return new pu(e);if("array_contains"===e.name)return new fu(e);if("array_contains_all"===e.name)return new mu(e);if("array_contains_any"===e.name)return new Du(e);if("array_length"===e.name)return new Eu(e);if("array_element"===e.name)return new vu(e);if("equal_any"===e.name)return new Xo(e);if("not_equal_any"===e.name)return new $o(e);if("is_nan"===e.name)return new Zo(e);if("is_not_nan"===e.name)return new eu(e);if("is_null"===e.name)return new tu(e);if("is_not_null"===e.name)return new ru(e);if("is_error"===e.name)return new nu(e);if("exists"===e.name)return new su(e);if("not"===e.name)return new zo(e);if("or"===e.name)return new Yo(e);if("xor"===e.name)return new Wo(e);if("conditional"===e.name)return new iu(e);if("maximum"===e.name)return new au(e);if("minimum"===e.name)return new Bu(e);if("reverse"===e.name)return new wu(e);if("replace_first"===e.name)return new yu(e);if("replace_all"===e.name)return new _u(e);if("char_length"===e.name)return new Iu(e);if("byte_length"===e.name)return new Tu(e);if("like"===e.name)return new Nu(e);if("regex_contains"===e.name)return new Fu(e);if("regex_match"===e.name)return new Au(e);if("string_contains"===e.name)return new Su(e);if("starts_with"===e.name)return new Ou(e);if("ends_with"===e.name)return new xu(e);if("to_lower"===e.name)return new Lu(e);if("to_upper"===e.name)return new Ru(e);if("trim"===e.name)return new ku(e);if("string_concat"===e.name)return new Gu(e);if("map_get"===e.name)return new Pu(e);if("cosine_distance"===e.name)return new Hu(e);if("dot_product"===e.name)return new Vu(e);if("euclidean_distance"===e.name)return new Uu(e);if("vector_length"===e.name)return new qu(e);if("unix_micros_to_timestamp"===e.name)return new sl(e);if("timestamp_to_unix_micros"===e.name)return new ol(e);if("unix_millis_to_timestamp"===e.name)return new il(e);if("timestamp_to_unix_millis"===e.name)return new ul(e);if("unix_seconds_to_timestamp"===e.name)return new al(e);if("timestamp_to_unix_seconds"===e.name)return new ll(e);if("timestamp_add"===e.name)return new cl(e);if("timestamp_subtract"===e.name)return new Cl(e)}throw new Error("Unknown Expr : "+e)}class xo{constructor(e){this.expr=e}evaluate(e,t){var r;return this.expr.fieldName===jt?u.newValue({referenceValue:Li(e.serializer,t.key)}):"__update_time__"===this.expr.fieldName?u.newValue({timestampValue:Fi(e.serializer,t.version)}):"__create_time__"===this.expr.fieldName?u.newValue({timestampValue:Fi(e.serializer,t.createTime)}):(r=t.data.field(this.expr._fieldPath))?Fr(r)?u.newValue(((e,t)=>{if("estimate"===e.serverTimestampBehavior)return{timestampValue:Fi(e.serializer,L.fromTimestamp(Sr(t)))};if("previous"===e.serverTimestampBehavior){let e=Ar(t);if(e)return e}return{nullValue:"NULL_VALUE"}})(e,r)):u.newValue(r):u.pr()}}class Lo{constructor(e){this.expr=e}evaluate(e,t){return u.newValue(this.expr._getValue())}}class Ro{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.cr.map(e=>P(e).evaluate(t,r));return e.some(e=>e.yr())?u.mr():u.newValue({arrayValue:{values:e.map(e=>e.value)}})}}function ko(e){return rn(e)?Number(e.doubleValue):Number(e.integerValue)}function Go(e){return BigInt(e.integerValue)}let Po=BigInt("0x7fffffffffffffff"),Mo=-BigInt("0x8000000000000000");class Ho{constructor(e){this.expr=e}evaluate(t,r){f(2<=this.expr.params.length,24778);let n=P(this.expr.params[0]).evaluate(t,r),e=P(this.expr.params[1]).evaluate(t,r),s=this.br(n,e);for(let n of this.expr.params.slice(2)){let e=P(n).evaluate(t,r);s=this.br(s,e)}return s}br(e,t){if(!e.yr()&&!t.yr()){if(e.wr()||t.wr())return u.gr();var r=e.value,n=t.value;if((rn(r)||tn(r))&&(rn(n)||tn(n))){if(rn(r)||rn(n)){let e=this.Sr(r,n);return e?u.newValue(e):u.mr()}if(tn(r)&&tn(n)){let e=this.vr(r,n);return void 0===e?u.mr():"number"==typeof e?u.newValue({doubleValue:e}):e<Mo||e>Po?u.mr():u.newValue({integerValue:""+e})}}}return u.mr()}}function Vo(r,n){{if(Qr(r)!==Qr(n))return"TYPE_MISMATCH";if(Bn(r)||Bn(n))return"NOT_EQ";if(an(r)&&an(n))return"EQ";if(an(r)||an(n))return"NULL";if(sn(r)&&sn(n)){var s=r.arrayValue,i=n.arrayValue;if(s.values?.length!==i.values?.length)return"NOT_EQ";let e=!1;for(let t=0;t<(s.values?.length??0);t++){var a=s.values[t],B=i.values[t];switch(Vo(a,B)){case"EQ":break;case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":e=!0;break;default:T(44609,{Dr:a,Cr:B})}}return e?"NULL":"EQ"}if(un(r)&&un(n)||on(r)&&on(n)){var o=r.mapValue,u=n.mapValue,l=o.fields||{},h=u.fields||{};if(Xt(l)!==Xt(h))return"NOT_EQ";let e=!1;for(let t in l)if(l.hasOwnProperty(t)){if(void 0===h[t])return"NOT_EQ";switch(Vo(l[t],h[t])){case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":e=!0}}return e?"NULL":"EQ"}return zr(r,n,{u:!1,i:!0,o:!0})?"EQ":"NOT_EQ"}}class Uo extends Ho{vr(e,t){return Go(e)+Go(t)}Sr(e,t){return{doubleValue:ko(e)+ko(t)}}}class qo extends Ho{constructor(e){super(e),this.expr=e}vr(e,t){return Go(e)-Go(t)}Sr(e,t){return{doubleValue:ko(e)-ko(t)}}}class Jo extends Ho{constructor(e){super(e),this.expr=e}vr(e,t){return Go(e)*Go(t)}Sr(e,t){return{doubleValue:ko(e)*ko(t)}}}class Ko extends Ho{constructor(e){super(e),this.expr=e}vr(e,t){var r=Go(t);if(r!==BigInt(0))return Go(e)/r}Sr(e,t){var r=ko(t);return 0===r?{doubleValue:Gr(r)?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY}:{doubleValue:ko(e)/r}}}class jo extends Ho{constructor(e){super(e),this.expr=e}vr(e,t){var r=Go(t);if(r!==BigInt(0))return Go(e)%r}Sr(e,t){var r=ko(t);if(0!==r)return{doubleValue:ko(e)%r}}}class Qo{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(var s of this.expr.params){var i=P(s).evaluate(e,t);switch(i.type){case"BOOLEAN":if(i.value?.booleanValue)break;return u.newValue(jr);case"NULL":n=!0;break;default:r=!0}}return r?u.mr():n?u.gr():u.newValue(Kr)}}class zo{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,9634);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return u.newValue({booleanValue:!r.value?.booleanValue});case"NULL":return u.gr();default:return u.mr()}}}class Yo{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(var s of this.expr.params){var i=P(s).evaluate(e,t);switch(i.type){case"BOOLEAN":if(i.value?.booleanValue)return u.newValue(Kr);break;case"NULL":n=!0;break;default:r=!0}}return r?u.mr():n?u.gr():u.newValue(jr)}}class Wo{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(var s of this.expr.params){var i=P(s).evaluate(e,t);switch(i.type){case"BOOLEAN":r=Wo.xor(r,!!i.value?.booleanValue);break;case"NULL":n=!0;break;default:return u.mr()}}return n?u.gr():u.newValue({booleanValue:r})}static xor(e,t){return(e||t)&&!(e&&t)}}class Xo{constructor(e){this.expr=e}evaluate(e,t){f(2===this.expr.params.length,55094);let r=!1;var n=P(this.expr.params[0]).evaluate(e,t);switch(n.type){case"NULL":r=!0;break;case"ERROR":case"UNSET":return u.mr()}var s=P(this.expr.params[1]).evaluate(e,t);switch(s.type){case"ARRAY":break;case"NULL":r=!0;break;default:return u.mr()}if(r)return u.gr();for(let e of s.value?.arrayValue?.values??[])switch(an(n.value)&&an(e)?"EQ":Vo(n.value,e)){case"EQ":return u.newValue(Kr);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:T(44608,{value:n.value,candidate:e})}return r?u.gr():u.newValue(jr)}}class $o{constructor(e){this.expr=e}evaluate(e,t){return new zo(new i("not",[new i("equal_any",this.expr.params)])).evaluate(e,t)}}class Zo{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,23322);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return u.newValue(jr);case"DOUBLE":return u.newValue({booleanValue:isNaN(ko(r.value))});case"NULL":return u.gr();default:return u.mr()}}}class eu{constructor(e){this.expr=e}evaluate(e,t){return f(1===this.expr.params.length,50406),new zo(new i("not",[new i("is_nan",this.expr.params)])).evaluate(e,t)}}class tu{constructor(e){this.expr=e}evaluate(e,t){switch(f(1===this.expr.params.length,23123),P(this.expr.params[0]).evaluate(e,t).type){case"NULL":return u.newValue(Kr);case"UNSET":case"ERROR":return u.mr();default:return u.newValue(jr)}}}class ru{constructor(e){this.expr=e}evaluate(e,t){return f(1===this.expr.params.length,23167),new zo(new i("not",[new i("is_null",this.expr.params)])).evaluate(e,t)}}class nu{constructor(e){this.expr=e}evaluate(e,t){return f(1===this.expr.params.length,5228),"ERROR"===P(this.expr.params[0]).evaluate(e,t).type?u.newValue(Kr):u.newValue(jr)}}class su{constructor(e){this.expr=e}evaluate(e,t){switch(f(1===this.expr.params.length,6877),P(this.expr.params[0]).evaluate(e,t).type){case"ERROR":return u.mr();case"UNSET":return u.newValue(jr);default:return u.newValue(Kr)}}}class iu{constructor(e){this.expr=e}evaluate(e,t){f(3===this.expr.params.length,11706);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return(r.value?.booleanValue?P(this.expr.params[1]):P(this.expr.params[2])).evaluate(e,t);case"NULL":return P(this.expr.params[2]).evaluate(e,t);default:return u.mr()}}}class au{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.params.map(e=>P(e).evaluate(t,r));let n;for(let t of e)switch(t.type){case"ERROR":case"UNSET":case"NULL":continue;default:n=void 0===n||0<Wr(t.value,n.value)?t:n}return void 0===n?u.gr():n}}class Bu{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.params.map(e=>P(e).evaluate(t,r));let n;for(let t of e)switch(t.type){case"ERROR":case"UNSET":case"NULL":continue;default:n=void 0===n||Wr(t.value,n.value)<0?t:n}return void 0===n?u.gr():n}}class ou{constructor(e){this.expr=e}evaluate(e,t){f(2===this.expr.params.length,31033,this.expr.name+"() function should have exactly 2 params");var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"ERROR":case"UNSET":return u.mr()}var n=P(this.expr.params[1]).evaluate(e,t);switch(n.type){case"ERROR":case"UNSET":return u.mr()}return this.Fr(r,n)}}class uu extends ou{constructor(e){super(e),this.expr=e}Fr(e,t){if(e.wr()&&t.wr())return u.newValue(Kr);if(e.wr()||t.wr())return u.newValue(jr);if(Bn(e.value)||Bn(t.value))return u.newValue(jr);if(Qr(e.value)!==Qr(t.value))return u.newValue(jr);switch(Vo(e.value,t.value)){case"EQ":return u.newValue(Kr);case"NOT_EQ":return u.newValue(jr);case"NULL":return u.gr();default:T(44615,{left:e,right:t})}}}class lu extends ou{constructor(e){super(e),this.expr=e}Fr(e,t){switch(Vo(e.value,t.value)){case"EQ":return u.newValue(jr);case"NOT_EQ":case"TYPE_MISMATCH":return u.newValue(Kr);case"NULL":return u.gr();default:T(44614,{left:e,right:t})}}}class hu extends ou{constructor(e){super(e),this.expr=e}Fr(e,t){return Qr(e.value)!==Qr(t.value)||Bn(e.value)||Bn(t.value)?u.newValue(jr):u.newValue({booleanValue:Wr(e.value,t.value)<0})}}class cu extends ou{constructor(e){super(e),this.expr=e}Fr(e,t){return Qr(e.value)!==Qr(t.value)||Bn(e.value)||Bn(t.value)?u.newValue(jr):"EQ"===Vo(e.value,t.value)?u.newValue(Kr):u.newValue({booleanValue:Wr(e.value,t.value)<0})}}class Cu extends ou{constructor(e){super(e),this.expr=e}Fr(e,t){return Qr(e.value)!==Qr(t.value)||Bn(e.value)||Bn(t.value)?u.newValue(jr):u.newValue({booleanValue:0<Wr(e.value,t.value)})}}class du extends ou{constructor(e){super(e),this.expr=e}Fr(e,t){return Qr(e.value)!==Qr(t.value)||Bn(e.value)||Bn(t.value)?u.newValue(jr):"EQ"===Vo(e.value,t.value)?u.newValue(Kr):u.newValue({booleanValue:0<Wr(e.value,t.value)})}}class gu{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class pu{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,216);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return u.gr();case"ARRAY":{let e=r.value.arrayValue?.values??[];return u.newValue({arrayValue:{values:[...e].reverse()}})}default:return u.mr()}}}class fu{constructor(e){this.expr=e}evaluate(e,t){return f(2===this.expr.params.length,52884),new Xo(new i("eq_any",[this.expr.params[1],this.expr.params[0]])).evaluate(e,t)}}class mu{constructor(e){this.expr=e}evaluate(r,e){f(2===this.expr.params.length,1392);let n=!1,t=P(this.expr.params[0]).evaluate(r,e);switch(t.type){case"ARRAY":break;case"NULL":n=!0;break;default:return u.mr()}var s=P(this.expr.params[1]).evaluate(r,e);switch(s.type){case"ARRAY":break;case"NULL":n=!0;break;default:return u.mr()}if(n)return u.gr();var s=s.value?.arrayValue?.values??[],i=t.value?.arrayValue?.values??[];for(let r of s){let e=!1;n=!1;for(let t of i){switch(an(r)&&an(t)?"EQ":Vo(r,t)){case"EQ":e=!0;break;case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":n=!0;break;default:T(44613,{value:t,search:r})}if(e)break}if(!e)return u.newValue(jr)}return u.newValue(Kr)}}class Du{constructor(e){this.expr=e}evaluate(t,e){f(2===this.expr.params.length,2680);let r=!1;var n=P(this.expr.params[0]).evaluate(t,e);switch(n.type){case"ARRAY":break;case"NULL":r=!0;break;default:return u.mr()}var s=P(this.expr.params[1]).evaluate(t,e);switch(s.type){case"ARRAY":break;case"NULL":r=!0;break;default:return u.mr()}if(r)return u.gr();var i=s.value?.arrayValue?.values??[];for(let t of n.value?.arrayValue?.values??[])for(let e of i)switch(an(t)&&an(e)?"EQ":Vo(t,e)){case"EQ":return u.newValue(Kr);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:T(60403,{value:t,search:e})}return r?u.gr():u.newValue(jr)}}class Eu{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,38605);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return u.gr();case"ARRAY":return u.newValue({integerValue:""+(r.value?.arrayValue?.values?.length??0)});default:return u.mr()}}}class vu{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class wu{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,1508);var n=P(this.expr.params[0]).evaluate(e,t);switch(n.type){case"NULL":return u.gr();case"BYTES":{let t=n.value?.bytesValue;if("string"!=typeof t)return u.newValue({bytesValue:new Uint8Array(t).reverse()});{let e=Er.fromBase64String(t).toUint8Array();return e.reverse(),u.newValue({bytesValue:Er.fromUint8Array(e).toBase64()})}}case"STRING":{let e=n.value?.stringValue,t=new Intl.__PRIVATE_Segmenter(void 0,{granularity:"grapheme"}).segment(e),r=Array.from(t,e=>e.segment).reverse();return u.newValue({stringValue:r.join("")})}default:return u.mr()}}}class yu{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class _u{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class Iu{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,19400);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return u.gr();case"STRING":{let e=(e=>{let t=0;for(let s=0;s<e.length;s++){var r,n=e.codePointAt(s);if(void 0===n)return;if(n<=65535)55296<=n&&n<=57343&&n<=56319&&void 0!==(r=e.codePointAt(s+1))&&56320<=r&&r<=57343?(t+=1,s++):t+=1;else{if(!(n<=1114111))return;t+=1,s++}}return t})(r.value.stringValue);return void 0===e?u.mr():u.newValue({integerValue:e})}default:return u.mr()}}}class Tu{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,8486);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BYTES":{let e=r.value?.bytesValue;return"string"==typeof e?u.newValue({integerValue:Er.fromBase64String(e).toUint8Array().length}):u.newValue({integerValue:new Uint8Array(e).length})}case"STRING":{let e=(e=>{let t=0;for(let s=0;s<e.length;s++){var r=e.codePointAt(s);if(void 0===r)return;if(55296<=r&&r<=57343){if(!(r<=56319))return;var n=e.codePointAt(s+1);if(void 0===n||!(56320<=n&&n<=57343))return;t+=4,s++}else if(r<=127)t+=1;else if(r<=2047)t+=2;else if(r<=65535)t+=3;else{if(!(r<=1114111))return;t+=4,s++}}return t})(r.value?.stringValue);return void 0===e?u.mr():u.newValue({integerValue:e})}case"NULL":return u.gr();default:return u.mr()}}}class bu{constructor(e){this.expr=e}evaluate(e,t){f(2===this.expr.params.length,39773,this.expr.name+"() function should have exactly two parameters");let r=!1;var n=P(this.expr.params[0]).evaluate(e,t);switch(n.type){case"STRING":break;case"NULL":r=!0;break;default:return u.mr()}var s=P(this.expr.params[1]).evaluate(e,t);switch(s.type){case"STRING":break;case"NULL":r=!0;break;default:return u.mr()}return r?u.gr():this.Or(n.value?.stringValue,s.value?.stringValue)}}class Nu extends bu{Or(e,t){try{var r=(e=>{let t="";for(let n=0;n<e.length;n++){var r=e.charAt(n);switch(r){case"_":t+=".";break;case"%":t+=".*";break;case"\\":case".":case"*":case"?":case"+":case"^":case"$":case"|":case"(":case")":case"[":case"]":case"{":case"}":t+="\\"+r;break;default:t+=r}}return"^"+t+"$"})(t),n=bt.compile(r);return u.newValue({booleanValue:n.matches(e)})}catch(e){return Ot(`Invalid LIKE pattern converted to regex: ${t}, returning error. Error: `+e),u.mr()}}}class Fu extends bu{Or(e,t){try{var r=bt.compile(t);return u.newValue({booleanValue:r.test(e)})}catch(e){return Ot(`Invalid regex pattern found in regex_contains: ${t}, returning error`),u.mr()}}}class Au extends bu{Or(e,t){try{return u.newValue({booleanValue:bt.compile(t).matches(e)})}catch(e){return Ot(`Invalid regex pattern found in regex_match: ${t}, returning error`),u.mr()}}}class Su extends bu{Or(e,t){return u.newValue({booleanValue:e.includes(t)})}}class Ou extends bu{Or(e,t){return u.newValue({booleanValue:e.startsWith(t)})}}class xu extends bu{Or(e,t){return u.newValue({booleanValue:e.endsWith(t)})}}class Lu{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,29079);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return u.newValue({stringValue:r.value?.stringValue?.toLowerCase()});case"NULL":return u.gr();default:return u.mr()}}}class Ru{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,60487);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return u.newValue({stringValue:r.value?.stringValue?.toUpperCase()});case"NULL":return u.gr();default:return u.mr()}}}class ku{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,28544);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return u.newValue({stringValue:r.value?.stringValue?.trim()});case"NULL":return u.gr();default:return u.mr()}}}class Gu{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.params.map(e=>P(e).evaluate(t,r));let n="",s=!1;for(let t of e)switch(t.type){case"STRING":n+=t.value.stringValue;break;case"NULL":s=!0;break;default:return u.mr()}return s?u.gr():u.newValue({stringValue:n})}}class Pu{constructor(e){this.expr=e}evaluate(e,t){f(2===this.expr.params.length,4483);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"UNSET":return u.pr();case"MAP":break;default:return u.mr()}var n=P(this.expr.params[1]).evaluate(e,t);return"STRING"!==n.type?u.mr():void 0===(r=r.value?.mapValue?.fields?.[n.value?.stringValue])?u.pr():u.newValue(r)}}class Mu{constructor(e){this.expr=e}evaluate(e,t){f(2===this.expr.params.length,25231,this.expr.name+"() function should have exactly 2 params");let r=!1;var n=P(this.expr.params[0]).evaluate(e,t);switch(n.type){case"VECTOR":break;case"NULL":r=!0;break;default:return u.mr()}var s=P(this.expr.params[1]).evaluate(e,t);switch(s.type){case"VECTOR":break;case"NULL":r=!0;break;default:return u.mr()}return r?u.gr():(n=ln(n.value),s=ln(s.value),void 0===n||void 0===s||n.values?.length!==s.values?.length||void 0===(n=this.Mr(n,s))||isNaN(n)?u.mr():u.newValue({doubleValue:n}))}}class Hu extends Mu{Mr(e,t){var a=e?.values??[],B=t?.values??[];if(0!==a.length){let r=0,n=0,s=0;for(let i=0;i<a.length;i++){if(!nn(a[i])||!nn(B[i]))return;let e=ko(a[i]),t=ko(B[i]);r+=e*t,n+=e*e,s+=t*t}let e=Math.sqrt(n)*Math.sqrt(s);if(0!==e)return 1-Math.max(-1,Math.min(1,r/e))}}}class Vu extends Mu{Mr(e,t){var r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let s=0;for(let i=0;i<r.length;i++){if(!nn(r[i])||!nn(n[i]))return;s+=ko(r[i])*ko(n[i])}return s}}class Uu extends Mu{Mr(e,t){var r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let s=0;for(let i=0;i<r.length;i++){if(!nn(r[i])||!nn(n[i]))return;let e=ko(r[i]),t=ko(n[i]);s+=Math.pow(e-t,2)}return Math.sqrt(s)}}class qu{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,39044);var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"VECTOR":{let e=ln(r.value);return u.newValue({integerValue:e?.values?.length??0})}case"NULL":return u.gr();default:return u.mr()}}}let Ju=BigInt(-62135596800),Ku=BigInt(253402300799),ju=BigInt(1e3),Qu=BigInt(1e6),zu=Ju*ju,Yu=Ku*ju+BigInt(999),Wu=Ju*Qu,Xu=Ku*Qu+BigInt(999999);function $u(e){return e>=Wu&&e<=Xu}function Zu(e){return e>=Ju&&e<=Ku}function el(e,t){var r=BigInt(e);return!(r<Ju||r>Ku||t<0||1e9<=t||r===Ju&&0!==t||r===Ku&&999999999<t)}function tl(e,t){return t<0?{seconds:e-1,nanos:t+1e9}:{seconds:e,nanos:t}}function rl(e){return BigInt(e.seconds)*Qu+BigInt(Math.trunc(e.nanoseconds/1e3))}class nl{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,49262,this.expr.name+"() function should have exactly one parameter");var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return this.toTimestamp(BigInt(r.value.integerValue));case"NULL":return u.gr();default:return u.mr()}}}class sl extends nl{toTimestamp(e){var t,r;return $u(e)&&el(t=(r=tl(Number(e/Qu),Number(e%Qu*BigInt(1e3)))).seconds,r=r.nanos)?u.newValue({timestampValue:{seconds:t,nanos:r}}):u.mr()}}class il extends nl{toTimestamp(e){var t,r,n;return(t=e)>=zu&&t<=Yu&&el(r=(n=tl(Number(e/ju),Number(e%ju*BigInt(1e6)))).seconds,n=n.nanos)?u.newValue({timestampValue:{seconds:r,nanos:n}}):u.mr()}}class al extends nl{toTimestamp(e){var t;return Zu(e)?(t=Number(e),u.newValue({timestampValue:{seconds:t,nanos:0}})):u.mr()}}class Bl{constructor(e){this.expr=e}evaluate(e,t){f(1===this.expr.params.length,1265,this.expr.name+"() function should have exactly one parameter");var r=P(this.expr.params[0]).evaluate(e,t);switch(r.type){case"TIMESTAMP":break;case"NULL":return u.gr();default:return u.mr()}r=bi(r.value.timestampValue);return el(r.seconds,r.nanoseconds)?this.Nr(r):u.mr()}}class ol extends Bl{Nr(e){var t=rl(e);return $u(t)?u.newValue({integerValue:""+t.toString()}):u.mr()}}class ul extends Bl{Nr(e){var t=rl(e),r=t/BigInt(1e3),t=t%BigInt(1e3);return r>BigInt(0)||t===BigInt(0)?u.newValue({integerValue:r.toString()}):u.newValue({integerValue:(r-BigInt(1)).toString()})}}class ll extends Bl{Nr(e){var t=BigInt(e.seconds);return Zu(t)?u.newValue({integerValue:t.toString()}):u.mr()}}class hl{constructor(e){this.expr=e}evaluate(e,t){f(3===this.expr.params.length,2775,this.expr.name+"() function should have exactly 3 parameters");let r=!1;var n=P(this.expr.params[0]).evaluate(e,t);switch(n.type){case"TIMESTAMP":break;case"NULL":r=!0;break;default:return u.mr()}var s=P(this.expr.params[1]).evaluate(e,t);let i;switch(s.type){case"STRING":if(void 0===(i=(e=>{switch(e){case"microsecond":return"microsecond";case"millisecond":return"millisecond";case"second":return"second";case"minute":return"minute";case"hour":return"hour";case"day":return"day";default:return}})(s.value.stringValue)))return u.mr();break;case"NULL":r=!0;break;default:return u.mr()}var a=P(this.expr.params[2]).evaluate(e,t);switch(a.type){case"INT":break;case"NULL":r=!0;break;default:return u.mr()}if(r)return u.gr();var B=BigInt(a.value.integerValue);let o;try{switch(i){case"microsecond":o=B;break;case"millisecond":o=B*BigInt(1e3);break;case"second":o=B*BigInt(1e6);break;case"minute":o=B*BigInt(6e7);break;case"hour":o=B*BigInt(36e8);break;case"day":o=B*BigInt(864e8);break;default:return u.mr()}if("microsecond"!==i&&B!==BigInt(0)&&o/B!==BigInt(this.Lr(i)))return u.mr()}catch(e){return Ot("Error during timestamp arithmetic: "+e),u.mr()}var a=bi(n.value.timestampValue);return el(a.seconds,a.nanoseconds)&&(n=rl(a),$u(a=this.Br(n,o)))&&(n=Number(a/Qu),el(n=(a=a%Qu)<0?n-1:n,a=Number((a<0?a+Qu:a)*BigInt(1e3))))?u.newValue({timestampValue:{seconds:n,nanos:a}}):u.mr()}Lr(e){switch(e){case"millisecond":return 1e3;case"second":return 1e6;case"minute":return 6e7;case"hour":return 36e8;case"day":return 864e8;default:return 1}}}class cl extends hl{Br(e,t){return e+t}}class Cl extends hl{Br(e,t){return e-t}}function dl(e){if((e=Oo(e))instanceof eo)return`fld(${e.fieldName})`;if(e instanceof ro)return`cst(${t=e.value,null===t?"null":"number"==typeof t?t.toString():"string"==typeof t?`"${t}"`:t instanceof G?`ref(${t.path})`:t instanceof fB?`vec(${JSON.stringify(t)})`:JSON.stringify(t)})`;var t;if(e instanceof i)return`fn(${e.name},[${e.params.map(dl).join(",")}])`;if("ListOfExpressions"===e.expressionType)return`list([${e.cr.map(dl).join(",")}])`;throw new Error("Unrecognized expr "+JSON.stringify(e,null,2))}function gl(e){return""+Array.from(e.entries()).sort().map(([e,t])=>e+"="+dl(t)).join(",")}function pl(e){return e.stages.map(t=>{var e;if(t instanceof ho)return`${t._name}(${gl(t.fields)})`;if(t instanceof co){let e=`${t._name}(${gl(t.accumulators)})`;return 0<t.groups.size&&(e+=`grouping(${gl(t.groups)})`),e}if(t instanceof Co)return`${t._name}(${gl(t.groups)})`;if(t instanceof go)return t._name+`(${t.hr})`;if(t instanceof po)return t._name+`(${t.collectionId})`;if(t instanceof fo)return t._name+"()";if(t instanceof mo)return`${t._name}(${t.Tr.sort()})`;if(t instanceof Do)return`${t._name}(${dl(t.condition)})`;if(t instanceof Eo)return t._name+`(${t.limit})`;if(t instanceof wo)return`${t._name}(${e=t.orderings,e.map(e=>""+dl(e.expr)+e.direction).join(",")})`;throw new Error("Unrecognized stage "+t._name)}).join("|")}function fl(e,t){return pl(e)===pl(t)}function ml(e){return e instanceof Io}function Dl(e){return(ml(e)?pl:Js)(e)}function El(e){return ml(e)?pl(e):bs(Hs(e=e))+"|lt:"+e.limitType}function vl(e,t){return e instanceof Io&&t instanceof Io?fl(e,t):!(e instanceof Io&&!(t instanceof Io)||!(e instanceof Io)&&t instanceof Io)&&qs(e,t)}function wl(e){return(Fs(e)?pl:bs)(e)}function yl(e,t){return e instanceof Io&&t instanceof Io?fl(e,t):!(e instanceof Io&&!(t instanceof Io)||!(e instanceof Io)&&t instanceof Io)&&Ns(e,t)}function _l(e,t){var r=(e=>{let t=!1;var r,n=[];for(r of e)if(r instanceof wo)if(t=!0,r.orderings.some(e=>e.expr instanceof eo&&e.expr.fieldName===jt))n.push(r);else{let e=r.orderings.map(e=>e);e.push(to(jt).ascending()),n.push(new wo(e,{}))}else r instanceof Eo&&(t||(n.push(new wo([to(jt).ascending()],{})),t=!0)),n.push(r);return t||n.push(new wo([to(jt).ascending()],{})),n})(e.stages);if(e.userDataReader){let t=e.userDataReader.createContext(3,"toCorePipeline");r.forEach(e=>e._readUserData(t))}return new Io(e.userDataReader.serializer,r,t)}class Il{constructor(e,t,r,n){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=n}applyToRemoteDocument(e,t){var r,n,s,i,a,B,o,u=t.mutationResults;for(let h=0;h<this.mutations.length;h++){var l=this.mutations[h];l.key.isEqual(e.key)&&(r=l,n=e,s=u[h],o=l=B=a=i=void 0,r instanceof Un?(a=n,B=s,l=(i=r).value.clone(),o=Kn(i.fieldTransforms,a,B.transformResults),l.setAll(o),a.convertToFoundDocument(B.version,l).setHasCommittedMutations()):r instanceof qn?(i=n,a=s,Gn((B=r).precondition,i)?(o=Kn(B.fieldTransforms,i,a.transformResults),(l=i.data).setAll(Jn(B)),l.setAll(o),i.convertToFoundDocument(a.version,l).setHasCommittedMutations()):i.convertToUnknownDocument(a.version)):n.convertToNoDocument(s.version).setHasCommittedMutations())}}applyToLocalView(e,t){for(var r of this.baseMutations)r.key.isEqual(e.key)&&(t=Hn(r,e,t,this.localWriteTime));for(var n of this.mutations)n.key.isEqual(e.key)&&(t=Hn(n,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(n,s){let i=ti();return this.mutations.forEach(e=>{var t=n.get(e.key),r=t.overlayedDocument,t=this.applyToLocalView(r,t.mutatedFields),t=Mn(r,s.has(e.key)?null:t);null!==t&&i.set(e.key,t),r.isValidDocument()||r.convertToNoDocument(L.min())}),i}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),R())}isEqual(e){return this.batchId===e.batchId&&Ht(this.mutations,e.mutations,(e,t)=>Vn(e,t))&&Ht(this.baseMutations,e.baseMutations,(e,t)=>Vn(e,t))}}class Tl{constructor(e,t,r,n){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=n}static from(e,t,r){f(e.mutations.length===r.length,58842,{Ur:e.mutations.length,kr:r.length});let n=ri;var s=e.mutations;for(let i=0;i<s.length;i++)n=n.insert(s[i].key,r[i].version);return new Tl(e,t,r,n)}}let bl="";function Nl(e){let t="";for(let r=0;r<e.length;r++)0<t.length&&(t=Fl(t)),t=((t,e)=>{let r=e,n=t.length;for(let s=0;s<n;s++){let e=t.charAt(s);switch(e){case"\0":r+="";break;case bl:r+="";break;default:r+=e}}return r})(e.get(r),t);return Fl(t)}function Fl(e){return e+bl+""}function Al(r){let e=r.length;if(f(2<=e,64408,{path:r}),2===e)return f(r.charAt(0)===bl&&""===r.charAt(1),56145,{path:r}),F.emptyPath();var __PRIVATE_lastReasonableEscapeIndex=e-2,n=[];let s="";for(let a=0;a<e;){let t=r.indexOf(bl,a);switch((t<0||t>__PRIVATE_lastReasonableEscapeIndex)&&T(50515,{path:r}),r.charAt(t+1)){case"":var i=r.substring(a,t);let e;0===s.length?e=i:(s+=i,e=s,s=""),n.push(e);break;case"":s=s+r.substring(a,t)+"\0";break;case"":s+=r.substring(a,t+1);break;default:T(61167,{path:r})}a=t+2}return new F(n)}let Sl="remoteDocuments",Ol="owner",xl="owner",Ll="mutationQueues",Rl="mutations",kl="batchId",Gl="userMutationsIndex",Pl=["userId","batchId"];function Ml(e,t){return[e,Nl(t)]}function Hl(e,t,r){return[e,Nl(t),r]}let Vl={},Ul="documentMutations",ql="remoteDocumentsV14",Jl=["prefixPath","collectionGroup","readTime","documentId"],Kl="documentKeyIndex",jl=["prefixPath","collectionGroup","documentId"],Ql="collectionGroupIndex",zl=["collectionGroup","readTime","prefixPath","documentId"],Yl="remoteDocumentGlobal",Wl="remoteDocumentGlobalKey",Xl="targets",$l="queryTargetsIndex",Zl=["canonicalId","targetId"],eh="targetDocuments",th=["targetId","path"],rh="documentTargetsIndex",nh=["path","targetId"],sh="targetGlobalKey",ih="targetGlobal",ah="collectionParents",Bh=["collectionId","parent"],oh="clientMetadata",uh="bundles",lh="namedQueries",hh="indexConfiguration",ch="collectionGroupIndex",Ch="indexState",dh=["indexId","uid"],gh="sequenceNumberIndex",ph=["uid","sequenceNumber"],fh="indexEntries",mh=["indexId","uid","arrayValue","directionalValue","orderedDocumentKey","documentKey"],Dh="documentKeyIndex",Eh=["indexId","uid","orderedDocumentKey"],vh="documentOverlays",wh=["userId","collectionPath","documentId"],yh="collectionPathOverlayIndex",_h=["userId","collectionPath","largestBatchId"],Ih="collectionGroupOverlayIndex",Th=["userId","collectionGroup","largestBatchId"],bh="globals",Nh=[Ll,Rl,Ul,Sl,Xl,Ol,ih,eh,oh,Yl,ah,uh,lh],Fh=[...Nh,vh],Ah=[Ll,Rl,Ul,ql,Xl,Ol,ih,eh,oh,Yl,ah,uh,lh,vh],Sh=Ah,Oh=[...Sh,hh,Ch,fh],xh=Oh,Lh=[...Oh,bh],Rh=Lh;function kh(t,r,n){let e=t.store(Rl),s=t.store(Ul),i=[],a=IDBKeyRange.only(n.batchId),B=0;var o=e.Hn({range:a},(e,t,r)=>(B++,r.delete()));i.push(o.next(()=>{f(1===B,47070,{batchId:n.batchId})}));let u=[];for(let t of n.mutations){let e=Hl(r,t.key.path,n.batchId);i.push(s.delete(e)),u.push(t.key)}return k.waitFor(i).next(()=>u)}function Gh(e){if(!e)return 0;let t;if(e.document)t=e.document;else if(e.unknownDocument)t=e.unknownDocument;else{if(!e.noDocument)throw T(14731);t=e.noDocument}return JSON.stringify(t).length}class Ph extends Ua{constructor(e,t){super(),this.qr=e,this.currentSequenceNumber=t}}function Mh(e,t){var r=e;return ja.Cn(r.qr,t)}class Hh{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return null!==e&&this.mutation===e.mutation}toString(){return`Overlay{
largestBatchId: ${this.largestBatchId},
mutation: ${this.mutation.toString()}
}`}}class Vh{constructor(e,t,r,n,s=L.min(),i=L.min(),a=Er.EMPTY_BYTE_STRING,B=null){this.target=e,this.targetId=t,this.purpose=r,this.sequenceNumber=n,this.snapshotVersion=s,this.lastLimboFreeSnapshotVersion=i,this.resumeToken=a,this.expectedCount=B}withSequenceNumber(e){return new Vh(this.target,this.targetId,this.purpose,e,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(e,t){return new Vh(this.target,this.targetId,this.purpose,this.sequenceNumber,t,this.lastLimboFreeSnapshotVersion,e,null)}withExpectedCount(e){return new Vh(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,e)}withLastLimboFreeSnapshotVersion(e){return new Vh(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,e,this.resumeToken,this.expectedCount)}}class Uh{constructor(e){this.$r=e}}function qh(e,t){var r,n=t.key,s={prefixPath:n.getCollectionPath().popLast().toArray(),collectionGroup:n.collectionGroup,documentId:n.path.lastSegment(),readTime:Jh(t.readTime),hasCommittedMutations:t.hasCommittedMutations};if(t.isFoundDocument())s.document={name:Li(e=e.$r,(r=t).key),fields:r.data.value.mapValue.fields,updateTime:Ti(e,r.version.toTimestamp()),createTime:Ti(e,r.createTime.toTimestamp())};else if(t.isNoDocument())s.noDocument={path:n.path.toArray(),readTime:Kh(t.version)};else{if(!t.isUnknownDocument())return T(57904,{document:t});s.unknownDocument={path:n.path.toArray(),version:Kh(t.version)}}return s}function Jh(e){var t=e.toTimestamp();return[t.seconds,t.nanoseconds]}function Kh(e){var t=e.toTimestamp();return{seconds:t.seconds,nanoseconds:t.nanoseconds}}function jh(e){var t=new l(e.seconds,e.nanoseconds);return L.fromTimestamp(t)}function Qh(t,r){let e=(r.baseMutations||[]).map(e=>qi(t.$r,e));for(let i=0;i<r.mutations.length-1;++i){let t=r.mutations[i];if(i+1<r.mutations.length&&void 0!==r.mutations[i+1].transform){let e=r.mutations[i+1];t.updateTransforms=e.transform.fieldTransforms,r.mutations.splice(i+1,1),++i}}let n=r.mutations.map(e=>qi(t.$r,e)),s=l.fromMillis(r.localWriteTimeMs);return new Il(r.batchId,s,e,n)}function zh(e,t){var r,n,s=jh(t.readTime),i=void 0!==t.lastLimboFreeSnapshotVersion?jh(t.lastLimboFreeSnapshotVersion):L.min(),a=void 0!==t.query.structuredPipeline?(r=t.query,e=e.$r,f(0<((n=r.structuredPipeline)?.pipeline?.stages??[]).length,1845),n=n?.pipeline?.stages.map(ec),new Io(e,n)):void 0!==t.query.documents?(r=t.query,f(1===(n=r.documents.length),1966,{count:n}),Hs(ks(Gi(r.documents[0])))):Hs(Qi(t.query));return new Vh(a,t.targetId,"TargetPurposeListen",t.lastListenSequenceNumber,s,i,Er.fromBase64String(t.resumeToken))}function Yh(e,t){var r=Kh(t.snapshotVersion),n=Kh(t.lastLimboFreeSnapshotVersion),s=Fs(t.target)?Yi(e.$r,t.target):As(t.target)?Ki(e.$r,t.target):ji(e.$r,t.target).Se,i=t.resumeToken.toBase64();return{targetId:t.targetId,canonicalId:wl(t.target),readTime:r,resumeToken:i,lastListenSequenceNumber:t.sequenceNumber,lastLimboFreeSnapshotVersion:n,query:s}}function Wh(e){var t=Qi({parent:e.parent,structuredQuery:e.structuredQuery});return"LAST"===e.limitType?Us(t,t.limit,"L"):t}function Xh(e,t){return new Hh(t.largestBatchId,qi(e.$r,t.overlayMutation))}function $h(e,t){var r=t.path.lastSegment();return[e,Nl(t.path.popLast()),r]}function Zh(e,t,r,n){return{indexId:e,uid:t,sequenceNumber:r,readTime:Kh(n.readTime),documentKey:Nl(n.documentKey.path),largestBatchId:n.largestBatchId}}function ec(e){switch(e.name){case"collection":return new go(e.args[0].referenceValue,{});case"collection_group":return new po(e.args[1].stringValue,{});case"database":return new fo({});case"documents":return new mo(e.args.map(e=>e.referenceValue),{});case"where":return new Do(tc(e.args[0]),{});case"limit":var t=e.args[0].integerValue??e.args[0].doubleValue;return new Eo("number"==typeof t?t:Number(t),{});case"sort":return new wo(e.args.map(e=>{return t=e.mapValue?.fields,new uo(tc(t.expression),t.direction?.stringValue,"orderingFromProto");var t}),{});default:throw new Error(`Stage type: ${e.name} not supported.`)}}function tc(e){return e.fieldReferenceValue?new eo(HB("_exprFromProto",e.fieldReferenceValue),"_exprFromProto"):e.functionValue?(t=e,new i(t.functionValue.name,t.functionValue.args?.map(tc)||[])):ro._fromProto(e);var t}class rc{constructor(e,t,r,n){this.userId=e,this.serializer=t,this.indexManager=r,this.referenceDelegate=n,this.Kr={}}static Qr(e,t,r,n){f(""!==e.uid,64387);var s=e.isAuthenticated()?e.uid:"";return new rc(s,t,r,n)}checkEmpty(e){let n=!0;var t=IDBKeyRange.bound([this.userId,Number.NEGATIVE_INFINITY],[this.userId,Number.POSITIVE_INFINITY]);return sc(e).Hn({index:Gl,range:t},(e,t,r)=>{n=!1,r.done()}).next(()=>n)}addMutationBatch(h,c,C,d){let g=ic(h),p=sc(h);return p.add({}).next(t=>{f("number"==typeof t,49019);let e=new Il(t,c,C,d),r=(s=this.serializer,i=this.userId,a=e,B=a.baseMutations.map(e=>Ui(s.$r,e)),o=a.mutations.map(e=>Ui(s.$r,e)),{userId:i,batchId:a.batchId,localWriteTimeMs:a.localWriteTime.toMillis(),baseMutations:B,mutations:o}),n=[];var s,i,a,B,o;let u=new m((e,t)=>b(e.canonicalString(),t.canonicalString()));for(let l of d){let e=Hl(this.userId,l.key.path,t);u=u.add(l.key.path.popLast()),n.push(p.put(r)),n.push(g.put(e,Vl))}return u.forEach(e=>{n.push(this.indexManager.addToCollectionParentIndex(h,e))}),h.addOnCommittedListener(()=>{this.Kr[t]=e.keys()}),k.waitFor(n).next(()=>e)})}lookupMutationBatch(e,t){return sc(e).get(t).next(e=>e?(f(e.userId===this.userId,48,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),Qh(this.serializer,e)):null)}Wr(e,r){return this.Kr[r]?k.resolve(this.Kr[r]):this.lookupMutationBatch(e,r).next(e=>{var t;return e?(t=e.keys(),this.Kr[r]=t):null})}getNextMutationBatchAfterBatchId(e,t){let n=t+1,r=IDBKeyRange.lowerBound([this.userId,n]),s=null;return sc(e).Hn({index:Gl,range:r},(e,t,r)=>{t.userId===this.userId&&(f(t.batchId>=n,47524,{Gr:n}),s=Qh(this.serializer,t)),r.done()}).next(()=>s)}getHighestUnacknowledgedBatchId(e){var t=IDBKeyRange.upperBound([this.userId,Number.POSITIVE_INFINITY]);let n=Rr;return sc(e).Hn({index:Gl,range:t,reverse:!0},(e,t,r)=>{n=t.batchId,r.done()}).next(()=>n)}getAllMutationBatches(e){var t=IDBKeyRange.bound([this.userId,Rr],[this.userId,Number.POSITIVE_INFINITY]);return sc(e).Qn(Gl,t).next(e=>e.map(e=>Qh(this.serializer,e)))}getAllMutationBatchesAffectingDocumentKey(B,o){let e=Ml(this.userId,o.path),t=IDBKeyRange.lowerBound(e),u=[];return ic(B).Hn({range:t},(t,e,r)=>{let[n,s,i]=t,a=Al(s);if(n===this.userId&&o.path.isEqual(a))return sc(B).get(i).next(e=>{if(!e)throw T(61480,{zr:t,batchId:i});f(e.userId===this.userId,10503,"Unexpected user for mutation batch",{userId:e.userId,batchId:i}),u.push(Qh(this.serializer,e))});r.done()}).next(()=>u)}getAllMutationBatchesAffectingDocumentKeys(t,e){let B=new m(b),r=[];return e.forEach(a=>{var e=Ml(this.userId,a.path),e=IDBKeyRange.lowerBound(e),e=ic(t).Hn({range:e},(e,t,r)=>{var[n,s,i]=e,s=Al(s);n===this.userId&&a.path.isEqual(s)?B=B.add(i):r.done()});r.push(e)}),k.waitFor(r).next(()=>this.jr(t,B))}getAllMutationBatchesAffectingQuery(e,t){let a=t.path,B=a.length+1,r=Ml(this.userId,a),n=IDBKeyRange.lowerBound(r),o=new m(b);return ic(e).Hn({range:n},(e,t,r)=>{var[n,s,i]=e,s=Al(s);n===this.userId&&a.isPrefixOf(s)?s.length===B&&(o=o.add(i)):r.done()}).next(()=>this.jr(e,o))}jr(e,t){let r=[],n=[];return t.forEach(t=>{n.push(sc(e).get(t).next(e=>{if(null===e)throw T(35274,{batchId:t});f(e.userId===this.userId,9748,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),r.push(Qh(this.serializer,e))}))}),k.waitFor(n).next(()=>r)}removeMutationBatch(t,r){return kh(t.qr,this.userId,r).next(e=>(t.addOnCommittedListener(()=>{this.Hr(r.batchId)}),k.forEach(e,e=>this.referenceDelegate.markPotentiallyOrphaned(t,e))))}Hr(e){delete this.Kr[e]}performConsistencyCheck(r){return this.checkEmpty(r).next(e=>{if(!e)return k.resolve();let t=IDBKeyRange.lowerBound([this.userId]),n=[];return ic(r).Hn({range:t},(t,e,r)=>{if(t[0]===this.userId){let e=Al(t[1]);n.push(e)}else r.done()}).next(()=>{f(0===n.length,56720,{Jr:n.map(e=>e.canonicalString())})})})}containsKey(e,t){return nc(e,this.userId,t)}Yr(e){return ac(e).get(this.userId).next(e=>e||{userId:this.userId,lastAcknowledgedBatchId:Rr,lastStreamToken:""})}}function nc(e,i,t){let r=Ml(i,t.path),a=r[1],n=IDBKeyRange.lowerBound(r),B=!1;return ic(e).Hn({range:n,jn:!0},(e,t,r)=>{var[n,s,,]=e;n===i&&s===a&&(B=!0),r.done()}).next(()=>B)}function sc(e){return Mh(e,Rl)}function ic(e){return Mh(e,Ul)}function ac(e){return Mh(e,Ll)}class Bc{getBundleMetadata(e,t){return oc(e).get(t).next(e=>{if(e)return{id:(e=e).bundleId,createTime:jh(e.createTime),version:e.version}})}saveBundleMetadata(e,t){return oc(e).put({bundleId:(e=t).id,createTime:Kh(Ai(e.createTime)),version:e.version})}getNamedQuery(e,t){return uc(e).get(t).next(e=>{if(e)return{name:(e=e).name,query:Wh(e.bundledQuery),readTime:jh(e.readTime)}})}saveNamedQuery(e,t){return uc(e).put({name:(e=t).name,readTime:Kh(Ai(e.readTime)),bundledQuery:e.bundledQuery})}}function oc(e){return Mh(e,uh)}function uc(e){return Mh(e,lh)}class lc{constructor(e,t){this.serializer=e,this.userId=t}static Qr(e,t){var r=t.uid||"";return new lc(e,r)}getOverlay(e,t){return hc(e).get($h(this.userId,t)).next(e=>e?Xh(this.serializer,e):null)}getOverlays(e,t){let r=ti();return k.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}getAllOverlays(e,n){let s=ti();return hc(e).Hn((e,t)=>{var r=Xh(this.serializer,t);r.largestBatchId>n&&s.set(r.getKey(),r)}).next(()=>s)}saveOverlays(n,s,e){let i=[];return e.forEach((e,t)=>{var r=new Hh(s,t);i.push(this.Zr(n,r))}),k.waitFor(i)}removeOverlaysForBatchId(r,e,n){let t=new Set,s=(e.forEach(e=>t.add(Nl(e.getCollectionPath()))),[]);return t.forEach(e=>{var t=IDBKeyRange.bound([this.userId,e,n],[this.userId,e,n+1],!1,!0);s.push(hc(r).zn(yh,t))}),k.waitFor(s)}getOverlaysForCollection(e,t,r){let n=ti(),s=Nl(t),i=IDBKeyRange.bound([this.userId,s,r],[this.userId,s,Number.POSITIVE_INFINITY],!0);return hc(e).Qn(yh,i).next(e=>{for(var t of e){let e=Xh(this.serializer,t);n.set(e.getKey(),e)}return n})}getOverlaysForCollectionGroup(e,t,r,s){let i=ti(),a;var n=IDBKeyRange.bound([this.userId,t,r],[this.userId,t,Number.POSITIVE_INFINITY],!0);return hc(e).Hn({index:Ih,range:n},(e,t,r)=>{var n=Xh(this.serializer,t);i.size()<s||n.largestBatchId===a?(i.set(n.getKey(),n),a=n.largestBatchId):r.done()}).next(()=>i)}Zr(e,t){return hc(e).put(((e,t,r)=>{var[,n,s]=$h(t,r.mutation.key);return{userId:t,collectionPath:n,documentId:s,collectionGroup:r.mutation.key.getCollectionGroup(),largestBatchId:r.largestBatchId,overlayMutation:Ui(e.$r,r.mutation)}})(this.serializer,this.userId,t))}}function hc(e){return Mh(e,vh)}class cc{Xr(e){return Mh(e,bh)}getSessionToken(e){return this.Xr(e).get("sessionToken").next(e=>{var t=e?.value;return t?Er.fromUint8Array(t):Er.EMPTY_BYTE_STRING})}setSessionToken(e,t){return this.Xr(e).put({name:"sessionToken",value:t.toUint8Array()})}}class Cc{constructor(){}ei(e,t){this.ti(e,t),t.ni()}ti(t,r){if("nullValue"in t)this.ri(r,5);else if("booleanValue"in t)this.ri(r,10),r.ii(t.booleanValue?1:0);else if("integerValue"in t)this.ri(r,15),r.ii(yr(t.integerValue));else if("doubleValue"in t){var e=yr(t.doubleValue);isNaN(e)?this.ri(r,13):(this.ri(r,15),Gr(e)?r.ii(0):r.ii(e))}else if("timestampValue"in t){let e=t.timestampValue;this.ri(r,20),"string"==typeof e&&(e=wr(e)),r.si(""+(e.seconds||"")),r.ii(e.nanos||0)}else"stringValue"in t?(this._i(t.stringValue,r),this.oi(r)):"bytesValue"in t?(this.ri(r,30),r.ai(_r(t.bytesValue)),this.oi(r)):"referenceValue"in t?this.ui(t.referenceValue,r):"geoPointValue"in t?(e=t.geoPointValue,this.ri(r,45),r.ii(e.latitude||0),r.ii(e.longitude||0)):"mapValue"in t?cn(t)?this.ri(r,Number.MAX_SAFE_INTEGER):un(t)?this.ci(t.mapValue,r):(this.li(t.mapValue,r),this.oi(r)):"arrayValue"in t?(this.Ei(t.arrayValue,r),this.oi(r)):T(19022,{hi:t})}_i(e,t){this.ri(t,25),this.Ti(e,t)}Ti(e,t){t.si(e)}li(e,t){var r=e.fields||{};this.ri(t,55);for(let e of Object.keys(r))this._i(e,t),this.ti(r[e],t)}ci(e,t){var r=e.fields||{},n=(this.ri(t,53),qr),s=r[n].arrayValue?.values?.length||0;this.ri(t,15),t.ii(yr(s)),this._i(n,t),this.ti(r[n],t)}Ei(e,t){var r=e.values||[];this.ri(t,50);for(let e of r)this.ti(e,t)}ui(e,t){this.ri(t,37),A.fromName(e).path.forEach(e=>{this.ri(t,60),this.Ti(e,t)})}ri(e,t){e.ii(t)}oi(e){e.ii(2)}}Cc.Pi=new Cc;function dc(e){var t=64-(e=>{let t=0;for(let n=0;n<8;++n){var r=(e=>{if(0===e)return 8;let t=0;return e>>4||(t+=4,e<<=4),e>>6||(t+=2,e<<=2),e>>7||(t+=1),t})(255&e[n]);if(t+=r,8!==r)break}return t})(e);return Math.ceil(t/8)}class gc{constructor(){this.buffer=new Uint8Array(1024),this.position=0}Ii(e){var t=e[Symbol.iterator]();let r=t.next();for(;!r.done;)this.Ri(r.value),r=t.next();this.Ai()}Vi(e){var t=e[Symbol.iterator]();let r=t.next();for(;!r.done;)this.di(r.value),r=t.next();this.fi()}mi(e){for(var t of e){let e=t.charCodeAt(0);if(e<128)this.Ri(e);else if(e<2048)this.Ri(960|e>>>6),this.Ri(128|63&e);else if(t<"\ud800"||"\udbff"<t)this.Ri(480|e>>>12),this.Ri(128|63&e>>>6),this.Ri(128|63&e);else{let e=t.codePointAt(0);this.Ri(240|e>>>18),this.Ri(128|63&e>>>12),this.Ri(128|63&e>>>6),this.Ri(128|63&e)}}this.Ai()}pi(e){for(var t of e){let e=t.charCodeAt(0);if(e<128)this.di(e);else if(e<2048)this.di(960|e>>>6),this.di(128|63&e);else if(t<"\ud800"||"\udbff"<t)this.di(480|e>>>12),this.di(128|63&e>>>6),this.di(128|63&e);else{let e=t.codePointAt(0);this.di(240|e>>>18),this.di(128|63&e>>>12),this.di(128|63&e>>>6),this.di(128|63&e)}}this.fi()}gi(e){var t=this.yi(e),r=dc(t);this.wi(1+r),this.buffer[this.position++]=255&r;for(let n=t.length-r;n<t.length;++n)this.buffer[this.position++]=255&t[n]}bi(e){var t=this.yi(e),r=dc(t);this.wi(1+r),this.buffer[this.position++]=~(255&r);for(let n=t.length-r;n<t.length;++n)this.buffer[this.position++]=~(255&t[n])}Si(){this.Di(255),this.Di(255)}xi(){this.Ci(255),this.Ci(255)}reset(){this.position=0}seed(e){this.wi(e.length),this.buffer.set(e,this.position),this.position+=e.length}Fi(){return this.buffer.slice(0,this.position)}yi(e){e=e,(t=new DataView(new ArrayBuffer(8))).setFloat64(0,e,!1);var t,r=new Uint8Array(t.buffer),n=!!(128&r[0]);r[0]^=n?255:128;for(let s=1;s<r.length;++s)r[s]^=n?255:0;return r}Ri(e){var t=255&e;0==t?(this.Di(0),this.Di(255)):255==t?(this.Di(255),this.Di(0)):this.Di(t)}di(e){var t=255&e;0==t?(this.Ci(0),this.Ci(255)):255==t?(this.Ci(255),this.Ci(0)):this.Ci(e)}Ai(){this.Di(0),this.Di(1)}fi(){this.Ci(0),this.Ci(1)}Di(e){this.wi(1),this.buffer[this.position++]=e}Ci(e){this.wi(1),this.buffer[this.position++]=~e}wi(e){var t=e+this.position;if(!(t<=this.buffer.length)){let e=2*this.buffer.length;e<t&&(e=t);t=new Uint8Array(e);t.set(this.buffer),this.buffer=t}}}class pc{constructor(e){this.Oi=e}ai(e){this.Oi.Ii(e)}si(e){this.Oi.mi(e)}ii(e){this.Oi.gi(e)}ni(){this.Oi.Si()}}class fc{constructor(e){this.Oi=e}ai(e){this.Oi.Vi(e)}si(e){this.Oi.pi(e)}ii(e){this.Oi.bi(e)}ni(){this.Oi.xi()}}class mc{constructor(){this.Oi=new gc,this.ascending=new pc(this.Oi),this.descending=new fc(this.Oi)}seed(e){this.Oi.seed(e)}Mi(e){return 0===e?this.ascending:this.descending}Fi(){return this.Oi.Fi()}reset(){this.Oi.reset()}}class Dc{constructor(e,t,r,n){this.Ni=e,this.Li=t,this.Bi=r,this.Ui=n}ki(){var e=this.Ui.length,t=0===e||255===this.Ui[e-1]?e+1:e,r=new Uint8Array(t);return r.set(this.Ui,0),t!==e?r.set([0],this.Ui.length):++r[r.length-1],new Dc(this.Ni,this.Li,this.Bi,r)}qi(e,t,r){return{indexId:this.Ni,uid:e,arrayValue:wc(this.Bi),directionalValue:wc(this.Ui),orderedDocumentKey:wc(t),documentKey:r.path.toArray()}}$i(e,t,r){var n=this.qi(e,t,r);return[n.indexId,n.uid,n.arrayValue,n.directionalValue,n.orderedDocumentKey,n.documentKey]}}function Ec(e,t){var r=e.Ni-t.Ni;return 0!=r||0!==(r=vc(e.Bi,t.Bi))||0!==(r=vc(e.Ui,t.Ui))?r:A.comparator(e.Li,t.Li)}function vc(e,t){for(let n=0;n<e.length&&n<t.length;++n){var r=e[n]-t[n];if(0!=r)return r}return e.length-t.length}function wc(r){if(X()){var n=r;let e="";for(let t=0;t<n.length;t++)e+=String.fromCharCode(n[t]);return e}return r}function yc(e){if("string"!=typeof e)return e;var t=e,r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}class _c{constructor(e){this.Ki=new m((e,t)=>Yt.comparator(e.field,t.field)),this.collectionId=null!=e.collectionGroup?e.collectionGroup:e.path.lastSegment(),this.Qi=e.orderBy,this.Wi=[];for(var t of e.filters){let e=t;e.isInequality()?this.Ki=this.Ki.add(e):this.Wi.push(e)}}get Gi(){return 1<this.Ki.size}zi(e){if(f(e.collectionGroup===this.collectionId,49279),this.Gi)return!1;let t=fs(e);if(void 0!==t&&!this.ji(t))return!1;var r=ms(e);let n=new Set,s=0,i=0;for(;s<r.length&&this.ji(r[s]);++s)n=n.add(r[s].fieldPath.canonicalString());if(s!==r.length){if(0<this.Ki.size){let t=this.Ki.getIterator().getNext();if(!n.has(t.field.canonicalString())){let e=r[s];if(!this.Hi(t,e)||!this.Ji(this.Qi[i++],e))return!1}++s}for(;s<r.length;++s){let e=r[s];if(i>=this.Qi.length||!this.Ji(this.Qi[i++],e))return!1}}return!0}Yi(){if(this.Gi)return null;let e=new m(Yt.comparator);var t,r,n=[];for(t of this.Wi)t.field.isKeyField()||("array-contains"===t.op||"array-contains-any"===t.op?n.push(new Ds(t.field,2)):e.has(t.field)||(e=e.add(t.field),n.push(new Ds(t.field,0))));for(r of this.Qi)r.field.isKeyField()||e.has(r.field)||(e=e.add(r.field),n.push(new Ds(r.field,"asc"===r.dir?0:1)));return new ps(ps.UNKNOWN_ID,this.collectionId,n,Es.empty())}ji(e){for(var t of this.Wi)if(this.Hi(t,e))return!0;return!1}Hi(e,t){var r;return!(void 0===e||!e.field.isEqual(t.fieldPath))&&(r="array-contains"===e.op||"array-contains-any"===e.op,2===t.kind==r)}Ji(e,t){return!!e.field.isEqual(t.fieldPath)&&(0===t.kind&&"asc"===e.dir||1===t.kind&&"desc"===e.dir)}}function Ic(e){var t;return 0===e.getFilters().length?[]:(t=function t(e){if(f(e instanceof O||e instanceof x,34018),e instanceof O)return e;if(1===e.filters.length)return t(e.filters[0]);let r=e.filters.map(e=>t(e));let n=x.create(r,e.op);return n=Sc(n),Nc(n)?n:(f(n instanceof x,64498),f(Zn(n),40251),f(1<n.filters.length,57927),n.filters.reduce((e,t)=>Fc(e,t)))}(function t(r){if(f(r instanceof O||r instanceof x,20012),r instanceof O){if(r instanceof ls){let e=r.value.arrayValue?.values?.map(e=>O.create(r.field,"==",e))||[];return x.create(e,"or")}return r}let e=r.filters.map(e=>t(e));return x.create(e,r.op)}(e)),f(Nc(t),7391),Tc(t)||bc(t)?[t]:t.getFilters())}function Tc(e){return e instanceof O}function bc(e){return e instanceof x&&ts(e)}function Nc(e){return Tc(e)||bc(e)||(e=>{if(e instanceof x&&es(e)){for(var t of e.getFilters())if(!Tc(t)&&!bc(t))return!1;return!0}return!1})(e)}function Fc(e,t){var r,n;return f(e instanceof O||e instanceof x,38388),f(t instanceof O||t instanceof x,25473),Sc(e instanceof O?t instanceof O?(r=e,n=t,x.create([r,n],"and")):Ac(e,t):t instanceof O?Ac(t,e):((e,t)=>{if(f(0<e.filters.length&&0<t.filters.length,48005),Zn(e)&&Zn(t))return ns(e,t.getFilters());let r=es(e)?e:t,n=es(e)?t:e,s=r.filters.map(e=>Fc(e,n));return x.create(s,"or")})(e,t))}function Ac(t,e){var r;return Zn(e)?ns(e,t.getFilters()):(r=e.filters.map(e=>Fc(t,e)),x.create(r,"or"))}function Sc(t){if(f(t instanceof O||t instanceof x,11850),t instanceof O)return t;var e=t.getFilters();if(1===e.length)return Sc(e[0]);if(rs(t))return t;let r=e.map(e=>Sc(e)),n=[];return r.forEach(e=>{e instanceof O?n.push(e):e instanceof x&&(e.op===t.op?n.push(...e.filters):n.push(e))}),1===n.length?n[0]:x.create(n,t.op)}class Oc{constructor(){this.Zi=new xc}addToCollectionParentIndex(e,t){return this.Zi.add(t),k.resolve()}getCollectionParents(e,t){return k.resolve(this.Zi.getEntries(t))}addFieldIndex(e,t){return k.resolve()}deleteFieldIndex(e,t){return k.resolve()}deleteAllFieldIndexes(e){return k.resolve()}createTargetIndexes(e,t){return k.resolve()}getDocumentsMatchingTarget(e,t){return k.resolve(null)}getIndexType(e,t){return k.resolve(0)}getFieldIndexes(e,t){return k.resolve([])}getNextCollectionGroupToUpdate(e){return k.resolve(null)}getMinOffset(e,t){return k.resolve(ys.min())}getMinOffsetFromCollectionGroup(e,t){return k.resolve(ys.min())}updateCollectionGroup(e,t,r){return k.resolve()}updateIndexEntries(e,t){return k.resolve()}}class xc{constructor(){this.index={}}add(e){var t=e.lastSegment(),r=e.popLast(),n=this.index[t]||new m(F.comparator),s=!n.has(r);return this.index[t]=n.add(r),s}has(e){var t=e.lastSegment(),r=e.popLast(),t=this.index[t];return t&&t.has(r)}getEntries(e){return(this.index[e]||new m(F.comparator)).toArray()}}let Lc="IndexedDbIndexManager",Rc=new Uint8Array(0);class kc{constructor(e,t){this.databaseId=t,this.Xi=new xc,this.es=new Ws(e=>bs(e),(e,t)=>Ns(e,t)),this.uid=e.uid||""}addToCollectionParentIndex(e,t){var r,n;return this.Xi.has(t)?k.resolve():(n=t.lastSegment(),r=t.popLast(),e.addOnCommittedListener(()=>{this.Xi.add(t)}),n={collectionId:n,parent:Nl(r)},Gc(e).put(n))}getCollectionParents(e,r){let n=[],t=IDBKeyRange.bound([r,""],[Vt(r),""],!1,!0);return Gc(e).Qn(t).next(e=>{for(var t of e){if(t.collectionId!==r)break;n.push(Al(t.parent))}return n})}addFieldIndex(e,r){let t=Mc(e),n={indexId:r.indexId,collectionGroup:r.collectionGroup,fields:r.fields.map(e=>[e.fieldPath.canonicalString(),e.kind])};delete n.indexId;var s=t.add(n);if(r.indexState){let t=Hc(e);return s.next(e=>{t.put(Zh(e,this.uid,r.indexState.sequenceNumber,r.indexState.offset))})}return s.next()}deleteFieldIndex(e,t){let r=Mc(e),n=Hc(e),s=Pc(e);return r.delete(t.indexId).next(()=>n.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0))).next(()=>s.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0)))}deleteAllFieldIndexes(e){let t=Mc(e),r=Pc(e),n=Hc(e);return t.zn().next(()=>r.zn()).next(()=>n.zn())}createTargetIndexes(r,e){return k.forEach(this.ts(e),t=>this.getIndexType(r,t).next(e=>{if(0===e||1===e){let e=new _c(t).Yi();if(null!=e)return this.addFieldIndex(r,e)}}))}getDocumentsMatchingTarget(e,h){let c=Pc(e),r=!0,n=new Map;return k.forEach(this.ts(h),t=>this.ns(e,t).next(e=>{r=r&&!!e,n.set(t,e)})).next(()=>{if(r){let u=R(),l=[];return k.forEach(n,(e,t)=>{d(Lc,`Using index ${r=e,`id=${r.indexId}|cg=${r.collectionGroup}|f=`+r.fields.map(e=>e.fieldPath+":"+e.kind).join(",")} to execute `+bs(h));var r,n=((t,e)=>{var r=fs(e);if(void 0!==r)for(let e of Ss(t,r.fieldPath))switch(e.op){case"array-contains-any":return e.value.arrayValue.values||[];case"array-contains":return[e.value]}return null})(t,e),s=((t,r)=>{var n,s=new Map;for(n of ms(r))for(let e of Ss(t,n.fieldPath))switch(e.op){case"==":case"in":s.set(n.fieldPath.canonicalString(),e.value);break;case"not-in":case"!=":return s.set(n.fieldPath.canonicalString(),e.value),Array.from(s.values())}return null})(t,e),i=((t,e)=>{var r,n=[];let s=!0;for(r of ms(e)){let e=(0===r.kind?Os:xs)(t,r.fieldPath,t.startAt);n.push(e.value),s=s&&e.inclusive}return new Yn(n,s)})(t,e),a=((t,e)=>{var r,n=[];let s=!0;for(r of ms(e)){let e=(0===r.kind?xs:Os)(t,r.fieldPath,t.endAt);n.push(e.value),s=s&&e.inclusive}return new Yn(n,s)})(t,e),B=this.rs(e,t,i),o=this.rs(e,t,a),s=this.ss(e,t,s),n=this._s(e.indexId,n,B,i.inclusive,o,a.inclusive,s);return k.forEach(n,e=>c.Gn(e,h.limit).next(e=>{e.forEach(e=>{var t=A.fromSegments(e.documentKey);u.has(t)||(u=u.add(t),l.push(t))})}))}).next(()=>l)}return k.resolve(null)})}ts(t){let e=this.es.get(t);return e||(e=0===t.filters.length?[t]:Ic(x.create(t.filters,"and")).map(e=>Ts(t.path,t.collectionGroup,t.orderBy,e.getFilters(),t.limit,t.startAt,t.endAt)),this.es.set(t,e)),e}_s(s,i,a,B,o,u,l){let e=(null!=i?i.length:1)*Math.max(a.length,o.length),h=e/(null!=i?i.length:1),c=[];for(let C=0;C<e;++C){let t=i?this.us(i[C/h]):Rc,e=this.cs(s,t,a[C%h],B),r=this.ls(s,t,o[C%h],u),n=l.map(e=>this.cs(s,t,e,!0));c.push(...this.createRange(e,r,n))}return c}cs(e,t,r,n){var s=new Dc(e,A.empty(),t,r);return n?s:s.ki()}ls(e,t,r,n){var s=new Dc(e,A.empty(),t,r);return n?s.ki():s}ns(e,t){let n=new _c(t),r=null!=t.collectionGroup?t.collectionGroup:t.path.lastSegment();return this.getFieldIndexes(e,r).next(e=>{let t=null;for(var r of e)n.zi(r)&&(!t||r.fields.length>t.fields.length)&&(t=r);return t})}getIndexType(e,t){let r=2,n=this.ts(t);return k.forEach(n,t=>this.ns(e,t).next(e=>{e?0!==r&&e.fields.length<(t=>{let r=new m(Yt.comparator),n=!1;for(var s of t.filters)for(let e of s.getFlattenedFilters())e.field.isKeyField()||("array-contains"===e.op||"array-contains-any"===e.op?n=!0:r=r.add(e.field));for(let n of t.orderBy)n.field.isKeyField()||(r=r.add(n.field));return r.size+(n?1:0)})(t)&&(r=1):r=0})).next(()=>null!==t.limit&&1<n.length&&2===r?1:r)}Es(e,t){var r,n=new mc;for(r of ms(e)){let e=t.data.field(r.fieldPath);if(null==e)return null;var s=n.Mi(r.kind);Cc.Pi.ei(e,s)}return n.Fi()}us(e){var t=new mc;return Cc.Pi.ei(e,t.Mi(0)),t.Fi()}hs(e,t){var r,n=new mc;return Cc.Pi.ei(en(this.databaseId,t),n.Mi(0===(r=ms(e)).length?0:r[r.length-1].kind)),n.Fi()}ss(e,n,s){if(null===s)return[];let i=[],a=(i.push(new mc),0);for(var B of ms(e)){let t=s[a++];for(let r of i)if(this.Ts(n,B.fieldPath)&&sn(t))i=this.Ps(i,B,t);else{let e=r.Mi(B.kind);Cc.Pi.ei(t,e)}}return this.Is(i)}rs(e,t,r){return this.ss(e,t,r.position)}Is(e){var t=[];for(let r=0;r<e.length;++r)t[r]=e[r].Fi();return t}Ps(r,n,e){let s=[...r],i=[];for(let r of e.arrayValue.values||[])for(let t of s){let e=new mc;e.seed(t.Fi()),Cc.Pi.ei(r,e.Mi(n.kind)),i.push(e)}return i}Ts(e,t){return!!e.filters.find(e=>e instanceof O&&e.field.isEqual(t)&&("in"===e.op||"not-in"===e.op))}getFieldIndexes(e,t){let r=Mc(e),n=Hc(e);return(t?r.Qn(ch,IDBKeyRange.bound(t,t)):r.Qn()).next(e=>{let i=[];return k.forEach(e,s=>n.get([s.indexId,this.uid]).next(e=>{var t,r,n;i.push((t=s,r=(e=e)?new Es(e.sequenceNumber,new ys(jh(e.readTime),new A(Al(e.documentKey)),e.largestBatchId)):Es.empty(),n=t.fields.map(([e,t])=>new Ds(Yt.fromServerFormat(e),t)),new ps(t.indexId,t.collectionGroup,n,r)))})).next(()=>i)})}getNextCollectionGroupToUpdate(e){return this.getFieldIndexes(e).next(e=>0===e.length?null:(e.sort((e,t)=>{var r=e.indexState.sequenceNumber-t.indexState.sequenceNumber;return 0!=r?r:b(e.collectionGroup,t.collectionGroup)}),e[0].collectionGroup))}updateCollectionGroup(e,r,n){let s=Mc(e),i=Hc(e);return this.Rs(e).next(t=>s.Qn(ch,IDBKeyRange.bound(r,r)).next(e=>k.forEach(e,e=>i.put(Zh(e.indexId,this.uid,t,n)))))}updateIndexEntries(s,e){let r=new Map;return k.forEach(e,(t,n)=>{var e=r.get(t.collectionGroup);return(e?k.resolve(e):this.getFieldIndexes(s,t.collectionGroup)).next(e=>(r.set(t.collectionGroup,e),k.forEach(e,r=>this.As(s,t,r).next(e=>{var t=this.Vs(n,r);return e.isEqual(t)?k.resolve():this.ds(s,n,r,e,t)}))))})}fs(e,t,r,n){return Pc(e).put(n.qi(this.uid,this.hs(r,t.key),t.key))}ps(e,t,r,n){return Pc(e).delete(n.$i(this.uid,this.hs(r,t.key),t.key))}As(e,r,n){var t=Pc(e);let s=new m(Ec);return t.Hn({index:Dh,range:IDBKeyRange.only([n.indexId,this.uid,wc(this.hs(n,r))])},(e,t)=>{s=s.add(new Dc(n.indexId,r,yc(t.arrayValue),yc(t.directionalValue)))}).next(()=>s)}Vs(t,r){let n=new m(Ec);var s=this.Es(r,t);if(null!=s){let e=fs(r);if(null!=e){var i=t.data.field(e.fieldPath);if(sn(i))for(let e of i.arrayValue.values||[])n=n.add(new Dc(r.indexId,t.key,this.us(e),s))}else n=n.add(new Dc(r.indexId,t.key,Rc,s))}return n}ds(t,r,i,e,a){d(Lc,"Updating index entries for document '%s'",r.key);let B=[];{var o=Ec,u=e=>{B.push(this.fs(t,r,i,e))},l=e=>{B.push(this.ps(t,r,i,e))},h=e.getIterator(),c=a.getIterator();let n=Kt(h),s=Kt(c);for(;n||s;){let t=!1,r=!1;if(n&&s){let e=o(n,s);e<0?r=!0:0<e&&(t=!0)}else null!=n?r=!0:t=!0;t?(u(s),s=Kt(c)):r?(l(n),n=Kt(h)):(n=Kt(h),s=Kt(c))}}return k.waitFor(B)}Rs(e){let n=1;return Hc(e).Hn({index:gh,reverse:!0,range:IDBKeyRange.upperBound([this.uid,Number.MAX_SAFE_INTEGER])},(e,t,r)=>{r.done(),n=t.sequenceNumber+1}).next(()=>n)}createRange(r,n,e){e=e.sort((e,t)=>Ec(e,t)).filter((e,t,r)=>!t||0!==Ec(e,r[t-1]));var s=[];s.push(r);for(let i of e){let e=Ec(i,r),t=Ec(i,n);if(0===e)s[0]=r.ki();else if(0<e&&t<0)s.push(i),s.push(i.ki());else if(0<t)break}s.push(n);let i=[];for(let a=0;a<s.length;a+=2){if(this.gs(s[a],s[a+1]))return[];let e=s[a].$i(this.uid,Rc,A.empty()),t=s[a+1].$i(this.uid,Rc,A.empty());i.push(IDBKeyRange.bound(e,t))}return i}gs(e,t){return 0<Ec(e,t)}getMinOffsetFromCollectionGroup(e,t){return this.getFieldIndexes(e,t).next(Vc)}getMinOffset(t,e){return k.mapArray(this.ts(e),e=>this.ns(t,e).next(e=>e||T(44426))).next(Vc)}}function Gc(e){return Mh(e,ah)}function Pc(e){return Mh(e,fh)}function Mc(e){return Mh(e,hh)}function Hc(e){return Mh(e,Ch)}function Vc(e){f(0!==e.length,28825);let t=e[0].indexState.offset,r=t.largestBatchId;for(let s=1;s<e.length;s++){var n=e[s].indexState.offset;_s(n,t)<0&&(t=n),r<n.largestBatchId&&(r=n.largestBatchId)}return new ys(t.readTime,t.documentKey,r)}class Uc{constructor(e){this.ys=e}next(){return this.ys+=2,this.ys}static ws(){return new Uc(0)}static bs(){return new Uc(-1)}}class qc{constructor(e,t){this.referenceDelegate=e,this.serializer=t}allocateTargetId(r){return this.Ss(r).next(e=>{var t=new Uc(e.highestTargetId);return e.highestTargetId=t.next(),this.vs(r,e).next(()=>e.highestTargetId)})}getLastRemoteSnapshotVersion(e){return this.Ss(e).next(e=>L.fromTimestamp(new l(e.lastRemoteSnapshotVersion.seconds,e.lastRemoteSnapshotVersion.nanoseconds)))}getHighestSequenceNumber(e){return this.Ss(e).next(e=>e.highestListenSequenceNumber)}setTargetsMetadata(t,r,n){return this.Ss(t).next(e=>(e.highestListenSequenceNumber=r,n&&(e.lastRemoteSnapshotVersion=n.toTimestamp()),e.highestListenSequenceNumber<r&&(e.highestListenSequenceNumber=r),this.vs(t,e)))}addTargetData(t,r){return this.Ds(t,r).next(()=>this.Ss(t).next(e=>(e.targetCount+=1,this.xs(r,e),this.vs(t,e))))}updateTargetData(e,t){return this.Ds(e,t)}removeTargetData(t,e){return this.removeMatchingKeysForTargetId(t,e.targetId).next(()=>Jc(t).delete(e.targetId)).next(()=>this.Ss(t)).next(e=>(f(0<e.targetCount,8065),--e.targetCount,this.vs(t,e)))}removeTargets(n,s,i){let a=0,B=[];return Jc(n).Hn((e,t)=>{var r=zh(this.serializer,t);r.sequenceNumber<=s&&null===i.get(r.targetId)&&(a++,B.push(this.removeTargetData(n,r)))}).next(()=>k.waitFor(B)).next(()=>a)}forEachTarget(e,n){return Jc(e).Hn((e,t)=>{var r=zh(this.serializer,t);n(r)})}Ss(e){return Kc(e).get(sh).next(e=>(f(null!==e,2888),e))}vs(e,t){return Kc(e).put(sh,t)}Ds(e,t){return Jc(e).put(Yh(this.serializer,t))}xs(e,t){let r=!1;return e.targetId>t.highestTargetId&&(t.highestTargetId=e.targetId,r=!0),t.highestListenSequenceNumber<e.sequenceNumber&&(t.highestListenSequenceNumber=e.sequenceNumber,r=!0),r}getTargetCount(e){return this.Ss(e).next(e=>e.targetCount)}getTargetData(e,s){var t=wl(s),t=IDBKeyRange.bound([t,Number.NEGATIVE_INFINITY],[t,Number.POSITIVE_INFINITY]);let i=null;return Jc(e).Hn({range:t,index:$l},(e,t,r)=>{var n=zh(this.serializer,t);yl(s,n.target)&&(i=n,r.done())}).next(()=>i)}addMatchingKeys(r,e,n){let s=[],i=jc(r);return e.forEach(e=>{var t=Nl(e.path);s.push(i.put({targetId:n,path:t})),s.push(this.referenceDelegate.addReference(r,n,e))}),k.waitFor(s)}removeMatchingKeys(r,e,n){let s=jc(r);return k.forEach(e,e=>{var t=Nl(e.path);return k.waitFor([s.delete([n,t]),this.referenceDelegate.removeReference(r,n,e)])})}removeMatchingKeysForTargetId(e,t){var r=jc(e),n=IDBKeyRange.bound([t],[t+1],!1,!0);return r.delete(n)}getMatchingKeysForTargetId(e,t){var r=IDBKeyRange.bound([t],[t+1],!1,!0),n=jc(e);let s=R();return n.Hn({range:r,jn:!0},(e,t,r)=>{var n=Al(e[1]),n=new A(n);s=s.add(n)}).next(()=>s)}containsKey(e,t){var r=Nl(t.path),r=IDBKeyRange.bound([r],[Vt(r)],!1,!0);let n=0;return jc(e).Hn({index:rh,jn:!0,range:r},([e],t,r)=>{0!==e&&(n++,r.done())}).next(()=>0<n)}ye(e,t){return Jc(e).get(t).next(e=>e?zh(this.serializer,e):null)}}function Jc(e){return Mh(e,Xl)}function Kc(e){return Mh(e,ih)}function jc(e){return Mh(e,eh)}class Qc{constructor(e,t){this.db=e,this.garbageCollector=aB(this,t)}ir(e){let r=this.Cs(e);return this.db.getTargetCache().getTargetCount(e).next(t=>r.next(e=>t+e))}Cs(e){let t=0;return this.sr(e,e=>{t++}).next(()=>t)}forEachTarget(e,t){return this.db.getTargetCache().forEachTarget(e,t)}sr(e,r){return this.Fs(e,(e,t)=>r(t))}addReference(e,t,r){return zc(e,r)}removeReference(e,t,r){return zc(e,r)}removeTargets(e,t,r){return this.db.getTargetCache().removeTargets(e,t,r)}markPotentiallyOrphaned(e,t){return zc(e,t)}Os(e,r){{var n=e,s=r;let t=!1;return ac(n).Jn(e=>nc(n,e,s).next(e=>(e&&(t=!0),k.resolve(!e)))).next(()=>t)}}removeOrphanedDocuments(r,n){let s=this.db.getRemoteDocumentCache().newChangeBuffer(),i=[],a=0;return this.Fs(r,(t,e)=>{if(e<=n){let e=this.Os(r,t).next(e=>{if(!e)return a++,s.getEntry(r,t).next(()=>(s.removeEntry(t,L.min()),jc(r).delete([0,Nl(t.path)])))});i.push(e)}}).next(()=>k.waitFor(i)).next(()=>s.apply(r)).next(()=>a)}removeTarget(e,t){var r=t.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,r)}updateLimboDocument(e,t){return zc(e,t)}Fs(e,n){var t=jc(e);let s,i=Ha.wn;return t.Hn({index:rh},([e],{path:t,sequenceNumber:r})=>{0===e?(i!==Ha.wn&&n(new A(Al(s)),i),i=r,s=t):i=Ha.wn}).next(()=>{i!==Ha.wn&&n(new A(Al(s)),i)})}getCacheSize(e){return this.db.getRemoteDocumentCache().getSize(e)}}function zc(e,t){return jc(e).put((e=e.currentSequenceNumber,{targetId:0,path:Nl(t.path),sequenceNumber:e}))}function Yc(e,t){let r=t;for(let t of e.stages)r=((t,r,n)=>{var s,i,a,B,o;if(r instanceof go)return s=r,n.filter(e=>e.isFoundDocument()&&"/"+e.key.getCollectionPath().canonicalString()===s.hr);if(r instanceof Do)return i=t,a=r,n.filter(e=>{var t=So(P(a.condition).evaluate(i,e));return void 0!==t&&zr(t,Kr)});if(r instanceof po)return B=r,n.filter(e=>e.isFoundDocument()&&e.key.getCollectionPath().lastSegment()===B.collectionId);if(r instanceof fo)return n.filter(e=>e.isFoundDocument());if(r instanceof mo)return o=r,n.filter(e=>e.isFoundDocument()&&o.Pr.has(e.key.path.toStringWithLeadingSlash()));if(r instanceof Eo)return n.slice(0,r.limit);if(r instanceof wo){var u=t,t=n;let e=r.orderings.map(e=>({Ms:P(e.expr),direction:e.direction}));return[...t].sort((n,s)=>{for(var{Ms:i,direction:a}of e){let e=So(i.evaluate(u,n)),t=So(i.evaluate(u,s)),r=Wr(e??Jr,t??Jr);if(0!==r)return"ascending"===a?r:-r}return 0})}throw new Error("Unknown stage: "+r._name)})({serializer:e.serializer,serverTimestampBehavior:e.listenOptions?.serverTimestampBehavior},t,r);return r}function Wc(e,t){return 0<Yc(e,[t]).length}function Xc(e,t){return(ml(e)?Wc:Ks)(e,t)}function $c(a){let e=(e=>{for(let r=e.stages.length-1;0<=r;r--){var t=e.stages[r];if(t instanceof wo)return t.orderings}throw new Error("Pipeline must contain at least one Sort stage")})(a);return(n,s)=>{for(var i of e){let e=So(P(i.expr).evaluate({serializer:a.serializer},n)),t=So(P(i.expr).evaluate({serializer:a.serializer},s)),r=Wr(e||Jr,t||Jr);if(0!==r)return"ascending"===i.direction?r:-r}return 0}}function Zc(e){for(let r=e.stages.length-1;0<=r;r--){var t=e.stages[r];if(t instanceof Eo)return{limit:t.limit}}}class eC{constructor(){this.changes=new Ws(e=>e.toString(),(e,t)=>e.isEqual(t)),this.changesApplied=!1}addEntry(e){this.assertNotApplied(),this.changes.set(e.key,e)}removeEntry(e,t){this.assertNotApplied(),this.changes.set(e,ds.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();var r=this.changes.get(t);return void 0!==r?k.resolve(r):this.getFromCache(e,t)}getEntries(e,t){return this.getAllFromCache(e,t)}apply(e){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(e)}assertNotApplied(){}}class tC{constructor(e){this.serializer=e}setIndexManager(e){this.indexManager=e}addEntry(e,t,r){return iC(e).put(r)}removeEntry(e,t,r){return iC(e).delete((e=r,[(n=t.path.toArray()).slice(0,n.length-2),n[n.length-2],Jh(e),n[n.length-1]]));var n}updateMetadata(t,r){return this.getMetadata(t).next(e=>(e.byteSize+=r,this.Ns(t,e)))}getEntry(e,r){let n=ds.newInvalidDocument(r);return iC(e).Hn({index:Kl,range:IDBKeyRange.only(aC(r))},(e,t)=>{n=this.Ls(r,t)}).next(()=>n)}Bs(e,r){let n={size:0,document:ds.newInvalidDocument(r)};return iC(e).Hn({index:Kl,range:IDBKeyRange.only(aC(r))},(e,t)=>{n={document:this.Ls(r,t),size:Gh(t)}}).next(()=>n)}getEntries(e,t){let n=Xs;return this.Us(e,t,(e,t)=>{var r=this.Ls(e,t);n=n.insert(e,r)}).next(()=>n)}getAllEntries(e){let n=Xs;return iC(e).Hn((e,t)=>{var r=this.Ls(A.fromSegments(t.prefixPath.concat(t.collectionGroup,t.documentId)),t);n=n.insert(r.key,r)}).next(()=>n)}ks(e,t){let n=Xs,s=new p(A.comparator);return this.Us(e,t,(e,t)=>{var r=this.Ls(e,t);n=n.insert(e,r),s=s.insert(e,Gh(t))}).next(()=>({documents:n,qs:s}))}Us(e,t,s){if(t.isEmpty())return k.resolve();let r=new m(oC),n=(t.forEach(e=>r=r.add(e)),IDBKeyRange.bound(aC(r.first()),aC(r.last()))),i=r.getIterator(),a=i.getNext();return iC(e).Hn({index:Kl,range:n},(e,t,r)=>{for(var n=A.fromSegments([...t.prefixPath,t.collectionGroup,t.documentId]);a&&oC(a,n)<0;)s(a,null),a=i.getNext();a&&a.isEqual(n)&&(s(a,t),a=i.hasNext()?i.getNext():null),a?r.Kn(aC(a)):r.done()}).next(()=>{for(;a;)s(a,null),a=i.hasNext()?i.getNext():null})}getDocumentsMatchingQuery(e,n,t,s,i){var r=ml(n)?F.fromString(bo(n)):n.path,a=[r.popLast().toArray(),r.lastSegment(),Jh(t.readTime),t.documentKey.path.isEmpty()?"":t.documentKey.path.lastSegment()],r=[r.popLast().toArray(),r.lastSegment(),[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],""];return iC(e).Qn(IDBKeyRange.bound(a,r,!0)).next(e=>{i?.incrementDocumentReadCount(e.length);let t=Xs;for(let r of e){let e=this.Ls(A.fromSegments(r.prefixPath.concat(r.collectionGroup,r.documentId)),r);e.isFoundDocument()&&(Xc(n,e)||s.has(e.key))&&(t=t.insert(e.key,e))}return t})}getAllFromCollectionGroup(e,t,r,s){let i=Xs;var n=BC(t,r),a=BC(t,ys.max());return iC(e).Hn({index:Ql,range:IDBKeyRange.bound(n,a,!0)},(e,t,r)=>{var n=this.Ls(A.fromSegments(t.prefixPath.concat(t.collectionGroup,t.documentId)),t);(i=i.insert(n.key,n)).size===s&&r.done()}).next(()=>i)}newChangeBuffer(e){return new nC(this,!!e&&e.trackRemovals)}getSize(e){return this.getMetadata(e).next(e=>e.byteSize)}getMetadata(e){return sC(e).get(Wl).next(e=>(f(!!e,20021),e))}Ns(e,t){return sC(e).put(Wl,t)}Ls(e,t){if(t){let e=((e,r)=>{let n;if(r.document)n=Vi(e.$r,r.document,!!r.hasCommittedMutations);else if(r.noDocument){let e=A.fromSegments(r.noDocument.path),t=jh(r.noDocument.readTime);n=ds.newNoDocument(e,t),r.hasCommittedMutations&&n.setHasCommittedMutations()}else{if(!r.unknownDocument)return T(56709);{let e=A.fromSegments(r.unknownDocument.path),t=jh(r.unknownDocument.version);n=ds.newUnknownDocument(e,t)}}return r.readTime&&n.setReadTime((e=r.readTime,t=new l(e[0],e[1]),L.fromTimestamp(t))),n;var t})(this.serializer,t);if(!e.isNoDocument()||!e.version.isEqual(L.min()))return e}return ds.newInvalidDocument(e)}}function rC(e){return new tC(e)}class nC extends eC{constructor(e,t){super(),this.$s=e,this.trackRemovals=t,this.Ks=new Ws(e=>e.toString(),(e,t)=>e.isEqual(t))}applyChanges(i){let a=[],B=0,o=new m((e,t)=>b(e.canonicalString(),t.canonicalString()));return this.changes.forEach((t,r)=>{var e=this.Ks.get(t);if(a.push(this.$s.removeEntry(i,t,e.readTime)),r.isValidDocument()){var n=qh(this.$s.serializer,r),s=(o=o.add(t.path.popLast()),Gh(n));B+=s-e.size,a.push(this.$s.addEntry(i,t,n))}else if(B-=e.size,this.trackRemovals){let e=qh(this.$s.serializer,r.convertToNoDocument(L.min()));a.push(this.$s.addEntry(i,t,e))}}),o.forEach(e=>{a.push(this.$s.indexManager.addToCollectionParentIndex(i,e))}),a.push(this.$s.updateMetadata(i,B)),k.waitFor(a)}getFromCache(e,t){return this.$s.Bs(e,t).next(e=>(this.Ks.set(t,{size:e.size,readTime:e.document.readTime}),e.document))}getAllFromCache(e,t){return this.$s.ks(e,t).next(({documents:r,qs:e})=>(e.forEach((e,t)=>{this.Ks.set(e,{size:t,readTime:r.get(e).readTime})}),r))}}function sC(e){return Mh(e,Yl)}function iC(e){return Mh(e,ql)}function aC(e){var t=e.path.toArray();return[t.slice(0,t.length-2),t[t.length-2],t[t.length-1]]}function BC(e,t){var r=t.documentKey.path.toArray();return[e,Jh(t.readTime),r.slice(0,r.length-2),0<r.length?r[r.length-1]:""]}function oC(e,t){var r=e.path.toArray(),n=t.path.toArray();let s=0;for(let i=0;i<r.length-2&&i<n.length-2;++i)if(s=b(r[i],n[i]))return s;return(s=b(r.length,n.length))||(s=b(r[r.length-2],n[n.length-2]))||b(r[r.length-1],n[n.length-1])}class uC{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}class lC{constructor(e,t,r,n){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=r,this.indexManager=n}getDocument(t,r){let n=null;return this.documentOverlayCache.getOverlay(t,r).next(e=>(n=e,this.remoteDocumentCache.getEntry(t,r))).next(e=>(null!==n&&Hn(n.mutation,e,Wt.empty(),l.now()),e))}getDocuments(t,e){return this.remoteDocumentCache.getEntries(t,e).next(e=>this.getLocalViewOfDocuments(t,e,R()).next(()=>e))}getLocalViewOfDocuments(e,t,r=R()){let n=ti();return this.populateOverlays(e,n,t).next(()=>this.computeViews(e,t,n,r).next(e=>{let r=Zs();return e.forEach((e,t)=>{r=r.insert(e,t.overlayedDocument)}),r}))}getOverlayedDocuments(e,t){let r=ti();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,R()))}populateOverlays(e,r,t){let n=[];return t.forEach(e=>{r.has(e)||n.push(e)}),this.documentOverlayCache.getOverlays(e,n).next(e=>{e.forEach((e,t)=>{r.set(e,t)})})}computeViews(e,t,n,s){let i=Xs,a=ti(),r=ti();return t.forEach((e,t)=>{var r=n.get(t.key);s.has(t.key)&&(void 0===r||r.mutation instanceof qn)?i=i.insert(t.key,t):void 0!==r?(a.set(t.key,r.mutation.getFieldMask()),Hn(r.mutation,t,r.mutation.getFieldMask(),l.now())):a.set(t.key,Wt.empty())}),this.recalculateAndSaveOverlays(e,i).next(e=>(e.forEach((e,t)=>a.set(e,t)),t.forEach((e,t)=>r.set(e,new uC(t,a.get(e)??null))),r))}recalculateAndSaveOverlays(a,B){let o=ti(),u=new p((e,t)=>e-t),l=R();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(a,B).next(e=>{for(let n of e)n.keys().forEach(e=>{var t,r=B.get(e);null!==r&&(t=o.get(e)||Wt.empty(),t=n.applyToLocalView(r,t),o.set(e,t),r=(u.get(n.batchId)||R()).add(e),u=u.insert(n.batchId,r))})}).next(()=>{for(var s=[],i=u.getReverseIterator();i.hasNext();){let e=i.getNext(),t=e.key,r=e.value,n=ti();r.forEach(e=>{var t;l.has(e)||(null!==(t=Mn(B.get(e),o.get(e)))&&n.set(e,t),l=l.add(e))}),s.push(this.documentOverlayCache.saveOverlays(a,t,n))}return k.waitFor(s)}).next(()=>o)}recalculateAndSaveOverlaysForDocumentKeys(t,e){return this.remoteDocumentCache.getEntries(t,e).next(e=>this.recalculateAndSaveOverlays(t,e))}getDocumentsMatchingQuery(e,t,r,n){return ml(t)?this.getDocumentsMatchingPipeline(e,t,r,n):(s=t,A.isDocumentKey(s.path)&&null===s.collectionGroup&&0===s.filters.length?this.getDocumentsMatchingDocumentQuery(e,t.path):Ps(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,r,n):this.getDocumentsMatchingCollectionQuery(e,t,r,n));var s}getNextDocuments(i,t,a,B){return this.remoteDocumentCache.getAllFromCollectionGroup(i,t,a,B).next(r=>{var e=0<B-r.size?this.documentOverlayCache.getOverlaysForCollectionGroup(i,t,a.largestBatchId,B-r.size):k.resolve(ti());let n=gs,s=r;return e.next(e=>k.forEach(e,(t,e)=>(n<e.largestBatchId&&(n=e.largestBatchId),r.get(t)?k.resolve():this.remoteDocumentCache.getEntry(i,t).next(e=>{s=s.insert(t,e)}))).next(()=>this.populateOverlays(i,e,r)).next(()=>this.computeViews(i,s,e,R())).next(e=>({batchId:n,changes:ei(e)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new A(t)).next(e=>{let t=Zs();return t=e.isFoundDocument()?t.insert(e.key,e):t})}getDocumentsMatchingCollectionGroupQuery(n,s,i,a){let B=s.collectionGroup,o=Zs();return this.indexManager.getCollectionParents(n,B).next(e=>k.forEach(e,e=>{t=s,e=e.child(B);var t,r=new Ls(e,null,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt);return this.getDocumentsMatchingCollectionQuery(n,r,i,a).next(e=>{e.forEach((e,t)=>{o=o.insert(e,t)})})}).next(()=>o))}getDocumentsMatchingCollectionQuery(t,r,n,s){let i;return this.documentOverlayCache.getOverlaysForCollection(t,r.path,n.largestBatchId).next(e=>(i=e,this.remoteDocumentCache.getDocumentsMatchingQuery(t,r,n,i,s))).next(e=>this.retrieveMatchingLocalDocuments(i,e,e=>Ks(r,e)))}getDocumentsMatchingPipeline(a,B,o,u){if("collection_group"===To(B)){let s=No(B),i=Zs();return this.indexManager.getCollectionParents(a,s).next(e=>k.forEach(e,e=>{t=B,r=e.child(s),n=t.stages.map(e=>e instanceof po?new go(r.canonicalString(),{}):e);var t,r,n=new Io(t.serializer,n);return this.getDocumentsMatchingPipeline(a,n,o,u).next(e=>{e.forEach((e,t)=>{i=i.insert(e,t)})})}).next(()=>i))}{let r;return this.getOverlaysForPipeline(a,B,o.largestBatchId).next(e=>{switch(r=e,To(B)){case"collection":return this.remoteDocumentCache.getDocumentsMatchingQuery(a,B,o,r,u);case"documents":let e=R();for(let t of Ao(B))e=e.add(A.fromPath(t));return this.remoteDocumentCache.getEntries(a,e);case"database":return this.remoteDocumentCache.getAllEntries(a);default:throw new N("invalid-argument","Invalid pipeline source to execute offline: "+pl(B))}}).next(e=>this.retrieveMatchingLocalDocuments(r,e,e=>Wc(B,e)))}}retrieveMatchingLocalDocuments(n,s,i){n.forEach((e,t)=>{var r=t.getKey();null===s.get(r)&&(s=s.insert(r,ds.newInvalidDocument(r)))});let a=Zs();return s.forEach((e,t)=>{var r=n.get(e);void 0!==r&&Hn(r.mutation,t,Wt.empty(),l.now()),i(t)&&(a=a.insert(e,t))}),a}getOverlaysForPipeline(e,t,r){switch(To(t)){case"collection":return this.documentOverlayCache.getOverlaysForCollection(e,F.fromString(bo(t)),r);case"collection_group":throw new N("invalid-argument","Unexpected collection group pipeline: "+pl(t));case"documents":return this.documentOverlayCache.getOverlays(e,Ao(t).map(e=>A.fromPath(e)));case"database":return this.documentOverlayCache.getAllOverlays(e,r);default:throw new N("invalid-argument","Failed to get overlays for pipeline: "+pl(t))}}}class hC{constructor(e){this.serializer=e,this.Qs=new Map,this.Ws=new Map}getBundleMetadata(e,t){return k.resolve(this.Qs.get(t))}saveBundleMetadata(e,t){return this.Qs.set(t.id,{id:t.id,version:t.version,createTime:Ai(t.createTime)}),k.resolve()}getNamedQuery(e,t){return k.resolve(this.Ws.get(t))}saveNamedQuery(e,t){return this.Ws.set(t.name,{name:(t=t).name,query:Wh(t.bundledQuery),readTime:Ai(t.readTime)}),k.resolve()}}class cC{constructor(){this.overlays=new p(A.comparator),this.Gs=new Map}getOverlay(e,t){return k.resolve(this.overlays.get(t))}getOverlays(e,t){let r=ti();return k.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}getAllOverlays(e,r){let n=ti();return this.overlays.forEach((e,t)=>{t.largestBatchId>r&&n.set(e,t)}),k.resolve(n)}saveOverlays(r,n,e){return e.forEach((e,t)=>{this.Zr(r,n,t)}),k.resolve()}removeOverlaysForBatchId(e,t,r){var n=this.Gs.get(r);return void 0!==n&&(n.forEach(e=>this.overlays=this.overlays.remove(e)),this.Gs.delete(r)),k.resolve()}getOverlaysForCollection(e,r,n){let s=ti(),i=r.length+1,t=new A(r.child("")),a=this.overlays.getIteratorFrom(t);for(;a.hasNext();){let e=a.getNext().value,t=e.getKey();if(!r.isPrefixOf(t.path))break;t.path.length===i&&e.largestBatchId>n&&s.set(e.getKey(),e)}return k.resolve(s)}getOverlaysForCollectionGroup(e,r,n,t){let s=new p((e,t)=>e-t);for(var i=this.overlays.getIterator();i.hasNext();){let t=i.getNext().value;if(t.getKey().getCollectionGroup()===r&&t.largestBatchId>n){let e=s.get(t.largestBatchId);null===e&&(e=ti(),s=s.insert(t.largestBatchId,e)),e.set(t.getKey(),t)}}let a=ti(),B=s.getIterator();for(;B.hasNext()&&(B.getNext().value.forEach((e,t)=>a.set(e,t)),!(a.size()>=t)););return k.resolve(a)}Zr(e,t,r){var n=this.overlays.get(r.key);if(null!==n){let e=this.Gs.get(n.largestBatchId).delete(r.key);this.Gs.set(n.largestBatchId,e)}this.overlays=this.overlays.insert(r.key,new Hh(t,r));let s=this.Gs.get(t);void 0===s&&(s=R(),this.Gs.set(t,s)),this.Gs.set(t,s.add(r.key))}}class CC{constructor(){this.sessionToken=Er.EMPTY_BYTE_STRING}getSessionToken(e){return k.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,k.resolve()}}class dC{constructor(){this.zs=new m(gC.js),this.Hs=new m(gC.Js)}isEmpty(){return this.zs.isEmpty()}addReference(e,t){var r=new gC(e,t);this.zs=this.zs.add(r),this.Hs=this.Hs.add(r)}Ys(e,t){e.forEach(e=>this.addReference(e,t))}removeReference(e,t){this.Zs(new gC(e,t))}Xs(e,t){e.forEach(e=>this.removeReference(e,t))}e_(e){let t=new A(new F([])),r=new gC(t,e),n=new gC(t,e+1),s=[];return this.Hs.forEachInRange([r,n],e=>{this.Zs(e),s.push(e.key)}),s}t_(){this.zs.forEach(e=>this.Zs(e))}Zs(e){this.zs=this.zs.delete(e),this.Hs=this.Hs.delete(e)}n_(e){var t=new A(new F([])),r=new gC(t,e),t=new gC(t,e+1);let n=R();return this.Hs.forEachInRange([r,t],e=>{n=n.add(e.key)}),n}containsKey(e){var t=new gC(e,0),t=this.zs.firstAfterOrEqual(t);return null!==t&&e.isEqual(t.key)}}class gC{constructor(e,t){this.key=e,this.r_=t}static js(e,t){return A.comparator(e.key,t.key)||b(e.r_,t.r_)}static Js(e,t){return b(e.r_,t.r_)||A.comparator(e.key,t.key)}}class pC{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.Gr=1,this.i_=new m(gC.js)}checkEmpty(e){return k.resolve(0===this.mutationQueue.length)}addMutationBatch(e,t,r,n){var s=this.Gr,i=(this.Gr++,0<this.mutationQueue.length&&this.mutationQueue[this.mutationQueue.length-1],new Il(s,t,r,n));this.mutationQueue.push(i);for(let t of n)this.i_=this.i_.add(new gC(t.key,s)),this.indexManager.addToCollectionParentIndex(e,t.key.path.popLast());return k.resolve(i)}lookupMutationBatch(e,t){return k.resolve(this.s_(t))}getNextMutationBatchAfterBatchId(e,t){var r=this.__(t+1),r=r<0?0:r;return k.resolve(this.mutationQueue.length>r?this.mutationQueue[r]:null)}getHighestUnacknowledgedBatchId(){return k.resolve(0===this.mutationQueue.length?Rr:this.Gr-1)}getAllMutationBatches(e){return k.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){let r=new gC(t,0),n=new gC(t,Number.POSITIVE_INFINITY),s=[];return this.i_.forEachInRange([r,n],e=>{var t=this.s_(e.r_);s.push(t)}),k.resolve(s)}getAllMutationBatchesAffectingDocumentKeys(e,t){let n=new m(b);return t.forEach(e=>{var t=new gC(e,0),r=new gC(e,Number.POSITIVE_INFINITY);this.i_.forEachInRange([t,r],e=>{n=n.add(e.r_)})}),k.resolve(this.o_(n))}getAllMutationBatchesAffectingQuery(e,t){let r=t.path,n=r.length+1,s=r;A.isDocumentKey(s)||(s=s.child(""));var i=new gC(new A(s),0);let a=new m(b);return this.i_.forEachWhile(e=>{var t=e.key.path;return!!r.isPrefixOf(t)&&(t.length===n&&(a=a.add(e.r_)),!0)},i),k.resolve(this.o_(a))}o_(e){let r=[];return e.forEach(e=>{var t=this.s_(e);null!==t&&r.push(t)}),r}removeMutationBatch(r,n){f(0===this.a_(n.batchId,"removed"),55003),this.mutationQueue.shift();let s=this.i_;return k.forEach(n.mutations,e=>{var t=new gC(e.key,n.batchId);return s=s.delete(t),this.referenceDelegate.markPotentiallyOrphaned(r,e.key)}).next(()=>{this.i_=s})}Hr(e){}containsKey(e,t){var r=new gC(t,0),r=this.i_.firstAfterOrEqual(r);return k.resolve(t.isEqual(r&&r.key))}performConsistencyCheck(e){return this.mutationQueue.length,k.resolve()}a_(e,t){return this.__(e)}__(e){return 0===this.mutationQueue.length?0:e-this.mutationQueue[0].batchId}s_(e){var t=this.__(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}class fC{constructor(e){this.u_=e,this.docs=new p(A.comparator),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){var r=t.key,n=this.docs.get(r),n=n?n.size:0,s=this.u_(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:s}),this.size+=s-n,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){var t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){var r=this.docs.get(t);return k.resolve(r?r.document.mutableCopy():ds.newInvalidDocument(t))}getEntries(e,t){let r=Xs;return t.forEach(e=>{var t=this.docs.get(e);r=r.insert(e,t?t.document.mutableCopy():ds.newInvalidDocument(e))}),k.resolve(r)}getAllEntries(e){let r=Xs;return this.docs.forEach((e,t)=>{r=r.insert(e,t.document)}),k.resolve(r)}getDocumentsMatchingQuery(e,t,r,n){let s,i,a=(i=ml(t)?(s=F.fromString(bo(t)),e=>Wc(t,e)):(s=t.path,e=>Ks(t,e)),Xs);for(var B=new A(s.child("__id-9223372036854775808__")),o=this.docs.getIteratorFrom(B);o.hasNext();){let{key:e,value:{document:t}}=o.getNext();if(!s.isPrefixOf(e.path))break;e.path.length>s.length+1||_s(ws(t),r)<=0||(n.has(t.key)||i(t))&&(a=a.insert(t.key,t.mutableCopy()))}return k.resolve(a)}getAllFromCollectionGroup(e,t,r,n){T(9500)}c_(e,t){return k.forEach(this.docs,e=>t(e))}newChangeBuffer(e){return new mC(this)}getSize(e){return k.resolve(this.size)}}class mC extends eC{constructor(e){super(),this.$s=e}applyChanges(r){let n=[];return this.changes.forEach((e,t)=>{t.isValidDocument()?n.push(this.$s.addEntry(r,t)):this.$s.removeEntry(e)}),k.waitFor(n)}getFromCache(e,t){return this.$s.getEntry(e,t)}getAllFromCache(e,t){return this.$s.getEntries(e,t)}}class DC{constructor(e){this.persistence=e,this.l_=new Ws(e=>wl(e),yl),this.lastRemoteSnapshotVersion=L.min(),this.highestTargetId=0,this.E_=0,this.h_=new dC,this.targetCount=0,this.T_=Uc.ws()}forEachTarget(e,r){return this.l_.forEach((e,t)=>r(t)),k.resolve()}getLastRemoteSnapshotVersion(e){return k.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return k.resolve(this.E_)}allocateTargetId(e){return this.highestTargetId=this.T_.next(),k.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.E_&&(this.E_=t),k.resolve()}Ds(e){this.l_.set(e.target,e);var t=e.targetId;t>this.highestTargetId&&(this.T_=new Uc(t),this.highestTargetId=t),e.sequenceNumber>this.E_&&(this.E_=e.sequenceNumber)}addTargetData(e,t){return this.Ds(t),this.targetCount+=1,k.resolve()}updateTargetData(e,t){return this.Ds(t),k.resolve()}removeTargetData(e,t){return this.l_.delete(t.target),this.h_.e_(t.targetId),--this.targetCount,k.resolve()}removeTargets(r,n,s){let i=0,a=[];return this.l_.forEach((e,t)=>{t.sequenceNumber<=n&&null===s.get(t.targetId)&&(this.l_.delete(e),a.push(this.removeMatchingKeysForTargetId(r,t.targetId)),i++)}),k.waitFor(a).next(()=>i)}getTargetCount(e){return k.resolve(this.targetCount)}getTargetData(e,t){var r=this.l_.get(t)||null;return k.resolve(r)}addMatchingKeys(e,t,r){return this.h_.Ys(t,r),k.resolve()}removeMatchingKeys(t,e,r){this.h_.Xs(e,r);let n=this.persistence.referenceDelegate,s=[];return n&&e.forEach(e=>{s.push(n.markPotentiallyOrphaned(t,e))}),k.waitFor(s)}removeMatchingKeysForTargetId(e,t){return this.h_.e_(t),k.resolve()}getMatchingKeysForTargetId(e,t){var r=this.h_.n_(t);return k.resolve(r)}containsKey(e,t){return k.resolve(this.h_.containsKey(t))}}class EC{constructor(e,t){this.P_={},this.overlays={},this.I_=new Ha(0),this.R_=!1,this.R_=!0,this.A_=new CC,this.referenceDelegate=e(this),this.V_=new DC(this),this.indexManager=new Oc,this.remoteDocumentCache=(e=e=>this.referenceDelegate.d_(e),new fC(e)),this.serializer=new Uh(t),this.f_=new hC(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.R_=!1,Promise.resolve()}get started(){return this.R_}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new cC,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this.P_[e.toKey()];return r||(r=new pC(t,this.referenceDelegate),this.P_[e.toKey()]=r),r}getGlobalsCache(){return this.A_}getTargetCache(){return this.V_}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.f_}runTransaction(e,t,r){d("MemoryPersistence","Starting transaction:",e);let n=new vC(this.I_.next());return this.referenceDelegate.m_(),r(n).next(e=>this.referenceDelegate.p_(n).next(()=>e)).toPromise().then(e=>(n.raiseOnCommittedEvent(),e))}g_(t,r){return k.or(Object.values(this.P_).map(e=>()=>e.containsKey(t,r)))}}class vC extends Ua{constructor(e){super(),this.currentSequenceNumber=e}}class wC{constructor(e){this.persistence=e,this.y_=new dC,this.w_=null}static b_(e){return new wC(e)}get S_(){if(this.w_)return this.w_;throw T(60996)}addReference(e,t,r){return this.y_.addReference(r,t),this.S_.delete(r.toString()),k.resolve()}removeReference(e,t,r){return this.y_.removeReference(r,t),this.S_.add(r.toString()),k.resolve()}markPotentiallyOrphaned(e,t){return this.S_.add(t.toString()),k.resolve()}removeTarget(e,t){this.y_.e_(t.targetId).forEach(e=>this.S_.add(e.toString()));let r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(e,t.targetId).next(e=>{e.forEach(e=>this.S_.add(e.toString()))}).next(()=>r.removeTargetData(e,t))}m_(){this.w_=new Set}p_(r){let n=this.persistence.getRemoteDocumentCache().newChangeBuffer();return k.forEach(this.S_,e=>{let t=A.fromPath(e);return this.v_(r,t).next(e=>{e||n.removeEntry(t,L.min())})}).next(()=>(this.w_=null,n.apply(r)))}updateLimboDocument(e,t){return this.v_(e,t).next(e=>{e?this.S_.delete(t.toString()):this.S_.add(t.toString())})}d_(e){return 0}v_(e,t){return k.or([()=>k.resolve(this.y_.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.g_(e,t)])}}class yC{constructor(e,t){this.persistence=e,this.D_=new Ws(e=>Nl(e.path),(e,t)=>e.isEqual(t)),this.garbageCollector=aB(this,t)}static b_(e,t){return new yC(e,t)}m_(){}p_(e){return k.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEachTarget(e,t)}ir(e){let r=this.Cs(e);return this.persistence.getTargetCache().getTargetCount(e).next(t=>r.next(e=>t+e))}Cs(e){let t=0;return this.sr(e,e=>{t++}).next(()=>t)}sr(r,n){return k.forEach(this.D_,(e,t)=>this.Os(r,e,t).next(e=>e?k.resolve():n(t)))}removeTargets(e,t,r){return this.persistence.getTargetCache().removeTargets(e,t,r)}removeOrphanedDocuments(e,r){let n=0,t=this.persistence.getRemoteDocumentCache(),s=t.newChangeBuffer();return t.c_(e,t=>this.Os(e,t,r).next(e=>{e||(n++,s.removeEntry(t,L.min()))})).next(()=>s.apply(e)).next(()=>n)}markPotentiallyOrphaned(e,t){return this.D_.set(t,e.currentSequenceNumber),k.resolve()}removeTarget(e,t){var r=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,r)}addReference(e,t,r){return this.D_.set(r,e.currentSequenceNumber),k.resolve()}removeReference(e,t,r){return this.D_.set(r,e.currentSequenceNumber),k.resolve()}updateLimboDocument(e,t){return this.D_.set(t,e.currentSequenceNumber),k.resolve()}d_(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=function n(e){switch(Qr(e)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:var t=Ar(e);return t?16+n(t):16;case 5:return 2*e.stringValue.length;case 6:return _r(e.bytesValue).approximateByteSize();case 7:return e.referenceValue.length;case 9:return(e.arrayValue.values||[]).reduce((e,t)=>e+n(t),0);case 10:case 11:{var s=e.mapValue;let r=0;return $t(s.fields,(e,t)=>{r+=e.length+n(t)}),r}default:throw T(13486,{value:e})}}(e.data.value)),t}Os(e,t,r){return k.or([()=>this.persistence.g_(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{var e=this.D_.get(t);return k.resolve(void 0!==e&&r<e)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}class _C{constructor(e){this.serializer=e}Nn(t,e,r,n){let i=new Ka("createOrUpgrade",e);var s;r<1&&1<=n&&(t.createObjectStore(Ol),(s=t).createObjectStore(Ll,{keyPath:"userId"}),s.createObjectStore(Rl,{keyPath:kl,autoIncrement:!0}).createIndex(Gl,Pl,{unique:!0}),s.createObjectStore(Ul),IC(t),t.createObjectStore(Sl));let a=k.resolve();return r<3&&3<=n&&(0!==r&&((s=t).deleteObjectStore(eh),s.deleteObjectStore(Xl),s.deleteObjectStore(ih),IC(t)),a=a.next(()=>{return e=i,t=e.store(ih),r={highestTargetId:0,highestListenSequenceNumber:0,lastRemoteSnapshotVersion:L.min().toTimestamp(),targetCount:0},t.put(sh,r);var e,t,r})),r<4&&4<=n&&(a=(a=0!==r?a.next(()=>{return n=t,(s=i).store(Rl).Qn().next(e=>{n.deleteObjectStore(Rl),n.createObjectStore(Rl,{keyPath:kl,autoIncrement:!0}).createIndex(Gl,Pl,{unique:!0});let t=s.store(Rl),r=e.map(e=>t.put(e));return k.waitFor(r)});var n,s}):a).next(()=>{t.createObjectStore(oh,{keyPath:"clientId"})})),r<5&&5<=n&&(a=a.next(()=>this.x_(i))),r<6&&6<=n&&(a=a.next(()=>(t.createObjectStore(Yl),this.C_(i)))),r<7&&7<=n&&(a=a.next(()=>this.F_(i))),r<8&&8<=n&&(a=a.next(()=>this.O_(t,i))),r<9&&9<=n&&(a=a.next(()=>{var e;(e=t).objectStoreNames.contains("remoteDocumentChanges")&&e.deleteObjectStore("remoteDocumentChanges")})),r<10&&10<=n&&(a=a.next(()=>this.M_(i))),r<11&&11<=n&&(a=a.next(()=>{t.createObjectStore(uh,{keyPath:"bundleId"}),t.createObjectStore(lh,{keyPath:"name"})})),r<12&&12<=n&&(a=a.next(()=>{var e;(e=t.createObjectStore(vh,{keyPath:wh})).createIndex(yh,_h,{unique:!1}),e.createIndex(Ih,Th,{unique:!1})})),r<13&&13<=n&&(a=a.next(()=>{var e;(e=t.createObjectStore(ql,{keyPath:Jl})).createIndex(Kl,jl),e.createIndex(Ql,zl)}).next(()=>this.N_(t,i)).next(()=>t.deleteObjectStore(Sl))),r<14&&14<=n&&(a=a.next(()=>this.L_(t,i))),r<15&&15<=n&&(a=a.next(()=>{var e;(e=t).createObjectStore(hh,{keyPath:"indexId",autoIncrement:!0}).createIndex(ch,"collectionGroup",{unique:!1}),e.createObjectStore(Ch,{keyPath:dh}).createIndex(gh,ph,{unique:!1}),e.createObjectStore(fh,{keyPath:mh}).createIndex(Dh,Eh,{unique:!1})})),r<16&&16<=n&&(a=a.next(()=>{e.objectStore(Ch).clear()}).next(()=>{e.objectStore(fh).clear()})),r<17&&17<=n&&(a=a.next(()=>{t.createObjectStore(bh,{keyPath:"name"})})),a=r<18&&18<=n&&X()?a.next(()=>{e.objectStore(Ch).clear()}).next(()=>{e.objectStore(fh).clear()}):a}C_(t){let r=0;return t.store(Sl).Hn((e,t)=>{r+=Gh(t)}).next(()=>{var e={byteSize:r};return t.store(Yl).put(Wl,e)})}x_(n){let e=n.store(Ll),t=n.store(Rl);return e.Qn().next(e=>k.forEach(e,r=>{var e=IDBKeyRange.bound([r.userId,Rr],[r.userId,r.lastAcknowledgedBatchId]);return t.Qn(Gl,e).next(e=>k.forEach(e,e=>{f(e.userId===r.userId,18650,"Cannot process batch from unexpected user",{batchId:e.batchId});var t=Qh(this.serializer,e);return kh(n,r.userId,t).next(()=>{})}))}))}F_(e){let a=e.store(eh),t=e.store(Sl);return e.store(ih).get(sh).next(s=>{let i=[];return t.Hn((e,t)=>{let r=new F(e),n=[0,Nl(r)];i.push(a.get(n).next(e=>e?k.resolve():(e=r,a.put({targetId:0,path:Nl(e),sequenceNumber:s.highestListenSequenceNumber}))))}).next(()=>k.waitFor(i))})}O_(e,t){e.createObjectStore(ah,{keyPath:Bh});let n=t.store(ah),s=new xc,i=r=>{if(s.add(r)){let e=r.lastSegment(),t=r.popLast();return n.put({collectionId:e,parent:Nl(t)})}};return t.store(Sl).Hn({jn:!0},(e,t)=>{var r=new F(e);return i(r.popLast())}).next(()=>t.store(Ul).Hn({jn:!0},([,e],t)=>{var r=Al(e);return i(r.popLast())}))}M_(e){let n=e.store(Xl);return n.Hn((e,t)=>{var r=zh(this.serializer,t),r=Yh(this.serializer,r);return n.put(r)})}N_(e,i){let t=i.store(Sl),a=[];return t.Hn((e,t)=>{var r,n=i.store(ql),s=((r=t).document?new A(F.fromString(r.document.name).popFirst(5)):r.noDocument?A.fromSegments(r.noDocument.path):r.unknownDocument?A.fromSegments(r.unknownDocument.path):T(36783)).path.toArray(),s={prefixPath:s.slice(0,s.length-2),collectionGroup:s[s.length-2],documentId:s[s.length-1],readTime:t.readTime||[0,0],unknownDocument:t.unknownDocument,noDocument:t.noDocument,document:t.document,hasCommittedMutations:!!t.hasCommittedMutations};a.push(n.put(s))}).next(()=>k.waitFor(a))}L_(e,i){let t=i.store(Rl),a=rC(this.serializer),B=new EC(wC.b_,this.serializer.$r);return t.Qn().next(e=>{let r=new Map;return e.forEach(e=>{let t=r.get(e.userId)??R();Qh(this.serializer,e).keys().forEach(e=>t=t.add(e)),r.set(e.userId,t)}),k.forEach(r,(e,t)=>{var r=new ua(t),n=lc.Qr(this.serializer,r),s=B.getIndexManager(r),r=rc.Qr(r,this.serializer,s,B.referenceDelegate);return new lC(a,r,n,s).recalculateAndSaveOverlaysForDocumentKeys(new Ph(i,Ha.wn),e).next()})})}}function IC(e){e.createObjectStore(eh,{keyPath:th}).createIndex(rh,nh,{unique:!0}),e.createObjectStore(Xl,{keyPath:"targetId"}).createIndex($l,Zl,{unique:!0}),e.createObjectStore(ih)}let TC="IndexedDbPersistence",bC="Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.";class NC{constructor(e,t,r,n,s,i,a,B,o,u,l=18){if(this.allowTabSynchronization=e,this.persistenceKey=t,this.clientId=r,this.Ct=s,this.window=i,this.document=a,this.B_=o,this.U_=u,this.k_=l,this.I_=null,this.R_=!1,this.isPrimary=!1,this.networkEnabled=!0,this.q_=null,this.inForeground=!1,this.K_=null,this.Q_=null,this.W_=Number.NEGATIVE_INFINITY,this.G_=e=>Promise.resolve(),!NC.Ye())throw new N(w.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new Qc(this,n),this.z_=t+"main",this.serializer=new Uh(B),this.j_=new ja(this.z_,this.k_,new _C(this.serializer)),this.A_=new cc,this.V_=new qc(this.referenceDelegate,this.serializer),this.remoteDocumentCache=rC(this.serializer),this.f_=new Bc,this.window&&this.window.localStorage?this.H_=this.window.localStorage:(this.H_=null,!1===u&&St(TC,"LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}start(){return this.J_().then(()=>{if(this.isPrimary||this.allowTabSynchronization)return this.Y_(),this.Z_(),this.X_(),this.runTransaction("getHighestListenSequenceNumber","readonly",e=>this.V_.getHighestSequenceNumber(e));throw new N(w.FAILED_PRECONDITION,bC)}).then(e=>{this.I_=new Ha(e,this.B_)}).then(()=>{this.R_=!0}).catch(e=>(this.j_&&this.j_.close(),Promise.reject(e)))}eo(t){return this.G_=async e=>{if(this.started)return t(e)},t(this.isPrimary)}setDatabaseDeletedListener(t){this.j_.Bn(async e=>{null===e.newVersion&&await t()})}setNetworkEnabled(e){this.networkEnabled!==e&&(this.networkEnabled=e,this.Ct.enqueueAndForget(async()=>{this.started&&await this.J_()}))}J_(){return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",t=>AC(t).put({clientId:this.clientId,updateTimeMs:Date.now(),networkEnabled:this.networkEnabled,inForeground:this.inForeground}).next(()=>{if(this.isPrimary)return this.no(t).next(e=>{e||(this.isPrimary=!1,this.Ct.enqueueRetryable(()=>this.G_(!1)))})}).next(()=>this.ro(t)).next(e=>this.isPrimary&&!e?this.io(t).next(()=>!1):!!e&&this.so(t).next(()=>!0))).catch(e=>{if(Wa(e))return d(TC,"Failed to extend owner lease: ",e),this.isPrimary;if(this.allowTabSynchronization)return d(TC,"Releasing owner lease after error during lease refresh",e),!1;throw e}).then(e=>{this.isPrimary!==e&&this.Ct.enqueueRetryable(()=>this.G_(e)),this.isPrimary=e})}no(e){return FC(e).get(xl).next(e=>k.resolve(this._o(e)))}oo(e){return AC(e).delete(this.clientId)}async ao(){if(this.isPrimary&&!this.uo(this.W_,18e5)){this.W_=Date.now();var e=await this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",e=>{let n=Mh(e,oh);return n.Qn().next(e=>{let t=this.co(e,18e5),r=e.filter(e=>-1===t.indexOf(e));return k.forEach(r,e=>n.delete(e.clientId)).next(()=>r)})}).catch(()=>[]);if(this.H_)for(var t of e)this.H_.removeItem(this.lo(t.clientId))}}X_(){this.Q_=this.Ct.enqueueAfterDelay("client_metadata_refresh",4e3,()=>this.J_().then(()=>this.ao()).then(()=>this.X_()))}_o(e){return!!e&&e.ownerId===this.clientId}ro(t){return this.U_?k.resolve(!0):FC(t).get(xl).next(e=>{if(null!==e&&this.uo(e.leaseTimestampMs,5e3)&&!this.Eo(e.ownerId)){if(this._o(e)&&this.networkEnabled)return!0;if(!this._o(e)){if(e.allowTabSynchronization)return!1;throw new N(w.FAILED_PRECONDITION,bC)}}return!(!this.networkEnabled||!this.inForeground)||AC(t).Qn().next(e=>void 0===this.co(e,5e3).find(e=>{if(this.clientId!==e.clientId){var t=!this.networkEnabled&&e.networkEnabled,r=!this.inForeground&&e.inForeground,n=this.networkEnabled===e.networkEnabled;if(t||r&&n)return!0}return!1}))}).next(e=>(this.isPrimary!==e&&d(TC,`Client ${e?"is":"is not"} eligible for a primary lease.`),e))}async shutdown(){this.R_=!1,this.ho(),this.Q_&&(this.Q_.cancel(),this.Q_=null),this.To(),this.Po(),await this.j_.runTransaction("shutdown","readwrite",[Ol,oh],e=>{let t=new Ph(e,Ha.wn);return this.io(t).next(()=>this.oo(t))}),this.j_.close(),this.Io()}co(e,t){return e.filter(e=>this.uo(e.updateTimeMs,t)&&!this.Eo(e.clientId))}Ro(){return this.runTransaction("getActiveClients","readonly",e=>AC(e).Qn().next(e=>this.co(e,18e5).map(e=>e.clientId)))}get started(){return this.R_}getGlobalsCache(){return this.A_}getMutationQueue(e,t){return rc.Qr(e,this.serializer,t,this.referenceDelegate)}getTargetCache(){return this.V_}getRemoteDocumentCache(){return this.remoteDocumentCache}getIndexManager(e){return new kc(e,this.serializer.$r.databaseId)}getDocumentOverlayCache(e){return lc.Qr(this.serializer,e)}getBundleCache(){return this.f_}runTransaction(t,r,n){d(TC,"Starting transaction:",t);var e,s="readonly"===r?"readonly":"readwrite",i=18===(e=this.k_)?Rh:17===e?Lh:16===e?xh:15===e?Oh:14===e?Sh:13===e?Ah:12===e?Fh:11===e?Nh:void T(60245);let a;return this.j_.runTransaction(t,s,i,e=>(a=new Ph(e,this.I_?this.I_.next():Ha.wn),"readwrite-primary"===r?this.no(a).next(e=>!!e||this.ro(a)).next(e=>{if(e)return n(a);throw St(`Failed to obtain primary lease for action '${t}'.`),this.isPrimary=!1,this.Ct.enqueueRetryable(()=>this.G_(!1)),new N(w.FAILED_PRECONDITION,Va)}).next(e=>this.so(a).next(()=>e)):this.Ao(a).next(()=>n(a)))).then(e=>(a.raiseOnCommittedEvent(),e))}Ao(e){return FC(e).get(xl).next(e=>{if(null!==e&&this.uo(e.leaseTimestampMs,5e3)&&!this.Eo(e.ownerId)&&!this._o(e)&&!(this.U_||this.allowTabSynchronization&&e.allowTabSynchronization))throw new N(w.FAILED_PRECONDITION,bC)})}so(e){var t={ownerId:this.clientId,allowTabSynchronization:this.allowTabSynchronization,leaseTimestampMs:Date.now()};return FC(e).put(xl,t)}static Ye(){return ja.Ye()}io(e){let t=FC(e);return t.get(xl).next(e=>this._o(e)?(d(TC,"Releasing primary lease."),t.delete(xl)):k.resolve())}uo(e,t){var r=Date.now();return!(e<r-t||r<e&&(St(`Detected an update time that is in the future: ${e} > `+r),1))}Y_(){null!==this.document&&"function"==typeof this.document.addEventListener&&(this.K_=()=>{this.Ct.enqueueAndForget(()=>(this.inForeground="visible"===this.document.visibilityState,this.J_()))},this.document.addEventListener("visibilitychange",this.K_),this.inForeground="visible"===this.document.visibilityState)}To(){this.K_&&(this.document.removeEventListener("visibilitychange",this.K_),this.K_=null)}Z_(){"function"==typeof this.window?.addEventListener&&(this.q_=()=>{this.ho();var e=/(?:Version|Mobile)\/1[456]/;W()&&(navigator.appVersion.match(e)||navigator.userAgent.match(e))&&this.Ct.enterRestrictedMode(!0),this.Ct.enqueueAndForget(()=>this.shutdown())},this.window.addEventListener("pagehide",this.q_))}Po(){this.q_&&(this.window.removeEventListener("pagehide",this.q_),this.q_=null)}Eo(e){try{var t=null!==this.H_?.getItem(this.lo(e));return d(TC,`Client '${e}' ${t?"is":"is not"} zombied in LocalStorage`),t}catch(e){return St(TC,"Failed to get zombied client id.",e),!1}}ho(){if(this.H_)try{this.H_.setItem(this.lo(this.clientId),String(Date.now()))}catch(e){St("Failed to set zombie client id.",e)}}Io(){if(this.H_)try{this.H_.removeItem(this.lo(this.clientId))}catch(e){}}lo(e){return`firestore_zombie_${this.persistenceKey}_`+e}}function FC(e){return Mh(e,Ol)}function AC(e){return Mh(e,oh)}function SC(e,t){let r=e.projectId;return e.isDefaultDatabase||(r+="."+e.database),"firestore/"+t+"/"+r+"/"}class OC{constructor(e,t,r,n){this.targetId=e,this.fromCache=t,this.Vo=r,this.fo=n}static mo(e,t){let r=R(),n=R();for(let e of t.docChanges)switch(e.type){case 0:r=r.add(e.doc.key);break;case 1:n=n.add(e.doc.key)}return new OC(e,t.fromCache,r,n)}}function xC(e,t){return A.comparator(e.key,t.key)}class LC{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}class RC{constructor(){this.po=!1,this.yo=!1,this.wo=100,this.bo=W()?8:0<Qa(z())?6:4}initialize(e,t){this.So=e,this.indexManager=t,this.po=!0}getDocumentsMatchingQuery(r,n,e,t){let s={result:null};return this.vo(r,n).next(e=>{s.result=e}).next(()=>{if(!s.result)return this.Do(r,n,t,e).next(e=>{s.result=e})}).next(()=>{if(!s.result){let t=new LC;return this.xo(r,n,t).next(e=>{if(s.result=e,this.yo)return this.Co(r,n,t,e.size)})}}).next(()=>s.result)}Co(e,t,r,n){return ml(t)?k.resolve():r.documentReadCount<this.wo?(At()<=h.DEBUG&&d("QueryEngine","SDK will not create cache indexes for query:",Js(t),"since it only creates cache indexes for collection contains","more than or equal to",this.wo,"documents"),k.resolve()):(At()<=h.DEBUG&&d("QueryEngine","Query:",Js(t),"scans",r.documentReadCount,"local documents and returns",n,"documents as results."),r.documentReadCount>this.bo*n?(At()<=h.DEBUG&&d("QueryEngine","The SDK decides to create cache indexes for query:",Js(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,Hs(t))):k.resolve())}vo(s,e){if(ml(e))return k.resolve(null);let i=e;if(Gs(i))return k.resolve(null);let t=Hs(i);return this.indexManager.getIndexType(s,t).next(e=>0===e?null:(null!==i.limit&&1===e&&(i=Us(i,null,"F"),t=Hs(i)),this.indexManager.getDocumentsMatchingTarget(s,t).next(e=>{let n=R(...e);return this.So.getDocuments(s,n).next(r=>this.indexManager.getMinOffset(s,t).next(e=>{var t=this.Fo(i,r);return this.Oo(i,t,n,e.readTime)?this.vo(s,Us(i,null,"F")):this.Mo(s,t,i,e)}))})))}Do(r,n,s,i){return(ml(n)?e=>{for(var t of e.stages){if(t instanceof Eo||!1)return;if(t instanceof Do&&!(t.condition instanceof ao&&"exists"===t.condition._expr.name&&t.condition._expr.params[0]instanceof eo&&t.condition._expr.params[0].fieldName===jt))return}return 1}:Gs)(n)||i.isEqual(L.min())?k.resolve(null):this.So.getDocuments(r,s).next(e=>{var t=this.Fo(n,e);return this.Oo(n,t,s,i)?k.resolve(null):(At()<=h.DEBUG&&d("QueryEngine","Re-using previous result from %s to execute query: %s",i.toString(),Dl(n)),this.Mo(r,t,n,vs(i,gs)).next(e=>e))})}Fo(t,e){let r,n;return n=ml(t)?(r=new m(xC),e=>Wc(t,e)):(r=new m(js(t)),e=>Ks(t,e)),e.forEach((e,t)=>{n(t)&&(r=r.add(t))}),r}Oo(e,t,r,n){var s;return ml(e)?e.stages.some(e=>e instanceof Eo||!1):null!==e.limit&&(r.size!==t.size||!!(s="F"===e.limitType?t.last():t.first())&&(s.hasPendingWrites||0<s.version.compareTo(n)))}xo(e,t,r){return At()<=h.DEBUG&&d("QueryEngine","Using full collection scan to execute query:",Dl(t)),this.So.getDocumentsMatchingQuery(e,t,ys.min(),r)}Mo(e,r,t,n){return this.So.getDocumentsMatchingQuery(e,t,n).next(t=>(r.forEach(e=>{t=t.insert(e.key,e)}),t))}}let kC="LocalStore",GC=3e8;class PC{constructor(e,t,r,n){this.persistence=e,this.No=t,this.serializer=n,this.Lo=new p(b),this.Bo=new Ws(e=>wl(e),yl),this.Uo=new Map,this.ko=e.getRemoteDocumentCache(),this.V_=e.getTargetCache(),this.f_=e.getBundleCache(),this.qo(r)}qo(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new lC(this.ko,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.ko.setIndexManager(this.indexManager),this.No.initialize(this.localDocuments,this.indexManager)}collectGarbage(t){return this.persistence.runTransaction("Collect garbage","readwrite-primary",e=>t.collect(e,this.Lo))}}function MC(e,t,r,n){return new PC(e,t,r,n)}async function HC(e,t){let B=e;return B.persistence.runTransaction("Handle user change","readonly",i=>{let a;return B.mutationQueue.getAllMutationBatches(i).next(e=>(a=e,B.qo(t),B.mutationQueue.getAllMutationBatches(i))).next(e=>{let t=[],r=[],n=R();for(let s of a){t.push(s.batchId);for(let e of s.mutations)n=n.add(e.key)}for(let s of e){r.push(s.batchId);for(let e of s.mutations)n=n.add(e.key)}return B.localDocuments.getDocuments(i,n).next(e=>({$o:e,removedBatchIds:t,addedBatchIds:r}))})})}function VC(e,n){let s=e;return s.persistence.runTransaction("Acknowledge batch","readwrite-primary",e=>{let t=n.batch.keys(),r=s.ko.newChangeBuffer({trackRemovals:!0});return((e,t,n,s)=>{let i=n.batch,r=i.keys(),a=k.resolve();return r.forEach(r=>{a=a.next(()=>s.getEntry(t,r)).next(e=>{var t=n.docVersions.get(r);f(null!==t,48541),e.version.compareTo(t)<0&&(i.applyToRemoteDocument(e,n),e.isValidDocument())&&(e.setReadTime(n.commitVersion),s.addEntry(e))})}),a.next(()=>e.mutationQueue.removeMutationBatch(t,i))})(s,e,n,r).next(()=>r.apply(e)).next(()=>s.mutationQueue.performConsistencyCheck(e)).next(()=>s.documentOverlayCache.removeOverlaysForBatchId(e,t,n.batch.batchId)).next(()=>s.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,(e=>{let t=R();for(let r=0;r<e.mutationResults.length;++r)0<e.mutationResults[r].transformResults.length&&(t=t.add(e.batch.mutations[r].key));return t})(n))).next(()=>s.localDocuments.getDocuments(e,t))})}function UC(e){let t=e;return t.persistence.runTransaction("Get last remote snapshot version","readonly",e=>t.V_.getLastRemoteSnapshotVersion(e))}function qC(e,u){let l=e,h=u.snapshotVersion,c=l.Lo;return l.persistence.runTransaction("Apply remote event","readwrite-primary",B=>{let e=l.ko.newChangeBuffer({trackRemovals:!0}),o=(c=l.Lo,[]),t=(u.targetChanges.forEach((t,r)=>{var n,s,i,a=c.get(r);if(a){o.push(l.V_.removeMatchingKeys(B,t.removedDocuments,r).next(()=>l.V_.addMatchingKeys(B,t.addedDocuments,r)));let e=a.withSequenceNumber(B.currentSequenceNumber);null!==u.targetMismatches.get(r)?e=e.withResumeToken(Er.EMPTY_BYTE_STRING,L.min()).withLastLimboFreeSnapshotVersion(L.min()):0<t.resumeToken.approximateByteSize()&&(e=e.withResumeToken(t.resumeToken,h)),c=c.insert(r,e),n=a,s=e,i=t,(0===n.resumeToken.approximateByteSize()||s.snapshotVersion.toMicroseconds()-n.snapshotVersion.toMicroseconds()>=GC||0<i.addedDocuments.size+i.modifiedDocuments.size+i.removedDocuments.size)&&o.push(l.V_.updateTargetData(B,e))}}),Xs),r=R();if(u.documentUpdates.forEach(e=>{u.resolvedLimboDocuments.has(e)&&o.push(l.persistence.referenceDelegate.updateLimboDocument(B,e))}),o.push(JC(B,e,u.documentUpdates).next(e=>{t=e.Ko,r=e.Qo})),!h.isEqual(L.min())){let e=l.V_.getLastRemoteSnapshotVersion(B).next(e=>l.V_.setTargetsMetadata(B,B.currentSequenceNumber,h));o.push(e)}return k.waitFor(o).next(()=>e.apply(B)).next(()=>l.localDocuments.getLocalViewOfDocuments(B,t,r)).next(()=>t)}).then(e=>(l.Lo=c,e))}function JC(e,i,t){let r=R(),a=R();return t.forEach(e=>r=r.add(e)),i.getEntries(e,r).next(n=>{let s=Xs;return t.forEach((e,t)=>{var r=n.get(e);t.isFoundDocument()!==r.isFoundDocument()&&(a=a.add(e)),t.isNoDocument()&&t.version.isEqual(L.min())?(i.removeEntry(e,t.readTime),s=s.insert(e,t)):!r.isValidDocument()||0<t.version.compareTo(r.version)||0===t.version.compareTo(r.version)&&r.hasPendingWrites?(i.addEntry(t),s=s.insert(e,t)):d(kC,"Ignoring outdated watch update for ",e,". Current version:",r.version," Watch version:",t.version)}),{Ko:s,Qo:a}})}function KC(e,n){let s=e;return s.persistence.runTransaction("Allocate target","readwrite",t=>{let r;return s.V_.getTargetData(t,n).next(e=>e?(r=e,k.resolve(r)):s.V_.allocateTargetId(t).next(e=>(r=new Vh(n,e,"TargetPurposeListen",t.currentSequenceNumber),s.V_.addTargetData(t,r).next(()=>r))))}).then(e=>{var t=s.Lo.get(e.targetId);return(null===t||0<e.snapshotVersion.compareTo(t.snapshotVersion))&&(s.Lo=s.Lo.insert(e.targetId,e),s.Bo.set(n,e.targetId)),e})}async function jC(e,t,r){let n=e,s=n.Lo.get(t),i=r?"readwrite":"readwrite-primary";try{r||await n.persistence.runTransaction("Release target",i,e=>n.persistence.referenceDelegate.removeTarget(e,s))}catch(e){if(!Wa(e))throw e;d(kC,`Failed to update sequence numbers for target ${t}: `+e)}n.Lo=n.Lo.remove(t),n.Bo.delete(s.target)}function QC(e,a,B){let o=e,u=L.min(),l=R();return o.persistence.runTransaction("Execute query","readwrite",t=>{return e=o,r=t,n=ml(a)?a:Hs(a),(void 0!==(i=(s=e).Bo.get(n))?k.resolve(s.Lo.get(i)):s.V_.getTargetData(r,n)).next(e=>{if(e)return u=e.lastLimboFreeSnapshotVersion,o.V_.getMatchingKeysForTargetId(t,e.targetId).next(e=>{l=e})}).next(()=>o.No.getDocumentsMatchingQuery(t,a,B?u:L.min(),B?l:R())).next(e=>(WC(o,e),{documents:e,Wo:l}));var e,r,n,s,i})}function zC(e,t){let r=e,n=r.V_,s=r.Lo.get(t);return s?Promise.resolve(s.target??null):r.persistence.runTransaction("Get target data","readonly",e=>n.ye(e,t).next(e=>e?.target??null))}function YC(e,t){let r=e,n=r.Uo.get(t)||L.min();return r.persistence.runTransaction("Get new document changes","readonly",e=>r.ko.getAllFromCollectionGroup(e,t,vs(n,gs),Number.MAX_SAFE_INTEGER)).then(e=>(WC(r,e),e))}function WC(s,e){e.forEach((e,t)=>{var r=t.key.getCollectionGroup(),n=s.Uo.get(r)||L.min();0<t.readTime.compareTo(n)&&s.Uo.set(r,t.readTime)})}class XC{constructor(e,t){this.Ho=e,this.byteLength=t}Jo(){return"metadata"in this.Ho}}function $C(t,r=10240){let n=0;return{async read(){var e;return n<t.byteLength?(e={value:t.slice(n,n+r),done:!1},n+=r,e):{done:!0}},async cancel(){},releaseLock(){},closed:Promise.resolve()}}class ZC{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.Yo=0,this.Zo=null,this.Xo=!0}ea(){0===this.Yo&&(this.ta("Unknown"),this.Zo=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,()=>(this.Zo=null,this.na("Backend didn't respond within 10 seconds."),this.ta("Offline"),Promise.resolve())))}ra(e){"Online"===this.state?this.ta("Unknown"):(this.Yo++,1<=this.Yo&&(this.ia(),this.na("Connection failed 1 times. Most recent error: "+e.toString()),this.ta("Offline")))}set(e){this.ia(),this.Yo=0,"Online"===e&&(this.Xo=!1),this.ta(e)}ta(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}na(e){var t=`Could not reach Cloud Firestore backend. ${e}
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.Xo?(St(t),this.Xo=!1):d("OnlineStateTracker",t)}ia(){null!==this.Zo&&(this.Zo.cancel(),this.Zo=null)}}let ed="RemoteStore";class td{constructor(e,t,r,n,s){this.localStore=e,this.datastore=t,this.asyncQueue=r,this.remoteSyncer={},this.sa=[],this._a=new Map,this.oa=new Map,this.aa=new Map,this.ua=new Uc(1e3),this.ca=new Uc(1001),this.la=new Set,this.Ea=[],this.ha=s,this.ha.Qe(e=>{r.enqueueAndForget(async()=>{var e;hd(this)&&(d(ed,"Restarting streams for network reachability change."),(e=this).la.add(4),await nd(e),e.Ta.set("Unknown"),e.la.delete(4),await rd(e))})}),this.Ta=new ZC(r,n)}}async function rd(e){if(hd(e))for(var t of e.Ea)await t(!0)}async function nd(e){for(var t of e.Ea)await t(!1)}function sd(e,t){return e.oa.get(t)||void 0}function id(e,t){var r,n,s,i=e,a=sd(i,t.targetId);void 0!==a&&i._a.has(a)||(void 0!==(a=sd(e=i,r=t.targetId))&&e.aa.delete(a),n=e,a=(r%2!=0?n.ca:n.ua).next(),e.oa.set(r,a),e.aa.set(a,r),a=a,d(ed,"remoteStoreListen mapping SDK target ID to remote",t.targetId,a),s=new Vh(t.target,a,t.purpose,t.sequenceNumber,t.snapshotVersion,t.lastLimboFreeSnapshotVersion,t.resumeToken),i._a.set(a,s),ld(i)?ud(i):vd(i).Yt()&&Bd(i,s))}function ad(e,t){var r=e,n=vd(r),s=sd(r,t);d(ed,"remoteStoreUnlisten removing mapping of SDK target ID to remote",t,s),r._a.delete(s),r.oa.delete(t),r.aa.delete(s),n.Yt()&&od(r,s),0===r._a.size&&(n.Yt()?n.en():hd(r)&&r.Ta.set("Unknown"))}function Bd(e,t){if(e.Pa.J(t.targetId),0<t.resumeToken.approximateByteSize()||0<t.snapshotVersion.compareTo(L.min())){var r=e.aa.get(t.targetId);if(void 0===r)return d(ed,"SDK target ID not found for remote ID: "+t.targetId);r=e.remoteSyncer.getRemoteKeysForTarget(r).size;t=t.withExpectedCount(r)}vd(e).Pn(t)}function od(e,t){e.Pa.J(t),vd(e).In(t)}function ud(r){r.Pa=new mi({getRemoteKeysForTarget:e=>{var t=r.aa.get(e);return void 0!==t?r.remoteSyncer.getRemoteKeysForTarget(t):R()},ye:e=>r._a.get(e)||null,Ve:()=>r.datastore.serializer.databaseId}),vd(r).start(),r.Ta.ea()}function ld(e){return hd(e)&&!vd(e).Jt()&&0<e._a.size}function hd(e){return 0===e.la.size}function cd(e){e.Pa=void 0}async function Cd(t,e,r){if(t.Ta.set("Online"),e instanceof gi&&2===e.state&&e.cause)try{var n,s=t,i=e,a=i.cause;for(n of i.targetIds){if(s._a.has(n)){let e=s.aa.get(n);void 0!==e&&(await s.remoteSyncer.rejectListen(e,a),s.oa.delete(e),s.aa.delete(n)),s._a.delete(n)}s.Pa.removeTarget(n)}}catch(r){d(ed,"Failed to remove targets %s: %s ",e.targetIds.join(","),r),await dd(t,r)}else if(e instanceof Ci?t.Pa._e(e):e instanceof di?t.Pa.he(e):t.Pa.ue(e),!r.isEqual(L.min()))try{let e=await UC(t.localStore);0<=r.compareTo(e)&&(o=r,(u=(B=t).Pa.fe(o)).targetChanges.forEach((e,t)=>{var r;0<e.resumeToken.approximateByteSize()&&(r=B._a.get(t))&&B._a.set(t,r.withResumeToken(e.resumeToken,o))}),u.targetMismatches.forEach((e,t)=>{var r=B._a.get(e);r&&(B._a.set(e,r.withResumeToken(Er.EMPTY_BYTE_STRING,r.snapshotVersion)),od(B,e),r=new Vh(r.target,e,t,r.sequenceNumber),Bd(B,r))}),u=((n,e)=>{let s=new Map,i=(e.targetChanges.forEach((e,t)=>{var r=n.aa.get(t);void 0!==r&&s.set(r,e)}),new p(b));return e.targetMismatches.forEach((e,t)=>{var r=n.aa.get(e);void 0!==r&&(i=i.insert(r,t))}),new hi(e.snapshotVersion,s,i,e.documentUpdates,e.augmentedDocumentUpdates,e.resolvedLimboDocuments)})(B,u),await B.remoteSyncer.applyRemoteEvent(u))}catch(e){d(ed,"Failed to raise snapshot:",e),await dd(t,e)}var B,o,u}async function dd(e,t,r){if(!Wa(t))throw t;e.la.add(1),await nd(e),e.Ta.set("Offline"),r=r||(()=>UC(e.localStore)),e.asyncQueue.enqueueRetryable(async()=>{d(ed,"Retrying IndexedDB access"),await r(),e.la.delete(1),await rd(e)})}function gd(t,r){return r().catch(e=>dd(t,e,r))}async function pd(e){var t,r,n,s,i=e,a=wd(i);let B=0<i.sa.length?i.sa[i.sa.length-1].batchId:Rr;for(;hd(s=i)&&s.sa.length<10;)try{let e=await((e,t)=>{let r=e;return r.persistence.runTransaction("Get next mutation batch","readonly",e=>(void 0===t&&(t=Rr),r.mutationQueue.getNextMutationBatchAfterBatchId(e,t)))})(i.localStore,B);if(null===e){0===i.sa.length&&a.en();break}B=e.batchId,t=i,r=e,n=void 0,t.sa.push(r),(n=wd(t)).Yt()&&n.Rn&&n.An(r.mutations)}catch(e){await dd(i,e)}fd(i)&&md(i)}function fd(e){return hd(e)&&!wd(e).Jt()&&0<e.sa.length}function md(e){wd(e).start()}async function Dd(e,t){var r=e,n=(r.asyncQueue.verifyOperationInProgress(),d(ed,"RemoteStore received new credentials"),hd(r));r.la.add(3),await nd(r),n&&r.Ta.set("Unknown"),await r.remoteSyncer.handleCredentialChange(t),r.la.delete(3),await rd(r)}async function Ed(e,t){var r=e;t?(r.la.delete(2),await rd(r)):(r.la.add(2),await nd(r),r.Ta.set("Unknown"))}function vd(t){return t.Ia||(t.Ia=(e=t.datastore,r=t.asyncQueue,n={ct:(async function(e){e.Ta.set("Online")}).bind(null,t),Et:(async function(r){r._a.forEach((e,t)=>{Bd(r,e)})}).bind(null,t),Tt:(async function(e,t){cd(e),ld(e)?(e.Ta.ra(t),ud(e)):e.Ta.set("Unknown")}).bind(null,t),Tn:Cd.bind(null,t)},(s=e).pn(),new La(r,s.connection,s.authCredentials,s.appCheckCredentials,s.serializer,n)),t.Ea.push(async e=>{e?(t.Ia.Xt(),ld(t)?ud(t):t.Ta.set("Unknown")):(await t.Ia.stop(),cd(t))})),t.Ia;var e,r,n,s}function wd(t){return t.Ra||(t.Ra=(e=t.datastore,r=t.asyncQueue,n={ct:()=>Promise.resolve(),Et:(async function(e){wd(e).fn()}).bind(null,t),Tt:(async function(e,t){if(t&&wd(e).Rn){var r=e,n=t;if(zs(t=n.code)&&t!==w.ABORTED){let e=r.sa.shift();wd(r).Xt(),await gd(r,()=>r.remoteSyncer.rejectFailedWrite(e.batchId,n)),await pd(r)}await 0}fd(e)&&md(e)}).bind(null,t),Vn:(async function(e){var t,r=wd(e);for(t of e.sa)r.An(t.mutations)}).bind(null,t),dn:(async function(e,t,r){let n=e.sa.shift(),s=Tl.from(n,t,r);await gd(e,()=>e.remoteSyncer.applySuccessfulWrite(s)),await pd(e)}).bind(null,t)},(s=e).pn(),new Ra(r,s.connection,s.authCredentials,s.appCheckCredentials,s.serializer,n)),t.Ea.push(async e=>{e?(t.Ra.Xt(),await pd(t)):(await t.Ra.stop(),0<t.sa.length&&(d(ed,`Stopping write stream with ${t.sa.length} pending writes`),t.sa=[]))})),t.Ra;var e,r,n,s}class yd{constructor(e){this.observer=e,this.muted=!1}next(e){this.muted||this.observer.next&&this.Aa(this.observer.next,e)}error(e){this.muted||(this.observer.error?this.Aa(this.observer.error,e):St("Uncaught Error in snapshot listener:",e.toString()))}Va(){this.muted=!0}Aa(e,t){setTimeout(()=>{this.muted||e(t)},0)}}class _d{constructor(e,t,r,n,s){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=r,this.op=n,this.removalCallback=s,this.deferred=new la,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(e=>{})}get promise(){return this.deferred.promise}static createAndSchedule(e,t,r,n,s){var i=Date.now()+r,i=new _d(e,t,i,n,s);return i.start(r),i}start(e){this.timerHandle=setTimeout(()=>this.handleDelayElapsed(),e)}skipDelay(){return this.handleDelayElapsed()}cancel(e){null!==this.timerHandle&&(this.clearTimeout(),this.deferred.reject(new N(w.CANCELLED,"Operation cancelled"+(e?": "+e:""))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget(()=>null!==this.timerHandle?(this.clearTimeout(),this.op().then(e=>this.deferred.resolve(e))):Promise.resolve())}clearTimeout(){null!==this.timerHandle&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}}function Id(e,t){if(St("AsyncQueue",t+": "+e),Wa(e))return new N(w.UNAVAILABLE,t+": "+e);throw e}class Td{constructor(e,t){this.da=e,this.serializer=t,this.metadata=new la,this.buffer=new Uint8Array,this.fa=new TextDecoder("utf-8"),this.ma().then(e=>{e&&e.Jo()?this.metadata.resolve(e.Ho.metadata):this.metadata.reject(new Error(`The first element of the bundle is not a metadata, it is
`+JSON.stringify(e?.Ho)))},e=>this.metadata.reject(e))}close(){return this.da.cancel()}async getMetadata(){return this.metadata.promise}async pa(){return await this.getMetadata(),this.ma()}async ma(){var e,t,r=await this.ga();return null===r?null:(t=this.fa.decode(r),e=Number(t),isNaN(e)&&this.ya(`length string (${t}) is not valid number`),t=await this.wa(e),new XC(JSON.parse(t),r.length+e))}ba(){return this.buffer.findIndex(e=>e==="{".charCodeAt(0))}async ga(){for(;this.ba()<0&&!await this.Sa(););var e,t;return 0===this.buffer.length?null:((e=this.ba())<0&&this.ya("Reached the end of bundle when a length string is expected."),t=this.buffer.slice(0,e),this.buffer=this.buffer.slice(e),t)}async wa(e){for(;this.buffer.length<e;)await this.Sa()&&this.ya("Reached the end of bundle when more is expected.");var t=this.fa.decode(this.buffer.slice(0,e));return this.buffer=this.buffer.slice(e),t}ya(e){throw this.da.cancel(),new Error("Invalid bundle format: "+e)}async Sa(){var e,t=await this.da.read();return t.done||((e=new Uint8Array(this.buffer.length+t.value.length)).set(this.buffer),e.set(t.value,this.buffer.length),this.buffer=e),t.done}}let bd="IndexBackfiller";class Nd{constructor(e,t){this.asyncQueue=e,this.Da=t,this.task=null}start(){this.xa(15e3)}stop(){this.task&&(this.task.cancel(),this.task=null)}get started(){return null!==this.task}xa(e){d(bd,`Scheduled in ${e}ms`),this.task=this.asyncQueue.enqueueAfterDelay("index_backfill",e,async()=>{this.task=null;try{var e=await this.Da.Ca();d(bd,"Documents written: "+e)}catch(e){Wa(e)?d(bd,"Ignoring IndexedDB error during index backfill: ",e):await qa(e)}await this.xa(6e4)})}}class Fd{constructor(e,t){this.localStore=e,this.persistence=t}async Ca(t=50){return this.persistence.runTransaction("Backfill Indexes","readwrite-primary",e=>this.Fa(e,t))}Fa(e,t){let r=new Set,n=t,s=!0;return k.doWhile(()=>!0===s&&0<n,()=>this.localStore.indexManager.getNextCollectionGroupToUpdate(e).next(t=>{if(null!==t&&!r.has(t))return d(bd,"Processing collection: "+t),this.Oa(e,t,n).next(e=>{n-=e,r.add(t)});s=!1})).next(()=>t-n)}Oa(n,s,e){return this.localStore.indexManager.getMinOffsetFromCollectionGroup(n,s).next(r=>this.localStore.localDocuments.getNextDocuments(n,s,r,e).next(e=>{let t=e.changes;return this.localStore.indexManager.updateIndexEntries(n,t).next(()=>this.Ma(r,e)).next(e=>(d(bd,"Updating offset: "+e),this.localStore.indexManager.updateCollectionGroup(n,s,e))).next(()=>t.size)}))}Ma(e,t){let n=e;return t.changes.forEach((e,t)=>{var r=ws(t);0<_s(r,n)&&(n=r)}),new ys(n.readTime,n.documentKey,Math.max(t.batchId,e.largestBatchId))}}let Ad="firestore_clients";function Sd(e,t){return Ad+`_${e}_`+t}let Od="firestore_mutations";function xd(e,t,r){let n=Od+`_${e}_`+r;return t.isAuthenticated()&&(n+="_"+t.uid),n}let Ld="firestore_targets";function Rd(e,t){return Ld+`_${e}_`+t}let kd="SharedClientState";class Gd{constructor(e,t,r,n){this.user=e,this.batchId=t,this.state=r,this.error=n}static Na(e,t,r){var n=JSON.parse(r);let s,i="object"==typeof n&&-1!==["pending","acknowledged","rejected"].indexOf(n.state)&&(void 0===n.error||"object"==typeof n.error);return i&&n.error&&(i="string"==typeof n.error.message&&"string"==typeof n.error.code)&&(s=new N(n.error.code,n.error.message)),i?new Gd(e,t,n.state,s):(St(kd,`Failed to parse mutation state for ID '${t}': `+r),null)}La(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class Pd{constructor(e,t,r){this.targetId=e,this.state=t,this.error=r}static Na(e,t){var r=JSON.parse(t);let n,s="object"==typeof r&&-1!==["not-current","current","rejected"].indexOf(r.state)&&(void 0===r.error||"object"==typeof r.error);return s&&r.error&&(s="string"==typeof r.error.message&&"string"==typeof r.error.code)&&(n=new N(r.error.code,r.error.message)),s?new Pd(e,r.state,n):(St(kd,`Failed to parse target state for ID '${e}': `+t),null)}La(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class Md{constructor(e,t){this.clientId=e,this.activeTargetIds=t}static Na(e,t){var r=JSON.parse(t);let n="object"==typeof r&&r.activeTargetIds instanceof Array,s=si;for(let i=0;n&&i<r.activeTargetIds.length;++i)n=Pr(r.activeTargetIds[i]),s=s.add(r.activeTargetIds[i]);return n?new Md(e,s):(St(kd,`Failed to parse client data for instance '${e}': `+t),null)}}class Hd{constructor(e,t){this.clientId=e,this.onlineState=t}static Na(e){var t=JSON.parse(e);return"object"==typeof t&&-1!==["Unknown","Online","Offline"].indexOf(t.onlineState)&&"string"==typeof t.clientId?new Hd(t.clientId,t.onlineState):(St(kd,"Failed to parse online state: "+e),null)}}class Vd{constructor(){this.activeTargetIds=si}Ba(e){this.activeTargetIds=this.activeTargetIds.add(e)}Ua(e){this.activeTargetIds=this.activeTargetIds.delete(e)}La(){var e={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(e)}}class Ud{constructor(e,t,r,n,s){this.window=e,this.Ct=t,this.persistenceKey=r,this.ka=n,this.syncEngine=null,this.onlineStateHandler=null,this.sequenceNumberHandler=null,this.qa=this.$a.bind(this),this.Ka=new p(b),this.started=!1,this.Qa=[];var i=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");this.storage=this.window.localStorage,this.currentUser=s,this.Wa=Sd(this.persistenceKey,this.ka),this.Ga="firestore_sequence_number_"+this.persistenceKey,this.Ka=this.Ka.insert(this.ka,new Vd),this.za=new RegExp(`^${Ad}_${i}_([^_]*)$`),this.ja=new RegExp(`^${Od}_${i}_(\\d+)(?:_(.*))?$`),this.Ha=new RegExp(`^${Ld}_${i}_(\\d+)$`),this.Ja="firestore_online_state_"+this.persistenceKey,this.Ya="firestore_bundle_loaded_v2_"+this.persistenceKey,this.window.addEventListener("storage",this.qa)}static Ye(e){return!(!e||!e.localStorage)}async start(){let e=await this.syncEngine.Ro();for(let r of e)if(r!==this.ka){let e=this.getItem(Sd(this.persistenceKey,r));var t;e&&(t=Md.Na(r,e))&&(this.Ka=this.Ka.insert(t.clientId,t))}this.Za();let r=this.storage.getItem(this.Ja);if(r){let e=this.Xa(r);e&&this.eu(e)}for(let e of this.Qa)this.$a(e);this.Qa=[],this.window.addEventListener("pagehide",()=>this.shutdown()),this.started=!0}writeSequenceNumber(e){this.setItem(this.Ga,JSON.stringify(e))}getAllActiveQueryTargets(){return this.tu(this.Ka)}isActiveQueryTarget(r){let n=!1;return this.Ka.forEach((e,t)=>{t.activeTargetIds.has(r)&&(n=!0)}),n}addPendingMutation(e){this.nu(e,"pending")}updateMutationState(e,t,r){this.nu(e,t,r),this.ru(e)}addLocalQueryTarget(t,e=!0){let r="not-current";if(this.isActiveQueryTarget(t)){let e=this.storage.getItem(Rd(this.persistenceKey,t));var n;e&&(n=Pd.Na(t,e))&&(r=n.state)}return e&&this.iu.Ba(t),this.Za(),r}removeLocalQueryTarget(e){this.iu.Ua(e),this.Za()}isLocalQueryTarget(e){return this.iu.activeTargetIds.has(e)}clearQueryState(e){this.removeItem(Rd(this.persistenceKey,e))}updateQueryState(e,t,r){this.su(e,t,r)}handleUserChange(e,t,r){t.forEach(e=>{this.ru(e)}),this.currentUser=e,r.forEach(e=>{this.addPendingMutation(e)})}setOnlineState(e){this._u(e)}notifyBundleLoaded(e){this.ou(e)}shutdown(){this.started&&(this.window.removeEventListener("storage",this.qa),this.removeItem(this.Wa),this.started=!1)}getItem(e){var t=this.storage.getItem(e);return d(kd,"READ",e,t),t}setItem(e,t){d(kd,"SET",e,t),this.storage.setItem(e,t)}removeItem(e){d(kd,"REMOVE",e),this.storage.removeItem(e)}$a(e){let t=e;t.storageArea===this.storage&&(d(kd,"EVENT",t.key,t.newValue),t.key===this.Wa?St("Received WebStorage notification for local change. Another client might have garbage-collected our state"):this.Ct.enqueueRetryable(async()=>{if(this.started){if(null!==t.key){if(this.za.test(t.key))return null==t.newValue?(e=this.au(t.key),this.uu(e,null)):(e=this.cu(t.key,t.newValue))?this.uu(e.clientId,e):void 0;if(this.ja.test(t.key)){if(null!==t.newValue){var e=this.lu(t.key,t.newValue);if(e)return this.Eu(e)}}else if(this.Ha.test(t.key)){if(null!==t.newValue){var e=this.hu(t.key,t.newValue);if(e)return this.Tu(e)}}else if(t.key===this.Ja){if(null!==t.newValue){var e=this.Xa(t.newValue);if(e)return this.eu(e)}}else t.key===this.Ga?(e=(e=>{let t=Ha.wn;if(null!=e)try{var r=JSON.parse(e);f("number"==typeof r,30636,{Pu:e}),t=r}catch(e){St(kd,"Failed to read sequence number from WebStorage",e)}return t})(t.newValue))!==Ha.wn&&this.sequenceNumberHandler(e):t.key===this.Ya&&(e=this.Iu(t.newValue),await Promise.all(e.map(e=>this.syncEngine.Ru(e))))}}else this.Qa.push(t)}))}get iu(){return this.Ka.get(this.ka)}Za(){this.setItem(this.Wa,this.iu.La())}nu(e,t,r){var n=new Gd(this.currentUser,e,t,r),s=xd(this.persistenceKey,this.currentUser,e);this.setItem(s,n.La())}ru(e){var t=xd(this.persistenceKey,this.currentUser,e);this.removeItem(t)}_u(e){var t={clientId:this.ka,onlineState:e};this.storage.setItem(this.Ja,JSON.stringify(t))}su(e,t,r){var n=Rd(this.persistenceKey,e),s=new Pd(e,t,r);this.setItem(n,s.La())}ou(e){var t=JSON.stringify(Array.from(e));this.setItem(this.Ya,t)}au(e){var t=this.za.exec(e);return t?t[1]:null}cu(e,t){var r=this.au(e);return Md.Na(r,t)}lu(e,t){var r=this.ja.exec(e),n=Number(r[1]),r=void 0!==r[2]?r[2]:null;return Gd.Na(new ua(r),n,t)}hu(e,t){var r=this.Ha.exec(e),r=Number(r[1]);return Pd.Na(r,t)}Xa(e){return Hd.Na(e)}Iu(e){return JSON.parse(e)}async Eu(e){if(e.user.uid===this.currentUser.uid)return this.syncEngine.Au(e.batchId,e.state,e.error);d(kd,"Ignoring mutation for non-active user "+e.user.uid)}Tu(e){return this.syncEngine.Vu(e.targetId,e.state,e.error)}uu(e,t){let r=t?this.Ka.insert(e,t):this.Ka.remove(e),n=this.tu(this.Ka),s=this.tu(r),i=[],a=[];return s.forEach(e=>{n.has(e)||i.push(e)}),n.forEach(e=>{s.has(e)||a.push(e)}),this.syncEngine.du(i,a).then(()=>{this.Ka=r})}eu(e){this.Ka.get(e.clientId)&&this.onlineStateHandler(e.onlineState)}tu(e){let r=si;return e.forEach((e,t)=>{r=r.unionWith(t.activeTargetIds)}),r}}class qd{constructor(){this.fu=new Vd,this.mu={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,r){}addLocalQueryTarget(e,t=!0){return t&&this.fu.Ba(e),this.mu[e]||"not-current"}updateQueryState(e,t,r){this.mu[e]=t}removeLocalQueryTarget(e){this.fu.Ua(e)}isLocalQueryTarget(e){return this.fu.activeTargetIds.has(e)}clearQueryState(e){delete this.mu[e]}getAllActiveQueryTargets(){return this.fu.activeTargetIds}isActiveQueryTarget(e){return this.fu.activeTargetIds.has(e)}start(){return this.fu=new Vd,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}function Jd(){return"undefined"!=typeof window?window:null}function Kd(){return"undefined"!=typeof document?document:null}class jd{static emptySet(e){return new jd(e.comparator)}constructor(r){this.comparator=r?(e,t)=>r(e,t)||A.comparator(e.key,t.key):(e,t)=>A.comparator(e.key,t.key),this.keyedMap=Zs(),this.sortedSet=new p(this.comparator)}has(e){return null!=this.keyedMap.get(e)}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){var t=this.keyedMap.get(e);return t?this.sortedSet.indexOf(t):-1}get size(){return this.sortedSet.size}forEach(r){this.sortedSet.inorderTraversal((e,t)=>(r(e),!1))}add(e){var t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){var t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof jd))return!1;if(this.size!==e.size)return!1;for(var r=this.sortedSet.getIterator(),n=e.sortedSet.getIterator();r.hasNext();){let e=r.getNext().key,t=n.getNext().key;if(!e.isEqual(t))return!1}return!0}toString(){let t=[];return this.forEach(e=>{t.push(e.toString())}),0===t.length?"DocumentSet ()":"DocumentSet (\n "+t.join(" \n")+"\n)"}copy(e,t){var r=new jd;return r.comparator=this.comparator,r.keyedMap=e,r.sortedSet=t,r}}class Qd{constructor(){this.pu=new p(A.comparator)}track(e){var t=e.doc.key,r=this.pu.get(t);!r||0!==e.type&&3===r.type?this.pu=this.pu.insert(t,e):3===e.type&&1!==r.type?this.pu=this.pu.insert(t,{type:r.type,doc:e.doc}):2===e.type&&2===r.type?this.pu=this.pu.insert(t,{type:2,doc:e.doc}):2===e.type&&0===r.type?this.pu=this.pu.insert(t,{type:0,doc:e.doc}):1===e.type&&0===r.type?this.pu=this.pu.remove(t):1===e.type&&2===r.type?this.pu=this.pu.insert(t,{type:1,doc:r.doc}):0===e.type&&1===r.type?this.pu=this.pu.insert(t,{type:2,doc:e.doc}):T(63341,{we:e,gu:r})}yu(){let r=[];return this.pu.inorderTraversal((e,t)=>{r.push(t)}),r}}class zd{constructor(e,t,r,n,s,i,a,B,o){this.query=e,this.docs=t,this.oldDocs=r,this.docChanges=n,this.mutatedKeys=s,this.fromCache=i,this.syncStateChanged=a,this.excludesMetadataChanges=B,this.hasCachedResults=o}static fromInitialDocuments(e,t,r,n,s){let i=[];return t.forEach(e=>{i.push({type:0,doc:e})}),new zd(e,t,jd.emptySet(t),i,r,n,!0,!1,s)}get hasPendingWrites(){return!this.mutatedKeys.isEmpty()}isEqual(e){if(!(this.fromCache===e.fromCache&&this.hasCachedResults===e.hasCachedResults&&this.syncStateChanged===e.syncStateChanged&&this.mutatedKeys.isEqual(e.mutatedKeys)&&vl(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;var t=this.docChanges,r=e.docChanges;if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(t[n].type!==r[n].type||!t[n].doc.isEqual(r[n].doc))return!1;return!0}}class Yd{constructor(){this.wu=void 0,this.bu=[]}Su(){return this.bu.some(e=>e.vu())}}class Wd{constructor(){this.queries=Xd(),this.onlineState="Unknown",this.Du=new Set}terminate(){var e,r,t,n;e=this,r=new N(w.ABORTED,"Firestore shutting down"),n=(t=e).queries,t.queries=Xd(),n.forEach((e,t)=>{for(let e of t.bu)e.onError(r)})}}function Xd(){return new Ws(e=>El(e),vl)}async function $d(t,r){let e=t,n=3;var s=r.query;let i=e.queries.get(s);i?!i.Su()&&r.vu()&&(n=2):(i=new Yd,n=r.vu()?0:1);try{switch(n){case 0:i.wu=await e.onListen(s,!0);break;case 1:i.wu=await e.onListen(s,!1);break;case 2:await e.onFirstRemoteStoreListen(s)}}catch(t){let e=Id(t,`Initialization of query '${(ml(r.query)?pl:Js)(r.query)}' failed`);return void r.onError(e)}e.queries.set(s,i),i.bu.push(r),r.xu(e.onlineState),i.wu&&r.Cu(i.wu)&&eg(e)}async function Zd(e,t){var r=e,n=t.query;let s=3;var i=r.queries.get(n);if(i){let e=i.bu.indexOf(t);0<=e&&(i.bu.splice(e,1),0===i.bu.length?s=t.vu()?0:1:!i.Su()&&t.vu()&&(s=2))}switch(s){case 0:return r.queries.delete(n),r.onUnlisten(n,!0);case 1:return r.queries.delete(n),r.onUnlisten(n,!1);case 2:return r.onLastRemoteStoreUnlisten(n);default:return}}function eg(e){e.Du.forEach(e=>{e.next()})}(jp=vt=vt||{}).Default="default",jp.Cache="cache";class tg{constructor(e,t,r){this.query=e,this.Fu=t,this.Ou=!1,this.Mu=null,this.onlineState="Unknown",this.options=r||{}}Cu(t){if(!this.options.includeMetadataChanges){let e=[];for(var r of t.docChanges)3!==r.type&&e.push(r);t=new zd(t.query,t.docs,t.oldDocs,e,t.mutatedKeys,t.fromCache,t.syncStateChanged,!0,t.hasCachedResults)}let e=!1;return this.Ou?this.Nu(t)&&(this.Fu.next(t),e=!0):this.Lu(t,this.onlineState)&&(this.Bu(t),e=!0),this.Mu=t,e}onError(e){this.Fu.error(e)}xu(e){this.onlineState=e;let t=!1;return this.Mu&&!this.Ou&&this.Lu(this.Mu,e)&&(this.Bu(this.Mu),t=!0),t}Lu(e,t){return!e.fromCache||!this.vu()||(!this.options.waitForSyncWhenOnline||!("Offline"!==t))&&(!e.docs.isEmpty()||e.hasCachedResults||"Offline"===t)}Nu(e){var t;return 0<e.docChanges.length||(t=this.Mu&&this.Mu.hasPendingWrites!==e.hasPendingWrites,!(!e.syncStateChanged&&!t)&&!0===this.options.includeMetadataChanges)}Bu(e){e=zd.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.Ou=!0,this.Fu.next(e)}vu(){return this.options.source!==vt.Cache}}class rg{constructor(e){this.serializer=e}Go(e){return Ri(this.serializer,e)}zo(e){return e.metadata.exists?Vi(this.serializer,e.document,!1):ds.newNoDocument(this.Go(e.metadata.name),this.jo(e.metadata.readTime))}jo(e){return Ai(e)}}class ng{constructor(e,t){this.Uu=e,this.serializer=t,this.ku=[],this.qu=[],this.collectionGroups=new Set,this.progress=sg(e)}get queries(){return this.ku}get documents(){return this.qu}$u(e){this.progress.bytesLoaded+=e.byteLength;let t=this.progress.documentsLoaded;var r;return e.Ho.namedQuery?this.ku.push(e.Ho.namedQuery):e.Ho.documentMetadata?(this.qu.push({metadata:e.Ho.documentMetadata}),e.Ho.documentMetadata.exists||++t,r=F.fromString(e.Ho.documentMetadata.name),this.collectionGroups.add(r.get(r.length-2))):e.Ho.document&&(this.qu[this.qu.length-1].document=e.Ho.document,++t),t!==this.progress.documentsLoaded?(this.progress.documentsLoaded=t,{...this.progress}):null}Ku(e){let r=new Map,n=new rg(this.serializer);for(var s of e)if(s.metadata.queries){let e=n.Go(s.metadata.name);for(let t of s.metadata.queries){var i=(r.get(t)||R()).add(e);r.set(t,i)}}return r}async Qu(e){let t=await(async(r,n,e,t)=>{let s=r,i=R(),a=Xs;for(let r of e){let e=n.Go(r.metadata.name),t=(r.document&&(i=i.add(e)),n.zo(r));t.setReadTime(n.jo(r.metadata.readTime)),a=a.insert(e,t)}let B=s.ko.newChangeBuffer({trackRemovals:!0}),o=await KC(s,(r=t,Hs(ks(F.fromString("__bundle__/docs/"+r)))));return s.persistence.runTransaction("Apply bundle documents","readwrite",t=>JC(t,B,a).next(e=>(B.apply(t),e)).next(e=>s.V_.removeMatchingKeysForTargetId(t,o.targetId).next(()=>s.V_.addMatchingKeys(t,i,o.targetId)).next(()=>s.localDocuments.getLocalViewOfDocuments(t,e.Ko,e.Qo)).next(()=>e.Ko)))})(e,new rg(this.serializer),this.qu,this.Uu.id),r=this.Ku(this.documents);for(let t of this.ku)await(async(e,r,n=R())=>{let s=await KC(e,Hs(Wh(r.bundledQuery))),i=e;return i.persistence.runTransaction("Save named query","readwrite",e=>{var t=Ai(r.readTime);return 0<=s.snapshotVersion.compareTo(t)?i.f_.saveNamedQuery(e,r):(t=s.withResumeToken(Er.EMPTY_BYTE_STRING,t),i.Lo=i.Lo.insert(t.targetId,t),i.V_.updateTargetData(e,t).next(()=>i.V_.removeMatchingKeysForTargetId(e,s.targetId)).next(()=>i.V_.addMatchingKeys(e,n,s.targetId)).next(()=>i.f_.saveNamedQuery(e,r)))})})(e,t,r.get(t.name));return this.progress.taskState="Success",{progress:this.progress,Wu:this.collectionGroups,Gu:t}}}function sg(e){return{taskState:"Running",documentsLoaded:0,bytesLoaded:0,totalDocuments:e.totalDocuments,totalBytes:e.totalBytes}}class ig{constructor(e){this.key=e}}class ag{constructor(e){this.key=e}}class Bg{constructor(e,t){this.query=e,this.zu=t,this.ju=null,this.hasCachedResults=!1,this.current=!1,this.Hu=R(),this.mutatedKeys=R(),this.Ju=(ml(e)?$c:js)(e),this.Yu=new jd(this.Ju)}get Zu(){return this.zu}Xu(e,t){let B=t?t.ec:new Qd,o=(t||this).Yu,u=(t||this).mutatedKeys,l=o,h=!1,[c,C]=this.tc(this.query,o);e.inorderTraversal((e,t)=>{var r=o.get(e),n=Xc(this.query,t)?t:null,s=!!r&&this.mutatedKeys.has(r.key),i=!!n&&(n.hasLocalMutations||this.mutatedKeys.has(n.key)&&n.hasCommittedMutations);let a=!1;r&&n?r.data.isEqual(n.data)?s!==i&&(B.track({type:3,doc:n}),a=!0):!this.nc(r,n)&&(B.track({type:2,doc:n}),a=!0,c&&0<this.Ju(n,c)||C&&this.Ju(n,C)<0)&&(h=!0):!r&&n?(B.track({type:0,doc:n}),a=!0):r&&!n&&(B.track({type:1,doc:r}),a=!0,c||C)&&(h=!0),a&&(u=n?(l=l.add(n),i?u.add(e):u.delete(e)):(l=l.delete(e),u.delete(e)))});var r=this.rc(this.query);if(r)if(ml(this.query)){let t=[],e=(l.forEach(e=>t.push(e)),Yc(this.query,t)),r=new jd($c(this.query));for(let t of e)r=r.add(t);l.forEach(e=>{r.has(e.key)||(u=u.delete(e.key),B.track({type:1,doc:e}))}),l=r}else{let t=this.sc(this.query);for(;l.size>r;){let e="F"===t?l.last():l.first();l=l.delete(e.key),u=u.delete(e.key),B.track({type:1,doc:e})}}return{Yu:l,ec:B,Oo:h,mutatedKeys:u}}rc(e){return ml(e)?Zc(e)?.limit:e.limit||void 0}sc(e){var t;return ml(e)?(t=Zc(e))&&t.limit<0?"L":"F":e.limitType}tc(e,t){var r;return ml(e)?(r=Zc(e)?.limit,[t.size===r?t.last():null,null]):["F"===e.limitType&&t.size===this.rc(this.query)?t.last():null,"L"===e.limitType&&t.size===this.rc(this.query)?t.first():null]}nc(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,n){var s=this.Yu,i=(this.Yu=e.Yu,this.mutatedKeys=e.mutatedKeys,e.ec.yu()),a=(i.sort((e,t)=>{return r=e.type,n=t.type,(s=e=>{switch(e){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return T(20277,{we:e})}})(r)-s(n)||this.Ju(e.doc,t.doc);var r,n,s}),this._c(r),n=n??!1,t&&!n?this.oc():[]),B=0===this.Hu.size&&this.current&&!n?1:0,o=B!==this.ju;return this.ju=B,0!==i.length||o?{snapshot:new zd(this.query,e.Yu,s,i,e.mutatedKeys,0==B,o,!1,!!r&&0<r.resumeToken.approximateByteSize()),ac:a}:{ac:a}}xu(e){return this.current&&"Offline"===e?(this.current=!1,this.applyChanges({Yu:this.Yu,ec:new Qd,mutatedKeys:this.mutatedKeys,Oo:!1},!1)):{ac:[]}}uc(e){return!this.zu.has(e)&&!!this.Yu.has(e)&&!this.Yu.get(e).hasLocalMutations}_c(e){e&&(e.addedDocuments.forEach(e=>this.zu=this.zu.add(e)),e.modifiedDocuments.forEach(e=>{}),e.removedDocuments.forEach(e=>this.zu=this.zu.delete(e)),this.current=e.current)}oc(){if(!this.current)return[];let t=this.Hu,r=(this.Hu=R(),this.Yu.forEach(e=>{this.uc(e.key)&&(this.Hu=this.Hu.add(e.key))}),[]);return t.forEach(e=>{this.Hu.has(e)||r.push(new ag(e))}),this.Hu.forEach(e=>{t.has(e)||r.push(new ig(e))}),r}cc(e){this.zu=e.Wo,this.Hu=R();var t=this.Xu(e.documents);return this.applyChanges(t,!0)}lc(){return zd.fromInitialDocuments(this.query,this.Yu,this.mutatedKeys,0===this.ju,this.hasCachedResults)}}let og="SyncEngine";class ug{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class lg{constructor(e){this.key=e,this.Ec=!1}}class hg{constructor(e,t,r,n,s,i){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=n,this.currentUser=s,this.maxConcurrentLimboResolutions=i,this.hc={},this.Tc=new Ws(e=>El(e),vl),this.Pc=new Map,this.Ic=new Set,this.Rc=new p(A.comparator),this.Ac=new Map,this.Vc=new dC,this.dc={},this.fc=new Map,this.mc=Uc.bs(),this.onlineState="Unknown",this.gc=void 0}get isPrimaryClient(){return!0===this.gc}}async function cg(e,t,r,n){var s=await KC(e.localStore,ml(t)?t:Hs(t)),i=s.targetId,a=e.sharedClientState.addLocalQueryTarget(i,r);let B;return n&&(B=await Cg(e,t,i,"current"===a,s.resumeToken)),e.isPrimaryClient&&r&&id(e.remoteStore,s),B}async function Cg(n,e,t,r,s){n.yc=(e,t,r)=>(async(e,t,r,n)=>{let s=t.view.Xu(r);s.Oo&&(s=await QC(e.localStore,t.query,!1).then(({documents:e})=>t.view.Xu(e,s)));var i=n&&n.targetChanges.get(t.targetId),a=n&&null!=n.targetMismatches.get(t.targetId),i=t.view.applyChanges(s,e.isPrimaryClient,i,a);return yg(e,t.targetId,i.ac),i.snapshot})(n,e,t,r);var i=await QC(n.localStore,e,!0),a=new Bg(e,i.Wo),i=a.Xu(i.documents),B=ci.createSynthesizedTargetChangeForCurrentChange(t,r&&"Offline"!==n.onlineState,s),i=a.applyChanges(i,n.isPrimaryClient,B),B=(yg(n,t,i.ac),new ug(e,t,a));return n.Tc.set(e,B),n.Pc.has(t)?n.Pc.get(t).push(e):n.Pc.set(t,[e]),i.snapshot}async function dg(t,e,r){var n=Sg(t);try{let t=await((e,s)=>{let i=e,a=l.now(),B=s.reduce((e,t)=>e.add(t.key),R()),o,u;return i.persistence.runTransaction("Locally write mutations","readwrite",n=>{let t=Xs,r=R();return i.ko.getEntries(n,B).next(e=>{(t=e).forEach((e,t)=>{t.isValidDocument()||(r=r.add(e))})}).next(()=>i.localDocuments.getOverlayedDocuments(n,t)).next(e=>{o=e;var t=[];for(let r of s){let e=((e,r)=>{let n=null;for(var s of e.fieldTransforms){let e=r.data.field(s.field),t=vn(s.transform,e||null);null!=t&&(n=null===n?pn.empty():n).set(s.field,t)}return n||null})(r,o.get(r.key).overlayedDocument);null!=e&&t.push(new qn(r.key,e,function s(e){let i=[];return $t(e.fields,(e,r)=>{var n=new Yt([e]);if(on(r)){let t=s(r.mapValue).fields;if(0===t.length)i.push(n);else for(let e of t)i.push(n.child(e))}else i.push(n)}),new Wt(i)}(e.value.mapValue),kn.exists(!0)))}return i.mutationQueue.addMutationBatch(n,a,t,s)}).next(e=>{var t=(u=e).applyToLocalDocumentSet(o,r);return i.documentOverlayCache.saveOverlays(n,e.batchId,t)})}).then(()=>({batchId:u.batchId,changes:ei(o)}))})(n.localStore,e);n.sharedClientState.addPendingMutation(t.batchId);{var s=n;var i=t.batchId;var a=r;let e=s.dc[s.currentUser.toKey()];e=(e=e||new p(b)).insert(i,a),s.dc[s.currentUser.toKey()]=e}await Ig(n,t.changes),await pd(n.remoteStore)}catch(t){let e=Id(t,"Failed to persist write");r.reject(e)}}async function gg(e,t){let n=e;try{let e=await qC(n.localStore,t);t.targetChanges.forEach((e,t)=>{var r=n.Ac.get(t);r&&(f(e.addedDocuments.size+e.modifiedDocuments.size+e.removedDocuments.size<=1,22616),0<e.addedDocuments.size?r.Ec=!0:0<e.modifiedDocuments.size?f(r.Ec,14607):0<e.removedDocuments.size&&(f(r.Ec,42227),r.Ec=!1))}),await Ig(n,e,t)}catch(e){await qa(e)}}function pg(e,s,t){var i=e;if(i.isPrimaryClient&&0===t||!i.isPrimaryClient&&1===t){let n=[];i.Tc.forEach((e,t)=>{var r=t.view.xu(s);r.snapshot&&n.push(r.snapshot)});{t=i.eventManager;var a=s;var B=t;B.onlineState=a;let r=!1;B.queries.forEach((e,t)=>{for(let e of t.bu)e.xu(a)&&(r=!0)}),r&&eg(B)}n.length&&i.hc.Tn(n),i.onlineState=s,i.isPrimaryClient&&i.sharedClientState.setOnlineState(s)}}async function fg(e,t,r){var n=e;try{let e=await((e,n)=>{let s=e;return s.persistence.runTransaction("Reject batch","readwrite-primary",t=>{let r;return s.mutationQueue.lookupMutationBatch(t,n).next(e=>(f(null!==e,37113),r=e.keys(),s.mutationQueue.removeMutationBatch(t,e))).next(()=>s.mutationQueue.performConsistencyCheck(t)).next(()=>s.documentOverlayCache.removeOverlaysForBatchId(t,r,n)).next(()=>s.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(t,r)).next(()=>s.localDocuments.getDocuments(t,r))})})(n.localStore,t);Eg(n,t,r),Dg(n,t),n.sharedClientState.updateMutationState(t,"rejected",r),await Ig(n,e)}catch(r){await qa(r)}}async function mg(t,r){let n=t;hd(n.remoteStore)||d(og,"The network is disabled. The task returned by 'awaitPendingWrites()' will not complete until the network is enabled.");try{let e=await(e=>{let t=e;return t.persistence.runTransaction("Get highest unacknowledged batch id","readonly",e=>t.mutationQueue.getHighestUnacknowledgedBatchId(e))})(n.localStore);var s;e===Rr?r.resolve():((s=n.fc.get(e)||[]).push(r),n.fc.set(e,s))}catch(t){let e=Id(t,"Initialization of waitForPendingWrites() operation failed");r.reject(e)}}function Dg(e,t){(e.fc.get(t)||[]).forEach(e=>{e.resolve()}),e.fc.delete(t)}function Eg(e,t,r){var n=e;let s=n.dc[n.currentUser.toKey()];if(s){let e=s.get(t);e&&(r?e.reject(r):e.resolve(),s=s.remove(t)),n.dc[n.currentUser.toKey()]=s}}function vg(t,e,r=null){t.sharedClientState.removeLocalQueryTarget(e);for(var n of t.Pc.get(e))t.Tc.delete(n),r&&t.hc.wc(n,r);t.Pc.delete(e),t.isPrimaryClient&&t.Vc.e_(e).forEach(e=>{t.Vc.containsKey(e)||wg(t,e)})}function wg(e,t){e.Ic.delete(t.path.canonicalString());var r=e.Rc.get(t);null!==r&&(ad(e.remoteStore,r),e.Rc=e.Rc.remove(t),e.Ac.delete(r),_g(e))}function yg(e,t,r){for(var n of r)n instanceof ig?(e.Vc.addReference(n.key,t),s=e,i=n,B=a=void 0,a=i.key,B=a.path.canonicalString(),s.Rc.get(a)||s.Ic.has(B)||(d(og,"New document in limbo: "+a),s.Ic.add(B),_g(s))):n instanceof ag?(d(og,"Document no longer in limbo: "+n.key),e.Vc.removeReference(n.key,t),e.Vc.containsKey(n.key)||wg(e,n.key)):T(19791,{bc:n});var s,i,a,B}function _g(e){for(;0<e.Ic.size&&e.Rc.size<e.maxConcurrentLimboResolutions;){var t=e.Ic.values().next().value,t=(e.Ic.delete(t),new A(F.fromString(t))),r=e.mc.next();e.Ac.set(r,new lg(t)),e.Rc=e.Rc.insert(t,r),id(e.remoteStore,new Vh(Hs(ks(t.path)),r,"TargetPurposeLimboResolution",Ha.wn))}}async function Ig(e,t,n){let i=e,s=[],a=[],B=[];if(!i.Tc.isEmpty()){i.Tc.forEach((e,r)=>{B.push(i.yc(r,t,n).then(e=>{var t;(e||n)&&i.isPrimaryClient&&(t=e?!e.fromCache:n?.targetChanges.get(r.targetId)?.current,i.sharedClientState.updateQueryState(r.targetId,t?"current":"not-current")),e&&(s.push(e),t=OC.mo(r.targetId,e),a.push(t))}))}),await Promise.all(B),i.hc.Tn(s);{var r=i.localStore,o=a;let s=r;try{await s.persistence.runTransaction("notifyLocalViewChanges","readwrite",r=>k.forEach(o,t=>k.forEach(t.Vo,e=>s.persistence.referenceDelegate.addReference(r,t.targetId,e)).next(()=>k.forEach(t.fo,e=>s.persistence.referenceDelegate.removeReference(r,t.targetId,e)))))}catch(r){if(!Wa(r))throw r;d(kC,"Failed to update sequence numbers: "+r)}for(let e of o){let n=e.targetId;if(!e.fromCache){let e=s.Lo.get(n),t=e.snapshotVersion,r=e.withLastLimboFreeSnapshotVersion(t);s.Lo=s.Lo.insert(n,r)}}}}}async function Tg(e,t,r,n){var s=e,i=await((e,r)=>{let n=e,s=n.mutationQueue;return n.persistence.runTransaction("Lookup mutation documents","readonly",t=>s.Wr(t,r).next(e=>e?n.localDocuments.getDocuments(t,e):k.resolve(null)))})(s.localStore,t);null!==i?("pending"===r?await pd(s.remoteStore):"acknowledged"===r||"rejected"===r?(Eg(s,t,n||null),Dg(s,t),s.localStore.mutationQueue.Hr(t)):T(6720,"Unknown batchState",{Sc:r}),await Ig(s,i)):d(og,"Cannot apply mutation batch with id: "+t)}async function bg(r,e){var n,s,i,a=r,B=[],o=[];for(let r of e){let t,e=a.Pc.get(r);if(e&&0!==e.length){t=await KC(a.localStore,ml(e[0])?e[0]:Hs(e[0]));for(let r of e){let e=a.Tc.get(r),t=(n=e,i=s=void 0,i=await QC((s=a).localStore,n.query,!0),i=n.view.cc(i),s.isPrimaryClient&&yg(s,n.targetId,i.ac),await i);t.snapshot&&o.push(t.snapshot)}}else{let e=await zC(a.localStore,r);t=await KC(a.localStore,e),await Cg(a,Ng(e),r,!1,t.resumeToken)}B.push(t)}return a.hc.Tn(o),B}function Ng(e){return Fs(e)?e:Rs(e.path,e.collectionGroup,e.orderBy,e.filters,e.limit,"F",e.startAt,e.endAt)}async function Fg(e,r,n,t){var s=e;if(s.gc)d(og,"Ignoring unexpected query state notification.");else{var i,a=s.Pc.get(r);if(a&&0<a.length)switch(n){case"current":case"not-current":{let e;if(ml(a[0]))switch(To(a[0])){case"collection_group":case"collection":e=await YC(s.localStore,Fo(a[0]));break;case"documents":e=await((e,t)=>{let r=e,n=R(...Ao(t).map(e=>A.fromPath(e)));return r.persistence.runTransaction("Get documents for pipeline","readonly",e=>r.ko.getEntries(e,n)).then(e=>e)})(s.localStore,a[0]);break;default:Ot(""),e=Zs()}else e=await YC(s.localStore,(i=a[0]).collectionGroup||(i.path.length%2==1?i.path.lastSegment():i.path.get(i.path.length-2)));let t=hi.createSynthesizedRemoteEventForCurrentChange(r,"current"===n,Er.EMPTY_BYTE_STRING);await Ig(s,e,t);break}case"rejected":await jC(s.localStore,r,!0),vg(s,r,t);break;default:T(64155,n)}}}function Ag(e){var t=e;return t.remoteStore.remoteSyncer.applyRemoteEvent=gg.bind(null,t),t.remoteStore.remoteSyncer.getRemoteKeysForTarget=(function(e,t){let n=e,r=n.Ac.get(t);if(r&&r.Ec)return R().add(r.key);{let r=R(),e=n.Pc.get(t);if(e)for(let t of e??[]){let e=n.Tc.get(t);r=r.unionWith(e.view.Zu)}return r}}).bind(null,t),t.remoteStore.remoteSyncer.rejectListen=(async function(e,n,t){let s=e,r=(s.sharedClientState.updateQueryState(n,"rejected",t),s.Ac.get(n)),i=r&&r.key;if(i){let e=new p(A.comparator),t=(e=e.insert(i,ds.newNoDocument(i,L.min())),R().add(i)),r=new hi(L.min(),new Map,new p(b),e,Xs,t);await gg(s,r),s.Rc=s.Rc.remove(i),s.Ac.delete(n),_g(s)}else await jC(s.localStore,n,!1).then(()=>vg(s,n,t)).catch(qa)}).bind(null,t),t.hc.Tn=(function(r,e){var n=r;let s=!1;for(let r of e){let e=r.query,t=n.queries.get(e);if(t){for(let e of t.bu)e.Cu(r)&&(s=!0);t.wu=r}}s&&eg(n)}).bind(null,t.eventManager),t.hc.wc=(function(e,t,r){var n=e,s=n.queries.get(t);if(s)for(let e of s.bu)e.onError(r);n.queries.delete(t)}).bind(null,t.eventManager),t}function Sg(e){var t=e;return t.remoteStore.remoteSyncer.applySuccessfulWrite=(async function(e,t){var r=e,n=t.batch.batchId;try{let e=await VC(r.localStore,t);Eg(r,n,null),Dg(r,n),r.sharedClientState.updateMutationState(n,"acknowledged"),await Ig(r,e)}catch(e){await qa(e)}}).bind(null,t),t.remoteStore.remoteSyncer.rejectFailedWrite=fg.bind(null,t),t}function Og(e,t,r){let n=e;(async(e,r,n)=>{try{var s=await r.getMetadata();if(await((e,t)=>{let r=e,n=Ai(t.createTime);return r.persistence.runTransaction("hasNewerBundle","readonly",e=>r.f_.getBundleMetadata(e,t.id)).then(e=>!!e&&0<=e.createTime.compareTo(n))})(e.localStore,s))return await r.close(),n._completeWith({taskState:"Success",documentsLoaded:s.totalDocuments,bytesLoaded:s.totalBytes,totalDocuments:s.totalDocuments,totalBytes:s.totalBytes}),Promise.resolve(new Set);n._updateProgress(sg(s));var i=new ng(s,r.serializer);let t=await r.pa();for(;t;){let e=await i.$u(t);e&&n._updateProgress(e),t=await r.pa()}var a=await i.Qu(e.localStore);return await Ig(e,a.Gu,void 0),await((e,t)=>{let r=e;return r.persistence.runTransaction("Save bundle","readwrite",e=>r.f_.saveBundleMetadata(e,t))})(e.localStore,s),n._completeWith(a.progress),Promise.resolve(a.Wu)}catch(e){return Ot(og,"Loading bundle failed with "+e),n._failWith(e),Promise.resolve(new Set)}})(n,t,r).then(e=>{n.sharedClientState.notifyBundleLoaded(e)})}class xg{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=sa(e.databaseInfo.databaseId),this.sharedClientState=this.vc(e),this.persistence=this.Dc(e),await this.persistence.start(),this.localStore=this.xc(e),this.gcScheduler=this.Cc(e,this.localStore),this.indexBackfillerScheduler=this.Fc(e,this.localStore)}Cc(e,t){return null}Fc(e,t){return null}xc(e){return MC(this.persistence,new RC,e.initialUser,this.serializer)}Dc(e){return new EC(wC.b_,this.serializer)}vc(e){return new qd}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}xg.provider={build:()=>new xg};class Lg extends xg{constructor(e){super(),this.cacheSizeBytes=e}Cc(e,t){f(this.persistence.referenceDelegate instanceof yC,46915);var r=this.persistence.referenceDelegate.garbageCollector;return new sB(r,e.asyncQueue,t)}Dc(e){let t=void 0!==this.cacheSizeBytes?Ma.withCacheSize(this.cacheSizeBytes):Ma.DEFAULT;return new EC(e=>yC.b_(e,t),this.serializer)}}class Rg extends xg{constructor(e,t,r){super(),this.Oc=e,this.cacheSizeBytes=t,this.forceOwnership=r,this.kind="persistent",this.synchronizeTabs=!1}async initialize(e){await super.initialize(e),await this.Oc.initialize(this,e),await Sg(this.Oc.syncEngine),await pd(this.Oc.remoteStore),await this.persistence.eo(()=>(this.gcScheduler&&!this.gcScheduler.started&&this.gcScheduler.start(),this.indexBackfillerScheduler&&!this.indexBackfillerScheduler.started&&this.indexBackfillerScheduler.start(),Promise.resolve()))}xc(e){return MC(this.persistence,new RC,e.initialUser,this.serializer)}Cc(e,t){var r=this.persistence.referenceDelegate.garbageCollector;return new sB(r,e.asyncQueue,t)}Fc(e,t){var r=new Fd(t,this.persistence);return new Nd(e.asyncQueue,r)}Dc(e){var t=SC(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),r=void 0!==this.cacheSizeBytes?Ma.withCacheSize(this.cacheSizeBytes):Ma.DEFAULT;return new NC(this.synchronizeTabs,t,e.clientId,r,e.asyncQueue,Jd(),Kd(),this.serializer,this.sharedClientState,!!this.forceOwnership)}vc(e){return new qd}}class kg extends Rg{constructor(e,t){super(e,t,!1),this.Oc=e,this.cacheSizeBytes=t,this.synchronizeTabs=!0}async initialize(e){await super.initialize(e);var t=this.Oc.syncEngine;this.sharedClientState instanceof Ud&&(this.sharedClientState.syncEngine={Au:Tg.bind(null,t),Vu:Fg.bind(null,t),du:(async function(e,t,n){let s=Ag(e);if(s.gc){for(let r of t)if(s.Pc.has(r)&&s.sharedClientState.isActiveQueryTarget(r))d(og,"Adding an already active target "+r);else{let e=await zC(s.localStore,r),t=await KC(s.localStore,e);await Cg(s,Ng(e),t.targetId,!1,t.resumeToken),id(s.remoteStore,t)}for(let r of n)s.Pc.has(r)&&await jC(s.localStore,r,!1).then(()=>{ad(s.remoteStore,r),vg(s,r)}).catch(qa)}}).bind(null,t),Ro:(function(e){return e.localStore.persistence.Ro()}).bind(null,t),Ru:(async function(e,t){let r=e;return YC(r.localStore,t).then(e=>Ig(r,e))}).bind(null,t)},await this.sharedClientState.start()),await this.persistence.eo(async e=>{{var t=this.Oc.syncEngine,i=e;let s=t;if(Ag(s),Sg(s),!0===i&&!0!==s.gc){let e=s.sharedClientState.getAllActiveQueryTargets(),t=await bg(s,e.toArray());s.gc=!0,await Ed(s.remoteStore,!0);for(let e of t)id(s.remoteStore,e)}else if(!1===i&&!1!==s.gc){let r=[],n=Promise.resolve();s.Pc.forEach((e,t)=>{s.sharedClientState.isLocalQueryTarget(t)?r.push(t):n=n.then(()=>(vg(s,t),jC(s.localStore,t,!0))),ad(s.remoteStore,t)}),await n,await bg(s,r);{i=s;let r=i;r.Ac.forEach((e,t)=>{ad(r.remoteStore,t)}),r.Vc.t_(),r.Ac=new Map,r.Rc=new p(A.comparator)}s.gc=!1,await Ed(s.remoteStore,!1)}}await 0,this.gcScheduler&&(e&&!this.gcScheduler.started?this.gcScheduler.start():e||this.gcScheduler.stop()),this.indexBackfillerScheduler&&(e&&!this.indexBackfillerScheduler.started?this.indexBackfillerScheduler.start():e||this.indexBackfillerScheduler.stop())})}vc(e){var t,r=Jd();if(Ud.Ye(r))return t=SC(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),new Ud(r,e.asyncQueue,t,e.clientId,e.initialUser);throw new N(w.UNIMPLEMENTED,"IndexedDB persistence is only available on platforms that support LocalStorage.")}}class Gg{async initialize(e,t){this.localStore||(this.localStore=e.localStore,this.sharedClientState=e.sharedClientState,this.datastore=this.createDatastore(t),this.remoteStore=this.createRemoteStore(t),this.eventManager=this.createEventManager(t),this.syncEngine=this.createSyncEngine(t,!e.synchronizeTabs),this.sharedClientState.onlineStateHandler=e=>pg(this.syncEngine,e,1),this.remoteStore.remoteSyncer.handleCredentialChange=(async function(e,t){var r,n,s=e;if(!s.currentUser.isEqual(t)){d(og,"User change. New user:",t.toKey());let e=await HC(s.localStore,t);s.currentUser=t,n="'waitForPendingWrites' promise is rejected due to a user change.",(r=s).fc.forEach(e=>{e.forEach(e=>{e.reject(new N(w.CANCELLED,n))})}),r.fc.clear(),s.sharedClientState.handleUserChange(t,e.removedBatchIds,e.addedBatchIds),await Ig(s,e.$o)}}).bind(null,this.syncEngine),await Ed(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return new Wd}createDatastore(e){var t,r,n,s=sa(e.databaseInfo.databaseId),i=(t=e.databaseInfo,new Aa(t));return t=e.authCredentials,e=e.appCheckCredentials,r=i,n=s,new ka(t,e,r,n)}createRemoteStore(e){return t=this.localStore,r=this.datastore,e=e.asyncQueue,n=e=>pg(this.syncEngine,e,0),s=new(wa.Ye()?wa:Ea),new td(t,r,e,n,s);var t,r,n,s}createSyncEngine(e,t){return r=this.localStore,n=this.remoteStore,s=this.eventManager,i=this.sharedClientState,a=e.initialUser,e=e.maxConcurrentLimboResolutions,t=t,B=new hg(r,n,s,i,a,e),t&&(B.gc=!0),B;var r,n,s,i,a,B}async terminate(){var e,t;e=this.remoteStore,t=e,d(ed,"RemoteStore shutting down."),t.la.add(5),await nd(t),t.ha.shutdown(),await!t.Ta.set("Unknown"),this.datastore?.terminate(),this.eventManager?.terminate()}}Gg.provider={build:()=>new Gg};let Pg=class{constructor(e){this.datastore=e,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastTransactionError=null,this.writtenDocs=new Set}async lookup(e){if(this.ensureCommitNotCalled(),0<this.mutations.length)throw this.lastTransactionError=new N(w.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;var t=await(async(e,t)=>{let o=e,r={documents:t.map(e=>Li(o.serializer,e))},n=await o._t("BatchGetDocuments",o.serializer.databaseId,F.emptyPath(),r,t.length),u=new Map,s=(n.forEach(e=>{t=o.serializer;var t,r,n,s,i,a,B="found"in(e=e)?(r=t,f(!!(n=e).found,43571),n.found.name,n.found.updateTime,s=Ri(r,n.found.name),i=Ai(n.found.updateTime),B=n.found.createTime?Ai(n.found.createTime):L.min(),a=new pn({mapValue:{fields:n.found.fields}}),ds.newFoundDocument(s,i,B,a)):"missing"in e?(r=t,f(!!(n=e).missing,3894),f(!!n.readTime,22933),s=Ri(r,n.missing),i=Ai(n.readTime),ds.newNoDocument(s,i)):T(7234,{result:e});u.set(B.key.toString(),B)}),[]);return t.forEach(e=>{var t=u.get(e.toString());f(!!t,55234,{key:e}),s.push(t)}),s})(this.datastore,e);return t.forEach(e=>this.recordVersion(e)),t}set(e,t){this.write(t.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())}update(e,t){try{this.write(t.toMutation(e,this.preconditionForUpdate(e)))}catch(e){this.lastTransactionError=e}this.writtenDocs.add(e.toString())}delete(e){this.write(new Qn(e,this.precondition(e))),this.writtenDocs.add(e.toString())}async commit(){if(this.ensureCommitNotCalled(),this.lastTransactionError)throw this.lastTransactionError;let t=this.readVersions;this.mutations.forEach(e=>{t.delete(e.key.toString())}),t.forEach((e,t)=>{var r=A.fromPath(t);this.mutations.push(new zn(r,this.precondition(r)))});{var r=this.datastore,n=this.mutations;let t=r,e={writes:n.map(e=>Ui(t.serializer,e))};await t.nt("Commit",t.serializer.databaseId,F.emptyPath(),e)}await 0,this.committed=!0}recordVersion(e){let t;if(e.isFoundDocument())t=e.version;else{if(!e.isNoDocument())throw T(50498,{Mc:e.constructor.name});t=L.min()}var r=this.readVersions.get(e.key.toString());if(r){if(!t.isEqual(r))throw new N(w.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),t)}precondition(e){var t=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&t?t.isEqual(L.min())?kn.exists(!1):kn.updateTime(t):kn.none()}preconditionForUpdate(e){var t=this.readVersions.get(e.toString());if(this.writtenDocs.has(e.toString())||!t)return kn.exists(!0);if(t.isEqual(L.min()))throw new N(w.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return kn.updateTime(t)}write(e){this.ensureCommitNotCalled(),this.mutations.push(e)}ensureCommitNotCalled(){}};class Mg{constructor(e,t,r,n,s){this.asyncQueue=e,this.datastore=t,this.options=r,this.updateFunction=n,this.deferred=s,this.Nc=r.maxAttempts,this.Ht=new Sa(this.asyncQueue,"transaction_retry")}Lc(){--this.Nc,this.Bc()}Bc(){this.Ht.kt(async()=>{let t=new Pg(this.datastore),e=this.Uc(t);e&&e.then(e=>{this.asyncQueue.enqueueAndForget(()=>t.commit().then(()=>{this.deferred.resolve(e)}).catch(e=>{this.kc(e)}))}).catch(e=>{this.kc(e)})})}Uc(e){try{var t=this.updateFunction(e);return!kr(t)&&t.catch&&t.then?t:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(e){return this.deferred.reject(e),null}}kc(e){0<this.Nc&&this.qc(e)?(--this.Nc,this.asyncQueue.enqueueAndForget(()=>(this.Bc(),Promise.resolve()))):this.deferred.reject(e)}qc(e){var t;return"FirebaseError"===e?.name&&("aborted"===(t=e.code)||"failed-precondition"===t||"already-exists"===t||!zs(t))}}let Hg="FirestoreClient";class Vg{constructor(e,t,r,n,s){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this._databaseInfo=n,this.user=ua.UNAUTHENTICATED,this.clientId=Rt.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=s,this.authCredentials.start(r,async e=>{d(Hg,"Received user=",e.uid),await this.authCredentialListener(e),this.user=e}),this.appCheckCredentials.start(r,e=>(d(Hg,"Received new app check token=",e),this.appCheckCredentialListener(e,this.user)))}get configuration(){return{asyncQueue:this.asyncQueue,databaseInfo:this._databaseInfo,clientId:this.clientId,authCredentials:this.authCredentials,appCheckCredentials:this.appCheckCredentials,initialUser:this.user,maxConcurrentLimboResolutions:100}}setCredentialChangeListener(e){this.authCredentialListener=e}setAppCheckTokenChangeListener(e){this.appCheckCredentialListener=e}terminate(){this.asyncQueue.enterRestrictedMode();let r=new la;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),r.resolve()}catch(e){var t=Id(e,"Failed to shutdown persistence");r.reject(t)}}),r.promise}}async function Ug(e,t){e.asyncQueue.verifyOperationInProgress(),d(Hg,"Initializing OfflineComponentProvider");var r=e.configuration;await t.initialize(r);let n=r.initialUser;e.setCredentialChangeListener(async e=>{n.isEqual(e)||(await HC(t.localStore,e),n=e)}),t.persistence.setDatabaseDeletedListener(()=>e.terminate()),e._offlineComponents=t}async function qg(e,r){e.asyncQueue.verifyOperationInProgress();var t=await Jg(e);d(Hg,"Initializing OnlineComponentProvider"),await r.initialize(t,e.configuration),e.setCredentialChangeListener(e=>Dd(r.remoteStore,e)),e.setAppCheckTokenChangeListener((e,t)=>Dd(r.remoteStore,t)),e._onlineComponents=r}async function Jg(t){if(!t._offlineComponents)if(t._uninitializedComponentsProvider){d(Hg,"Using user provided OfflineComponentProvider");try{await Ug(t,t._uninitializedComponentsProvider._offline)}catch(e){var r=e;if(!("FirebaseError"===(n=r).name?n.code===w.FAILED_PRECONDITION||n.code===w.UNIMPLEMENTED:!("undefined"!=typeof DOMException&&n instanceof DOMException)||22===n.code||20===n.code||11===n.code))throw r;Ot("Error using user provided cache. Falling back to memory cache: "+r),await Ug(t,new xg)}}else d(Hg,"Using default OfflineComponentProvider"),await Ug(t,new Lg(void 0));var n;return t._offlineComponents}async function Kg(e){return e._onlineComponents||(e._uninitializedComponentsProvider?(d(Hg,"Using user provided OnlineComponentProvider"),await qg(e,e._uninitializedComponentsProvider._online)):(d(Hg,"Using default OnlineComponentProvider"),await qg(e,new Gg))),e._onlineComponents}function jg(e){return Jg(e).then(e=>e.persistence)}function Qg(e){return Jg(e).then(e=>e.localStore)}function zg(e){return Kg(e).then(e=>e.remoteStore)}function Yg(e){return Kg(e).then(e=>e.syncEngine)}async function Wg(e){var t=await Kg(e),r=t.eventManager;return r.onListen=(async function(e,t,r=!0){var n=Ag(e);let s;var i=n.Tc.get(t);return s=i?(n.sharedClientState.addLocalQueryTarget(i.targetId),i.view.lc()):await cg(n,t,r,!0)}).bind(null,t.syncEngine),r.onUnlisten=(async function(e,t,r){let n=e,s=n.Tc.get(t),i=n.Pc.get(s.targetId);1<i.length?(n.Pc.set(s.targetId,i.filter(e=>!vl(e,t))),n.Tc.delete(t)):n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(s.targetId),n.sharedClientState.isActiveQueryTarget(s.targetId)||await jC(n.localStore,s.targetId,!1).then(()=>{n.sharedClientState.clearQueryState(s.targetId),r&&ad(n.remoteStore,s.targetId),vg(n,s.targetId)}).catch(qa)):(vg(n,s.targetId),await jC(n.localStore,s.targetId,!0))}).bind(null,t.syncEngine),r.onFirstRemoteStoreListen=(async function(e,t){await cg(Ag(e),t,!0,!1)}).bind(null,t.syncEngine),r.onLastRemoteStoreUnlisten=(async function(e,t){var r=e,n=r.Tc.get(t),s=r.Pc.get(n.targetId);r.isPrimaryClient&&1===s.length&&(r.sharedClientState.removeLocalQueryTarget(n.targetId),ad(r.remoteStore,n.targetId))}).bind(null,t.syncEngine),r}function Xg(r){return r.asyncQueue.enqueue(async()=>{var e=await jg(r),t=await zg(r);return e.setNetworkEnabled(!1),(async e=>{var t=e;t.la.add(0),await nd(t),t.Ta.set("Offline")})(t)})}function $g(e,t){let r=new la;return e.asyncQueue.enqueueAndForget(async()=>(async(e,r,n)=>{try{var t=await((e,t)=>{let r=e;return r.persistence.runTransaction("read document","readonly",e=>r.localDocuments.getDocument(e,t))})(e,r);t.isFoundDocument()?n.resolve(t):t.isNoDocument()?n.resolve(null):n.reject(new N(w.UNAVAILABLE,"Failed to get document from cache. (However, this document may exist on the server. Run again without setting 'source' in the GetOptions to attempt to retrieve the document from the server.)"))}catch(e){let t=Id(e,`Failed to get document '${r} from cache`);n.reject(t)}})(await Qg(e),t,r)),r.promise}function Zg(e,t,u={}){let l=new la;return e.asyncQueue.enqueueAndForget(async()=>{{var s=await Wg(e),i=e.asyncQueue,a=t,B=u,o=l;let r=new yd({next:e=>{r.Va(),i.enqueueAndForget(()=>Zd(s,n));var t=e.docs.has(a);!t&&e.fromCache?o.reject(new N(w.UNAVAILABLE,"Failed to get document because the client is offline.")):t&&e.fromCache&&B&&"server"===B.source?o.reject(new N(w.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.)')):o.resolve(e)},error:e=>o.reject(e)}),n=new tg(ks(a.path),r,{includeMetadataChanges:!0,waitForSyncWhenOnline:!0});return $d(s,n)}}),l.promise}function ep(e,t){let r=new la;return e.asyncQueue.enqueueAndForget(async()=>(async(e,t,r)=>{try{var n=await QC(e,t,!0),s=new Bg(t,n.Wo),i=s.Xu(n.documents),a=s.applyChanges(i,!1);r.resolve(a.snapshot)}catch(e){n=Id(e,`Failed to execute query '${t} against cache`);r.reject(n)}})(await Qg(e),t,r)),r.promise}function tp(B,o,u={}){let l=new la;return B.asyncQueue.enqueueAndForget(async()=>{{var n=await Wg(B),s=B.asyncQueue,e=o,i=u,a=l;let t=new yd({next:e=>{t.Va(),s.enqueueAndForget(()=>Zd(n,r)),e.fromCache&&"server"===i.source?a.reject(new N(w.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):a.resolve(e)},error:e=>a.reject(e)}),r=new tg(!1?_l(e):e,t,{includeMetadataChanges:!0,waitForSyncWhenOnline:!0});return $d(n,r)}}),l.promise}function rp(r,e){let n=new yd(e);return r.asyncQueue.enqueueAndForget(async()=>{return e=await Wg(r),t=n,e.Du.add(t),void t.next();var e,t}),()=>{n.Va(),r.asyncQueue.enqueueAndForget(async()=>{var e,t;e=await Wg(r),t=n,e.Du.delete(t)})}}function np(t,r,n){let s=new la;return t.asyncQueue.enqueueAndForget(async()=>{var e=await Kg(t).then(e=>e.datastore);new Mg(t.asyncQueue,e,n,r,s).Lc()}),s.promise}function sp(e,t,r,n){r=r,t=sa(t),i="string"==typeof r?ii().encode(r):r,r=((e,t)=>{if(e instanceof Uint8Array)return $C(e,t);if(e instanceof ArrayBuffer)return $C(new Uint8Array(e),t);if(e instanceof ReadableStream)return e.getReader();throw new Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream")})(i),t=t;let s=new Td(r,t);var i;e.asyncQueue.enqueueAndForget(async()=>{Og(await Yg(e),s,n)})}function ip(n,s){return n.asyncQueue.enqueue(async()=>{{var e=await Qg(n),r=s;let t=e;return t.persistence.runTransaction("Get named query","readonly",e=>t.f_.getNamedQuery(e,r))}})}let ap=class{constructor(e,t,r,n,s){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=n,this._converter=s}get id(){return this._key.path.lastSegment()}get ref(){return new G(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){var e;if(this._document)return this._converter?(e=new Bp(this._firestore,this._userDataWriter,this._key,this._document,null),this._converter.fromFirestore(e)):this._userDataWriter.convertValue(this._document.data.value)}_fieldsProto(){return this._document?.data.clone().value.mapValue.fields??void 0}get(e){if(this._document){var t=this._document.data.field(HB("DocumentSnapshot.get",e));if(null!==t)return this._userDataWriter.convertValue(t)}}},Bp=class extends ap{data(){return super.data()}};class op{convertValue(e,t="none"){switch(Qr(e)){case 0:return null;case 1:return e.booleanValue;case 2:return yr(e.integerValue||e.doubleValue);case 3:return this.convertTimestamp(e.timestampValue);case 4:return this.convertServerTimestamp(e,t);case 5:return e.stringValue;case 6:return this.convertBytes(_r(e.bytesValue));case 7:return this.convertReference(e.referenceValue);case 8:return this.convertGeoPoint(e.geoPointValue);case 9:return this.convertArray(e.arrayValue,t);case 11:return this.convertObject(e.mapValue,t);case 10:return this.convertVectorValue(e.mapValue);default:throw T(62114,{value:e})}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,r="none"){let n={};return $t(e,(e,t)=>{n[e]=this.convertValue(t,r)}),n}convertVectorValue(e){var t=e.fields?.[qr].arrayValue?.values?.map(e=>yr(e.doubleValue));return new fB(t)}convertGeoPoint(e){return new oa(yr(e.latitude),yr(e.longitude))}convertArray(e,t){return(e.values||[]).map(e=>this.convertValue(e,t))}convertServerTimestamp(e,t){switch(t){case"previous":var r=Ar(e);return null==r?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(Sr(e));default:return null}}convertTimestamp(e){var t=wr(e);return new l(t.seconds,t.nanos)}convertDocumentKey(e,t){var r=F.fromString(e),n=(f(ea(r),9688,{name:e}),new Lr(r.get(1),r.get(3))),r=new A(r.popFirst(5));return n.isEqual(t)||St(`A document reference to ${r} refers to a different database (${n.projectId}/${n.database}), which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),r}}function up(e,t,r){return e?r&&(r.merge||r.mergeFields)?e.toFirestore(t,r):e.toFirestore(t):t}class lp extends op{constructor(e){super(),this.firestore=e}convertBytes(e){return new ia(e)}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return new G(this.firestore,null,t)}}let hp="AsyncQueue";class cp{constructor(e=Promise.resolve()){this.$c=[],this.Kc=!1,this.Qc=[],this.Wc=null,this.Gc=!1,this.zc=!1,this.jc=[],this.Ht=new Sa(this,"async_queue_retry"),this.Hc=()=>{var e=Kd();e&&d(hp,"Visibility state changed to "+e.visibilityState),this.Ht.$t()},this.Jc=e;var t=Kd();t&&"function"==typeof t.addEventListener&&t.addEventListener("visibilitychange",this.Hc)}get isShuttingDown(){return this.Kc}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.Yc(),this.Zc(e)}enterRestrictedMode(e){var t;this.Kc||(this.Kc=!0,this.zc=e||!1,(t=Kd())&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",this.Hc))}enqueue(e){if(this.Yc(),this.Kc)return new Promise(()=>{});let t=new la;return this.Zc(()=>this.Kc&&this.zc?Promise.resolve():(e().then(t.resolve,t.reject),t.promise)).then(()=>t.promise)}enqueueRetryable(e){this.enqueueAndForget(()=>(this.$c.push(e),this.Xc()))}async Xc(){if(0!==this.$c.length){try{await this.$c[0](),this.$c.shift(),this.Ht.reset()}catch(e){if(!Wa(e))throw e;d(hp,"Operation failed with retryable error: "+e)}0<this.$c.length&&this.Ht.kt(()=>this.Xc())}}Zc(e){var t=this.Jc.then(()=>(this.Gc=!0,e().catch(e=>{throw this.Wc=e,this.Gc=!1,St("INTERNAL UNHANDLED ERROR: ",Cp(e)),e}).then(e=>(this.Gc=!1,e))));return this.Jc=t}enqueueAfterDelay(e,t,r){this.Yc(),-1<this.jc.indexOf(e)&&(t=0);var n=_d.createAndSchedule(this,e,t,r,e=>this.el(e));return this.Qc.push(n),n}Yc(){this.Wc&&T(47125,{tl:Cp(this.Wc)})}verifyOperationInProgress(){}async nl(){for(var e;await(e=this.Jc),e!==this.Jc;);}rl(e){for(var t of this.Qc)if(t.timerId===e)return!0;return!1}il(t){return this.nl().then(()=>{this.Qc.sort((e,t)=>e.targetTimeMs-t.targetTimeMs);for(var e of this.Qc)if(e.skipDelay(),"all"!==t&&e.timerId===t)break;return this.nl()})}sl(e){this.jc.push(e)}el(e){var t=this.Qc.indexOf(e);this.Qc.splice(t,1)}}function Cp(e){let t=e.message||"";return t=e.stack?e.stack.includes(e.message)?e.stack:e.message+"\n"+e.stack:t}class dp{constructor(){this._progressObserver={},this._taskCompletionResolver=new la,this._lastProgress={taskState:"Running",totalBytes:0,totalDocuments:0,bytesLoaded:0,documentsLoaded:0}}onProgress(e,t,r){this._progressObserver={next:e,error:t,complete:r}}catch(e){return this._taskCompletionResolver.promise.catch(e)}then(e,t){return this._taskCompletionResolver.promise.then(e,t)}_completeWith(e){this._updateProgress(e),this._progressObserver.complete&&this._progressObserver.complete(),this._taskCompletionResolver.resolve(e)}_failWith(e){this._lastProgress.taskState="Error",this._progressObserver.next&&this._progressObserver.next(this._lastProgress),this._progressObserver.error&&this._progressObserver.error(e),this._taskCompletionResolver.reject(e)}_updateProgress(e){this._lastProgress=e,this._progressObserver.next&&this._progressObserver.next(e)}}class gp extends uB{constructor(e,t,r,n){super(e,t,r,n),this.type="firestore",this._queue=new cp,this._persistenceKey=n?.name||"[DEFAULT]"}async _terminate(){var e;this._firestoreClient&&(e=this._firestoreClient.terminate(),this._queue=new cp(e),this._firestoreClient=void 0,await e)}}function pp(e){if(e._terminated)throw new N(w.FAILED_PRECONDITION,"The client has already been terminated.");return e._firestoreClient||fp(e),e._firestoreClient}function fp(e){var t,r,n,s,i,a=e._freezeSettings(),B=(i=e._databaseId,t=e._app?.options.appId||"",r=e._persistenceKey,n=e._app?.options.apiKey,s=a,new Or(i,t,r,s.host,s.ssl,s.experimentalForceLongPolling,s.experimentalAutoDetectLongPolling,Da(s.experimentalLongPollingOptions),s.useFetchStreams,s.isUsingEmulator,n,s._customHeaders,s.grpcFlowControlWindow));e._componentsProvider||a.localCache?._offlineComponentProvider&&a.localCache?._onlineComponentProvider&&(e._componentsProvider={_offline:a.localCache._offlineComponentProvider,_online:a.localCache._onlineComponentProvider}),e._firestoreClient=new Vg(e._authCredentials,e._appCheckCredentials,e._queue,B,e._componentsProvider&&(i=e._componentsProvider,a=i?._online.build(),{_offline:i?._offline.build(a),_online:a}))}function mp(e,t,r){if((e=S(e,gp))._firestoreClient||e._terminated)throw new N(w.FAILED_PRECONDITION,"Firestore has already been started and persistence can no longer be enabled. You can only enable persistence before calling any other methods on a Firestore object.");if(e._componentsProvider||e._getSettings().localCache)throw new N(w.FAILED_PRECONDITION,"SDK cache is already specified.");e._componentsProvider={_online:t,_offline:r},fp(e)}function Dp(r){if(r._initialized&&!r._terminated)throw new N(w.FAILED_PRECONDITION,"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");let n=new la;return r._queue.enqueueAndForgetEvenWhileRestricted(async()=>{try{e=SC(r._databaseId,r._persistenceKey),await(ja.Ye()?(t=e+"main",void await ja.delete(t)):Promise.resolve()),n.resolve()}catch(e){n.reject(e)}var e,t}),n.promise}function Ep(e){return(r=pp(e=S(e,gp))).asyncQueue.enqueue(async()=>{var e=await jg(r),t=await zg(r);return e.setNetworkEnabled(!0),(e=t).la.delete(0),rd(e)});var r}class vp extends op{constructor(e){super(),this.firestore=e}convertBytes(e){return new ia(e)}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return new G(this.firestore,null,t)}}class wp{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}let yp=class ff extends ap{constructor(e,t,r,n,s,i){super(e,t,r,n,i),this._firestore=e,this._firestoreImpl=e,this.metadata=s}exists(){return super.exists()}data(e={}){var t;if(this._document)return this._converter?(t=new _p(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null),this._converter.fromFirestore(t,e)):this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}get(e,t={}){if(this._document){var r=this._document.data.field(HB("DocumentSnapshot.get",e));if(null!==r)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new N(w.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");var e=this._document,t={};return t.type=ff._jsonSchemaVersion,t.bundle="",t.bundleSource="DocumentSnapshot",t.bundleName=this._key.toString(),e&&e.isValidDocument()&&e.isFoundDocument()&&(this._userDataWriter.convertObjectMap(e.data.value.mapValue.fields,"previous"),t.bundle=(this._firestore,this.ref.path,"NOT SUPPORTED")),t}},_p=(yp._jsonSchemaVersion="firestore/documentSnapshot/1.0",yp._jsonSchema={type:pr("string",yp._jsonSchemaVersion),bundleSource:pr("string","DocumentSnapshot"),bundleName:pr("string"),bundle:pr("string")},class extends yp{data(e={}){return super.data(e)}}),Ip=class vf{constructor(e,t,r,n){this._firestore=e,this._userDataWriter=t,this._snapshot=n,this.metadata=new wp(n.hasPendingWrites,n.fromCache),this.query=r}get docs(){let t=[];return this.forEach(e=>t.push(e)),t}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(t,r){this._snapshot.docs.forEach(e=>{t.call(r,new _p(this._firestore,this._userDataWriter,e.key,e,new wp(this._snapshot.mutatedKeys.has(e.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){var t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new N(w.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=((i,t)=>{if(i._snapshot.oldDocs.isEmpty()){let r=0;return i._snapshot.docChanges.map(e=>{ml(i._snapshot.query)?$c(i._snapshot.query):js(i.query._query);var t=new _p(i._firestore,i._userDataWriter,e.doc.key,e.doc,new wp(i._snapshot.mutatedKeys.has(e.doc.key),i._snapshot.fromCache),i.query.converter);return e.doc,{type:"added",doc:t,oldIndex:-1,newIndex:r++}})}{let s=i._snapshot.oldDocs;return i._snapshot.docChanges.filter(e=>t||3!==e.type).map(e=>{var t=new _p(i._firestore,i._userDataWriter,e.doc.key,e.doc,new wp(i._snapshot.mutatedKeys.has(e.doc.key),i._snapshot.fromCache),i.query.converter);let r=-1,n=-1;return 0!==e.type&&(r=s.indexOf(e.doc.key),s=s.delete(e.doc.key)),1!==e.type&&(s=s.add(e.doc),n=s.indexOf(e.doc.key)),{type:(e=>{switch(e){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return T(61501,{type:e})}})(e.type),doc:t,oldIndex:r,newIndex:n}})}})(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new N(w.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");var e={};e.type=vf._jsonSchemaVersion,e.bundleSource="QuerySnapshot",e.bundleName=Rt.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let t=[],r=[],n=[];return this.docs.forEach(e=>{null!==e._document&&(t.push(e._document),r.push(this._userDataWriter.convertObjectMap(e._document.data.value.mapValue.fields,"previous")),n.push(e.ref.path))}),e.bundle=(this._firestore,this.query._query,"NOT SUPPORTED"),e}};function Tp(e,t){return e instanceof yp&&t instanceof yp?e._firestore===t._firestore&&e._key.isEqual(t._key)&&(null===e._document?null===t._document:e._document.isEqual(t._document))&&e._converter===t._converter:e instanceof Ip&&t instanceof Ip&&e._firestore===t._firestore&&pB(e.query,t.query)&&e.metadata.isEqual(t.metadata)&&e._snapshot.isEqual(t._snapshot)}function bp(e){if("L"===e.limitType&&0===e.explicitOrderBy.length)throw new N(w.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}Ip._jsonSchemaVersion="firestore/querySnapshot/1.0",Ip._jsonSchema={type:pr("string",Ip._jsonSchemaVersion),bundleSource:pr("string","QuerySnapshot"),bundleName:pr("string"),bundle:pr("string")};class Np{}class Fp extends Np{}function Ap(e,t,...r){let n=[];t instanceof Np&&n.push(t);var t=n=n.concat(r),s=t.filter(e=>!1).length,i=t.filter(e=>e instanceof Sp).length;if(1<s||0<s&&0<i)throw new N(w.INVALID_ARGUMENT,"InvalidQuery. When using composite filters, you cannot use more than one filter at the top level. Consider nesting the multiple filters within an `and(...)` statement. For example: change `query(query, where(...), or(...))` to `query(query, and(where(...), or(...)))`.");for(let t of n)e=t._apply(e);return e}class Sp extends Fp{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new Sp(e,t,r)}_apply(e){var t=this._parse(e);return Mp(e._query,t),new hB(e.firestore,e.converter,Vs(e._query,t))}_parse(e){var t=_B(e.firestore);{var n=e._query,s="where",i=t,a=e.firestore._databaseId,B=(e=this._field,this._op),o=this._value;let r;if(e.isKeyField()){if("array-contains"===B||"array-contains-any"===B)throw new N(w.INVALID_ARGUMENT,`Invalid Query. You can't perform '${B}' queries on documentId().`);if("in"===B||"not-in"===B){Pp(o,B);let e=[];for(let t of o)e.push(Gp(a,n,t));r={arrayValue:{values:e}}}else r=Gp(a,n,o)}else"in"!==B&&"not-in"!==B&&"array-contains-any"!==B||Pp(o,B),r=LB(i,s,o,"in"===B||"not-in"===B);return O.create(e,B,r)}}}(class extends Np{});class Op extends Fp{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new Op(e,t)}_apply(e){var t=((e,t,r)=>{if(null!==e.startAt)throw new N(w.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(null!==e.endAt)throw new N(w.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new Cs(t,r)})(e._query,this._field,this._direction);return new hB(e.firestore,e.converter,(t=(e=e._query).explicitOrderBy.concat([t]),new Ls(e.path,e.collectionGroup,t,e.filters.slice(),e.limit,e.limitType,e.startAt,e.endAt)))}}class xp extends Fp{constructor(e,t,r){super(),this.type=e,this._limit=t,this._limitType=r}static _create(e,t,r){return new xp(e,t,r)}_apply(e){return new hB(e.firestore,e.converter,Us(e._query,this._limit,this._limitType))}}class Lp extends Fp{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new Lp(e,t,r)}_apply(e){var t,r=kp(e,this.type,this._docOrFields,this._inclusive);return new hB(e.firestore,e.converter,(e=e._query,t=r,new Ls(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,t,e.endAt)))}}class Rp extends Fp{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new Rp(e,t,r)}_apply(e){var t,r=kp(e,this.type,this._docOrFields,this._inclusive);return new hB(e.firestore,e.converter,(e=e._query,t=r,new Ls(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,e.startAt,t)))}}function kp(e,r,n,s){if(n[0]=re(n[0]),n[0]instanceof ap){var i=e._query,a=e.firestore._databaseId,B=r,o=n[0]._document,u=s;if(!o)throw new N(w.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${B}().`);var l=[];for(let t of Ms(i))if(t.field.isKeyField())l.push(en(a,o.key));else{let e=o.data.field(t.field);if(Fr(e))throw new N(w.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field "'+t.field+'" is an uncommitted server timestamp. (Since the value of this field is unknown, you cannot start/end a query with it.)');if(null===e){let e=t.field.canonicalString();throw new N(w.INVALID_ARGUMENT,`Invalid query. You are trying to start or end a query using a document for which the field '${e}' (used as the orderBy) does not exist.`)}l.push(e)}return new Yn(l,u)}var t=_B(e.firestore),h=e._query,c=e.firestore._databaseId,C=t,d=r,g=n,B=s,p=h.explicitOrderBy;if(g.length>p.length)throw new N(w.INVALID_ARGUMENT,`Too many arguments provided to ${d}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);var f=[];for(let D=0;D<g.length;D++){var m=g[D];if(p[D].field.isKeyField()){if("string"!=typeof m)throw new N(w.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${d}(), but got a `+typeof m);if(!Ps(h)&&-1!==m.indexOf("/"))throw new N(w.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${d}() must be a plain document ID, but '${m}' contains a slash.`);let e=h.path.child(F.fromString(m));if(!A.isDocumentKey(e))throw new N(w.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${d}() must result in a valid document path, but '${e}' is not because it contains an odd number of segments.`);let t=new A(e);f.push(en(c,t))}else{let e=LB(C,d,m);f.push(e)}}return new Yn(f,B)}function Gp(e,t,r){if("string"==typeof(r=re(r))){if(""===r)throw new N(w.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!Ps(t)&&-1!==r.indexOf("/"))throw new N(w.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${r}' contains a '/' character.`);var n=t.path.child(F.fromString(r));if(A.isDocumentKey(n))return en(e,new A(n));throw new N(w.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${n}' is not because it has an odd number of segments (${n.length}).`)}if(r instanceof G)return en(e,r._key);throw new N(w.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${dr(r)}.`)}function Pp(e,t){if(!Array.isArray(e)||0===e.length)throw new N(w.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function Mp(e,t){var r=((t,r)=>{for(var n of t)for(let e of n.getFlattenedFilters())if(0<=r.indexOf(e.op))return e.op;return null})(e.filters,(e=>{switch(e){case"!=":return["!=","not-in"];case"array-contains-any":case"in":return["not-in"];case"not-in":return["array-contains-any","in","not-in","!="];default:return[]}})(t.op));if(null!==r)throw r===t.op?new N(w.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new N(w.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${r.toString()}' filters.`)}function Hp(t){var r=t,t=["next","error","complete"];if("object"==typeof r&&null!==r){var n=r;for(let e of t)if(e in n&&"function"==typeof n[e])return 1}}let Vp={maxAttempts:5},Up=class{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=_B(e)}set(e,t,r){this._verifyNotCommitted();var n=qp(e,this._firestore),s=up(n.converter,t,r),s=IB(this._dataReader,"WriteBatch.set",n._key,s,null!==n.converter,r);return this._mutations.push(s.toMutation(n._key,kn.none())),this}update(e,t,r,...n){this._verifyNotCommitted();var s=qp(e,this._firestore),i="string"==typeof(t=re(t))||t instanceof aa?xB(this._dataReader,"WriteBatch.update",s._key,t,r,n):OB(this._dataReader,"WriteBatch.update",s._key,t);return this._mutations.push(i.toMutation(s._key,kn.exists(!0))),this}delete(e){this._verifyNotCommitted();var t=qp(e,this._firestore);return this._mutations=this._mutations.concat(new Qn(t._key,kn.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,0<this._mutations.length?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new N(w.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}};function qp(e,t){if((e=re(e)).firestore!==t)throw new N(w.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return e}var Jp,Kp,jp,Qp,it=class{constructor(e,t){this._firestore=e,this._transaction=t,this._dataReader=_B(e)}get(e){let r=qp(e,this._firestore),n=new lp(this._firestore);return this._transaction.lookup([r._key]).then(e=>{if(!e||1!==e.length)return T(24041);var t=e[0];if(t.isFoundDocument())return new ap(this._firestore,n,t.key,t,r.converter);if(t.isNoDocument())return new ap(this._firestore,n,r._key,null,r.converter);throw T(18433,{doc:t})})}set(e,t,r){var n=qp(e,this._firestore),s=up(n.converter,t,r),s=IB(this._dataReader,"Transaction.set",n._key,s,null!==n.converter,r);return this._transaction.set(n._key,s),this}update(e,t,r,...n){var s=qp(e,this._firestore),i="string"==typeof(t=re(t))||t instanceof aa?xB(this._dataReader,"Transaction.update",s._key,t,r,n):OB(this._dataReader,"Transaction.update",s._key,t);return this._transaction.update(s._key,i),this}delete(e){var t=qp(e,this._firestore);return this._transaction.delete(t._key),this}};let zp=class extends it{constructor(e,t){super(e,t),this._firestore=e}get(e){let t=qp(e,this._firestore),r=new vp(this._firestore);return super.get(e).then(e=>new yp(this._firestore,r,t._key,e._document,new wp(!1,!1),t.converter))}};function Yp(e,t,r){e=S(e,G);var n=S(e.firestore,gp),s=up(e.converter,t,r);return $p(n,[IB(_B(n),"setDoc",e._key,s,null!==e.converter,r).toMutation(e._key,kn.none())])}function Wp(e,t,r,...n){e=S(e,G);var s=S(e.firestore,gp),i=_B(s);return $p(s,[("string"==typeof(t=re(t))||t instanceof aa?xB(i,"updateDoc",e._key,t,r,n):OB(i,"updateDoc",e._key,t)).toMutation(e._key,kn.exists(!0))])}function Xp(n,...s){n=re(n);let e={includeMetadataChanges:!1,source:"default"},i=0,r={includeMetadataChanges:(e="object"!=typeof s[i]||Hp(s[i])?e:s[i++]).includeMetadataChanges,source:e.source};if(Hp(s[i])){let e=s[i];s[i]=e.next?.bind(e),s[i+1]=e.error?.bind(e),s[i+2]=e.complete?.bind(e)}let a,B,o;if(n instanceof G)B=S(n.firestore,gp),o=ks(n._key.path),a={next:e=>{s[i]&&s[i](Zp(B,n,e))},error:s[i+1],complete:s[i+2]};else{let t=S(n,hB),r=(B=S(t.firestore,gp),o=t._query,new vp(B));a={next:e=>{s[i]&&s[i](new Ip(B,r,t,e))},error:s[i+1],complete:s[i+2]},bp(n._query)}var u=pp(B);{var l=u,h=o,c=r,C=a;let e=new yd(C),t=new tg(h,e,c);return l.asyncQueue.enqueueAndForget(async()=>$d(await Wg(l),t)),()=>{e.Va(),l.asyncQueue.enqueueAndForget(async()=>Zd(await Wg(l),t))}}}function $p(e,t){var r=pp(e);{var n=r,s=t;let e=new la;return n.asyncQueue.enqueueAndForget(async()=>dg(await Yg(n),s,e)),e.promise}}function Zp(e,t,r){var n=r.docs.get(t._key),s=new vp(e);return new yp(e,s,t._key,n,new wp(r.hasPendingWrites,r.fromCache),t.converter)}let ef="@firebase/firestore";Kp=!0,jp=Sf.SDK_VERSION,Nt=jp,Sf._registerComponent(new se("firestore",(e,{instanceIdentifier:t,options:r})=>{var n=e.getProvider("app").getImmediate(),n=new gp(new da(e.getProvider("auth-internal")),new ma(n,e.getProvider("app-check-internal")),((e,t)=>{if(Object.prototype.hasOwnProperty.apply(e.options,["projectId"]))return new Lr(e.options.projectId,t);throw new N(w.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.')})(n,t),n);return r={useFetchStreams:Kp,...r},n._setSettings(r),n},"PUBLIC").setMultipleInstances(!0)),Sf.registerVersion(ef,"4.17.2",Jp),Sf.registerVersion(ef,"4.17.2","esm2020");function tf(e,t){if(void 0===t)return{merge:!1};if(void 0!==t.mergeFields&&void 0!==t.merge)throw new N("invalid-argument",`Invalid options passed to function ${e}(): You cannot `+'specify both "merge" and "mergeFields".');return t}function rf(){if("undefined"==typeof Uint8Array)throw new N("unimplemented","Uint8Arrays are not available in this environment.")}function nf(){if("undefined"==typeof atob)throw new N("unimplemented","Blobs are unavailable in Firestore in this environment.")}class sf{constructor(e){this._delegate=e}static fromBase64String(e){return nf(),new sf(ia.fromBase64String(e))}static fromUint8Array(e){return rf(),new sf(ia.fromUint8Array(e))}toBase64(){return nf(),this._delegate.toBase64()}toUint8Array(){return rf(),this._delegate.toUint8Array()}isEqual(e){return this._delegate.isEqual(e._delegate)}toString(){return"Blob(base64: "+this.toBase64()+")"}}function af(e){var t=["next","error","complete"];if("object"==typeof e&&null!==e){var r,n=e;for(r of t)if(r in n&&"function"==typeof n[r])return 1}}class Bf{enableIndexedDbPersistence(e,r){{e=e._delegate;var n={forceOwnership:r};Ot("enableIndexedDbPersistence() will be deprecated in the future, you can use `FirestoreSettings.cache` instead.");let t=e._freezeSettings();return mp(e,Gg.provider,{build:e=>new Rg(e,t.cacheSizeBytes,n?.forceOwnership)}),Promise.resolve()}}enableMultiTabIndexedDbPersistence(e){return(async e=>{Ot("enableMultiTabIndexedDbPersistence() will be deprecated in the future, you can use `FirestoreSettings.cache` instead.");let t=e._freezeSettings();mp(e,Gg.provider,{build:e=>new kg(e,t.cacheSizeBytes)})})(e._delegate)}clearIndexedDbPersistence(e){return Dp(e._delegate)}}class of{constructor(e,t,r){this._delegate=t,this._persistenceProvider=r,this.INTERNAL={delete:()=>this.terminate()},e instanceof Lr||(this._appCompat=e)}get _databaseId(){return this._delegate._databaseId}settings(e){var t=this._delegate._getSettings();e.merge||t.host===e.host||Ot("You are overriding the original host. If you did not intend to override your settings, use {merge: true}."),e.merge&&delete(e={...t,...e}).merge,this._delegate._setSettings(e)}useEmulator(e,t,r={}){lB(this._delegate,e,t,r)}enableNetwork(){return Ep(this._delegate)}disableNetwork(){return Xg(pp(S(this._delegate,gp)))}enablePersistence(e){let t=!1,r=!1;return e&&(t=!!e.synchronizeTabs,r=!!e.experimentalForceOwningTab,tr("synchronizeTabs",t,"experimentalForceOwningTab",r)),t?this._persistenceProvider.enableMultiTabIndexedDbPersistence(this):this._persistenceProvider.enableIndexedDbPersistence(this,r)}clearPersistence(){return this._persistenceProvider.clearIndexedDbPersistence(this)}terminate(){return this._appCompat&&(this._appCompat._removeServiceInstance("firestore-compat"),this._appCompat._removeServiceInstance("firestore")),this._delegate._delete()}waitForPendingWrites(){var t=this._delegate;{var r=pp(t=S(t,gp));let e=new la;return r.asyncQueue.enqueueAndForget(async()=>mg(await Yg(r),e)),e.promise}}onSnapshotsInSync(e){return t=this._delegate,e=e,rp(pp(t=S(t,gp)),Hp(e)?e:{next:e});var t}get app(){if(this._appCompat)return this._appCompat;throw new N("failed-precondition","Firestore was not initialized using the Firebase SDK. 'app' is not available")}collection(e){try{return new wf(this,CB(this._delegate,e))}catch(e){throw df(e,"collection()","Firestore.collection()")}}doc(e){try{return new Cf(this,dB(this._delegate,e))}catch(e){throw df(e,"doc()","Firestore.doc()")}}collectionGroup(e){try{return new Df(this,((e,t)=>{if(e=S(e,uB),er("collectionGroup","collection id",t),0<=t.indexOf("/"))throw new N(w.INVALID_ARGUMENT,`Invalid collection ID '${t}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);return new hB(e,null,(e=t,new Ls(F.emptyPath(),e)))})(this._delegate,e))}catch(e){throw df(e,"collectionGroup()","Firestore.collectionGroup()")}}runTransaction(t){var r=this._delegate,n=e=>t(new lf(this,e)),e=void 0,s=(r=S(r,gp),{...Vp,...e});if(s.maxAttempts<1)throw new N(w.INVALID_ARGUMENT,"Max attempts must be at least 1");return np(pp(r),e=>n(new zp(r,e)),s)}batch(){return pp(this._delegate),new hf(new Up(this._delegate,e=>$p(this._delegate,e)))}loadBundle(e){return t=this._delegate,e=e,r=pp(t=S(t,gp)),n=new dp,sp(r,t._databaseId,e,n),n;var t,r,n}namedQuery(e){return t=this._delegate,e=e,ip(pp(t=S(t,gp)),e).then(e=>e?new hB(t,null,e.query):null).then(e=>e?new Df(this,e):null);var t}}class uf extends op{constructor(e){super(),this.firestore=e}convertBytes(e){return new sf(new ia(e))}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return Cf.forKey(t,this.firestore,null)}}class lf{constructor(e,t){this._firestore=e,this._delegate=t,this._userDataWriter=new uf(e)}get(e){let t=yf(e);return this._delegate.get(t).then(e=>new ff(this._firestore,new yp(this._firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,t.converter)))}set(e,t,r){var n=yf(e);return r?(tf("Transaction.set",r),this._delegate.set(n,t,r)):this._delegate.set(n,t),this}update(e,t,r,...n){var s=yf(e);return 2===arguments.length?this._delegate.update(s,t):this._delegate.update(s,t,r,...n),this}delete(e){var t=yf(e);return this._delegate.delete(t),this}}class hf{constructor(e){this._delegate=e}set(e,t,r){var n=yf(e);return r?(tf("WriteBatch.set",r),this._delegate.set(n,t,r)):this._delegate.set(n,t),this}update(e,t,r,...n){var s=yf(e);return 2===arguments.length?this._delegate.update(s,t):this._delegate.update(s,t,r,...n),this}delete(e){var t=yf(e);return this._delegate.delete(t),this}commit(){return this._delegate.commit()}}class cf{constructor(e,t,r){this._firestore=e,this._userDataWriter=t,this._delegate=r}fromFirestore(e,t){var r=new _p(this._firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,null);return this._delegate.fromFirestore(new mf(this._firestore,r),t??{})}toFirestore(e,t){return t?this._delegate.toFirestore(e,t):this._delegate.toFirestore(e)}static getInstance(e,t){var r=cf.INSTANCES;let n=r.get(e),s=(n||(n=new WeakMap,r.set(e,n)),n.get(t));return s||(s=new cf(e,new uf(e),t),n.set(t,s)),s}}cf.INSTANCES=new WeakMap;class Cf{constructor(e,t){this.firestore=e,this._delegate=t,this._userDataWriter=new uf(e)}static forPath(e,t,r){if(e.length%2!=0)throw new N("invalid-argument","Invalid document reference. Document references must have an even number of segments, but "+e.canonicalString()+" has "+e.length);return new Cf(t,new G(t._delegate,r,new A(e)))}static forKey(e,t,r){return new Cf(t,new G(t._delegate,r,e))}get id(){return this._delegate.id}get parent(){return new wf(this.firestore,this._delegate.parent)}get path(){return this._delegate.path}collection(e){try{return new wf(this.firestore,CB(this._delegate,e))}catch(e){throw df(e,"collection()","DocumentReference.collection()")}}isEqual(e){return(e=re(e))instanceof G&&gB(this._delegate,e)}set(e,t){t=tf("DocumentReference.set",t);try{return t?Yp(this._delegate,e,t):Yp(this._delegate,e)}catch(e){throw df(e,"setDoc()","DocumentReference.set()")}}update(e,t,...r){try{return 1===arguments.length?Wp(this._delegate,e):Wp(this._delegate,e,t,...r)}catch(e){throw df(e,"updateDoc()","DocumentReference.update()")}}delete(){return $p(S((e=this._delegate).firestore,gp),[new Qn(e._key,kn.none())]);var e}onSnapshot(...e){var t=gf(e),r=pf(e,e=>new ff(this.firestore,new yp(this.firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,this._delegate.converter)));return Xp(this._delegate,t,r)}get(e){let t;return(t=("cache"===e?.source?t=>{t=S(t,G);let r=S(t.firestore,gp),e=pp(r),n=new vp(r);return $g(e,t._key).then(e=>new yp(r,n,t._key,e,new wp(null!==e&&e.hasLocalMutations,!0),t.converter))}:"server"===e?.source?t=>{t=S(t,G);let r=S(t.firestore,gp),e=pp(r);return Zg(e,t._key,{source:"server"}).then(e=>Zp(r,t,e))}:t=>{t=S(t,G);let r=S(t.firestore,gp),e=pp(r);return Zg(e,t._key).then(e=>Zp(r,t,e))})(this._delegate)).then(e=>new ff(this.firestore,new yp(this.firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,this._delegate.converter)))}withConverter(e){return new Cf(this.firestore,e?this._delegate.withConverter(cf.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}function df(e,t,r){return e.message=e.message.replace(t,r),e}function gf(e){for(var t of e)if("object"==typeof t&&!af(t))return t;return{}}function pf(e,t){let r;return{next:e=>{r.next&&r.next(t(e))},error:(r=af(e[0])?e[0]:af(e[1])?e[1]:"function"==typeof e[0]?{next:e[0],error:e[1],complete:e[2]}:{next:e[1],error:e[2],complete:e[3]}).error?.bind(r),complete:r.complete?.bind(r)}}class ff{constructor(e,t){this._firestore=e,this._delegate=t}get ref(){return new Cf(this._firestore,this._delegate.ref)}get id(){return this._delegate.id}get metadata(){return this._delegate.metadata}get exists(){return this._delegate.exists()}data(e){return this._delegate.data(e)}get(e,t){return this._delegate.get(e,t)}isEqual(e){return Tp(this._delegate,e._delegate)}}class mf extends ff{data(e){var t=this._delegate.data(e);return this._delegate._converter||(e="Document in a QueryDocumentSnapshot should exist",void 0!==t)||T(57014,e),t}}class Df{constructor(e,t){this.firestore=e,this._delegate=t,this._userDataWriter=new uf(e)}where(e,t,r){try{return new Df(this.firestore,Ap(this._delegate,(n=r,s=t,i=HB("where",e),Sp._create(i,s,n))))}catch(e){throw df(e,/(orderBy|where)\(\)/,"Query.$1()")}var n,s,i}orderBy(e,t){try{return new Df(this.firestore,Ap(this._delegate,([r,n="asc"]=[e,t],s=n,i=HB("orderBy",r),Op._create(i,s))))}catch(e){throw df(e,/(orderBy|where)\(\)/,"Query.$1()")}var r,n,s,i}limit(e){try{return new Df(this.firestore,Ap(this._delegate,(gr("limit",t=e),xp._create("limit",t,"F"))))}catch(e){throw df(e,"limit()","Query.limit()")}var t}limitToLast(e){try{return new Df(this.firestore,Ap(this._delegate,(gr("limitToLast",t=e),xp._create("limitToLast",t,"L"))))}catch(e){throw df(e,"limitToLast()","Query.limitToLast()")}var t}startAt(...e){try{return new Df(this.firestore,Ap(this._delegate,([...t]=[...e],Lp._create("startAt",t,!0))))}catch(e){throw df(e,"startAt()","Query.startAt()")}var t}startAfter(...e){try{return new Df(this.firestore,Ap(this._delegate,([...t]=[...e],Lp._create("startAfter",t,!1))))}catch(e){throw df(e,"startAfter()","Query.startAfter()")}var t}endBefore(...e){try{return new Df(this.firestore,Ap(this._delegate,([...t]=[...e],Rp._create("endBefore",t,!1))))}catch(e){throw df(e,"endBefore()","Query.endBefore()")}var t}endAt(...e){try{return new Df(this.firestore,Ap(this._delegate,([...t]=[...e],Rp._create("endAt",t,!0))))}catch(e){throw df(e,"endAt()","Query.endAt()")}var t}isEqual(e){return pB(this._delegate,e._delegate)}get(e){let t;return(t=("cache"===e?.source?t=>{t=S(t,hB);let r=S(t.firestore,gp),e=pp(r),n=new vp(r);return ep(e,t._query).then(e=>new Ip(r,n,t,e))}:"server"===e?.source?t=>{t=S(t,hB);let r=S(t.firestore,gp),e=pp(r),n=new vp(r);return tp(e,t._query,{source:"server"}).then(e=>new Ip(r,n,t,e))}:t=>{t=S(t,hB);let r=S(t.firestore,gp),e=pp(r),n=new vp(r);return bp(t._query),tp(e,t._query).then(e=>new Ip(r,n,t,e))})(this._delegate)).then(e=>new vf(this.firestore,new Ip(this.firestore._delegate,this._userDataWriter,this._delegate,e._snapshot)))}onSnapshot(...e){var t=gf(e),r=pf(e,e=>new vf(this.firestore,new Ip(this.firestore._delegate,this._userDataWriter,this._delegate,e._snapshot)));return Xp(this._delegate,t,r)}withConverter(e){return new Df(this.firestore,e?this._delegate.withConverter(cf.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}class Ef{constructor(e,t){this._firestore=e,this._delegate=t}get type(){return this._delegate.type}get doc(){return new mf(this._firestore,this._delegate.doc)}get oldIndex(){return this._delegate.oldIndex}get newIndex(){return this._delegate.newIndex}}class vf{constructor(e,t){this._firestore=e,this._delegate=t}get query(){return new Df(this._firestore,this._delegate.query)}get metadata(){return this._delegate.metadata}get size(){return this._delegate.size}get empty(){return this._delegate.empty}get docs(){return this._delegate.docs.map(e=>new mf(this._firestore,e))}docChanges(e){return this._delegate.docChanges(e).map(e=>new Ef(this._firestore,e))}forEach(t,r){this._delegate.forEach(e=>{t.call(r,new mf(this._firestore,e))})}isEqual(e){return Tp(this._delegate,e._delegate)}}class wf extends Df{constructor(e,t){super(e,t),this.firestore=e,this._delegate=t}get id(){return this._delegate.id}get path(){return this._delegate.path}get parent(){var e=this._delegate.parent;return e?new Cf(this.firestore,e):null}doc(e){try{return void 0===e?new Cf(this.firestore,dB(this._delegate)):new Cf(this.firestore,dB(this._delegate,e))}catch(e){throw df(e,"doc()","CollectionReference.doc()")}}add(e){return((e,t)=>{let r=S(e.firestore,gp),n=dB(e),s=up(e.converter,t),i=_B(e.firestore);return $p(r,[IB(i,"addDoc",n._key,s,null!==e.converter,{}).toMutation(n._key,kn.exists(!1))]).then(()=>n)})(this._delegate,e).then(e=>new Cf(this.firestore,e))}isEqual(e){return gB(this._delegate,e._delegate)}withConverter(e){return new wf(this.firestore,e?this._delegate.withConverter(cf.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}function yf(e){return S(e,G)}class _f{constructor(...e){this._delegate=new aa(...e)}static documentId(){return new _f(Yt.keyField().canonicalString())}isEqual(e){return(e=re(e))instanceof aa&&this._delegate._internalPath.isEqual(e._internalPath)}}class If{static serverTimestamp(){var e=new NB("serverTimestamp");return e._methodName="FieldValue.serverTimestamp",new If(e)}static delete(){var e=new TB("deleteField");return e._methodName="FieldValue.delete",new If(e)}static arrayUnion(...e){[...e]=[...e];var t=new FB("arrayUnion",e);return t._methodName="FieldValue.arrayUnion",new If(t)}static arrayRemove(...e){[...e]=[...e];var t=new AB("arrayRemove",e);return t._methodName="FieldValue.arrayRemove",new If(t)}static increment(e){e=e;var t=new SB("increment",e);return t._methodName="FieldValue.increment",new If(t)}constructor(e){this._delegate=e}isEqual(e){return this._delegate.isEqual(e._delegate)}}let Tf={Firestore:of,GeoPoint:oa,Timestamp:l,Blob:sf,Transaction:lf,WriteBatch:hf,DocumentReference:Cf,DocumentSnapshot:ff,Query:Df,QueryDocumentSnapshot:mf,QuerySnapshot:vf,CollectionReference:wf,FieldPath:_f,FieldValue:If,setLogLevel:function(e){e=e,Ft.setLogLevel(e)},CACHE_SIZE_UNLIMITED:-1};Qp=(e,t)=>new of(e,t,new Bf),(jp=Af).INTERNAL.registerComponent(new se("firestore-compat",e=>{var t=e.getProvider("app-compat").getImmediate(),r=e.getProvider("firestore").getImmediate();return Qp(t,r)},"PUBLIC").setServiceProps({...Tf})),jp.registerVersion("@firebase/firestore-compat","0.4.14")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-firestore-compat.js - be sure to load firebase-app.js first.")}});
//# sourceMappingURL=firebase-firestore-compat.js.map