1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,92953,897427,308070,344435,e=>{"use strict";let t,r,n;var s,i,a=e.i(247167);let B=function(e){let t=[],r=0;for(let n=0;n<e.length;n++){let s=e.charCodeAt(n);s<128?t[r++]=s:(s<2048?t[r++]=s>>6|192:((64512&s)==55296&&n+1<e.length&&(64512&e.charCodeAt(n+1))==56320?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++n)),t[r++]=s>>18|240,t[r++]=s>>12&63|128):t[r++]=s>>12|224,t[r++]=s>>6&63|128),t[r++]=63&s|128)}return t},o=function(e){let t=[],r=0,n=0;for(;r<e.length;){let s=e[r++];if(s<128)t[n++]=String.fromCharCode(s);else if(s>191&&s<224){let i=e[r++];t[n++]=String.fromCharCode((31&s)<<6|63&i)}else if(s>239&&s<365){let i=((7&s)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{let i=e[r++],a=e[r++];t[n++]=String.fromCharCode((15&s)<<12|(63&i)<<6|63&a)}}return t.join("")},l={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();let r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t<e.length;t+=3){let s=e[t],i=t+1<e.length,a=i?e[t+1]:0,B=t+2<e.length,o=B?e[t+2]:0,l=s>>2,u=(3&s)<<4|a>>4,h=(15&a)<<2|o>>6,c=63&o;!B&&(c=64,i||(h=64)),n.push(r[l],r[u],r[h],r[c])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(B(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):o(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t<e.length;){let s=r[e.charAt(t++)],i=t<e.length?r[e.charAt(t)]:0,a=++t<e.length?r[e.charAt(t)]:64,B=++t<e.length?r[e.charAt(t)]:64;if(++t,null==s||null==i||null==a||null==B)throw new u;let o=s<<2|i>>4;if(n.push(o),64!==a){let e=i<<4&240|a>>2;if(n.push(e),64!==B){let e=a<<6&192|B;n.push(e)}}}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,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class u extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let h=function(e){let t=B(e);return l.encodeByteArray(t,!0)},c=function(e){return h(e).replace(/\./g,"")},C=function(e){try{return l.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function d(){return"u">typeof self?self:"u">typeof window?window:e.g}let f=()=>{try{return d().__FIREBASE_DEFAULTS__||(()=>{if(void 0===a.default||void 0===a.default.env)return;let e=a.default.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)})()||(()=>{let e;if("u"<typeof document)return;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}let t=e&&C(e[1]);return t&&JSON.parse(t)})()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},g=e=>f()?.emulatorHosts?.[e],p=()=>f()?.config;class m{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch(()=>{}),1===e.length?e(t):e(t,r))}}}function D(){return"u">typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function E(){let t=f()?.forceEnvironment;if("node"===t)return!0;
1if("browser"===t)return!1;try{return"[object process]"===Object.prototype.toString.call(e.g.process)}catch(e){return!1}}function y(){return"u">typeof WorkerGlobalScope&&"u">typeof self&&self instanceof WorkerGlobalScope}function w(){try{return"object"==typeof indexedDB}catch(e){return!1}}function I(){return new Promise((e,t)=>{try{let r=!0,n="validate-browser-context-for-indexeddb-analytics-module",s=self.indexedDB.open(n);s.onsuccess=()=>{s.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},s.onupgradeneeded=()=>{r=!1},s.onerror=()=>{t(s.error?.message||"")}}catch(e){t(e)}})}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,v.prototype.create)}}class v{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){let r=t[0]||{},n=`${this.service}/${e}`,s=this.errors[e],i=s?function(e,t){try{let r=0,n="";for(;r<e.length;){let s=e.indexOf("{$",r);if(-1===s){n+=e.substring(r);break}let i=e.indexOf("}",s+2);if(-1===i){n+=e.substring(r);break}let a=e.substring(s+2,i),B=t[a];n+=e.substring(r,s)+(null!=B?String(B):`<${a}?>`),r=i+1}return n}catch(t){return e}}(s,r):"Error",a=`${this.serviceName}: ${i} (${n}).`;return new _(n,a,r)}}function b(e,t){if(e===t)return!0;let r=Object.keys(e),n=Object.keys(t);for(let s of r){if(!n.includes(s))return!1;let r=e[s],i=t[s];if(T(r)&&T(i)){if(!b(r,i))return!1}else if(r!==i)return!1}for(let e of n)if(!r.includes(e))return!1;return!0}function T(e){return null!==e&&"object"==typeof e}class S{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,r){let n;if(void 0===e&&void 0===t&&void 0===r)throw Error("Missing Observer.");void 0===(n=!function(e,t){if("object"!=typeof e||null===e)return!1;for(let r of t)if(r in e&&"function"==typeof e[r])return!0;return!1}(e,["next","error","complete"])?{next:e,error:t,complete:r}:e).next&&(n.next=N),void 0===n.error&&(n.error=N),void 0===n.complete&&(n.complete=N);let s=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?n.error(this.finalError):n.complete()}catch(e){}}),this.observers.push(n),s}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"u">typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function N(){}async function A(e){return(await fetch(e,{credentials:"include"})).ok}e.s(["Deferred",0,m,"ErrorFactory",0,v,"FirebaseError",0,_,"areCookiesEnabled",0,function(){return!("u"<typeof navigator)&&!!navigator.cookieEnabled},"base64Decode",0,C,"base64urlEncodeWithoutPadding",0,c,"calculateBackoffMillis",0,function(e,t=1e3,r=2){let n=t*Math.pow(r,e),s=Math.round(.5*n*(Math.random()-.5)*2);return Math.min(144e5,n+s)},"createMockUserToken",0,function(e,t){if(e.uid)throw Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');let r=t||"demo-project",n=e.iat||0,s=e.sub||e.user_id;if(!s)throw Error("mockUserToken must contain 'sub' or 'user_id' field!");let i={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};return[c(JSON.stringify({alg:"none",type:"JWT"})),c(JSON.stringify(i)),""].join(".")},"createSubscribe",0,function(e,t){let r=new S(e,t);return r.subscribe.bind(r)},"deepEqual",0,b,"extractQuerystring",0,function(e){let t=e.indexOf("?");if(!t)return"";let r=e.indexOf("#",t);return e.substring(t,r>0?r:void 0)},"getDefaultAppConfig",0,p,"getDefaultEmulatorHost",0,g,"getDefaultEmulatorHostnameAndPort",0,e=>{let t=g(e);
1if(!t)return;let r=t.lastIndexOf(":");if(r<=0||r+1===t.length)throw Error(`Invalid host ${t} with no separate hostname and port!`);let n=parseInt(t.substring(r+1),10);return"["===t[0]?[t.substring(1,r-1),n]:[t.substring(0,r),n]},"getExperimentalSetting",0,e=>f()?.[`_${e}`],"getGlobal",0,d,"getModularInstance",0,function(e){return e&&e._delegate?e._delegate:e},"getUA",0,D,"isBrowser",0,function(){return"u">typeof window||y()},"isBrowserExtension",0,function(){let e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id},"isCloudWorkstation",0,function(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch{return!1}},"isCloudflareWorker",0,function(){return"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent},"isEmpty",0,function(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0},"isIE",0,function(){let e=D();return e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0},"isIndexedDBAvailable",0,w,"isMobileCordova",0,function(){return"u">typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(D())},"isReactNative",0,function(){return"object"==typeof navigator&&"ReactNative"===navigator.product},"isSafari",0,function(){return!E()&&!!navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")},"isSafariOrWebkit",0,function(){return!E()&&!!navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")},"isWebWorker",0,y,"pingServer",0,A,"querystring",0,function(e){let t=[];for(let[r,n]of Object.entries(e))Array.isArray(n)?n.forEach(e=>{t.push(encodeURIComponent(r)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(r)+"="+encodeURIComponent(n));return t.length?"&"+t.join("&"):""},"querystringDecode",0,function(e){let t={};return e.replace(/^\?/,"").split("&").forEach(e=>{if(e){let[r,n]=e.split("=");
1t[decodeURIComponent(r)]=decodeURIComponent(n)}}),t},"validateIndexedDBOpenable",0,I],897427);class F{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}}let O="[DEFAULT]";class x{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new m;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){let t=this.normalizeInstanceIdentifier(e?.identifier),r=e?.optional??!1;if(this.isInitialized(t)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(r)return null;throw e}if(r)return null;throw Error(`Service ${this.name} is not available`)}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:O})}catch(e){}for(let[e,t]of this.instancesDeferred.entries()){let r=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch(e){}}}}clearInstance(e=O){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=O){return this.instances.has(e)}getOptions(e=O){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(let[e,t]of this.instancesDeferred.entries())r===this.normalizeInstanceIdentifier(e)&&t.resolve(n);return n}onInit(e,t){let r=this.normalizeInstanceIdentifier(t),n=this.onInitCallbacks.get(r)??new Set;n.add(e),this.onInitCallbacks.set(r,n);let s=this.instances.get(r);return s&&e(s,r),()=>{n.delete(e)}}invokeOnInitCallbacks(e,t){let r=this.onInitCallbacks.get(t);if(r)for(let n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){var r;let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:(r=e)===O?void 0:r,options:t}),this.instances.set(e,n),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(n,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,n)}catch{}return n||null}normalizeInstanceIdentifier(e=O){return this.component?this.component.multipleInstances?e:O:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class L{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new x(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}e.s(["Component",0,F,"ComponentContainer",0,L],308070);let R=[];(s=i||(i={}))[s.DEBUG=0]="DEBUG",s[s.VERBOSE=1]="VERBOSE",s[s.INFO=2]="INFO",s[s.WARN=3]="WARN",s[s.ERROR=4]="ERROR",s[s.SILENT=5]="SILENT";let k={debug:i.DEBUG,verbose:i.VERBOSE,info:i.INFO,warn:i.WARN,error:i.ERROR,silent:i.S
1ILENT},G=i.INFO,P={[i.DEBUG]:"log",[i.VERBOSE]:"log",[i.INFO]:"info",[i.WARN]:"warn",[i.ERROR]:"error"},M=(e,t,...r)=>{if(t<e.logLevel)return;let n=new Date().toISOString(),s=P[t];if(s)console[s](`[${n}] ${e.name}:`,...r);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)},H=new WeakMap,V=new WeakMap,U=new WeakMap,J=new WeakMap,q=new WeakMap,K={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return V.get(e);if("objectStoreNames"===t)return e.objectStoreNames||U.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return j(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function j(e){if(e instanceof IDBRequest){let t;return(t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{t(j(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",s),e.addEventListener("error",i)})).then(t=>{t instanceof IDBCursor&&H.set(t,e)}).catch(()=>{}),q.set(t,e),t}if(J.has(e))return J.get(e);let n=function(e){if("function"==typeof e)return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(r||(r=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(Q(this),t),j(H.get(this))}:function(...t){return j(e.apply(Q(this),t))}:function(t,...r){let n=e.call(Q(this),t,...r);return U.set(n,t.sort?t.sort():[t]),j(n)};return e instanceof IDBTransaction&&function(e){if(V.has(e))return;let t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});V.set(e,t)}(e),(t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(t=>e instanceof t)?new Proxy(e,K):e}(e);return n!==e&&(J.set(e,n),q.set(n,e)),n}let Q=e=>q.get(e);function z(e,t,{blocked:r,upgrade:n,blocking:s,terminated:i}={}){let a=indexedDB.open(e,t),B=j(a);return n&&a.addEventListener("upgradeneeded",e=>{n(j(a.result),e.oldVersion,e.newVersion,j(a.transaction),e)}),r&&a.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),B.then(e=>{i&&e.addEventListener("close",()=>i()),s&&e.addEventListener("versionchange",e=>s(e.oldVersion,e.newVersion,e))}).catch(()=>{}),B}let $=["get","getKey","getAll","getAllKeys","count"],Y=["put","add","delete","clear"],W=new Map;function X(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(W.get(t))return W.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,s=Y.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(s||$.includes(r)))return;let i=async function(e,...t){let i=this.transaction(e,s?"readwrite":"readonly"),a=i.store;return n&&(a=a.index(t.shift())),(await Promise.all([a[r](...t),s&&i.done]))[0]};return W.set(t,i),i}K={...n=K,get:(e,t,r)=>X(e,t)||n.get(e,t,r),has:(e,t)=>!!X(e,t)||n.has(e,t)},e.s(["openDB",0,z],344435);class Z{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{let t;if(t=e.getComponent(),t?.type!=="VERSION")return null;{let t=e.getImmediate();return`${t.library}/${t.version}`}}).filter(e=>e).join(" ")}}let ee="@firebase/app",et="0.16.2",er=new class{constructor(e){this.name=e,this._logLevel=G,this._logHandler=M,this._userLogHandler=null,R.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in i))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?k[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,i.DEBUG,...e),this._logHandler(this,i.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,i.VERBOSE,...e),this._logHandler(this,i.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,i.INFO,...e),this._logHandler(this,i.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,i.WARN,...e),this._logHandler(this,i.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,i.ERROR,...e),this._logHandler(this,i.ERROR,...e)}}("@firebase/app"),en="[DEFAULT]",es={[ee]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},ei=new Map,ea=new Map,eB=new Map;function eo(e,t){try{e.container.addComponent(t)}catch(r){er.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function el(e){let t=e.name;if(eB.has(t))return er.debug(`There were multiple attempts to register component ${t}.`),!1;
1for(let r of(eB.set(t,e),ei.values()))eo(r,e);for(let t of ea.values())eo(t,e);return!0}function eu(e,t){let r=e.container.getProvider("heartbeat").getImmediate({optional:!0});return r&&r.triggerHeartbeat(),e.container.getProvider(t)}let eh=new v("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different {$mismatchedParam}. Existing: '{$oldValue}'. New: '{$newValue}'.","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."});class ec{constructor(e,t,r){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new F("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw eh.create("app-deleted",{appName:this._name})}}function eC(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});let n={name:en,automaticDataCollectionEnabled:!0,...t},s=n.name;if("string"!=typeof s||!s)throw eh.create("bad-app-name",{appName:String(s)});if(r||(r=p()),!r)throw eh.create("no-options");let i=ei.get(s);if(i)if(b(r,i.options))if(b(n,i.config))return i;else throw eh.create("duplicate-app",{appName:s,mismatchedParam:"config",oldValue:JSON.stringify(i.config),newValue:JSON.stringify(n)});else throw eh.create("duplicate-app",{appName:s,mismatchedParam:"options",oldValue:JSON.stringify(i.options),newValue:JSON.stringify(r)});let a=new L(s);for(let e of eB.values())a.addComponent(e);let B=new ec(r,n,a);return ei.set(s,B),B}function ed(e,t,r){let n=es[e]??e;r&&(n+=`-${r}`);let s=n.match(/\s|\//),i=t.match(/\s|\//);if(s||i){let e=[`Unable to register library "${n}" with version "${t}":`];s&&e.push(`library name "${n}" contains illegal characters (whitespace or "/")`),s&&i&&e.push("and"),i&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),er.warn(e.join(" "));return}el(new F(`${n}-version`,()=>({library:n,version:t}),"VERSION"))}let ef="firebase-heartbeat-store",eg=null;function ep(){return eg||(eg=z("firebase-heartbeat-database",1,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(ef)}catch(e){console.warn(e)}}}).catch(e=>{throw eh.create("idb-open",{originalErrorMessage:e.message})})),eg}async function em(e){try{let t=(await ep()).transaction(ef),r=await t.objectStore(ef).get(eE(e));return await t.done,r}catch(e){if(e instanceof _)er.warn(e.message);else{let t=eh.create("idb-get",{originalErrorMessage:e?.message});er.warn(t.message)}}}async function eD(e,t){try{let r=(await ep()).transaction(ef,"readwrite"),n=r.objectStore(ef);await n.put(t,eE(e)),await r.done}catch(e){if(e instanceof _)er.warn(e.message);else{let t=eh.create("idb-set",{originalErrorMessage:e?.message});er.warn(t.message)}}}function eE(e){return`${e.name}!${e.options.appId}`}class ey{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new eI(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),t=ew();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>30){let e=function(e){if(0===e.length)return -1;let t=0,r=e[0].date;for(let n=1;n<e.length;n++)e[n].date<r&&(r=e[n].date,t=n);return t}(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){er.warn(e)}}async getHeartbeatsHeader(){try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||0===this._heartbeatsCache.heartbeats.length)return"";let e=ew(),{heartbeatsToSend:t,unsentEntries:r}=function(e,t=1024){let r=[],n=e.slice();for(let s of e){let e=r.find(e=>e.agent===s.agent);if(e){if(e.dates.push(s.date),e_(r)>t){e.dates.pop();break}}else if(r.push({agent:s.agent,dates:[s.date]}),e_(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}(this._heartbeatsCache.heartbeats),n=c(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,r.length>0?(this._heartbeatsCache.heartbeats=r,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),n}
1catch(e){return er.warn(e),""}}}function ew(){return new Date().toISOString().substring(0,10)}class eI{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!w()&&I().then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};{let e=await em(this.app);return e?.heartbeats?e:{heartbeats:[]}}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return eD(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return eD(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}}function e_(e){return c(JSON.stringify({version:2,heartbeats:e})).length}el(new F("platform-logger",e=>new Z(e),"PRIVATE")),el(new F("heartbeat",e=>new ey(e),"PRIVATE")),ed(ee,et,""),ed(ee,et,"esm2020"),ed("fire-js",""),e.s(["SDK_VERSION",0,"12.19.0","_getProvider",0,eu,"_isFirebaseServerApp",0,function(e){return null!=e&&void 0!==e.settings},"_registerComponent",0,el,"_removeServiceInstance",0,function(e,t,r=en){eu(e,t).clearInstance(r)},"getApp",0,function(e=en){let t=ei.get(e);if(!t&&e===en&&p())return eC();if(!t)throw eh.create("no-app",{appName:e});return t},"getApps",0,function(){return Array.from(ei.values())},"initializeApp",0,eC,"registerVersion",0,ed],92953)},436180,630740,615051,e=>{"use strict";var t,r,n,s,i,a,B,o,l,u,h,c,C=e.i(92953),d=e.i(308070),f=e.i(467034),g=e.i(247167),p=e.i(897427),m=e.i(836675),D=e.i(25794),E="u">typeof globalThis?globalThis:"u">typeof window?window:e.g,y={};(function(){var e,t,u=Object.defineProperty,h=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof E&&E];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 c(e,t){if(t)e:{var r=h;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&&u(r,e,{configurable:!0,writable:!0,value:t})}}c("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),c("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),c("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 C=C||{},d=this||self;function f(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function g(e,t,r){return e.call.apply(e.bind,arguments)}function p(e,t,r){return(p=g).apply(null,arguments)}function m(e,t){var r=Array.prototype.slice.call(arguments,1);return function(){var t=r.slice();return t.push.apply(t,arguments),e.apply(this,t)}}function D(e,t){function r(){}r.prototype=t.prototype,e.Z=t.prototype,e.prototype=new r,e.prototype.constructor=e,e.Ob=function(e,r,n){for(var s=Array(arguments.length-2),i=2;i<arguments.length;i++)s[i-2]=arguments[i];return t.prototype[r].apply(e,s)}}var w="u">typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function I(e){let t=e.length;if(t>0){let r=Array(t);for(let n=0;n<t;n++)r[n]=e[n];return r}return[]}function _(e,t){for(let t=1;t<arguments.length;t++){let n=arguments[t];var r=typeof n;if("array"==(r="object"!=r?r:n?Array.isArray(n)?"array":r:"null")||"object"==r&&"number"==typeof n.length){r=e.length||0;let t=n.length||0;e.length=r+t;for(let s=0;s<t;s++)e[r+s]=n[s]}else e.push(n)}}var v=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return this.h>0?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new b,e=>e.reset());class b{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 T,S=!1,N=new class{constructor(){this.h=this.g=null}add(e,t){let r=v.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r}},A=()=>{let e=Promise.resolve(void 0);T=()=>{e.then(F)}};function F(){let e;for(var t;e=null,N.g&&(e=N.g,N.g=N.g.next,N.g||(N.h=null),e.next=null),t=e;){try{t.h.call(t.g)}catch(e){!function(e){d.setTimeout(()=>{throw e},0)}(e)}v.j(t),v.h<100&&(v.h++,t.next=v.g,v.g=t)}S=!1}function O(){this.u=this.u,this.C=this.C}function x(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}O.prototype.u=!1,O.prototype.dispose=function(){this.u||(this.u=!0,this.N())},O.prototype[Symbol.dispose]=function(){this.dispose()},O.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},x.prototype.h=function(){this.defaultPrevented=!0};var L=function(){if(!d.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{let e=()=>{};d.addEventListener("test",e,t),d.removeEventListener("test",e,t)}catch(e){}return e}();function R(e){return/^[\s\xa0]*$/.test(e)}function k(e,t){x.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)}
1D(k,x),k.prototype.init=function(e,t){let 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,e.defaultPrevented&&k.Z.h.call(this)},k.prototype.h=function(){k.Z.h.call(this);let e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var G="closure_listenable_"+(1e6*Math.random()|0),P=0;function M(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=++P,this.da=this.fa=!1}function H(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function V(e,t,r){for(let n in e)t.call(r,e[n],n,e)}function U(e){let t={};for(let r in e)t[r]=e[r];return t}let J="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function q(e,t){let r,n;for(let t=1;t<arguments.length;t++){for(r in n=arguments[t])e[r]=n[r];for(let t=0;t<J.length;t++)r=J[t],Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}}function K(e){this.src=e,this.g={},this.h=0}function j(e,t){let r=t.type;if(r in e.g){var n,s=e.g[r],i=Array.prototype.indexOf.call(s,t,void 0);(n=i>=0)&&Array.prototype.splice.call(s,i,1),n&&(H(t),0==e.g[r].length&&(delete e.g[r],e.h--))}}function Q(e,t,r,n){for(let s=0;s<e.length;++s){let i=e[s];if(!i.da&&i.listener==t&&!!r==i.capture&&i.ha==n)return s}return -1}K.prototype.add=function(e,t,r,n,s){let i=e.toString();(e=this.g[i])||(e=this.g[i]=[],this.h++);let a=Q(e,t,n,s);return a>-1?(t=e[a],r||(t.fa=!1)):((t=new M(t,this.src,i,!!n,s)).fa=r,e.push(t)),t};var z="closure_lm_"+(1e6*Math.random()|0),$={};function Y(e){if("number"!=typeof e&&e&&!e.da){var t=e.src;if(t&&t[G])j(t.i,e);else{var r=e.type,n=e.proxy;t.removeEventListener?t.removeEventListener(r,n,e.capture):t.detachEvent?t.detachEvent(W(r),n):t.addListener&&t.removeListener&&t.removeListener(n),(r=Z(t))?(j(r,e),0==r.h&&(r.src=null,t[z]=null)):H(e)}}}function W(e){return e in $?$[e]:$[e]="on"+e}function X(e,t){if(e.da)e=!0;else{t=new k(t,this);let r=e.listener,n=e.ha||e.src;e.fa&&Y(e),e=r.call(n,t)}return e}function Z(e){return(e=e[z])instanceof K?e:null}var ee="__closure_events_fn_"+(1e9*Math.random()>>>0);function et(e){return"function"==typeof e?e:(e[ee]||(e[ee]=function(t){return e.handleEvent(t)}),e[ee])}function er(){O.call(this),this.i=new K(this),this.M=this,this.G=null}function en(e,t){let r,n;var s,i=e.G;if(i)for(s=[];i;i=i.G)s.push(i);if(e=e.M,i=t.type||t,"string"==typeof t)t=new x(t,e);else if(t instanceof x)t.target=t.target||e;else{var a=t;q(t=new x(i,e),a)}if(a=!0,s)for(n=s.length-1;n>=0;n--)a=es(r=t.g=s[n],i,!0,t)&&a;if(a=es(r=t.g=e,i,!0,t)&&a,a=es(r,i,!1,t)&&a,s)for(n=0;n<s.length;n++)a=es(r=t.g=s[n],i,!1,t)&&a}function es(e,t,r,n){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let s=!0;for(let i=0;i<t.length;++i){let a=t[i];if(a&&!a.da&&a.capture==r){let t=a.listener,r=a.ha||a.src;a.fa&&j(e.i,a),s=!1!==t.call(r,n)&&s}}return s&&!n.defaultPrevented}D(er,O),er.prototype[G]=!0,er.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=f(s)?!!s.capture:!!s,n=et(n),t&&t[G])?(t=t.i,(a=String(r).toString())in t.g&&(n=Q(r=t.g[a],n,s,i))>-1&&(H(r[n]),Array.prototype.splice.call(r,n,1),0==r.length&&(delete t.g[a],t.h--))):t&&(t=Z(t))&&(r=t.g[r.toString()],t=-1,r&&(t=Q(r,n,s,i)),(n=t>-1?r[t]:null)&&Y(n))}(this,e,t,r,n)},er.prototype.N=function(){if(er.Z.N.call(this),this.i){var e=this.i;for(let t in e.g){let r=e.g[t];for(let e=0;e<r.length;e++)H(r[e]);delete e.g[t],e.h--}}this.G=null},er.prototype.J=function(e,t,r,n){return this.i.add(String(e),t,!1,r,n)},er.prototype.K=function(e,t,r,n){return this.i.add(String(e),t,!0,r,n)};class ei extends O{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:function e(t){t.g=function(e,t){if("function"!=typeof e)if(e&&"function"==typeof e.handleEvent)e=p(e.handleEvent,e);else throw Error("Invalid listener argument");return Number(t)>0x7fffffff?-1:d.setTimeout(e,t||0)}(()=>{t.g=null,t.i&&(t.i=!1,e(t))},t.l);let r=t.h;t.h=null,t.m.apply(null,r)}(this)}N(){super.N(),this.g&&(d.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function ea(e){O.call(this),this.h=e,this.g={}}D(ea,O);var eB=[];function eo(e){V(e.g,function(e,t){this.g.hasOwnProperty(t)&&Y(e)},e),e.g={}}ea.prototype.N=function(){ea.Z.N.call(this),eo(this)},ea.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var el=d.JSON.stringify,eu=d.JSON.parse,eh=class{stringify(e){return d.JSON.stringify(e,void 0)}parse(e){return d.JSON.parse(e,void 0)}};function ec(){}function eC(){}var ed={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function ef(){x.call(this,"d")}function eg(){x.call(this,"c")}D(ef,x),D(eg,x);var ep={},em=null;function eD(){return em=em||new er}function eE(e){x.call(this,ep.Ia,e)}function ey(e){let t=eD();en(t,new eE(t))}function ew(e,t){x.call(this,ep.STAT_EVENT,e),this.stat=t}function eI(e){let t=eD();en(t,new ew(t,e))}function e_(e,t){x.call(this,ep.Ja,e),this.size=t}function ev(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return d.setTimeout(function(){e()},t)}function eb(){this.g=!0}function eT(e,t,r,n){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+function(e,t){if(!e.g)return t;if(!t)return null;try{let i=JSON.parse(t);if(i){for(e=0;e<i.length;e++)if(Array.isArray(i[e])){var r=i[e];if(!(r.length<2)){var n=r[1];if(Array.isArray(n)&&!(n.length<1)){var s=n[0];if("noop"!=s&&"stop"!=s&&"close"!=s)for(let e=1;e<n.length;e++)n[e]=""}}}}return el(i)}catch(e){return t}}(e,r)+(n?" "+n:"")})}ep.Ia="serverreachability",D(eE,x),ep.STAT_EVENT="statevent",D(ew,x),ep.Ja="timingevent",D(e_,x),eb.prototype.ua=function(){this.g=!1},eb.prototype.info=function(){};var eS={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},eN={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function eA(){}function eF(e){return encodeURIComponent(String(e))}function eO(e,t,r,n){this.j=e,this.i=t,this.l=r,this.S=n||1,this.V=new ea(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 ex}function ex(){this.i=null,this.g="",this.h=!1}D(eA,ec),eA.prototype.g=function(){return new XMLHttpRequest},e=new eA;var eL={},eR={};function ek(e,t,r){e.M=1,e.A=e5(e1(t)),e.u=r,e.R=!0,eG(e,null)}function eG(e,t){e.F=Date.now(),eM(e),e.B=e1(e.A);var r,n,s,i,a,B,o=e.B,l=e.S;Array.isArray(l)||(l=[String(l)]),tu(o.i,"t",l),e.C=0,o=e.j.L,e.h=new ex,e.g=tY(e.j,o?t:null,!e.u),e.P>0&&(e.O=new ei(p(e.Y,e,e.g),e.P)),t=e.V,o=e.g,l=e.ba;var u="readystatechange";Array.isArray(u)||(u&&(eB[0]=u.toString()),u=eB);for(let e=0;e<u.length;e++){let r=function e(t,r,n,s,i){if(Array.isArray(r)){for(let a=0;a<r.length;a++)e(t,r[a],n,s,i);return null}return n=et(n),t&&t[G]?t.J(r,n,!!f(s)&&!!s.capture,i):function(e,t,r,n,s,i){if(!t)throw Error("Invalid event type");let a=f(s)?!!s.capture:!!s,B=Z(e);if(B||(e[z]=B=new K(e)),(r=B.add(t,r,n,a,i)).proxy)return r;if(n=function e(t){return X.call(e.src,e.listener,t)},r.proxy=n,n.src=e,n.listener=r,e.addEventListener)L||(s=a),void 0===s&&(s=!1),e.addEventListener(t.toString(),n,s);else if(e.attachEvent)e.attachEvent(W(t.toString()),n);else if(e.addListener&&e.removeListener)e.addListener(n);else throw Error("addEventListener and attachEvent are unavailable.");return r}(t,r,n,!1,s,i)}(o,u[e],l||t.handleEvent,!1,t.h||t);if(!r)break;t.g[r.key]=r}t=e.J?U(e.J):{},e.u?(e.v||(e.v="POST"),t["Content-Type"]="application/x-www-form-urlencoded",e.g.ea(e.B,e.v,e.u,t)):(e.v="GET",e.g.ea(e.B,e.v,null,t)),ey(),r=e.i,n=e.v,s=e.B,i=e.l,a=e.S,B=e.u,r.info(function(){if(r.g)if(B){var e="",t=B.split("&");for(let r=0;r<t.length;r++){var o=t[r].split("=");if(o.length>
11){let t=o[0];o=o[1];let r=t.split("_");e=r.length>=2&&"type"==r[1]?e+(t+"=")+o+"&":e+(t+"=redacted&")}}}else e=null;else e=B;return"XMLHTTP REQ ("+i+") [attempt "+a+"]: "+n+"\n"+s+"\n"+e})}function eP(e){return!!e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function eM(e){e.T=Date.now()+e.H,eH(e,e.H)}function eH(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=ev(p(e.aa,e),t)}function eV(e){e.D&&(d.clearTimeout(e.D),e.D=null)}function eU(e){0==e.j.I||e.K||tK(e.j,e)}function eJ(e){eV(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,eo(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dispose())}function eq(e,t){try{var r=e.j;if(0!=r.I&&(r.g==e||e$(r.h,e))){if(!e.L&&e$(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)tq(r),tL(r);else break e;tV(r),eI(18)}}else r.xa=s[1],0<r.xa-r.K&&s[2]<37500&&r.F&&0==r.A&&!r.C&&(r.C=ev(p(r.Va,r),6e3));1>=ez(r.h)&&r.ta&&(r.ta=void 0)}else tQ(r,11)}else if((e.L||r.g==e)&&tq(r),!R(t))for(s=r.Ba.g.parse(t),t=0;t<s.length;t++){let B=s[t],o=B[0];if(!(o<=r.K))if(r.K=o,B=B[1],2==r.I)if("c"==B[0]){r.M=B[1],r.ba=B[2];let t=B[3];null!=t&&(r.ka=t,r.j.info("VER="+r.ka));let s=B[4];null!=s&&(r.za=s,r.j.info("SVER="+r.za));let o=B[5];null!=o&&"number"==typeof o&&o>0&&(r.O=n=1.5*o,r.j.info("backChannelRequestTimeoutMs_="+n)),n=r;let l=e.g;if(l){let e=l.g?l.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(e){var i=n.h;i.g||-1==e.indexOf("spdy")&&-1==e.indexOf("quic")&&-1==e.indexOf("h2")||(i.j=i.l,i.g=new Set,i.h&&(eY(i,i.h),i.h=null))}if(n.G){let e=l.g?l.g.getResponseHeader("X-HTTP-Session-Id"):null;e&&(n.wa=e,e6(n.J,n.G,e))}}if(r.I=3,r.l&&r.l.ra(),r.aa&&(r.T=Date.now()-e.F,r.j.info("Handshake RTT: "+r.T+"ms")),(n=r).na=t$(n,n.L?n.ba:null,n.W),e.L){eW(n.h,e);var a=n.O;a&&(e.H=a),e.D&&(eV(e),eM(e)),n.g=e}else tH(n);r.i.length>0&&tk(r)}else"stop"!=B[0]&&"close"!=B[0]||tQ(r,7);else 3==r.I&&("stop"==B[0]||"close"==B[0]?"stop"==B[0]?tQ(r,7):tx(r):"noop"!=B[0]&&r.l&&r.l.qa(B),r.A=0)}}ey(4)}catch(e){}}eO.prototype.ba=function(e){e=e.target;let t=this.O;t&&3==tN(e)?t.j():this.Y(e)},eO.prototype.Y=function(e){try{if(e==this.g)e:{let c=tN(this.g),C=this.g.ya(),f=this.g.ca();if(!(c<3)&&(3!=c||this.g&&(this.h.h||this.g.la()||tA(this.g)))){this.K||4!=c||7==C||(8==C||f<=0?ey(3):ey(2)),eV(this);var t=this.g.ca();this.X=t;var r=function(e){if(!eP(e))return e.g.la();let t=tA(e.g);if(""===t)return"";let r="",n=t.length,s=4==tN(e.g);if(!e.h.i){if("u"<typeof TextDecoder)return eJ(e),eU(e),"";e.h.i=new d.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==t,n=this.i,s=this.v,i=this.B,a=this.l,B=this.S,n.info(function(){return"XMLHTTP RESP ("+a+") [ attempt "+B+"]: "+s+"\n"+i+"\n"+c+" "+t}),this.o){if(this.U&&!this.L){t:{if(this.g){var n,s,i,a,B,o,l=this.g;if((o=l.g?l.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!R(o)){var u=o;break t}}u=null}if(e=u)eT(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,eq(this,e);else{this.o=!1,this.m=3,eI(12),eJ(this),eU(this);break e}}if(this.R){let t;for(e=!0;!this.K&&this.C<r.length;)if((t=function(e,t){var r=e.C,n=t.indexOf("\n",r);return -1==n?eR:isNaN(r=Number(t.substring(r,n)))?eL:(n+=1)+r>t.length?eR:(t=t.slice(n,n+r),e.C=n+r,t)}(this,r))==eR){4==c&&(this.m=4,eI(14),e=!1),eT(this.i,this.l,null,"[Incomplete Response]");break}else if(t==eL){this.m=4,eI(15),eT(this.i,this.l,r,"[Invalid Chunk]"),e=!1;break}else eT(this.i,this.l,t,null),eq(this,t);if(eP(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=c||0!=r.length||this.h.h||(this.m=1,eI(16),e=!1),this.o=this.o&&e,e){if(r.length>0&&!this.W){this.W=!0;var h=this.j;h.g==this&&h.aa&&!h.P&&(h.j.info("Great, no buffering proxy detected. Bytes received: "+r.length),tU(h),h.P=!0,eI(11))}}else eT(this.i,this.l,r,"[Invalid Chunked Response]"),eJ(this),eU(this)}else eT(this.i,this.l,r,null),eq(this,r);4==c&&eJ(this),this.o&&!this.K&&(4==c?tK(this.j,this):(this.o=!1,eM(this)))}else(function(e){let t={};e=(e.g&&tN(e)>=2&&e.g.getAllResponseHeaders()||"").split("\r\n");for(let n=0;n<e.length;n++){if(R(e[n]))continue;var r=function(e){var t=1;e=e.split(":");let r=[];for(;t>0&&e.length;)r.push(e.shift()),t--;return e.length&&r.push(e.join(":")),r}(e[n]);let s=r[0];if("string"!=typeof(r=r[1]))continue;r=r.trim();let i=t[s]||[];t[s]=i,i.push(r)}var n=function(e){return e.join(", ")};for(let e in t)n.call(void 0,t[e],e,t)})(this.g),400==t&&r.indexOf("Unknown SID")>0?(this.m=3,eI(12)):(this.m=0,eI(13)),eJ(this),eU(this)}}}catch(e){}finally{}},eO.prototype.cancel=function(){this.K=!0,eJ(this)},eO.prototype.aa=function(){var e,t;this.D=null;let r=Date.now();r-this.T>=0?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(ey(),eI(17)),eJ(this),this.m=2,eU(this)):eH(this,this.T-r)};var eK=class{constructor(e,t){this.g=e,this.map=t}};function ej(e){this.l=e||10,e=d.PerformanceNavigationTiming?(e=d.performance.getEntriesByType("navigation")).length>0&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(d.chrome&&d.chrome.loadTimes&&d.chrome.loadTimes()&&d.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,this.j>1&&(this.g=new Set),this.h=null,this.i=[]}function eQ(e){return!!e.h||!!e.g&&e.g.size>=e.j}function ez(e){return e.h?1:e.g?e.g.size:0}function e$(e,t){return e.h?e.h==t:!!e.g&&e.g.has(t)}function eY(e,t){e.g?e.g.add(t):e.h=t}function eW(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function eX(e){if(null!=e.h)return e.i.concat(e.h.G);if(null!=e.g&&0!==e.g.size){let t=e.i;for(let r of e.g.values())t=t.concat(r.G);return t}return I(e.i)}ej.prototype.cancel=function(){if(this.i=eX(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(let e of this.g.values())e.cancel();this.g.clear()}};var eZ=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function e0(e){let t;this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1,e instanceof e0?(this.l=e.l,e2(this,e.j),this.o=e.o,this.g=e.g,e3(this,e.u),this.h=e.h,e8(this,th(e.i)),this.m=e.m):e&&(t=String(e).match(eZ))?(this.l=!1,e2(this,t[1]||"",!0),this.o=e4(t[2]||""),this.g=e4(t[3]||"",!0),e3(this,t[4]),this.h=e4(t[5]||"",!0),e8(this,t[6]||"",!0),this.m=e4(t[7]||"")):(this.l=!1,this.i=new ti(null,this.l))}function e1(e){return new e0(e)}function e2(e,t,r){e.j=r?e4(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function e3(e,t){if(t){if(isNaN(t=Number(t))||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function e8(e,t,r){var n,s;t instanceof ti?(e.i=t,n=e.i,(s=e.l)&&!n.j&&(ta(n),n.i=null,n.g.forEach(function(e,t){let r=t.toLowerCase();t!=r&&(tB(this,t),tu(this,r,e))},n)),n.j=s):(r||(t=e9(t,tn)),e.i=new ti(t,e.l))}function e6(e,t,r){e.i.set(t,r)}function e5(e){return e6(e,"zx",Math.floor(0x80000000*Math.random()).toString(36)+Math.abs(Math.floor(0x80000000*Math.random())^Date.now()).toString(36)),e}function e4(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function e9(e,t,r){return"string"==typeof e?(e=encodeURI(e).replace(t,e7),r&&(e=e.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),e):null}function e7(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}e0.prototype.toString=function(){let e=[];var t=this.j;t&&e.push(e9(t,te,!0),":");var r=this.g;return(r||"file"==t)&&(e.push("//"),(t=this.o)&&e.push(e9(t,te,!0),"@"),e.push(eF(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(e9(r,"/"==r.charAt(0)?tr:tt,!0))),(r=this.i.toString())&&e.push("?",r),(r=this.m)&&e.push("#",e9(r,ts)),e.join("")},e0.prototype.resolve=function(e){let t=e1(this),r=!!e.j;r?e2(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)e3(t,e.u);else if(r=!!e.h){if("/"!=n.charAt(0))if(this.g&&!this.h)n="/"+n;else{var s=t.h.lastIndexOf("/");-1!=s&&(n=t.h.slice(0,s+1)+n)}if(".."==(s=n)||"."==s)n="";else if(-1!=s.indexOf("./")||-1!=s.indexOf("/.")){n=0==s.lastIndexOf("/",0),s=s.split("/");let e=[];for(let t=0;t<s.length;){let r=s[t++];"."==r?n&&t==s.length&&e.push(""):".."==r?((e.length>1||1==e.length&&""!=e[0])&&e.pop(),n&&t==s.length&&e.push("")):(e.push(r),n=!0)}n=e.join("/")}else n=s}return r?t.h=n:r=""!==e.i.toString(),r?e8(t,th(e.i)):r=!!e.m,r&&(t.m=e.m),t};var te=/[#\/\?@]/g,tt=/[#\?:]/g,tr=/[#\?]/g,tn=/[#\?@]/g,ts=/#/g;function ti(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function ta(e){e.g||(e.g=new Map,e.h=0,e.i&&function(e,t){if(e){e=e.split("&");for(let r=0;r<e.length;r++){let n=e[r].indexOf("="),s,i=null;n>=0?(s=e[r].substring(0,n),i=e[r].substring(n+1)):s=e[r],t(s,i?decodeURIComponent(i.replace(/\+/g," ")):"")}}}(e.i,function(t,r){e.add(decodeURIComponent(t.replace(/\+/g," ")),r)}))}function tB(e,t){ta(e),t=tc(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function to(e,t){return ta(e),t=tc(e,t),e.g.has(t)}function tl(e,t){ta(e);let r=[];if("string"==typeof t)to(e,t)&&(r=r.concat(e.g.get(tc(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)r=r.concat(e[t]);return r}function tu(e,t,r){tB(e,t),r.length>0&&(e.i=null,e.g.set(tc(e,t),I(r)),e.h+=r.length)}function th(e){let t=new ti;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function tc(e,t){return t=String(t),e.j&&(t=t.toLowerCase()),t}
1function tC(e,t,r,n,s){try{s&&(s.onload=null,s.onerror=null,s.onabort=null,s.ontimeout=null),n(r)}catch(e){}}function td(){this.g=new eh}function tf(e){this.i=e.Sb||null,this.h=e.ab||!1}function tg(e,t){er.call(this),this.H=e,this.o=t,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.A=new Headers,this.h=null,this.F="GET",this.D="",this.g=!1,this.B=this.j=this.l=null,this.v=new AbortController}function tp(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function tm(e){e.readyState=4,e.l=null,e.j=null,e.B=null,tD(e)}function tD(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function tE(e){let t="";return V(e,function(e,r){t+=r,t+=":",t+=e,t+="\r\n"}),t}function ty(e,t,r){e:{for(n in r){var n=!1;break e}n=!0}n||(r=tE(r),"string"==typeof e?null!=r&&eF(r):e6(e,t,r))}function tw(e){er.call(this),this.headers=new Map,this.L=e||null,this.h=!1,this.g=null,this.D="",this.o=0,this.l="",this.j=this.B=this.v=this.A=!1,this.m=null,this.F="",this.H=!1}(t=ti.prototype).add=function(e,t){ta(this),this.i=null,e=tc(this,e);let r=this.g.get(e);return r||this.g.set(e,r=[]),r.push(t),this.h+=1,this},t.forEach=function(e,t){ta(this),this.g.forEach(function(r,n){r.forEach(function(r){e.call(t,r,n,this)},this)},this)},t.set=function(e,t){return ta(this),this.i=null,to(this,e=tc(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},t.get=function(e,t){return e&&(e=tl(this,e)).length>0?String(e[0]):t},t.toString=function(){if(this.i)return this.i;if(!this.g)return"";let e=[],t=Array.from(this.g.keys());for(let n=0;n<t.length;n++){var r=t[n];let s=eF(r);r=tl(this,r);for(let t=0;t<r.length;t++){let n=s;""!==r[t]&&(n+="="+eF(r[t])),e.push(n)}}return this.i=e.join("&")},D(tf,ec),tf.prototype.g=function(){return new tg(this.i,this.h)},D(tg,er),(t=tg.prototype).open=function(e,t){if(0!=this.readyState)throw this.abort(),Error("Error reopening a connection");this.F=e,this.D=t,this.readyState=1,tD(this)},t.send=function(e){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");if(this.v.signal.aborted)throw this.abort(),Error("Request was aborted.");this.g=!0;let t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||d).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},t.abort=function(){this.response=this.responseText="",this.A=new Headers,this.status=0,this.v.abort(),this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),this.readyState>=1&&this.g&&4!=this.readyState&&(this.g=!1,tm(this)),this.readyState=0},t.Pa=function(e){if(this.g&&(this.l=e,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=e.headers,this.readyState=2,tD(this)),this.g&&(this.readyState=3,tD(this),this.g)))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==d.ReadableStream&&"body"in e){if(this.j=e.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.B=new TextDecoder;tp(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},t.Ma=function(e){if(this.g){if(this.o&&e.value)this.response.push(e.value);else if(!this.o){var t=e.value?e.value:new Uint8Array(0);(t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t)}e.done?tm(this):tD(this),3==this.readyState&&tp(this)}},t.Oa=function(e){this.g&&(this.response=this.responseText=e,tm(this))},t.Na=function(e){this.g&&(this.response=e,tm(this))},t.ga=function(){this.g&&tm(this)},t.setRequestHeader=function(e,t){this.A.append(e,t)},t.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},t.getAllResponseHeaders=function(){if(!this.h)return"";let e=[],t=this.h.entries();for(var r=t.next();!r.done;)e.push((r=r.value)[0]+": "+r[1]),r=t.next();return e.join("\r\n")},Object.defineProperty(tg.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),D(tw,er);var tI=/^https?$/i,t_=["POST","PUT"];function tv(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,tb(e),tS(e)}function tb(e){e.A||(e.A=!0,en(e,"complete"),en(e,"error"))}function tT(e){if(e.h&&void 0!==C){if(e.v&&4==tN(e))setTimeout(e.Ca.bind(e),0);else if(en(e,"readystatechange"),4==tN(e)){e.h=!1;try{let i=e.ca();switch(i){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var t,r,n=!0;break;default:n=!1}if(!(t=n)){if(r=0===i){let t=String(e.D).match(eZ)[1]||null;!t&&d.self&&d.self.location&&(t=d.self.location.protocol.slice(0,-1)),r=!tI.test(t?t.toLowerCase():"")}t=r}if(t)en(e,"complete"),en(e,"success");else{e.o=6;try{var s=tN(e)>2?e.g.statusText:""}catch(e){s=""}e.l=s+" ["+e.ca()+"]",tb(e)}}finally{tS(e)}}}}function tS(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);let r=e.g;e.g=null,t||en(e,"ready");try{r.onreadystatechange=null}catch(e){}}}function tN(e){return e.g?e.g.readyState:0}function tA(e){try{if(!e.g)return null;if("response"in e.g)return e.g.response;switch(e.F){case"":case"text":return e.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in e.g)return e.g.mozResponseArrayBuffer}return null}catch(e){return null}}
1function tF(e,t,r){return r&&r.internalChannelParams&&r.internalChannelParams[e]||t}function tO(e){this.za=0,this.i=[],this.j=new eb,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=tF("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=tF("baseRetryDelayMs",5e3,e),this.Za=tF("retryDelaySeedMs",1e4,e),this.Ta=tF("forwardChannelMaxRetries",2,e),this.va=tF("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 ej(e&&e.concurrentRequestLimit),this.Ba=new td,this.S=e&&e.fastHandshake||!1,this.R=e&&e.encodeInitMessageHeaders||!1,this.S&&this.R&&(this.R=!1),this.Ra=e&&e.Pb||!1,e&&e.ua&&this.j.ua(),e&&e.forceLongPolling&&(this.X=!1),this.aa=!this.S&&this.X&&e&&e.detectBufferingProxy||!1,this.ia=void 0,e&&e.longPollingTimeout&&e.longPollingTimeout>0&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function tx(e){if(tR(e),3==e.I){var t=e.V++,r=e1(e.J);if(e6(r,"SID",e.M),e6(r,"RID",t),e6(r,"TYPE","terminate"),tP(e,r),(t=new eO(e,e.j,t)).M=2,t.A=e5(e1(r)),r=!1,d.navigator&&d.navigator.sendBeacon)try{r=d.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!r&&d.Image&&((new Image).src=t.A,r=!0),r||(t.g=tY(t.j,null),t.g.ea(t.A)),t.F=Date.now(),eM(t)}tz(e)}function tL(e){e.g&&(tU(e),e.g.cancel(),e.g=null)}function tR(e){tL(e),e.v&&(d.clearTimeout(e.v),e.v=null),tq(e),e.h.cancel(),e.m&&("number"==typeof e.m&&d.clearTimeout(e.m),e.m=null)}function tk(e){if(!eQ(e.h)&&!e.m){e.m=!0;var t=e.Ea;T||A(),S||(T(),S=!0),N.add(t,e),e.D=0}}function tG(e,t){var r;r=t?t.l:e.V++;let n=e1(e.J);e6(n,"SID",e.M),e6(n,"RID",r),e6(n,"AID",e.K),tP(e,n),e.u&&e.o&&ty(n,e.u,e.o),r=new eO(e,e.j,r,e.D+1),null===e.u&&(r.J=e.o),t&&(e.i=t.G.concat(e.i)),t=tM(e,r,1e3),r.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),eY(e.h,r),ek(r,n,t)}function tP(e,t){e.H&&V(e.H,function(e,r){e6(t,r,e)}),e.l&&V({},function(e,r){e6(t,r,e)})}function tM(e,t,r){r=Math.min(e.i.length,r);let n=e.l?p(e.l.Ka,e.l,e):null;e:{var s=e.i;let t=-1;for(;;){let e=["count="+r];-1==t?r>0?(t=s[0].g,e.push("ofs="+t)):t=0:e.push("ofs="+t);let B=!0;for(let o=0;o<r;o++){var i=s[o].g;let r=s[o].map;if((i-=t)<0)t=Math.max(0,s[o].g-100),B=!1;else try{i="req"+i+"_";try{var a=r instanceof Map?r:Object.entries(r);for(let[t,r]of a){let n=r;f(r)&&(n=el(r)),e.push(i+t+"="+encodeURIComponent(n))}}catch(t){throw e.push(i+"type="+encodeURIComponent("_badmap")),t}}catch(e){n&&n(r)}}if(B){a=e.join("&");break e}}a=void 0}return t.G=e=e.i.splice(0,r),a}function tH(e){if(!e.g&&!e.v){e.Y=1;var t=e.Da;T||A(),S||(T(),S=!0),N.add(t,e),e.A=0}}function tV(e){return!e.g&&!e.v&&!(e.A>=3)&&(e.Y++,e.v=ev(p(e.Da,e),tj(e,e.A)),e.A++,!0)}function tU(e){null!=e.B&&(d.clearTimeout(e.B),e.B=null)}function tJ(e){e.g=new eO(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=e1(e.na);e6(t,"RID","rpc"),e6(t,"SID",e.M),e6(t,"AID",e.K),e6(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&e6(t,"TO",e.ia),e6(t,"TYPE","xmlhttp"),tP(e,t),e.u&&e.o&&ty(t,e.u,e.o),e.O&&(e.g.H=e.O);var r=e.g;e=e.ba,r.M=1,r.A=e5(e1(t)),r.u=null,r.R=!0,eG(r,e)}function tq(e){null!=e.C&&(d.clearTimeout(e.C),e.C=null)}function tK(e,t){var r,n=null;if(e.g==t){tq(e),tU(e),e.g=null;var s=2}else{if(!e$(e.h,t))return;n=t.G,eW(e.h,t),s=1}if(0!=e.I){if(t.o)if(1==s){n=t.u?t.u.length:0,t=Date.now()-t.F;var i=e.D;en(s=eD(),new e_(s,n)),tk(e)}else tH(e);else if(3==(i=t.m)||0==i&&t.X>0||!(1==s&&(r=t,!(ez(e.h)>=e.h.j-!!e.m)&&(e.m?(e.i=r.G.concat(e.i),!0):1!=e.I&&2!=e.I&&!(e.D>=(e.Sa?0:e.Ta))&&(e.m=ev(p(e.Ea,e,r),tj(e,e.D)),e.D++,!0)))||2==s&&tV(e)))switch(n&&n.length>0&&((t=e.h).i=t.i.concat(n)),i){case 1:tQ(e,5);break;case 4:tQ(e,10);break;case 3:tQ(e,6);break;default:tQ(e,2)}}}function tj(e,t){let r=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(r*=2),r*t}function tQ(e,t){if(e.j.info("Error code "+t),2==t){let t,i,a;var r,n=p(e.bb,e),s=e.Ua;let B=!s;s=new e0(s||"//www.google.com/images/cleardot.gif"),d.location&&"http"==d.location.protocol||e2(s,"https"),e5(s),B?function(e,t){let r=new eb;if(d.Image){let n=new Image;n.onload=m(tC,r,"TestLoadImage: loaded",!0,t,n),n.onerror=m(tC,r,"TestLoadImage: error",!1,t,n),n.onabort=m(tC,r,"TestLoadImage: abort",!1,t,n),n.ontimeout=m(tC,r,"TestLoadImage: timeout",!1,t,n),d.setTimeout(function(){n.ontimeout&&n.ontimeout()},1e4),n.src=e}else t(!1)}(s.toString(),n):(r=s.toString(),t=new eb,i=new AbortController,a=setTimeout(()=>{i.abort(),tC(t,"TestPingServer: timeout",!1,n)},1e4),fetch(r,{signal:i.signal}).then(e=>{clearTimeout(a),e.ok?tC(t,"TestPingServer: ok",!0,n):tC(t,"TestPingServer: server error",!1,n)}).catch(()=>{clearTimeout(a),tC(t,"TestPingServer: error",!1,n)}))}else eI(2);e.I=0,e.l&&e.l.pa(t),tz(e),tR(e)}function tz(e){if(e.I=0,e.ja=[],e.l){let t=eX(e.h);(0!=t.length||0!=e.i.length)&&(_(e.ja,t),_(e.ja,e.i),e.h.i.length=0,I(e.i),e.i.length=0),e.l.oa()}}function t$(e,t,r){var n=r instanceof e0?e1(r):new e0(r);if(""!=n.g)t&&(n.g=t+"."+n.g),e3(n,n.u);else{var s=d.location;n=s.protocol,t=t?t+"."+s.hostname:s.hostname,s=+s.port;let e=new e0(null);n&&e2(e,n),t&&(e.g=t),s&&e3(e,s),r&&(e.h=r),n=e}return r=e.G,t=e.wa,r&&t&&e6(n,r,t),e6(n,"VER",e.ka),tP(e,n),n}function tY(e,t,r){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=new tw(e.Aa&&!e.ma?new tf({ab:r}):e.ma)).Fa(e.L),t}function tW(){}function tX(){}function tZ(e,t){er.call(this),this.g=new tO(t),this.l=e,this.h=t&&t.messageUrlParams||null,e=t&&t.messageHeaders||null,t&&t.clientProtocolHeaderRequired&&(e?e["X-Client-Protocol"]="webchannel":e={"X-Client-Protocol":"webchannel"}),this.g.o=e,e=t&&t.initMessageHeaders||null,t&&t.messageContentType&&(e?e["X-WebChannel-Content-Type"]=t.messageContentType:e={"X-WebChannel-Content-Type":t.messageContentType}),t&&t.sa&&(e?e["X-WebChannel-Client-Profile"]=t.sa:e={"X-WebChannel-Client-Profile":t.sa}),this.g.U=e,(e=t&&t.Qb)&&!R(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!R(t)&&(this.g.G=t,null!==(e=this.h)&&t in e&&t in(e=this.h)&&delete e[t]),this.j=new t2(this)}function t0(e){ef.call(this),e.__headers__&&(this.headers=e.__headers__,this.statusCode=e.__status__,delete e.__headers__,delete e.__status__);var t=e.__sm__;if(t){e:{for(let 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 t1(){eg.call(this),this.status=1}function t2(e){this.g=e}(t=tw.prototype).Fa=function(e){this.H=e},t.ea=function(t,r,n,s){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+t);r=r?r.toUpperCase():"GET",this.D=t,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=this.L?this.L.g():e.g(),this.g.onreadystatechange=w(p(this.Ca,this));try{this.B=!0,this.g.open(r,String(t),!0),this.B=!1}catch(e){tv(this,e);return}if(t=n||"",n=new Map(this.headers),s)if(Object.getPrototypeOf(s)===Object.prototype)for(var i in s)n.set(i,s[i]);else if("function"==typeof s.keys&&"function"==typeof s.get)for(let e of s.keys())n.set(e,s.get(e));else throw Error("Unknown input type for opt_headers: "+String(s));for(let[e,a]of(s=Array.from(n.keys()).find(e=>"content-type"==e.toLowerCase()),i=d.FormData&&t instanceof d.FormData,!(Array.prototype.indexOf.call(t_,r,void 0)>=0)||s||i||n.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),n))this.g.setRequestHeader(e,a);this.F&&(this.g.responseType=this.F),"withCredentials"in this.g&&this.g.withCredentials!==this.H&&(this.g.withCredentials=this.H);try{this.m&&(clearTimeout(this.m),this.m=null),this.v=!0,this.g.send(t),this.v=!1}catch(e){tv(this,e)}},t.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,en(this,"complete"),en(this,"abort"),tS(this))},t.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),tS(this,!0)),tw.Z.N.call(this)},t.Ca=function(){this.u||(this.B||this.v||this.j?tT(this):this.Xa())},t.Xa=function(){tT(this)},t.isActive=function(){return!!this.g},t.ca=function(){try{return tN(this)>2?this.g.status:-1}catch(e){return -1}},t.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},t.La=function(e){if(this.g){var t=this.g.responseText;
1return e&&0==t.indexOf(e)&&(t=t.substring(e.length)),eu(t)}},t.ya=function(){return this.o},t.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(t=tO.prototype).ka=8,t.I=1,t.connect=function(e,t,r,n){eI(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=t$(this,null,this.W),tk(this)},t.Ea=function(e){if(this.m)if(this.m=null,1==this.I){if(!e){this.V=Math.floor(1e5*Math.random()),e=this.V++;let s=new eO(this,this.j,e),i=this.o;if(this.U&&(i?q(i=U(i),this.U):i=this.U),null!==this.u||this.R||(s.J=i,i=null),this.S)e:{for(var t=0,r=0;r<this.i.length;r++){t:{var n=this.i[r];if("__data__"in n.map&&"string"==typeof(n=n.map.__data__)){n=n.length;break t}n=void 0}if(void 0===n)break;if((t+=n)>4096){t=r;break e}if(4096===t||r===this.i.length-1){t=r+1;break e}}t=1e3}else t=1e3;t=tM(this,s,t),e6(r=e1(this.J),"RID",e),e6(r,"CVER",22),this.G&&e6(r,"X-HTTP-Session-Id",this.G),tP(this,r),i&&(this.R?t="headers="+eF(tE(i))+"&"+t:this.u&&ty(r,this.u,i)),eY(this.h,s),this.Ra&&e6(r,"TYPE","init"),this.S?(e6(r,"$req",t),e6(r,"SID","null"),s.U=!0,ek(s,r,null)):ek(s,r,t),this.I=2}}else 3==this.I&&(e?tG(this,e):0==this.i.length||eQ(this.h)||tG(this))},t.Da=function(){if(this.v=null,tJ(this),this.aa&&!(this.P||null==this.g||this.T<=0)){var e=4*this.T;this.j.info("BP detection timer enabled: "+e),this.B=ev(p(this.Wa,this),e)}},t.Wa=function(){this.B&&(this.B=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.P=!0,eI(10),tL(this),tJ(this))},t.Va=function(){null!=this.C&&(this.C=null,tL(this),tV(this),eI(19))},t.bb=function(e){e?(this.j.info("Successfully pinged google.com"),eI(2)):(this.j.info("Failed to ping google.com"),eI(1))},t.isActive=function(){return!!this.l&&this.l.isActive(this)},(t=tW.prototype).ra=function(){},t.qa=function(){},t.pa=function(){},t.oa=function(){},t.isActive=function(){return!0},t.Ka=function(){},tX.prototype.g=function(e,t){return new tZ(e,t)},D(tZ,er),tZ.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},tZ.prototype.close=function(){tx(this.g)},tZ.prototype.o=function(e){var t=this.g;if("string"==typeof e){var r={};r.__data__=e,e=r}else this.v&&((r={}).__data__=el(e),e=r);t.i.push(new eK(t.Ya++,e)),3==t.I&&tk(t)},tZ.prototype.N=function(){this.g.l=null,delete this.j,tx(this.g),delete this.g,tZ.Z.N.call(this)},D(t0,ef),D(t1,eg),D(t2,tW),t2.prototype.ra=function(){en(this.g,"a")},t2.prototype.qa=function(e){en(this.g,new t0(e))},t2.prototype.pa=function(e){en(this.g,new t1)},t2.prototype.oa=function(){en(this.g,"b")},tX.prototype.createWebChannel=tX.prototype.g,tZ.prototype.send=tZ.prototype.o,tZ.prototype.open=tZ.prototype.m,tZ.prototype.close=tZ.prototype.close,l=y.createWebChannelTransport=function(){return new tX},o=y.getStatEventTarget=function(){return eD()},B=y.Event=ep,a=y.Stat={jb:0,mb:1,nb:2,Hb:3,Mb:4,Jb:5,Kb:6,Ib:7,Gb:8,Lb:9,PROXY:10,NOPROXY:11,Eb:12,Ab:13,Bb:14,zb:15,Cb:16,Db:17,fb:18,eb:19,gb:20},eS.NO_ERROR=0,eS.TIMEOUT=8,eS.HTTP_ERROR=6,i=y.ErrorCode=eS,eN.COMPLETE="complete",s=y.EventType=eN,eC.EventType=ed,ed.OPEN="a",ed.CLOSE="b",ed.ERROR="c",ed.MESSAGE="d",er.prototype.listen=er.prototype.J,n=y.WebChannel=eC,y.FetchXmlHttpFactory=tf,tw.prototype.listenOnce=tw.prototype.K,tw.prototype.getLastError=tw.prototype.Ha,tw.prototype.getLastErrorCode=tw.prototype.ya,tw.prototype.getStatus=tw.prototype.ca,tw.prototype.getResponseJson=tw.prototype.La,tw.prototype.getResponseText=tw.prototype.la,tw.prototype.send=tw.prototype.ea,tw.prototype.setWithCredentials=tw.prototype.Fa,r=y.XhrIo=tw}).apply(void 0!==E?E:"u">typeof self?self:"u">typeof window?window:{});var w=class e{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=e.CLASS_NL|e.DOT_NL;static PERL=e.CLASS_NL|e.ONE_LINE|e.PERL_X|e.UNICODE_GROUPS;static POSIX=0;static UNANCHORED=0;static ANCHOR_START=1;static ANCHOR_BOTH=2};let I=new Int32Array(128),_=new Int32Array(128);for(let e=0;e<128;
1e++)e>=97&&e<=122?I[e]=e-32:I[e]=e,e>=65&&e<=90?_[e]=e+32:_[e]=e;var v=class{static CODES=new Map([["\x07",7],["\b",8],[" ",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){if(e<128)return I[e];let t=String.fromCodePoint(e).toUpperCase(),r=t.codePointAt(0)>65535?2:1;if(t.length>r)return e;let n=String.fromCodePoint(t.codePointAt(0)).toLowerCase(),s=n.codePointAt(0)>65535?2:1;return n.length>s||n.codePointAt(0)!==e?e:t.codePointAt(0)}static toLowerCase(e){if(e<128)return _[e];let t=String.fromCodePoint(e).toLowerCase(),r=t.codePointAt(0)>65535?2:1;if(t.length>r)return e;let n=String.fromCodePoint(t.codePointAt(0)).toUpperCase(),s=n.codePointAt(0)>65535?2:1;return n.length>s||n.codePointAt(0)!==e?e:t.codePointAt(0)}},b=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 T=new Uint8Array(256);for(let e=0;e<64;e++)T["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-".charCodeAt(e)]=e;let S=e=>{let t=[],r=0,n=0;for(let s=0;s<e.length;s++){let i=T[e.charCodeAt(s)];r|=(31&i)<<n,(32&i)==0?(t.push(r),r=0,n=0):n+=5}return t},N=(e,t)=>{let r=S(e),n=t?r.length/2:r.length/3,s=new Uint32Array(3*n),i=0,a=0;for(let e=0;e<n;e++)i+=r[a++],s[3*e]=i,i+=r[a++],s[3*e+1]=i,s[3*e+2]=t?1:r[a++];return s};var A=class{constructor(e){this.initializer=e,this.cache=new Map}has(e){return e in this.initializer}get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.initializer[e],r=t?t():null;return this.cache.set(e,r),r}},F=class{static _CASE_ORBIT=null;static get CASE_ORBIT(){return this._CASE_ORBIT||(this._CASE_ORBIT=(e=>{let t=S(e),r=new Map,n=0;for(let e=0;e<t.length;e+=2){n+=t[e];let s=t[e+1],i=s>>>1^-(1&s);r.set(n,n+i)}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-lOzoeCBBBCBBBCBBBCBBBCBBBCBl8kCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBTC
1BBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBnECBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBKCBBBCBBBnglCBCBBBCBBBCBBBCBBBCBBECBBBvyyCDCBBBCBBBgDCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBn0yCB90yCB10yCBh0yCBn0yCCjxyCBzyyCBpxyCBg6BBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB-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 b(N("hB9CBjBLBCpWBDFBFGBCCCBSBCsMBClBBDxBBDCBC2BBJaBFFBSVBC-FBCvBBD6BBDkDBP6BBDwBBDOBCbBDCCBJBGfBIqCBCgFBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYBDCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPBLCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGBCCBCHBDBBDVBCGBCBBCEBDIBDBBDCBICBFBBCEBDRBLBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBGMBCCBCWBCPBDIBCCBCDBIBBCCBCBBDDBDJBIVBCCBCWBCJBCEBDIBCCBCDBIBBGCBCDBDJBCCBNMBCCBCyBBCCBCFBFPBDZBCCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBN5BBFcBmBBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDBhBnCBCjBBFmBBCjBBCOBCMBmBlGBCGGD4LBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBH1CBDFBD-TBCbBE4CBIVBKXBKTBNMBCCBCBBN9CBDJBHJBHNBCKBH4CBIqBBGlCBLeBCLBFLBFEEBoBBDEBMrBBFZBHKBE9BBDgCBCcBDKBHJBHNBDtBBDLBVsCBClFBJ7BBEOBE9BBGqBBDKBJqBBG1QBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBSXBJuBBSBBDaBCMBEhBBPgBBQrEBF5UBXKBWz4BBD9LBGsBBCGGD3BBIBBPXBKGBCGBCGBCGBCGBCGBCGBCGBC9DBjBZBC4CBN1GBbPBC+BBC1CBDmDBGqBBC9CBC1CBKvBBCszcBE2BBK7KBV3FBJ8GBV7BBEJBH3BBJlCBJLBHzDBMdBEtCBCKBFgBBC2BBKNBDJBDmDBZbBLFBDFBDFBKGBCGBC7BBF9DBDJBHj9KBNWBFwBBloItLBDpDBnBGBNEBGZBCEBCCCBCCBCCBoUBhBpBBHyBBCSBCDBFEBCmEBF9FBEFBDFBDFBDCBEGBCGBOBBDLBCZBCSBCBBCOBDNBjB6DBGCBFsBBE3CBCMBEwBwBBsBBjEcBEwBBQbBFjBBKdBGqBBGdBCkBBFNBrB9EBDJBHjB
1BFjBBFnBBJzBBMLBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBCnCBJIBxBSBCBBGgBBEaBGaBnB3BBFTBDxBBCBBGHBCCBCcBDCBFJBIIBI-BBhBmBBFLBK1BBEcBDaBGZBIDBNGBxCoCB4ByBBOyBBItBBJJBHlBBEcBJBBxGeBCpBBCCBDBBRFBJIBiBtBBJpBBXZBnBbBVWBKtCBFjBBK9BBCEBOYBIJBH0BBCRBJmBBK-CBCTBMRBCuBB-BGBCCCBCBCOBCKBH6BBGJBHDBCHBDBBDVBCGBCBBCEBCJBDBBDCBDHHGGBDGBEEBMJBCDDClBBCJBCDDCDBCJBCBBJBBe7CBCEBfnCBJJBnF1BBDlBBjBkCBMJBHMBU5BBHJBHTBdaBDOBFWB6F7BBlDyCBNHBDDDBGBCBBCdBCBBDLBKJBnCHBDtBBDKBcnCBJyCBOoCBIJB3CHB5ChBBPJBHIBCsBBCNBLcBEfBDVBCNBqCGBCBBCrBBECCBCCBHBJJBHFBCBBCkBBCBBCFBIJBHrBBFJB3HYBIQBCoBBEcB2CQQBwBBO6cBnDuDBCEBMjGBtyCiDBOvhBBRVBL68DBGmSB61G5BBn2B4RBIeBCJBFwCBCJBHdBDFBLlCBLJBCGBCUBGSBxN5BBnG6CBGYBDYBtBqCBF4BBIQBhCEBMGBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBDDBh7D8HBEzNBHWBQQBQtBBDWBKzDB9B1HBLmBBDpCBJvDBWlCB7DTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBD9VBQEBCOBxiBeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBENBDJBFBBhKeBS5BBGxOxOBoBB3GqBBFhGhGBdBCVBJBBhHGBCDBCBBCOBCkGBDPBqBrCBFJBFBByYjCBtC8BBjGDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBBvIrBBFjDBNOBDOBCOBCkBBLtFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBmgB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIBnkzVvHB",!1))),this._Print}static CATEGORIES=new A({C:()=>new b(N("AfBgDgBBOrWrWBHHBCBICCVuMuMnBBBzBBBE4B4BBGBcDBHQBXhGhGxBBB8BBBmDNB8BBByBBBQddBCCMEBhBGBsCiFiFJBBDBBXIICCBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBPMMBEB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKMMBDBbEByBPBDBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCB-FCBHBBHBBHBBECBIIIBLBDBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIB-BGGBLBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMBxhBPBXJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBF-6DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBrCHBxDUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBND
1BLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIlkzVBxHvw-FB",!1)),Cc:()=>new b(N("AfgDgB",!0)),Cf:()=>new b(N("tFzqBzqBBEBXhGhGyBhMhMBxCxCs5D9-B9-BBDBbEByBEBCJBw03B6H6HBBBimEQQj7IPBhjiBDBwmFHBn0rYffB+CB",!1)),Cn:()=>new b(N("4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBDBvzIBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBND
1BLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-BB---BBB---BBB",!1)),Co:()=>new b(N("gg4B-nGh4hc9--BD9--B",!0)),Cs:()=>new b(N("gg2B--B",!0)),L:()=>new b(N("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICCiEEBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoCaBFDBuBqBBkBBBCiDBCQQBIIBLLBBBDRRCdBe4CBMZZBfBKBBFGGBUBFKKEYYBXBIKBGXBCGBRpBB7B1BBETTIJBQPBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNGB7BBBCCCBDBCXBCCCBIBCBBKDDBDBCWWBCBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNSSBkBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBkBFFkC4CBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBzC+C+CBtBBSHB3BdBOBBLrBBbjBBqBCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBhC1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBF1B1BB8zC8zCBjHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBxC2O2OBrBrBBDBGBBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBReBDlCByBIBDmDBDxCBVQBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBdRRBDBCJBLEBCoBBYCBCHBVWBEEEBwBBCEEBDDBDBDCCZCBDKBICBNFBDFBDFBKGBCGBCqBBCNBHyDBej9KBNWBFwBBloItLBDpDBnBGBNEBGCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBxB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOjBBnBbBKWB7HpBBHBBRFB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB1D-BBgBHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBqBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBGjCjCBLBhCBBCPPBNNB0mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBn7F0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFBmI9BBzEsBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCCBCBBCGBDEBKBBhHGBCDBCBBCOBCkGB8BjCBI1lB1lBBCBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),LC:()=>new b(N("hCZBHZB7BLLBVBCeBCiGBCDBFvGBDZBhGDBDBBECBCHHCCBCCCBSBCyCBCqEBJlFBClBBKoBB44ClBBCGGDqBBDCBhV1CBDFBjkCKBGqBBDCBhCrBBgCMBChBBmD1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGBmIFFDJBCEEBDBHGCBCBCFBFDDBCBGEBF1B1BB8zC8zCB6DBDmDBHDBEBBNlBBCGGzoetBBTbBnEtCBCWBEDBCsCBZBBE2Z2ZBpBBGIBIvCBh6TGBNEBqgBZBHZBmlBvCBhDjBBFjBB1DKBCOBCGBCBBCKBCOBCGBCBBk2ByBBOyBB+CVBLVB74C-BBhrV-BBhBYBDYBtpZ0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BJBCTBHFB2uCjCB",!1)),Ll:()=>new b(N("hDZB7BqBqBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDZBiGCCEEEBBBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBDCB5XFBjkCIBC2D2DBqBBgCMBChBBnD0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBBzIEEBEEcKFDBBJDBF2B2Bs1CvBBCEEBGCFCCBCCBEBGiDCBIICFFNlBBCGG0oesBCUaCoEMCBBBC+BCBGBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCbEE2ZqBBGIBIvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFB4vChBB",!1)),Lm:()=>new b(N("wVRBFLBPEBICCmEGG-OnHnHlFBBuIBBFgBgBKEEhFoFoF1mBgEgE2R72B72BsDkTkTxOFBvF+BBOjBjBBjBByVOORMBg-CBByHgGgG2OsBsBBDBGiDiDB+C+CBBB34bjnBjnBBEBvIzDzDdBB6DIBxCYYpDDBEBB2OXXqEtDtDWBBoDDBKngVngVuBBBh-BFBCpBBCIB0sBhBhB2K04D04DnrTDB9PCBpBBBnRMBhCBBCPPB9-P9-PBCBCGBCBByhM9BBqGGBud0Q0QsSAB",!1)),Lo:()=>new b(N("qFQQhIFFBCBxGBB7ZaBFDBuBfBCJBkBBBCiDBCZZBLLBBBDRRCdBe4CBMZZBfBWVBrBYBIKBGXBCGBRoBB8B1BBETTIJBROBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNFB8BBBCCCBDBCXBCCCBIBCBBKDDBDBYDBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNyDyDBnKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPByDrTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBpBkCkCBhBBC0BBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBxFuBBSHB3BdBOBBLrBBbjBBqBCBLdByDDBCFBCBBE7hB7hBBCB4-C3BBZWBKGBCGBCGBCGBCGBCGBCGBCGBoR2B2BF1CBJCCB4CBFGGB
1pBBC9CBSfBxBPBhQ-tGBhC0wUBC2jBBkCnBBJrIBFPBLBBjCyByBBkCBqFoDoDEGBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBuBEBDIBLEBCoBBYCBCHBVPBCFBEEEBwBBCEEBDDBDBDCCZBBEKBIPPBEBDFBDFBKGBCGByEiBBej9KBNWBFwBBloItLBDpDBkCCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBqDJBCsBBDeBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBhEtCBjDnBBJzBB9CzBBN2JBKVBLHB5EFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4FjBBnBDBCxJxJBoBBHBBRCBCBB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB0GHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBnBBCBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBB0BUBGSB0NnBB2MqCBGwFwFB0mHBqBfBiDyDBuwIiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBxzI2P2PBrBBiBiKiKBcBTrBBlPaBmHdBDwGwGBdBCCBCBBCGBDEBKiHiHBFBCDBCBBCOBCkGB8pBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Lt:()=>new b(N("lOGDnB2sH2sHBGBJHBJHBNQQwBAB",!1)),Lu:()=>new b(N("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBG+B+B9zCvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBB",!1)),M:()=>new b(N("gYvDB0IGBoIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCgBB3BCBCRBCGBLBBeCB5BCCBFBDBBDCBKLLBbbDCB5BCCBDBFBBDCBEffBEEMCB5BCCBGBCCBCCBVBBXFBCCB5BCCBFBDBBDCBICBLBBf8B8BBDBECBCDBKpBpBBDB4BCCBFBCCBCDBIBBMBBeCB5BCCBFBCCBCDBIBBMBBQNNBCB4BBBCGBCCBCDBKLLBeeBBBnCFFBEBCCCBGBTBB+BDDBFBNHBjDDDBHBMGBqCBBcECFBByBTBCBBGKBCjBBKlDlDBSBYDBFCBCCBDGBEDBOLBCLLBCBgWCBzdDBdCBeBBfBBhCfBKuBuBBBBC2D2DBjBjB3DLBFLB8GEB6BJBCcBDxBxBBsBBDLBVEBwBQBnB
1IBNCBfMB5BNBxBTB5ECBCUBFHHDCBnG-BBxWgBB--CCBuEhDhDBeBrRFBqDBB1udDBCJBhBBBxCBBxIEEFYYBDBF0C0CBzBzBBQBbRBOnBnBBGBaMBtBDBwBNBlBkCkCBMBNJJBuBuBBBBzBCCBBBDBBGBBCqBqBBDBGBBtHHBCBBx5TiXiXBOBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB7DCB2BOBqBDDBLLBCBuBKBI+B+BBBBlBNBRBBtBNNBBBxBNBJDBCBB9CLBHDD+ELBWDB4BBBCGBDBBDCBKLLBDDBFBEEBkCIBCDDCDBCEBCPPBzCzCBQBYyCyCBSBsHGBDIBcBBzCQBrDMBmDOBhIOB2HFBCBBDDBCCCBuEuEBFBDGBEddBIBpBGBCDBJKKBJBvBPBnGHBoGHBCHBzCVBCNB7DFBECCBCCBFBCjCjCBDBCBBCEB8KDBKBBCxBxBBFBEEBYmnFmnFHOBpmLRBhuCEB8BGB5gBCCB1BBIDByCMMBslTslTBizEizEBsBBDWB-QEBEFBJHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),Mc:()=>new b(N("joC4B4BDCBJDBCBBzBBB7BCBHBBDBBLsBsB7BCBjC7B7BBBBJCCB2B2BB7B7BCHHBDDBLLnDBBCBBECBCCBLqBqBBBB+BDB+BBB7BCCBDBDBBCBBKBBdPPB7B7BBBBGCBCCBLrBrBBsCsCBBBHHBTBBrKBBgCsFsFBFFHDDBaaBLLBBBDGBWBBDFBDLLBBB5zBffiEIIBGBCBB7KDBDCBFBBCFBhHBB7BCCKCCBJJBEByExBxBGCCBDBCBB+BffFBBD9B9BDCBCEEBxBxBBGBJBBsFWW35EBB0-dBBD5C5CBzBzBBOBvEBBwBxBxBBFFBDDBBBvDBBDBBZuBuBCuDuDDBBGuHuHBCCBCCBCC0gZCCgEuBuBBBBFBB0DZZB8B8BxBCBKBBO+C+CBBBEBBCrFrFBBBgBBB7BBBCDBDBBDCBKLLB1C1CBBBIDDCDBCBBCmDmDBBBJBBErDrDBBBHCCBCBDuHuHBBBHDBDyDyDBBBJBBCuDuDCBBHoDoDCBBFmImIBBBK4H4HBEBCBBFDDCvEvEBBBJDBF1C1CeBB-BqGqGECCoGPPrDIID2G2GBDBFBBC-K-KBNNxBBBJBBCpvQpvQBBBlxD2BBpDBB0rYBBHFB",!1)),Me:()=>new b(N("okBBB1xF-wB-wBBCBCCBsshBCB",!1)),Mn:()=>new b(N("gYvDB0IEBqIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCfB4BCCFHBFEEBFBLBBe7B7BFDBJVVBbbDBB6BFFBFFBDDBBBEffBEEMBB6BFFBDBCBBFVVBXXBEBC7B7BDCCBCBJIIBMMBff+BNNzBEE4BCCBBBGCBCDBIBBMBBe7B7BDHHGBBVBBdBB6BBBFDBJVVBeepCIIBBBC7C7CDGBNHBjDDDBHBMGBqCBBcEC4BNBCEBCBBGKBCjBBKnDnDBCBCFBCBBDBBaBBFCBRDBODDBHHQgWgWBBBzdCBeBBfBBfBBhCBBCGBJDDBJBKuBuBBBBC2D2DBjBjB3DCBFBBKHHBBB8GBBD7B7BCGBCCCDHBHJBDxBxBBMBCeBDLBVDBxBCCBDBCGGpBIBNBBhBDBDBBCCB5BCCBEECCB7BHBDBB5ECBCMBCGBFHHEBBnG-BBxWMBFEEBKB--CCBuEhDhDBeBrRDBsDBB1udFFBIBhBBBxCBBxIEEFaaBGG4EBBbRBOnBnBBGBaKBvBCBxBDDBCBDBBoBkCkCBEBDBBDBBNJJwB0B0BCCBDBBGBBCrBrBBJJvHDDFx5Tx5TiXPBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB8D3B3BBNBqBDDBLLBBByBDBDBBI+B+BBBBlBEBCHB-BNNB1B1BBHBLDBDgDgDBBBDCCBHHD+E+EEHBWBB6BBBEmBmBBFBEEBnCFBOECPBB2CHBDCBCYY1CFBCFFBCCBvHvHBCBHBBCBBcBB2CHBDCCBrDrDCDDBEBCmDmDCDDBCBCEBkIIBCBBhIBBCFFxEDBDBBFhBhBBIBpBFBDDBJKKBEBDCBvBMBCBBnGCCBBBCqGqGBFBCFBCzCzCBUBDGBCBBCBB7DFBECCBCCBFBCpCpCBEEC8K8KBMMB1B1BBDBGCCYmnFmnFHOBpmLLBECBhuCEB8BGB5gBgCgCBCByC5lT5lTBizEizEBsBBDWBhRCBSHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),N:()=>new b(N("wBJB5DBBGDDBBBitBJBnEJBnGJB9MJB3DJBFFBtDJB3DJB3DJBDFBvDMB0DJBJGBoDJBpDGBISBuDJBhDJB3DJBnCTBtIJBnCJBwWTBybCBwHJBHJBXJBtJJBhEKBmFJBHJB3FJB3CJBnEJBHJB3gBEEBEBHJBnGyBBDEB3W7BBvCVB3TdBqrBqYqYaIBPCB4KDBrEJBfHBCOBhBJBoBOBh7cJB9FJBhKFB7EJBnBJBnGJBXJB3CJB3MJB34UJBuPsBBN4BBSBB2KaBlBDBeJJnEEBrGJBvdHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBxBJBHJB3IeB-EJBrBDBxDGBnEdBhEJB9BJBxEJBITB8HJB3KJB3DJB3LJBnDJBHTBtCLBlNSB+CJB3UJB3CcBkHJBnCJB3BJBnLJBnDUBshBuDBimPJBnpCJB3CJBnEJBCGBvQJBnIWB+KCB6nXJBnuBTBNTBtDYB2iBxBBhqCJBnNJB3PJB4HJBtWIBhEJB4Y6BBCCBCDBtCsBBCOBjeMBk3CJB",!1)),Nd:()=>new b(N("wBJnxBJnEJnGJ9MJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJhDJ3DJnCJ3IJnCJn6BJnBJtJJhEJnFJHJ3FJ3CJnEJHJnuiBJnVJnBJnGJXJ3CJ3MJ34UJnsBJnkCJHJ9YJhEJ9BJxEJ3IJ3KJ3DJ3LJnDJHTtCJnNJnDJ3UJ3CJ3HJnCJ3BJnLJ3uQJnpCJ3CJnEJ3QJ37XJ12CxBhqCJnNJ3PJ4HJ2aJ30EJ",!0)),Nl:()=>new b(N("u3FCBwzCiBBDDB-zDaaBHBPCBs1dJBxyW0BBtOJJnEEBrhIuDBm8SCB",!1)),No:()=>new b(N("yFBBGDDBBB2pCFB5LFB5DCBmEGB6GGBSIByNJB2hBTB0jBJBhP20B20BEFBHJBnGPBqB3W3WB6BBvCVB3TdBqrB1kB1kBBCBrEJBfHBCOBhBJBoBOBxrdFBymWsBBiCDBSBB2KaBlBDB1pBHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBhLeB-EJBrBDBxDGBnETB8LTBmqBBBvNIBobSB0aUBn8SGB-YWBqhZTBNTBtDYBvqFIBid6BBCCBCDBtCsBBCOBjeMB",!1)),P:()=>new b(N("hBCBCFBCDBLBBEBBbCBCccCkBkBGEELBBEEE-VJJzOFBqBBB0BCCDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCmBmBBCBoCrCrCBDBFBBwDFBsFlTlTBHB4EuTuTtBBBvCCBoCBB+ECBCCBmBKB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBM9Z9ZBWBJTBCMBCLBfBBPBB6TDBeBB+hBNBwCBBgBJB0MVBgCDBhBBB8XDBCBBxDwEwEBtBBCfBDLBkNCBFJBDLBRNNjD7C7CjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HzqUzqUBxGxGBI
1BXiBBCNBCFFCBB2ECBCFBCDBLBBEBBbCBCccCCCBFB7MCB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDByO-J-JjBlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Pc:()=>new b(N("-Cg-Hg-HBUU-u3BBBZCBwHAB",!1)),Pd:()=>new b(N("tB9qB9qB0BiyDiyDmgBqgCqgCBEBiwDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Pe:()=>new b(N("pB0B0BgB+1D+1DC-6B-6BqtC4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECtBGCtNICEGCDBB-ozB6G6GeOCESSCCCrF0B0BgBGD",!1)),Pf:()=>new b(N("7F+6H+6HEddpuDCCFDDQEE",!1)),Pi:()=>new b(N("rFt7Ht7HDBBDaapuDCCFDDQEE",!1)),Po:()=>new b(N("hBCBCCBDECBLLBEEBcclCGGPBBI-V-VJzOzOBEBqB3B3BDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCxDxDrCEBFBBwDFBsFlTlTBHBmY9D9DBBBoCBB+ECBCCBmBFBCDB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBMjajaBJJBGBJIBDDBDCBEKBCCCBIB7kDDBCBBxDwEwEBFFBBBDDDBHBCBBCDDBLLBDBCJBDDBCCCBLBDCBtNCB6B+F+FjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HlxUlxUBFBDXXVBBDDBECBCDBICBHCCB2E2EBBBCCBDECBLLBEEBcclBDDB7M7MBBB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDB0ZlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Ps:()=>new b(N("oBzBzBgB-1D-1DC-6B-6B-rCEEnB4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECaTTCECtNICEGCDipzBipzB4GeeCMCESSCCCrFzBzBgBEEDAB",!1)),S:()=>new b(N("kBHHRCBgBCCcCCkBEBCBBDCCBCBDEEfgBgBrODBNNBGGBCCCBPB2DPPBxDxDsErIrIBBB3DCBDDDBvGvGLUUB4H4HIBBpEqLqLBHHB2H2H-DjEjEBGBlEwGwGqBmGmGiGCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WuLuLlL+E+EBgBBiLJBKIBhiBCCBBBMCBOCBOCBOBBmCOOoBCBOCBUhBB-BBBCDBCBBLCCBBBGFBCECFMMBFFBDBGDBC7B7BBFFB2LBFcBD+HBXKByCtCBXnTBtBwBBDeBLyMBX+BBFfBD1LBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBB8CBB0HBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BB6RWBKBBoDBB+EDBLDB+RCBiHPPB+9T+9TpEgBBuLPBhCBB3BHBtBDBjDCCBBBD7E7EHRRBBBgBCCcCCiEGBCGBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSmWmWBiKiKBGBnjC2kC2kCBbBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQQBgDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBrbaagBaagBaagBaagBaa9B-PB4BDBzBHBCNBCBBp2BwNwNttCEE+DiOiOBvIvIBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Sc:()=>new b(N("kB+D+DBCBqnB8D8DzPBBzPBBI2H2HoImSmS8sClmClmCBgBB37hBkuVkuVtD7E7E8GBBEBB3-HDB-4wBxtCxtC",!1)),Sk:()=>new b(N("+CCCoCHHFEEqQDBNNBGGBCCCBPB2DPPBjoBjoB15FCCBBBMCBOCBOCBOBB9kEBBkzdWBKBBoDBBxePPBniUniUBPB8bCCjF4g9B4g9BBDB",!1)),Sm:()=>new b(N("rBRRBBB+BCCuBFFmBgBgB-XwQwQBBB8xGOOoBCBOCBsEoBoBBDBHlClCBDBGBBFGDIgBgBBDDCgBgBBqIBhBBB7CffBXBpBFB2OKK3BHBwDxKxKBDBDeBLPBhIiEBX+BBFfBDhIBxBUBDFB9+zB5Z5ZCCBlFRRBBB+BCCkEHHBCBitDBBhrwBx+Bx+BagBgBagBgBagBgBagBgBat5Ft5FB-uC-uCBHB",!1)),So:()=>new b(N("mFDDFCCyerIrIBgEgEBvGvGLUUB4H4HkQ2L2LjEFBClElEwGqBqBoMCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WzWzW+EhBBiLJBKIBksBBBCDBCBBLCCBHHBEBCECFMMBPPCBBC7B7BBKKBDBDDBCBBCBBCGBCeBDBBCCCBdBtIHBFTBDGBDwCBCdBanBBHnCBXKByCtCBX2FBCIBC1BBJuDBC3HBtBrBBhC-HBhQvBBWBBHmBBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBBxKBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BBibDBLBBC+R+RBBBqqUPBuLPBhCBB3BHBuBCBlPEEFBBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSpgBpgBBGBnjC2kC2kCBGBFQBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQPBhDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBqlB-PB4BDBzBHBCNBCBBp2B96C96CiEyWyWBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E6HBG4WBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBB-B3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Z:()=>new b(N("gBgEgEgvFgsCgsCBJBeBBGwBwBh9DAB",!1)),Zl:()=>new b(N("ohIA",!0)),Zp:()=>new b(N("phIA",!0)),Zs:()=>new b(N("gBgEgEgvFgsCgsCBJBlBwBwBh9DAB",!1)),ASCII_Hex_Digit:()=>new b(N("wBJIFbF",!0)),Alphabetic:()=>new b(N("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICC3CeeBQBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoBNBCCCBCCBCCJaBFDBeKBG3BBCGBPlDBCHBFHBFCBLCBDRRBuBBOkDBZgBBKBBFGGBWBDSBUYBIKBGXBCGBIJJBoBBLLBEGBHrCBCPBCCBFOBOSBCHBDBBDVBCGBCEEBCBEHBDBBDBBCJJFBBCEBNBBLFFBBBCFBFBBDVBCGBCBBCBBCBBFEBFBBDBBFIIBCBCSSBEBMCBCIBCCBCVBCGBCBBCEBEIBCCBCBBEQQBCBWDBFCBCHBDBBDVBCGBCBBCEBEHBDBBDBBKBBFBBCEBORRBCCBEBECBCDBEBBCCCBEEBEEBBBELBFEBECBCCBEHHpBMBCCBCWBCPBEHBCCBCCBJBBCCBCBBDDBdDBCHBCCBCWBCJBCEBEHBCCBCCBJBBGCBCDBOCBNMBCCBCoBBDHBCCBCCBCGGBCBIEBXFBCCBCRBEXBCIBCDDBFBJFBCCCBGBTBBO5BBGGBH0B0BBECBDBCXBCCCBRBCCBDEBCHHPDBhBgCgCBGBCjBBFSBFPBCjBBkC2BBCDDBDBR-BBLDBDlBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBEKBITBMUBNTBNMBCCBCBBNzBBDSBPFFkC4CBIqBBGlCBLeBCLBFIBYdBDEBMrBBFZB3BbBF+BBDTBzBYYBMMBBByBzBBCOBCHB0BpBBDDBLrBBCKBP2BBXCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBUhBBM1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBFSSBnBBuZzBB34BkHBHDBEBBNlBBCGGD3BBI
1RRBVBKGBCGBCGBCGBCGBCGBCGBCGBCfBwB2O2OBBBaIBIEBDEBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBGHBEwDBoBIBDmDBDxCBVUBCgBBZzBBNjCBCtBtBBEBECCBBBLgBBGiBBOcBEyBBCLBQRRBOBLEBC2BBKNBTWBEkCBCCCZCBDPBDDBMFBDFBDFBKGBCGBCqBBCNBH6DBWj9KBNWBFwBBloItLBDpDBnBGBNEBGLBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmC0BBsIcBEwBBwBfBOdBGqBBGdBDjBBFHBCEBrB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCDBCBBGHBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOnBBjBbBEGGBVB7HpBBCBBEBBRFBzBCBEcBLJJBUBrBRBvBUBcWBKlCBsBEBL4BBKOOBXBYyBBSDBJiBBEKKB+BBCDBKBBLCCkBRBChBBDHHBCB-BGBCCCBCBCOBCJBI4BBYDBCHBDBBDVBCGBCBBCEBEHBDBBDBBEHHGGBdJBCDDClBBCJBCDDCDBCBBECCtBhCBCCBCDBVCBfhCBDBBC5F5FB0BBDGBaFBjB+BBCEE8B1BBDoCoCBZBDNBWGB6F4BBoD-BBgBHBDDDBGBCBBCdBCBBDBBDDB+CHBDtBBDFBCCCBccBxBBDJBSnCBGTTBnCBoDHB5CgBBgBIBCsBBCGBCyByBBcBDVBCNBqCGBCBBCrBBECCBCCBBBCDDBZZBEBCBBCkBBCBBCDBCYYBqBBlIWBKQBCoBBECBwDwCwCB4cBnDuDBSjGBtyCgDBQvhBBSFBa68DBGmSB61GuBBy2B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBF4BBIQBhCBBCNNBFBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBFi7Fi7FBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCVBJBBhHGBCDBCBBCOBCkGB8BjCBEEE1lBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1TZBHZBHZB3zD-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Dash:()=>new b(N("tB9qB9qB0BiyDiyDmgBqgCqgCBEB+BoBoBQnMnMlgDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Emoji:()=>new b(N("jBHHGJBwDFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDrGrGhFBBNBBPDDBIBsCZBCBBYVVDIBWBBvFhBBDvDBDBBCCBDyCBDCBCmIBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDDBEJBECCBEEDJBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Emoji_Component:()=>new b(N("jBHHGJB0+H2G2Gsp3B3+8B3+8BBYB8PEBxtBDBtzhY-CB",!1)),Emoji_Modifier:()=>new b(N("7-8DE",!0)),Emoji_Modifier_Base:()=>new b(N("9wJ8G8GRDB4jzD9B9BBBBDDDBBB2DBBDKBWSBEFFBBBCCBICCZqGqGBFFWFFBvFvFBBBEEB0CRRBBBKMMgSDDJHBHKKBIBDCB5B+B+BBCCBCCSCBCMBmHCBrBIB",!1)),Emoji_Presentation:()=>new b(N("64IBBuGDBEDDqQBBWBBzBLBsBUUOJJBSSBGGBJJGWWIBBCFFDIIFBBdkBkBCFFBBBC+B+BBBBZPP8aBB0BFFvlxDrGrG-FDDBIBsCZBCZZVDDBDBCCBWBBvFgBBNIBClCBCVBNqBBFEBNQBEEEBlCBCCCB5FBD+BBODBCXBTbbBOO3C0CBxBlCBHEEBBBDDBEDBMBBIIBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Extended_Pictographic:()=>new b(N("pFFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDoBoBBCBlDLBQBBQPPBmBmBBIBxDBBNBBPDDBIBU3BBcOBLVVDIBCDBKWBH7FBDvDBDBBCCBDyCBDCBCDBG9HBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDQBECCBEBDMB7GlBBNDB5BHBLFBpBHBfBBNDBDNBKmBBNuBBCJBC4FB5CHBPxEBhI9fB",!1)),Hex_Digit:()=>new b(N("wBJIFbFq1-BJIFbF",!0)),Lowercase:()=>new b(N("hDZBwBLLFlBlBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDiBBIBBfEBhDsBsBCEEDDBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBCDB5XFBjkCIBC2D2DB+FBiC0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBB6DOORMBuDEEBEEcKFDBBJDBFiBiBBOBFsasaBYBn6BvBBCEEBGCFCCBCCBGBEiDCBIICFFNlBBCGG0oesBCUaCBBBmEMCBBBC8BCBIBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCWDBCCCBBB2ZqBBCNBHvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBkODDBBBCpBBCIBmoByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFBmI9BB1lChBB",!1)),Math:()=>new b(N("rBRRBBBgBeeCuBuBFmBmBgB5W5WBBBDbbBDDBBBwQCBuwGccBBBMEEOPPBCBWEBMEBiCMBFEEBFFBDBTFFDJBCDDBEBHEEBDDBCCBBBCFBENBClClCBWBCFBCBBFBBFfBCHHBPPBqIBJDBVBB7CffBZBCZZMGB+NBBNJBFFBFBBDBBEEBPCCDFBMHBGBB6BCCeDBKCBxK-BBhI-PBxBUBDFB9+zB4Z4ZBEBCjFjFRCBeCCeCCkEHHBCBitDBBhrwBwoBwoBBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBBhwFDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB-uCIB",!1)),Quotation_Mark:()=>new b(N("iBFFkEQQ96HHBaBBowDqOqOBCBOCBixzBDB+FFF7CBB",!1)),Terminal_Punctuation:()=>new b(N("hBLLCMMBEE-ZJJiQ6B6BpCPPCCB1FsBsBBJBCsHsHB3B3BBEBCHBgBmImIB1nB1nBBtFtFFFB4JBB2YHBmY9D9DBBBoCBB+ECBEoBoBBCBDBB7JBBjLDBjFBBLBBCCBeCB8FEB-BBBldYYBKKBBBwlDCBzJOOFLLCBBEBBtNBB8ndBBuICBkHEB-LBB3CBBgD4E4EBBB0ECBgERRB6H6HnxUDDB6B6BBBBCDBqFLLCMMBEEiCDD7hBxBxBnkBoGoG3JBB5EFBlCFB6CDB5dEBtBDB+FGBxDDBgECBiEBBHRRB5C5CBDBtDrJrJB2D2DBBBNBBnLDBEOBqDBB6HCBmQCC8HBB4CBBFBB-MCBuBmUmUBrCrCBspBspBBDB6vRBBmEiCiCBBBLqRqRBoJoJBnwTnwTovHDB",!1)),Uppercase:()=>new b(N("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBGbbBOBUzZzZBYBx5BvBBxBCCB
1BBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBBvgCZBHZBHZB",!1)),White_Space:()=>new b(N("JEBTlDlDbgvFgvFgsCKBeBBGwBwBh9DAB",!1))});static get Upper(){return this.CATEGORIES.get("Lu")}static SCRIPTS=new A({Adlam:()=>new b(N("go6DrCFJFB",!0)),Ahom:()=>new b(N("g4lCaDOFW",!0)),Anatolian_Hieroglyphs:()=>new b(N("ggxCmS",!0)),Arabic:()=>new b(N("gwBEBCFBCNBCCBCfBCJBMZBCrDBChBBxCvBBxHhBBGqCBCcBxy8BtPBDvEBhBPBxDEBCmEBk7DeBkCFBJIBiBFBh43BDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB",!1)),Armenian:()=>new b(N("xpBlBDxBDCks9BE",!0)),Avestan:()=>new b(N("g4iC1BEG",!0)),Balinese:()=>new b(N("g4GsCCxB",!0)),Bamum:()=>new b(N("g1pB3CpowB4R",!0)),Bassa_Vah:()=>new b(N("w26CdDF",!0)),Batak:()=>new b(N("g+GzBJD",!0)),Bengali:()=>new b(N("gsCDBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYB",!1)),Beria_Erfe:()=>new b(N("g17CYDY",!0)),Bhaiksuki:()=>new b(N("ggnCICsBCNLc",!0)),Bopomofo:()=>new b(N("qXB6wLqBxDf",!0)),Brahmi:()=>new b(N("ggkCtCFjBKA",!0)),Braille:()=>new b(N("ggK-H",!0)),Buginese:()=>new b(N("gwGbDB",!0)),Buhid:()=>new b(N("g6FT",!0)),Canadian_Aboriginal:()=>new b(N("ggF-TxRlC7tgCP",!0)),Carian:()=>new b(N("g1gCwB",!0)),Caucasian_Albanian:()=>new b(N("wphCzBMA",!0)),Chakma:()=>new b(N("gokC0BCR",!0)),Cham:()=>new b(N("gwqB2BKNDJDD",!0)),Cherokee:()=>new b(N("g9E1CDFz7lBvC",!0)),Chorasmian:()=>new b(N("w9jCb",!0)),Common:()=>new b(N("AgCBbFBbuBBCOBCEBYgBgBiOmBBGEBDTB1DKKHCC+THHPEEhB9E9ElQiEiEB6mB6mB2MDBjJwvBwvBBBBoCBBsGBBCumBumBOIIBCBCFBCCBDmYmYBKBD2CBCKBEKBCOBShBB-BlBBCCBDFBCaBCQBqBCBF5UBXKBW-cBhIzTBDpEBhQ9CBzMUBCCCBXBQHBFDB8CBBE7C7CB0E0EBOBhBlBBKxBxBB+BBgBwCBwB5C5CBmFBhuG-BBhoWhBBnDCBmFJB1HhFhFsMPPBzuUzuUBxGxGBIBXiBBCSBCDB0ECCBeBbFBbKBLuBuBBhChCBFBCGBLEBjICBFsBBEIBxCMB0BsBBlHaBltuBDB96D8HBEzNBHWBQQBgDzDB9B1HBLmBBD9BBEQBJBBIdBF8BB2GTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBByjFjCBtC8BBjWrBBFjDBNOBDOBCOBCkBBLtFB5BZBCBBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBnghYffB+CB",!1)),Coptic:()=>new b(N("ifNxkKzDGG",!0)),Cuneiform:()=>new b(N("ggoC5cnDuDCEMjG",!0)),Cypriot:()=>new b(N("ggiCFBDCCBqBBCBBEDD",!1)),Cypro_Minoan:()=>new b(N("w8rCiD",!0)),Cyrillic:()=>new b(N("ggBkEBDoFBx6FKBhFtCtCojEfBhie-CBv8VBBhw4B9BBiBAB",!1)),Deseret:()=>new b(N("gghCvC",!0)),Devanagari:()=>new b(N("goCwCFODZh7nBfhwcJ",!0)),Dives_Akuru:()=>new b(N("gomCGBDDDBGBCBBCdBCBBDLBKJB",!1)),Dogra:()=>new b(N("ggmC7B",!0)),Duployan:()=>new b(N("ggvDqDGMEIIJDD",!0)),Egyptian_Hieroglyphs:()=>new b(N("ggsC1iBL68D",!0)),Elbasan:()=>new b(N("gohCnB",!0)),Elymaic:()=>new b(N("g-jCW",!0)),Ethiopic:()=>new b(N("gwEoCBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBnvGWBKGBCGBCGBCGBCGBCGBCGBCGBjpfFBDFBDFBKGBCGBylvCGBCD
1BCBBCOB",!1)),Garay:()=>new b(N("gqjClBEcJB",!0)),Georgian:()=>new b(N("glElBBCGGDqBBCDBx8CqBBDCBhiElBBCGG",!1)),Glagolitic:()=>new b(N("ggL-Ch9sDGCQDGCBCE",!0)),Gothic:()=>new b(N("w5gCa",!0)),Grantha:()=>new b(N("g4kCDBCHBDBBDVBCGBCBBCEBDIBDBBDCBDHHGGBDGBEEB",!1)),Greek:()=>new b(N("wbDBCCBDDBCFFCCCBBBCCCBSBC+BBPPBnpGEBzBEBFEB1ChKhKBUBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBoJ-xiB-xiB7uVuCBSgj0Bgj0BBkCB",!1)),Gujarati:()=>new b(N("h0CCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGB",!1)),Gunjala_Gondi:()=>new b(N("grnCFCBCkBCBCFIJ",!0)),Gurmukhi:()=>new b(N("hwCCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPB",!1)),Gurung_Khema:()=>new b(N("go4C5B",!0)),Han:()=>new b(N("g0LZBC4CBN1GBwBCCaIBPDBle-tGBhC-vUBhoWtLBDpDBpodBBNGBqgkB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Hangul:()=>new b(N("goE-HvxHBiI9CyDeiCei3dckUj9KNWFwBl9JeEFDFDFDC",!0)),Hanifi_Rohingya:()=>new b(N("gojCnBJJ",!0)),Hanunoo:()=>new b(N("g5FU",!0)),Hatran:()=>new b(N("gniCSCBGE",!0)),Hebrew:()=>new b(N("xsB2BBJaBFFBpp9BZBCEBCCCBCCBCCBIB",!1)),Hiragana:()=>new b(N("hiM1CBHCBi7-C+IBTeeBBBulQAB",!1)),Imperial_Aramaic:()=>new b(N("giiCVCI",!0)),Inherited:()=>new b(N("gYvDB2IBBlOKBbhXhXBCB8qEtBBDLBlPCBCMBCGBFHHEBBnG-BBtQBBjGgBB65DDBsDBBmrzBPBRNBwejHjH7iEl+uBl+uBBsBBDWBhRCBSHBDGBfDBz6rYvHB",!1)),Inscriptional_Pahlavi:()=>new b(N("g7iCSGH",!0)),Inscriptional_Parthian:()=>new b(N("g6iCVDH",!0)),Javanese:()=>new b(N("gsqBtCDJFB",!0)),Kaithi:()=>new b(N("gkkCiCLA",!0)),Kannada:()=>new b(N("gkDMCCCWCJCEDICCCDIBGCCDDJCC",!0)),Katakana:()=>new b(N("hlM5CBDCBxHPBxGuBBC3CBvgzBJBCsBBzisBDBCGBCBBCgJgJBBBzBPPBCB",!1)),Kawi:()=>new b(N("g4nCQCoBEc",!0)),Kayah_Li:()=>new b(N("goqBtBCA",!0)),Kharoshthi:()=>new b(N("gwiCDCBGHCCCcDCFJII",!0)),Khitan_Small_Script:()=>new b(N("k-7C84G84GB0OBqBAB",!1)),Khmer:()=>new b(N("g8F9CDJHJnPf",!0)),Khojki:()=>new b(N("gwkCRCuB",!0)),Khudawadi:()=>new b(N("w1kC6BGJ",!0)),Kirat_Rai:()=>new b(N("gq7C5B",!0)),Lao:()=>new b(N("h0DBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDB",!1)),Latin:()=>new b(N("hCZBHZBwBQQGWBCeBCgOBoBEB8wGlBBHwBBGDBGMBClCBiC-HByLOORMBuEBBHccSoBB42CfBj1elDBExCBVOBxZqBBCIBCDB38TGB7gBZBHZBmhCFBCpBBCIBm61BeBHFB",!1)),Lepcha:()=>new b(N("ggH3BEOEC",!0)),Limbu:()=>new b(N("goGeBCLBFLBFEEBKB",!1)),Linear_A:()=>new b(N("gwhC2JKVLH",!0)),Linear_B:()=>new b(N("gggCLCZCSCBCODNjB6D",!0)),Lisu:()=>new b(N("wmpBvBx1eA",!0)),Lycian:()=>new b(N("g0gCc",!0)),Lydian:()=>new b(N("gpiCZGA",!0)),Mahajani:()=>new b(N("wqkCmB",!0)),Makasar:()=>new b(N("g3nCY",!0)),Malayalam:()=>new b(N("goDMCCCyBCCCFFPDZ",!0)),Mandaic:()=>new b(N("giCbDA",!0)),Manichaean:()=>new b(N("g2iCmBFL",!0)),Marchen:()=>new b(N("wjnCfDVCN",!0)),Masaram_Gondi:()=>new b(N("gonCGBCBBCrBBECCBCCBHBJJB",!1)),Medefaidrin:()=>new b(N("gy7C6C",!0)),Meetei_Mayek:()=>new b(N("g3qBWqGtBDJ",!0)),Mende_Kikakui:()=>new b(N("gg6DkGDP",!0)),Meroitic_Cursive:()=>new b(N("gtiCXFTDtB",!0)),Meroitic_Hieroglyphs:()=>new b(N("gsiCf",!0)),Miao:()=>new b(N("g47CqCF4BIQ",!0)),Modi:()=>new b(N("gwlCkCMJ",!0)),Mongolian:()=>new b(N("ggGBBDCCBSBH4CBIqBB2t-BMB",!1)),Mro:()=>new b(N("gy6CeCJFB",!0)),Multani:()=>new b(N("g0kCGBCCCBCBCOBCKB",!1)),Myanmar:()=>new b(N("ggE-EhqmBeiDfxibT",!0)),Nabataean:()=>new b(N("gkiCeJI",!0)),Nag_Mundari:()=>new b(N("wm5DpB",!0)),Nandinagari:()=>new b(N("gtmCHDtBDK",!0)),New_Tai_Lue:()=>new b(N("gsGrBFZHKEB",!0)),Newa:()=>new b(N("gglC7CCE",!0)),Nko:()=>new b(N("g+B6BDC",!0)),Nushu:()=>new b(N("h-7CvsQvsQBqMB",!1)),Nyiakeng_Puachue_Hmong:()=>new b(N("go4DsBENDJFB",!0)),Ogham:()=>new b(N("g0Fc",!0)),Ol_Chiki:()=>new b(N("wiHvB",!0)),Ol_Onal:()=>new b(N("wu5DqBFA",!0)),Old_Hungarian:()=>new b(N("gkjCyBOyBIF",!0)),Old_Italic:()=>new b(N("g4gCjBKC",!0)),Old_North_Arabian:()=>new b(N("g0iCf",!0)),Old_Permic:()=>new b(N("w6gCqB",!0)),Old_Persian:()=>new b(N("g9gCjBFN",!0)),Old_Sogdian:()=>new b(N("g4jCnB",!0)),Old_South_Arabian:()=>new b(N("gziCf",!0)),Old_Turkic:()=>new b(N("ggjCoC",!0)),Old_Uyghur:()=>new b(N("w7jCZ",!0)),Oriya:()=>new b(N("h4CCCHDBDVCGCBCEDIDBDCICFBCEDR",!0)),Osage:()=>new b(N("wlhCjBFjB",!0)),Osmanya:()=>new b(N("gkhCdDJ",!0)),Pahawh_Hmong:()=>new b(N("g46ClCLJCGCUGS",!0)),Palmyrene:()=>new b(N("gjiCf",!0)),Pau_Cin_Hau:()=>new b(N("g2mC4B",!0)),Phags_Pa:()=>new b(N("giqB3B",!0)),Phoenician:()=>new b(N("goiCbEA",!0)),Psalter_Pahlavi:()=>new b(N("g8iCRIDNG",!0)),Rejang:()=>new b(N("wpqBjBMA",!0)),Runic:()=>new b(N("g1FqCEK",!0)),Samaritan:()=>new b(N("ggCtBDO",!0)),Saurashtra:()=>new b(N("gkqBlCJL",!0)),Sharada:()=>new b(N("gskC-ChsCH",!0)),Shavian:()=>new b(N("wihCvB",!0)),Siddham:()=>new b(N("gslC1BDlB",!0)),Sidetic:()=>new b(N("gqiCZ",!0)),SignWriting:()=>new b(N("gg2DrUQECO",!0)),Sinhala:()=>new b(N("hsDCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBt-gCTB",!1)),Sogdian:()=>new b(N("w5jCpB",!0)),Sora_Sompeng:()=>new b(N("wmkCYIJ",!0)),Soyombo:()=>new b(N("wymCyC",!0)),Sundanese:()=>new b(N("g8G-BhIH",!0)),Sunuwar:()=>new b(N("g+mChBPJ",!0)),Syloti_Nagri:()=>new b(N("ggqBsB",!0)),Syriac:()=>new b(N("g4BNC7BDCxIK",!0)),Tagalog:()=>new b(N("g4FVKA",!0)),Tagbanwa:()=>new b(N("g7FMCCCB",!0)),Tai_Le:()=>new b(N("wqGdDE",!0)),Tai_Tham:()=>new b(N("gxG+BCcDKHJHN",!0)),Tai_Viet:()=>new b(N("g0qBiCZE",!0)),Tai_Yo:()=>new b(N("g25DeCVJB",!0)),Takri:()=>new b(N("g0lC5BHJ",!0)),Tamil:()=>new b(N("i8CBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBm+kCxBBOAB",!1)),Tangsa:()=>new b(N("wz6CuCCJ",!0)),Tangut:()=>new b(N("g-7CgBgBB+3GBhQeBiDyDB",!1)),Telugu:()=>
1new b(N("ggDMCCCWCPDICCCDIBCCCBDDDJII",!0)),Thaana:()=>new b(N("g8BxB",!0)),Thai:()=>new b(N("hwD5BGb",!0)),Tibetan:()=>new b(N("g4DnCCjBFmBCjBCOCGFB",!0)),Tifinagh:()=>new b(N("wpL3BIBPA",!0)),Tirhuta:()=>new b(N("gklCnCJJ",!0)),Todhri:()=>new b(N("guhCzB",!0)),Tolong_Siki:()=>new b(N("wtnCrBFJ",!0)),Toto:()=>new b(N("w04De",!0)),Tulu_Tigalari:()=>new b(N("g8kCJBCDDClBBCJBCDDCDBCJBCBBJBB",!1)),Ugaritic:()=>new b(N("g8gCdCA",!0)),Unknown:()=>new b(N("4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBND
1BLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-FB",!1)),Vai:()=>new b(N("gopBrJ",!0)),Vithkuqi:()=>new b(N("wrhCKCOCGCBCKCOCGCB",!0)),Wancho:()=>new b(N("g24D5BGA",!0)),Warang_Citi:()=>new b(N("glmCyCNA",!0)),Yezidi:()=>new b(N("g0jCpBCCDB",!0)),Yi:()=>new b(N("ggoBskBE2B",!0)),Zanabazar_Square:()=>new b(N("gwmCnC",!0))});static FOLD_CATEGORIES=new A({L:()=>new b(N("laA",!0)),LC:()=>new b(N("laA",!0)),Ll:()=>new b(N("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGC3HrBrBCEEJHHCCBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHxC9zC9zCBuBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Lt:()=>new b(N("kOCCBCCBCClBCCtsHHBJHBJHBMQQwBAB",!1)),Lu:()=>new b(N("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpL2B2Bs1CvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1)),M:()=>new b(N("5cgBgBlgHAB",!1)),Mn:()=>new b(N("5cgBgBlgHAB",!1)),Emoji:()=>new b(N("8mJA",!0)),Extended_Pictographic:()=>new b(N("8mJA",!0)),Lowercase:()=>new b(N("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHuBPBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Math:()=>new b(N("ycGDCHHFMMDDDCHHFAB",!1)),Uppercase:()=>new b(N("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpLiBiBBOBFsasaBYBn6BvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1))});static FOLD_SCRIPT=new A({Common:()=>new b(N("8cgBgB",!1)),Greek:()=>new b(N("1FwUwU",!1)),Inherited:()=>new b(N("5cgBgBlgHAB",!1))})},O=class e{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;){let 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<=e.MAX_LATIN1){for(let e=0;e<t.length;e++){if(r>t.getHi(e))continue;let n=t.getLo(e);if(r<n)break;return(r-n)%t.getStride(e)==0}return!1}return t.length>0&&r>=t.getLo(0)&&e.is32(t,r)}static isUpper(t){if(t<=e.MAX_LATIN1){let e=String.fromCodePoint(t);return e.toUpperCase()===e&&e.toLowerCase()!==e}return e.is(F.Upper,t)}static isPrint(t){return t<=e.MAX_LATIN1?t>=32&&t<e.MAX_ASCII||t>=161&&173!==t:e.is(F.Print,t)}static simpleFold(e){if(F.CASE_ORBIT.has(e))return F.CASE_ORBIT.get(e);let t=v.toLowerCase(e);return t!==e?t:v.toUpperCase(e)}static equalsIgnoreCase(t,r){if(t===r)return!0;if(t<0||r<0)return!1;if(t<=e.MAX_ASCII&&r<=e.MAX_ASCII)return 65<=t&&t<=90&&(t|=32),65<=r&&r<=90&&(r|=32),t===r;for(let n=e.simpleFold(t);n!==t;n=e.simpleFold(n))if(n===r)return!0;return!1}};let x=new Uint8Array(256);for(let e=0;e<256;e++)x[e]=+(97<=e&&e<=122||65<=e&&e<=90||48<=e&&e<=57||95===e);let L=null,R=null;var k=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 v.CODES.get("0")<=e&&e<=v.CODES.get("9")||v.CODES.get("a")<=e&&e<=v.CODES.get("z")||v.CODES.get("A")<=e&&e<=v.CODES.get("Z")}static unhex(e){return v.CODES.get("0")<=e&&e<=v.CODES.get("9")?e-v.CODES.get("0"):v.CODES.get("a")<=e&&e<=v.CODES.get("f")?e-v.CODES.get("a")+10:v.CODES.get("A")<=e&&e<=v.CODES.get("F")?e-v.CODES.get("A")+10:-1}static escapeRune(t){let r="";if(O.isPrint(t))e.METACHARACTERS.indexOf(String.fromCodePoint(t))>=0&&(r+="\\"),r+=String.fromCodePoint(t);else switch(t){case v.CODES.get('"'):r+='\\"';break;case v.CODES.get("\\"):r+="\\\\";break;case v.CODES.get(" "):r+="\\t";break;case v.CODES.get("\n"):r+="\\n";break;case v.CODES.get("\r"):r+="\\r";break;case v.CODES.get("\b"):r+="\\b";break;case v.CODES.get("\f"):r+="\\f";break;default:{let e=t.toString(16);t<256?(r+="\\x",1===e.length&&(r+="0"),r+=e):r+=`\\x{${e}}`}}return r}static stringToRunes(e){let t=String(e),r=[],n=0;for(;n<t.length;){let e=t.codePointAt(n);
1r.push(e),n+=e>O.MAX_BMP?2:1}return r}static runeToString(e){return String.fromCodePoint(e)}static isWordRune(e){return e<256&&1===x[e]}static emptyOpContext(t,r){let n=0;return t<0&&(n|=e.EMPTY_BEGIN_TEXT|e.EMPTY_BEGIN_LINE),10===t&&(n|=e.EMPTY_BEGIN_LINE),r<0&&(n|=e.EMPTY_END_TEXT|e.EMPTY_END_LINE),10===r&&(n|=e.EMPTY_END_LINE),e.isWordRune(t)!==e.isWordRune(r)?n|=e.EMPTY_WORD_BOUNDARY:n|=e.EMPTY_NO_WORD_BOUNDARY,n}static quoteMeta(t){return t.split("").map(t=>e.METACHARACTERS.indexOf(t)>=0?`\\${t}`:t).join("")}static charCount(e){return e>O.MAX_BMP?2:1}static toArray(e){let t=e.length,r=Array(t);for(let n=0;n<t;n++)r[n]=e[n];return r}static stringToUtf8ByteArray(e){if(globalThis.TextEncoder)return L||(L=new TextEncoder),L.encode(e);{let t=[],r=0;for(let n=0;n<e.length;n++){let s=e.charCodeAt(n);s<128?t[r++]=s:(s<2048?t[r++]=s>>6|192:((64512&s)===O.MIN_HIGH_SURROGATE&&n+1<e.length&&(64512&e.charCodeAt(n+1))===O.MIN_LOW_SURROGATE?(s=O.MIN_SUPPLEMENTARY_CODE_POINT+((1023&s)<<10)+(1023&e.charCodeAt(++n)),t[r++]=s>>18|240,t[r++]=s>>12&63|128):t[r++]=s>>12|224,t[r++]=s>>6&63|128),t[r++]=63&s|128)}return t}}static utf8ByteArrayToString(e){if(globalThis.TextDecoder){R||(R=new TextDecoder("utf-8"));let t=e instanceof Uint8Array?e:new Uint8Array(e);return R.decode(t)}{let t=[],r=0,n=0;for(;r<e.length;){let s=e[r++];if(s<128)t[n++]=String.fromCharCode(s);else if(s>191&&s<224){let i=e[r++];t[n++]=String.fromCharCode((31&s)<<6|63&i)}else if(s>239&&s<365){let i=((7&s)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-O.MIN_SUPPLEMENTARY_CODE_POINT;t[n++]=String.fromCharCode(O.MIN_HIGH_SURROGATE+(i>>10)),t[n++]=String.fromCharCode(O.MIN_LOW_SURROGATE+(1023&i))}else{let i=e[r++],a=e[r++];t[n++]=String.fromCharCode((15&s)<<12|(63&i)<<6|63&a)}}return t.join("")}}};let G=(e=[],t=0)=>{let r=Object.create(null);for(let n=0;n<e.length;n++){let s=e[n],i=t+n;r[s]=i,r[i]=s}return Object.freeze(r)};var P=class e{static Encoding=G(["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()===e.Encoding.UTF_8}isUTF16Encoding(){return this.getEncoding()===e.Encoding.UTF_16}},M=class extends P{constructor(e=null){super(),this.bytes=e}getEncoding(){return P.Encoding.UTF_8}asCharSequence(){return k.utf8ByteArrayToString(this.bytes)}asBytes(){return this.bytes}length(){return this.bytes.length}},H=class extends P{constructor(e=null){super(),this.charSequence=e}getEncoding(){return P.Encoding.UTF_16}asCharSequence(){return this.charSequence}asBytes(){return k.stringToUtf8ByteArray(this.charSequence.toString())}length(){return this.charSequence.length}},V=class{static utf16(e){return new H(e)}static utf8(e){return new M(k.isByteArray(e)?e:k.stringToUtf8ByteArray(e))}},U=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}},J=class extends U{constructor(e,t=0,r=e.length){super(),this.bytes=e,this.start=t,this.end=r}hasString(e,t){let r=e.bytes;if(0===r.length)return!0;let n=this.indexOf(this.bytes,r,this.start+t);return -1!==n&&n<=this.end-r.length}hasAnyString(e,t){return!!e.ac8&&e.ac8.searchUTF8(this.bytes,this.start+t,this.end)}step(e){if((e+=this.start)>=this.end)return U.EOF();let t=255&this.bytes[e];if(t<128)return t<<3|1;if(t>=194&&t<=223&&e+1<this.end){let r=255&this.bytes[e+1];return(192&r)!=128?t<<3|1:((31&t)<<6|63&r)<<3|2}if(t>=224&&t<=239&&e+2<this.end){let r=255&this.bytes[e+1];if((192&r)!=128)return t<<3|1;let n=255&this.bytes[e+2];return(192&n)!=128?t<<3|1:((15&t)<<12|(63&r)<<6|63&n)<<3|3}{if(!(t>=240)||!(t<=244)||!(e+3<this.end))return t<<3|1;let r=255&this.bytes[e+1];if((192&r)!=128)return t<<3|1;let n=255&this.bytes[e+2];if((192&n)!=128)return t<<3|1;let s=255&this.bytes[e+3];return(192&s)!=128?t<<3|1:((7&t)<<18|(63&r)<<12|(63&n)<<6|63&s)<<3|4}}index(e,t){t+=this.start;let r=this.indexOf(this.bytes,e.prefixUTF8,t);return r<0?r:r-t}context(e){e+=this.start;let t=-1;if(e>this.start&&e<=this.end){let r=e-1;if((t=this.bytes[r--])>=128){let n=e-4;for(n<this.start&&(n=this.start);r>=n&&(192&this.bytes[r])==128;)r--;r<this.start&&(r=this.start),t=this.step(r-this.start)>>3}}let r=e<this.end?this.step(e-this.start)>>3:-1;return k.emptyOpContext(t,r)}indexOf(e,t,r=0){let n=t.length;if(0===n)return r<=this.end?r:-1;let s=t[0],i=this.end-n,a="function"==typeof e.indexOf,B=r;for(;B<=i;){if(a){if(-1===(B=e.indexOf(s,B))||B>i)break}else{for(;B<=i&&e[B]!==s;)B++;if(B>i)break}let r=!0;for(let s=1;s<n;s++)if(e[B+s]!==t[s]){r=!1;break}if(r)return B;B++}return -1}prefixLength(e){return e.prefixUTF8.length}},q=class extends U{constructor(e,t=0,r=e.length){super(),this.charSequence=e,this.start=t,this.end=r}hasString(e,t){let 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){if((e+=this.start)>=this.end)return U.EOF();let t=this.charSequence.charCodeAt(e);if(t<O.MIN_HIGH_SURROGATE||t>O.MAX_HIGH_SURROGATE||e+1>=this.end)return t<<3|1;let r=this.charSequence.charCodeAt(e+1);return r>=O.MIN_LOW_SURROGATE&&r<=O.MAX_LOW_SURROGATE?(t-O.MIN_HIGH_SURROGATE)*1024+(r-O.MIN_LOW_SURROGATE)+O.MIN_SUPPLEMENTARY_CODE_POINT<<3|2:t<<3|1}index(e,t){t+=this.start;let r=this.charSequence.indexOf(e.prefix,t);return r<0||r>this.end-e.prefix.length?-1:r-t}context(e){let 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 k.emptyOpContext(t,r)}prefixLength(e){return e.prefix.length}}
1,K=class{static fromUTF8(e,t=0,r=e.length){return new J(e,t,r)}static fromUTF16(e,t=0,r=e.length){return new q(e,t,r)}},j=class extends Error{constructor(e){super(e),this.name="RE2JSException"}},Q=class extends j{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}},z=class extends j{constructor(e){super(e),this.name="RE2JSCompileException"}},$=class extends j{constructor(e){super(e),this.name="RE2JSGroupException"}},Y=class extends j{constructor(e){super(e),this.name="RE2JSFlagsException"}},W=class extends j{constructor(e){super(e),this.name="RE2JSInternalException"}},X=class e{static MAX_REPLACER_ARGS=65535;static quoteReplacement(e,t=!1){return t?0>e.indexOf("\\")&&0>e.indexOf("$")?e:e.split("").map(e=>{let t=e.codePointAt(0);return t===v.CODES.get("\\")||t===v.CODES.get("$")?`\\${e}`:e}).join(""):0>e.indexOf("$")?e:e.split("").map(e=>e.codePointAt(0)===v.CODES.get("$")?"$$":e).join("")}constructor(e,t){if(null===e)throw Error("pattern is null");this.patternInput=e;const r=this.patternInput.re2();this.patternGroupCount=r.numberOfCapturingGroups(),this.groups=[],this.namedGroups=r.namedGroups,this.numberOfInstructions=r.numberOfInstructions(),t instanceof P?this.resetMatcherInput(t):k.isByteArray(t)?this.resetMatcherInput(V.utf8(t)):this.resetMatcherInput(V.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 Error("input is null");return e instanceof P||(e=k.isByteArray(e)?V.utf8(e):V.utf16(e)),this.matcherInput=e,this.reset(),this}start(e=0){if("string"==typeof e){let t=this.namedGroups[e];if(!Number.isFinite(t))throw new $(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e]}end(e=0){if("string"==typeof e){let t=this.namedGroups[e];if(!Number.isFinite(t))throw new $(`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){let t=this.namedGroups[e];if(!Number.isFinite(t))throw new $(`group '${e}' not found`);e=t}let t=this.start(e),r=this.end(e);return t<0&&r<0?null:this.substring(t,r)}getNamedGroups(){if(!this.hasMatch)throw new $("perhaps no match attempted");let e=Object.create(null);for(let t of Object.keys(this.namedGroups))e[t]=this.group(t);return e}groupCount(){return this.patternGroupCount}loadGroup(e){if(e<0||e>this.patternGroupCount)throw new $(`Group index out of bounds: ${e}`);if(!this.hasMatch)throw new $("perhaps no match attempted");if(0===e||this.hasGroups)return;let t=this.matcherInputLength,r=this.patternInput.re2().matchMachineInput(this.matcherInput,this.groups[0],t,this.anchorFlag,1+this.patternGroupCount);if(!r[0])throw new $("inconsistency in matching group data");this.groups=r[1],this.hasGroups=!0}matches(){return this.genMatch(0,w.ANCHOR_BOTH)}lookingAt(){return this.genMatch(0,w.ANCHOR_START)}find(e=null){if(null!==e){if(e<0||e>this.matcherInputLength)throw new $(`start index out of bounds: ${e}`);return this.reset(),this.genMatch(e,0)}if(e=0,this.hasMatch&&(e=this.groups[1],this.groups[0]===this.groups[1])){let t=(this.matcherInput.isUTF16Encoding()?K.fromUTF16(this.matcherInput.asCharSequence(),0,this.matcherInputLength):K.fromUTF8(this.matcherInput.asBytes(),0,this.matcherInputLength)).step(e);t<0?e++:e+=7&t}return this.genMatch(e,w.UNANCHORED)}genMatch(e,t){let 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):(this.hasMatch=!1,!1)}substring(e,t){return this.matcherInput.isUTF8Encoding()?k.utf8ByteArrayToString(this.matcherInput.asBytes().slice(e,t)):this.matcherInput.asCharSequence().substring(e,t).toString()}inputLength(){return this.matcherInputLength}appendReplacement(e,t=!1){let r="",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(e){let t="",r=0,n=e.length,s=0;for(;s<n;){let i=e.codePointAt(s);if(i===v.CODES.get("\\")){if(r<s&&(t+=e.substring(r,s)),++s>=n)throw new $("character to be escaped is missing");r=s,s++;continue}if(i===v.CODES.get("$")){if(r<s&&(t+=e.substring(r,s)),s+1>=n)throw new $("Illegal group reference: group index is missing");let i=e.codePointAt(s+1);if(v.CODES.get("0")<=i&&i<=v.CODES.get("9")){let a=i-v.CODES.get("0"),B=s+2;for(;B<n;B++){let t=e.codePointAt(B);if(t<v.CODES.get("0")||t>v.CODES.get("9")||10*a+t-v.CODES.get("0")>this.patternGroupCount)break;a=10*a+t-v.CODES.get("0")}if(a>this.patternGroupCount)throw new $(`n > number of groups: ${a}`);let o=this.group(a);null!==o&&(t+=o),r=s=B}else if(i===v.CODES.get("{")){let i=s+2;for(;i<n&&e.codePointAt(i)!==v.CODES.get("}");)i++;if(i>=n)throw new $("named capture group is missing trailing '}'");let a=e.substring(s+2,i),B=this.group(a);null!==B&&(t+=B),r=s=i+1}else throw new $("Illegal group reference");continue}s++}return r<n&&(t+=e.substring(r,n)),t}appendReplacementInternalJs(e){let t="",r=0,n=e.length;for(let s=0;s<n-1;s++)if(e.codePointAt(s)===v.CODES.get("$")){let i=e.codePointAt(s+1);if(v.CODES.get("$")===i){r<s&&(t+=e.substring(r,s)),t+="$",r=++s+1;continue}if(v.CODES.get("&")===i){r<s&&(t+=e.substring(r,s));let n=this.group(0);null!==n?t+=n:t+="$&",r=++s+1;continue}if(v.CODES.get("`")===i){r<s&&(t+=e.substring(r,s)),t+=this.substring(0,this.start(0)),r=++s+1;continue}else if(v.CODES.get("'")===i){r<s&&(t+=e.substring(r,s)),t+=this.substring(this.end(0),this.matcherIn
1putLength),r=++s+1;continue}else if(v.CODES.get("1")<=i&&i<=v.CODES.get("9")){let a=i-v.CODES.get("0");for(r<s&&(t+=e.substring(r,s)),s+=2;s<n&&!((i=e.codePointAt(s))<v.CODES.get("0")||i>v.CODES.get("9")||10*a+i-v.CODES.get("0")>this.patternGroupCount);s++)a=10*a+i-v.CODES.get("0");if(a>this.patternGroupCount){t+=`$${a}`,r=s,s--;continue}let B=this.group(a);null!==B&&(t+=B),r=s,s--;continue}else if(i===v.CODES.get("<")){r<s&&(t+=e.substring(r,s));let n=++s+1;for(;n<e.length&&e.codePointAt(n)!==v.CODES.get(">")&&e.codePointAt(n)!==v.CODES.get(" ");)n++;if(n===e.length||e.codePointAt(n)!==v.CODES.get(">")){t+=e.substring(s-1,n+1),r=n+1,s=n;continue}let i=e.substring(s+1,n);if(Object.prototype.hasOwnProperty.call(this.namedGroups,i)){let e=this.group(i);null!==e&&(t+=e)}else t+=`$<${i}>`;r=n+1,s=n;continue}}return r<n&&(t+=e.substring(r,n)),t}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(t,r=!0,n=!1){let s="";this.reset();let i="function"==typeof t,a=Object.keys(this.namedGroups).length>0,B=null;if(i){if(this.groupCount()>=e.MAX_REPLACER_ARGS)throw new $("Too many capture groups to safely invoke replacer function");B=this.matcherInput.isUTF8Encoding()?this.matcherInput.asBytes():this.matcherInput.asCharSequence()}for(;this.find()&&(s+=i?this.appendReplacementFunc(t,a,B):this.appendReplacement(t,n),r););return s+this.appendTail()}appendReplacementFunc(e,t,r){let n="",s=this.start(),i=this.end();return this.appendPos<s&&(n+=this.substring(this.appendPos,s)),this.appendPos=i,n+=String(e(...this.buildReplacerArgs(s,t,r)))}buildReplacerArgs(e,t,r){let n=[this.group(0)],s=this.groupCount();for(let e=1;e<=s;e++){let t=this.start(e);t<0?n.push(void 0):n.push(this.substring(t,this.end(e)))}if(n.push(e),n.push(r),t){let e=this.getNamedGroups();for(let t in e)null===e[t]&&(e[t]=void 0);n.push(e)}return n}},Z=class e{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(t){return e.RUNE<=t&&t<=e.RUNE_ANY_NOT_NL}static escapeRunes(e){let t='"';for(let r of e)t+=k.escapeRune(r);return t+'"'}constructor(e){this.op=e,this.out=0,this.arg=0,this.runes=[],this.next=null}matchRune(e){if(1===this.runes.length){let t=this.runes[0];return(this.arg&w.FOLD_CASE)!=0?O.equalsIgnoreCase(t,e):e===t}let t=this.runes.length;if(0===t)return!1;if(2===t||4===t||6===t||8===t){for(let r=0;r<t&&!(e<this.runes[r]);r+=2)if(e<=this.runes[r+1])return!0;return!1}let r=0,n=t>>1;for(;n>1;){let t=n>>1;r+=this.runes[r+t<<1]<=e?t:0,n-=t}let s=(r+=+(this.runes[r<<1]<=e))-1;return s>=0&&e<=this.runes[s<<1|1]}matchRunePos(e){if(1===this.runes.length){let t=this.runes[0];return(this.arg&w.FOLD_CASE)!=0?O.equalsIgnoreCase(t,e)?0:-1:e===t?0:-1}let t=this.runes.length;if(0===t)return -1;if(2===t||4===t||6===t||8===t){for(let r=0;r<t&&!(e<this.runes[r]);r+=2)if(e<=this.runes[r+1])return Math.floor(r/2);return -1}let r=0,n=t>>1;for(;n>1;){let t=n>>1;r+=this.runes[r+t<<1]<=e?t:0,n-=t}let s=(r+=+(this.runes[r<<1]<=e))-1;return s>=0&&e<=this.runes[s<<1|1]?s:-1}toString(){switch(this.op){case e.ALT:return`alt -> ${this.out}, ${this.arg}`;case e.ALT_MATCH:return`altmatch -> ${this.out}, ${this.arg}`;case e.CAPTURE:return`cap ${this.arg} -> ${this.out}`;case e.EMPTY_WIDTH:return`empty ${this.arg} -> ${this.out}`;case e.MATCH:return`match${0!==this.arg?` ${this.arg}`:""}`;case e.FAIL:return"fail";case e.NOP:return`nop -> ${this.out}`;case e.LB_WRITE:return`lbwrite ${this.arg} -> ${this.out}`;case e.LB_CHECK:return`lbcheck ${this.arg} -> ${this.out}`;case e.RUNE:if(null===this.runes)return"rune <null>";return["rune ",e.escapeRunes(this.runes),(this.arg&w.FOLD_CASE)!=0?"/i":""," -> ",this.out].join("");case e.RUNE1:return`rune1 ${e.escapeRunes(this.runes)} -> ${this.out}`;case e.RUNE_ANY:return`any -> ${this.out}`;case e.RUNE_ANY_NOT_NL:return`anynotnl -> ${this.out}`;default:throw Error("unhandled case in Inst.toString")}}},ee=class{constructor(e){this.sparse=new Int32Array(e),this.densePcs=new Int32Array(e),this.denseCaps=null,this.size=0,this.ncap=0}init(e){this.ncap=e;let t=this.densePcs.length*e;(!this.denseCaps||this.denseCaps.length<t)&&(this.denseCaps=new Int32Array(t))}contains(e){let t=this.sparse[e];return t<this.size&&this.densePcs[t]===e}isEmpty(){return 0===this.size}add(e){let t=this.size++;return this.sparse[e]=t,this.densePcs[t]=e,t}clear(){this.size=0}toString(){let e="{";for(let t=0;t<this.size;t++)0!==t&&(e+=", "),e+=this.densePcs[t];return e+"}"}},et=class e{static fromRE2(t){let r=new e;return r.prog=t.prog,r.re2=t,r.q0=new ee(r.prog.numInst()),r.q1=new ee(r.prog.numInst()),r.matched=!1,r.matchcap=new Int32Array(r.prog.numCap<2?2:r.prog.numCap),r.ncap=0,r}static fromMachine(t){return e.fromRE2(t.re2)}constructor(){this.prog=null,this.re2=null,this.q0=null,this.q1=null,this.matched=!1,this.matchcap=null,this.ncap=0,this.lbTable=null}init(e){this.ncap=e,e>this.matchcap.length?this.matchcap=new Int32Array(e).fill(-1):this.matchcap.fill(-1),this.q0.init(e),this.q1.init(e),this.prog.numLb>0&&((!this.lbTable||this.lbTable.length<this.prog.numLb+1)&&(this.lbTable=new Int32Array(this.prog.numLb+1)),this.lbTable.fill(-1))}submatches(){return 0===this.ncap?k.emptyInts():k.toArray(this.matchcap.subarray(0,this.ncap))}match(e,t,r){let n,s=this.re2.cond;if(s===k.EMPTY_ALL||(r===w.ANCHOR_START||r===w.ANCHOR_BOTH)&&0!==t)return!1;this.matched=!1,this.matchcap.fill(-1);let i=this.prog.numLb>0?0:t,a=this.q0,B=this.q1,o=e.step(i),l=o>>3,u=7&o,h=-1,c=0;for(o!==U.EOF()&&(h=(o=e.step(i+u))>>3,c=7&o),n=0===i?k.emptyOpContext(-1,l):e.context(i);;){if(a.isEmpty()){if((s&k.EMPTY_BEGIN_TEXT)!=0&&0!==i||(r===w.ANCHOR_START||r===w.ANCHOR_BOTH)&&0!==i||this.matched)break;if(0===this.prog.numLb&&0!==this.re2.prefix.length&&h!==this.re2.prefixRune&&e.canCheckPrefix()){let t=e.index(this.re2,i);if(t<0)break;i+=t,l=(o=e.step(i))>>3,u=7&o,h=(o=e.step(i+u))>>3,c=7&o,n=e.context(i)}}if(0===i&&this.prog.numLb>0)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(a,this.prog.lbStarts[e],i,this.matchcap,0,n);!this.matched&&(0===i||r===w.UNANCHORED)&&i>=t&&(this.ncap>0&&(this.matchcap[0]=i),this.add(a,this.prog.start,i,this.matchcap,0,n));let C=i+u;if(n=e.context(C),this.step(a,B,i,C,l,n,r,i===e.endPos()),0===u||0===this.ncap&&this.matched)break;i+=u,l=h,u=c,-1!==l&&(h=(o=e.step(i+u))>>3,c=7&o);let d=a;a=B,B=d}return B.clear(),this.matched}matchSet(e,t,r){let n=this.re2.cond;if(n===k.EMPTY_ALL||(r===w.ANCHOR_START||r===w.ANCHOR_BOTH)&&0!==t)return[];let s=this.prog.numLb>0?0:t,i=this.q0,a=this.q1,B=e.step(s),o=B>>3,l=7&B,u=-1,h=0;B!==U.EOF()&&(u=(B=e.step(s+l))>>3,h=7&B);let c=0===s?k.emptyOpContext(-1,o):e.context(s),C=new Set;for(;!i.isEmpty()||((n&k.EMPTY_BEGIN_TEXT)==0||0===s)&&(r!==w.ANCHOR_START&&r!==w.ANCHOR_BOTH||0===s);){if(0===s&&this.prog.numLb>0)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(i,this.prog.lbStarts[e],s,this.matchcap,0,c);(0===s||r===w.UNANCHORED)&&s>=t&&this.add(i,this.prog.start,s,this.matchcap,0,c);let n=s+l;c=e.context(n);for(let t=0;t<i.size;t++){let B=i.densePcs[t],l=this.prog.inst[B],u=t*this.ncap,h=!1;switch(l.op){case Z.MATCH:if(r===w.ANCHOR_BOTH&&s!==e.endPos())break;C.add(l.arg);break;case Z.RUNE:h=l.matchRune(o);break;case Z.RUNE1:h=o===l.runes[0];break;case Z.RUNE_ANY:h=!0;break;case Z.RUNE_ANY_NOT_NL:h=10!==o;break;default:continue}h&&this.add(a,l.out,n,i.denseCaps,u,c)}if(i.clear(),0===l)break;s+=l,o=u,l=h,-1!==o&&(u=(B=e.step(s+l))>>3,h=7&B);let d=i;i=a,a=d}return a.clear(),Array.from(C).sort((e,t)=>
1e-t)}step(e,t,r,n,s,i,a,B){let o=this.re2.longest;for(let l=0;l<e.size;l++){let u=e.densePcs[l],h=l*this.ncap;if(o&&this.matched&&this.ncap>0&&this.matchcap[0]<e.denseCaps[h])continue;let c=this.prog.inst[u],C=!1;switch(c.op){case Z.MATCH:if(a===w.ANCHOR_BOTH&&!B)break;if(this.ncap>0&&(!o||!this.matched||this.matchcap[1]<r)){e.denseCaps[h+1]=r;for(let t=0;t<this.ncap;t++)this.matchcap[t]=e.denseCaps[h+t]}o||(e.size=0),this.matched=!0;break;case Z.RUNE:C=c.matchRune(s);break;case Z.RUNE1:C=s===c.runes[0];break;case Z.RUNE_ANY:C=!0;break;case Z.RUNE_ANY_NOT_NL:C=10!==s;break;default:continue}C&&this.add(t,c.out,n,e.denseCaps,h,i)}e.clear()}add(e,t,r,n,s,i){for(;;){if(0===t||e.contains(t))return;let a=e.add(t),B=this.prog.inst[t];switch(B.op){case Z.FAIL:return;case Z.ALT:case Z.ALT_MATCH:this.add(e,B.out,r,n,s,i),t=B.arg;continue;case Z.EMPTY_WIDTH:if((B.arg&~i)==0){t=B.out;continue}return;case Z.NOP:t=B.out;continue;case Z.CAPTURE:if(B.arg<this.ncap){let t=n[s+B.arg];n[s+B.arg]=r,this.add(e,B.out,r,n,s,i),n[s+B.arg]=t;return}t=B.out;continue;case Z.LB_WRITE:this.lbTable[Math.abs(B.arg)]=r,t=B.out;continue;case Z.LB_CHECK:if(B.arg>0){if(this.lbTable[B.arg]===r){t=B.out;continue}}else if(this.lbTable[-B.arg]!==r){t=B.out;continue}return;case Z.MATCH:case Z.RUNE:case Z.RUNE1:case Z.RUNE_ANY:case Z.RUNE_ANY_NOT_NL:if(this.ncap>0){let t=a*this.ncap;for(let r=0;r<this.ncap;r++)e.denseCaps[t+r]=n[s+r]}return;default:throw new W("unhandled")}}}};let er=e=>{let t=-0x7ee3623b;for(let r=0;r<e.length;r++)t^=e[r],t=Math.imul(t,0x1000193);return t},en=(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};var es=class{constructor(e,t,r=[]){this.nfaStates=e,this.isMatch=t,this.matchIDs=r,this.nextLatin1=Array(O.MAX_LATIN1+1).fill(null),this.nextLatin1Anchored=Array(O.MAX_LATIN1+1).fill(null),this.transKeys=[],this.transVals=[],this.lastSeen=0}},ei=class e{static MAX_CACHE_CLEARS=5;static STATE_MEMORY_ESTIMATE=838;constructor(t,r=8388608){this.prog=t,this.stateCache=new Map,this.stateCount=0,this.startState=null,this.stateLimit=Math.max(1,Math.floor(r/e.STATE_MEMORY_ESTIMATE)),this.cacheClears=0,this.failed=!1,this.clock=0}computeClosure(e){let t=new Set,r=[...e],n=!1,s=[];for(;r.length>0;){let e=r.pop();if(t.has(e))continue;t.add(e);let i=this.prog.getInst(e);switch(i.op){case Z.MATCH:n=!0,s.includes(i.arg)||s.push(i.arg);break;case Z.ALT:case Z.ALT_MATCH:r.push(i.out),r.push(i.arg);break;case Z.NOP:case Z.CAPTURE:r.push(i.out);break;case Z.EMPTY_WIDTH:case Z.LB_WRITE:case Z.LB_CHECK:return null}}let i=Int32Array.from(t).sort();return s.sort((e,t)=>e-t),{pcs:i,isMatch:n,matchIDs:s}}getState(t){let r=this.computeClosure(t);if(!r)return null;let n=r.pcs,s=er(n),i=this.stateCache.get(s);if(i)for(let e=0;e<i.length;e++){let t=i[e];if(en(t.nfaStates,n))return t.lastSeen=++this.clock,t}else i=[],this.stateCache.set(s,i);if(this.failed)return null;if(this.stateCount>=this.stateLimit){if(this.cacheClears++,this.cacheClears>=e.MAX_CACHE_CLEARS)return this.failed=!0,this.stateCache.clear(),this.stateCount=0,this.startState=null,null;this.evictCache(),(i=this.stateCache.get(s))||(i=[],this.stateCache.set(s,i))}let a=new es(n,r.isMatch,r.matchIDs);return a.lastSeen=++this.clock,i.push(a),this.stateCount++,a}evictCache(){let e=[];for(let t of this.stateCache.values())for(let r=0;r<t.length;r++)e.push(t[r]);e.sort((e,t)=>e.lastSeen-t.lastSeen);let t=Math.max(1,Math.floor(this.stateLimit/2)),r=e.length-t,n=e.slice(r),s=new Set(n);this.stateCache.clear(),this.stateCount=0;for(let e=0;e<n.length;e++){let t=n[e];t.nextLatin1.fill(null),t.nextLatin1Anchored.fill(null),t.transKeys.length=0,t.transVals.length=0;let r=er(t.nfaStates),s=this.stateCache.get(r);s||(s=[],this.stateCache.set(r,s)),s.push(t),this.stateCount++}this.startState&&!s.has(this.startState)&&(this.startState=null)}step(e,t,r){if(t<=O.MAX_LATIN1)if(r===w.UNANCHORED){let r=e.nextLatin1[t];if(null!==r)return r}else{let r=e.nextLatin1Anchored[t];if(null!==r)return r}else{let n=t+(r===w.UNANCHORED?0:O.MAX_RUNE+1),s=e.transKeys,i=s.length;for(let t=0;t<i;t++)if(s[t]===n)return e.transVals[t]}let n=[];for(let r=0;r<e.nfaStates.length;r++){let s=e.nfaStates[r],i=this.prog.getInst(s);Z.isRuneOp(i.op)&&i.matchRune(t)&&n.push(i.out)}r===w.UNANCHORED&&n.push(this.prog.start);let s=this.getState(n);if(t<=O.MAX_LATIN1)r===w.UNANCHORED?e.nextLatin1[t]=s:e.nextLatin1Anchored[t]=s;else{let n=t+(r===w.UNANCHORED?0:O.MAX_RUNE+1);e.transKeys.push(n),e.transVals.push(s)}return s}match(e,t,r){if((r===w.ANCHOR_START||r===w.ANCHOR_BOTH)&&0!==t)return!1;if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;let n=e.endPos(),s=this.startState;if(s.isMatch){if(r!==w.ANCHOR_BOTH)return!0;else if(t===n)return!0}let i=t;for(;i<n;){let t=e.step(i),a=t>>3,B=7&t;if(0===B)break;if(null===(s=r===w.UNANCHORED&&a<=O.MAX_LATIN1&&s.nextLatin1[a]||this.step(s,a,r)))return null;if(s.lastSeen=++this.clock,s.isMatch){if(r!==w.ANCHOR_BOTH)return!0;else if(i+B===n)return!0}if(0===s.nfaStates.length&&r!==w.UNANCHORED)break;i+=B}return!1}matchSet(e,t,r){if((r===w.ANCHOR_START||r===w.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,a=(e,t)=>
1{e.isMatch&&(r===w.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;){let t=e.step(B),n=t>>3,i=7&t;if(0===i)break;if(null===(s=r===w.UNANCHORED&&n<=O.MAX_LATIN1&&s.nextLatin1[n]||this.step(s,n,r)))return null;if(s.lastSeen=++this.clock,a(s,B+=i),0===s.nfaStates.length&&r!==w.UNANCHORED)break}return Array.from(i).sort((e,t)=>e-t)}},ea=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;let 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){let r=e*(this.end+1)+t,n=r>>>5,s=1<<(31&r);return(this.visited[n]&s)==0&&(this.visited[n]|=s,!0)}push(e,t,r,n){if(e.prog.getInst(t).op!==Z.FAIL&&(n||this.shouldVisit(t,r))){if(this.jobLen>=this.jobPc.length){let e=2*this.jobPc.length,t=new Int32Array(e);t.set(this.jobPc),this.jobPc=t;let r=new Uint8Array(e);r.set(this.jobArg),this.jobArg=r;let n=new Int32Array(e);n.set(this.jobPos),this.jobPos=n}this.jobPc[this.jobLen]=t,this.jobArg[this.jobLen]=+!!n,this.jobPos[this.jobLen]=r,this.jobLen++}}tryBacktrack(e,t,r,n,s){let i=e.longest;for(this.push(e,r,n,!1);this.jobLen>0;){this.jobLen--;let r=this.jobPc[this.jobLen],n=1===this.jobArg[this.jobLen],a=this.jobPos[this.jobLen],B=!0;for(;B||this.shouldVisit(r,a);){B=!1;let o=e.prog.getInst(r);switch(o.op){case Z.FAIL:throw new W("unexpected InstFail");case Z.ALT:if(n){n=!1,r=o.arg;continue}this.push(e,r,a,!0),r=o.out;continue;case Z.ALT_MATCH:{let t=e.prog.getInst(o.out);if(Z.isRuneOp(t.op)){this.push(e,o.arg,a,!1),r=o.arg,a=this.end;continue}this.push(e,o.out,this.end,!1),r=o.out;continue}case Z.RUNE:{let e=t.step(a);if(e===U.EOF()||!o.matchRune(e>>3))break;a+=7&e,r=o.out;continue}case Z.RUNE1:{let e=t.step(a);if(e===U.EOF()||e>>3!==o.runes[0])break;a+=7&e,r=o.out;continue}case Z.RUNE_ANY_NOT_NL:{let e=t.step(a);if(e===U.EOF()||e>>3==10)break;a+=7&e,r=o.out;continue}case Z.RUNE_ANY:{let e=t.step(a);if(e===U.EOF())break;a+=7&e,r=o.out;continue}case Z.CAPTURE:if(n){this.cap[o.arg]=a;break}o.arg<this.ncap&&(this.push(e,r,this.cap[o.arg],!0),this.cap[o.arg]=a),r=o.out;continue;case Z.EMPTY_WIDTH:{let e=t.context(a);if((o.arg&~e)!=0)break;r=o.out;continue}case Z.NOP:r=o.out;continue;case Z.MATCH:{if(s===w.ANCHOR_BOTH&&a!==this.end)break;if(0===this.ncap)return!0;this.ncap>1&&(this.cap[1]=a);let e=this.matchcap[1];if((-1===e||i&&a>0&&a>e)&&this.matchcap.set(this.cap),!i||a===this.end)return!0;break}case Z.LB_WRITE:case Z.LB_CHECK:throw new W("Backtracker cannot evaluate Lookbehind instructions");default:throw new W("bad inst")}break}}return i&&this.matchcap.length>1&&this.matchcap[1]>=0}};let eB=[];var eo=class e{static shouldBacktrack(e){return 500>=e.numInst()}static maxBitStateLen(t){return e.shouldBacktrack(t)?Math.floor(262144/t.numInst()):0}static execute(e,t,r,n,s){let i=e.cond;if(i===k.EMPTY_ALL||(n===w.ANCHOR_START||n===w.ANCHOR_BOTH)&&0!==r||(i&k.EMPTY_BEGIN_TEXT)!=0&&0!==r)return null;let a=eB.length>0?eB.pop():new ea,B=t.endPos();a.reset(e.prog,B,s);let o=!1;if((i&k.EMPTY_BEGIN_TEXT)!=0||n===w.ANCHOR_START||n===w.ANCHOR_BOTH)a.ncap>0&&(a.cap[0]=r),a.tryBacktrack(e,t,e.prog.start,r,n)&&(o=!0);else{let s=-1;for(;r<=B&&0!==s;r+=s){if(e.prefix.length>0){let n=t.index(e,r);if(n<0)break;r+=n}if(a.ncap>0&&(a.cap[0]=r),a.tryBacktrack(e,t,e.prog.start,r,n)){o=!0;break}let i=t.step(r);s=i===U.EOF()?0:7&i}}if(!o)return eB.push(a),null;let l=0===s?[]:k.toArray(a.matchcap.subarray(0,s));return eB.push(a),l}},el=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++)}},eu=class{constructor(e){this.start=e.start,this.numCap=e.numCap,this.inst=Array(e.inst.length);for(let t=0;t<e.inst.length;t++){const r=e.inst[t],n=new Z(r.op);n.out=r.out,n.arg=r.arg,n.runes=r.runes?r.runes.slice():[],n.next=null,this.inst[t]=n}}},eh=class e{static compile(e){if(0===e.start||e.numLb>0)return null;let t=e.inst[e.start];if(t.op!==Z.EMPTY_WIDTH||(t.arg&k.EMPTY_BEGIN_TEXT)==0)return null;let r=!1;for(let t=0;t<e.inst.length;t++)if(e.inst[t].op===Z.ALT||e.inst[t].op===Z.ALT_MATCH){r=!0;break}for(let t=0;t<e.inst.length;t++){let n=e.inst[t],s=e.inst[n.out].op;switch(n.op){case Z.ALT:case Z.ALT_MATCH:if(s===Z.MATCH||e.inst[n.arg].op===Z.MATCH)return null;break;
1case Z.EMPTY_WIDTH:if(s===Z.MATCH){if((n.arg&k.EMPTY_END_TEXT)===k.EMPTY_END_TEXT)continue;return null}break;default:if(s===Z.MATCH&&r)return null}}let n=(e=>{let t=new eu(e);for(let e=0;e<t.inst.length;e++){let r=t.inst[e];if(r.op!==Z.ALT&&r.op!==Z.ALT_MATCH)continue;let n="out",s="arg",i=t.inst[r[s]];if(i.op!==Z.ALT&&i.op!==Z.ALT_MATCH&&(n="arg",s="out",(i=t.inst[r[s]]).op!==Z.ALT&&i.op!==Z.ALT_MATCH))continue;let a=t.inst[r[n]];if(a.op===Z.ALT||a.op===Z.ALT_MATCH)continue;let B="out",o="arg",l=!1;i.out===e?l=!0:i.arg===e&&(l=!0,B="arg",o="out"),l&&(i[B]=r[n]),r[n]===i[B]&&(r[s]=i[o])}return t})(e);return null!==(n=(e=>{if(e.inst.length>=1e3)return null;let t=new el(e.inst.length),r=new el(e.inst.length),n=Array(e.inst.length),s=Array(e.inst.length).fill(!1),i=a=>{let B=!0,o=e.inst[a];if(r.contains(a))return!0;switch(r.insert(a),o.op){case Z.ALT:case Z.ALT_MATCH:{B=i(o.out)&&i(o.arg);let e=s[o.out],t=s[o.arg];if(e&&t)return!1;if(t){let r=o.out;o.out=o.arg,o.arg=r;let n=e;e=t,t=n}e&&(s[a]=!0,o.op=Z.ALT_MATCH);let r=((e,t,r,n)=>{let s=e.length,i=t.length,a=0,B=0,o=[],l=[],u=-1,h=s=>{let i=s?e:t,h=s?a:B;return(!(u>0)||!(i[h]<=o[u]))&&(o.push(i[h],i[h+1]),s?a+=2:B+=2,u+=2,l.push(s?r:n),!0)};for(;a<s||B<i;)if(!h(!!(B>=i)||!(a>=s)&&!(t[B]<e[a])&&!0))return null;return{merged:o,next:l}})(n[o.out]||[],n[o.arg]||[],o.out,o.arg);if(!r)return!1;n[a]=r.merged,o.next=new Uint32Array(r.next);break}case Z.CAPTURE:case Z.EMPTY_WIDTH:case Z.NOP:B=i(o.out),s[a]=s[o.out],n[a]=n[o.out]?n[o.out].slice():[],o.next=new Uint32Array(Math.floor(n[a].length/2)+1).fill(o.out);break;case Z.MATCH:case Z.FAIL:s[a]=o.op===Z.MATCH;break;case Z.RUNE:{if(s[a]=!1,o.next&&o.next.length>0)break;if(t.insert(o.out),!o.runes||0===o.runes.length){n[a]=[],o.next=new Uint32Array([o.out]);break}let e=[];if(1===o.runes.length&&(o.arg&w.FOLD_CASE)!=0){let t=o.runes[0];e.push(t,t);for(let r=O.simpleFold(t);r!==t;r=O.simpleFold(r))e.push(r,r);e.sort((e,t)=>e-t)}else for(let t=0;t<o.runes.length;t++)e.push(o.runes[t]);n[a]=e,o.next=new Uint32Array(Math.floor(e.length/2)+1).fill(o.out),o.op=Z.RUNE;break}case Z.RUNE1:{if(s[a]=!1,o.next&&o.next.length>0)break;t.insert(o.out);let e=[];
1if((o.arg&w.FOLD_CASE)!=0){let t=o.runes[0];e.push(t,t);for(let r=O.simpleFold(t);r!==t;r=O.simpleFold(r))e.push(r,r);e.sort((e,t)=>e-t)}else e.push(o.runes[0],o.runes[0]);n[a]=e,o.next=new Uint32Array(Math.floor(e.length/2)+1).fill(o.out),o.op=Z.RUNE;break}case Z.RUNE_ANY:if(s[a]=!1,o.next&&o.next.length>0)break;t.insert(o.out),n[a]=[0,O.MAX_RUNE],o.next=new Uint32Array([o.out]);break;case Z.RUNE_ANY_NOT_NL:if(s[a]=!1,o.next&&o.next.length>0)break;t.insert(o.out),n[a]=[0,9,11,O.MAX_RUNE],o.next=new Uint32Array(Math.floor(n[a].length/2)+1).fill(o.out)}return B};for(t.clear(),t.insert(e.start);!t.empty();)if(r.clear(),!i(t.next()))return null;for(let t=0;t<e.inst.length;t++)n[t]&&(e.inst[t].runes=n[t]);return e})(n))&&((e,t)=>{for(let r=0;r<t.inst.length;r++){let n=t.inst[r];switch(n.op){case Z.ALT:case Z.ALT_MATCH:case Z.RUNE:break;case Z.CAPTURE:case Z.EMPTY_WIDTH:case Z.NOP:case Z.MATCH:case Z.FAIL:e.inst[r].next=null;break;case Z.RUNE1:case Z.RUNE_ANY:case Z.RUNE_ANY_NOT_NL:e.inst[r].next=null,e.inst[r].op=n.op,e.inst[r].runes=n.runes?n.runes.slice():[]}}})(n,e),n}static next(e,t){let r=e.matchRunePos(t);return r>=0?e.next[r]:e.op===Z.ALT_MATCH?e.out:0}static execute(t,r,n,s,i){let a,B=t.onepass;if(!B)return null;let o=new Int32Array(i).fill(-1),l=!1,u=r.step(n),h=u>>3,c=7&u,C=U.EOF(),d=-1,f=0;u!==U.EOF()&&(C=r.step(n+c))!==U.EOF()&&(d=C>>3,f=7&C);let g=0===n?k.emptyOpContext(-1,h):r.context(n),p=B.start;for(;;){switch(p=(a=B.inst[p]).out,a.op){case Z.MATCH:if(s===w.ANCHOR_BOTH&&n!==r.endPos())return null;return l=!0,o.length>0&&(o[0]=0,o[1]=n),0===i?[]:k.toArray(o);case Z.RUNE:if(!a.matchRune(h))return null;break;case Z.RUNE1:if(h!==a.runes[0])return null;break;case Z.RUNE_ANY:break;case Z.RUNE_ANY_NOT_NL:if(10===h)return null;break;case Z.ALT:case Z.ALT_MATCH:p=e.next(a,h);continue;case Z.FAIL:return null;case Z.NOP:continue;case Z.EMPTY_WIDTH:if((a.arg&~g)!=0)return null;continue;case Z.CAPTURE:a.arg<o.length&&(o[a.arg]=n);continue;default:throw new W("bad inst")}if(0===c)break;g=k.emptyOpContext(h,d),n+=c,h=d,c=f,-1!==h&&((C=r.step(n+c))!==U.EOF()?(d=C>>3,f=7&C):(d=-1,f=0))}return l?0===i?[]:k.toArray(o):null}},ec=class e{static Op=G(["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(t){return t>=e.Op.LEFT_PAREN}static emptySubs(){return[]}static quoteIfHyphen(e){return e===v.CODES.get("-")?"\\":""}static fromRegexp(t){let r=new e(t.op);return r.flags=t.flags,r.subs=t.subs,r.runes=t.runes,r.cap=t.cap,r.min=t.min,r.max=t.max,r.name=t.name,r.namedGroups=t.namedGroups,r.lb=t.lb,r}constructor(t){this.op=t,this.flags=0,this.subs=e.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=e.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 e.Op.NO_MATCH:t+="[^\\x00-\\x{10FFFF}]";break;case e.Op.EMPTY_MATCH:t+="(?:)";break;case e.Op.STAR:case e.Op.PLUS:case e.Op.QUEST:case e.Op.REPEAT:{let r=this.subs[0];switch(r.op>e.Op.CAPTURE||r.op===e.Op.LITERAL&&r.runes.length>1?t+=`(?:${r.appendTo()})`:t+=r.appendTo(),this.op){case e.Op.STAR:t+="*";break;case e.Op.PLUS:t+="+";break;case e.Op.QUEST:t+="?";break;case e.Op.REPEAT:t+=`{${this.min}`,this.min!==this.max&&(t+=",",this.max>=0&&(t+=this.max)),t+="}"}(this.flags&w.NON_GREEDY)!=0&&(t+="?");break}case e.Op.CONCAT:for(let r of this.subs)r.op===e.Op.ALTERNATE?t+=`(?:${r.appendTo()})`:t+=r.appendTo();break;case e.Op.ALTERNATE:{let e="";for(let r of this.subs)t+=e,e="|",t+=r.appendTo();break}case e.Op.LITERAL:for(let e of((this.flags&w.FOLD_CASE)!=0&&(t+="(?i:"),this.runes))t+=k.escapeRune(e);(this.flags&w.FOLD_CASE)!=0&&(t+=")");break;case e.Op.ANY_CHAR_NOT_NL:t+="(?-s:.)";break;case e.Op.ANY_CHAR:t+="(?s:.)";break;
vendor: 14,350 bytes, line 1
1case e.Op.PLB:t+=`(?<=${this.subs[0].appendTo()})`;break;case e.Op.NLB:t+=`(?<!${this.subs[0].appendTo()})`;break;case e.Op.CAPTURE:null===this.name||0===this.name.length?t+="(":t+=`(?P<${this.name}>`,this.subs[0].op!==e.Op.EMPTY_MATCH&&(t+=this.subs[0].appendTo()),t+=")";break;case e.Op.BEGIN_TEXT:t+="\\A";break;case e.Op.END_TEXT:(this.flags&w.WAS_DOLLAR)!=0?t+="(?-m:$)":t+="\\z";break;case e.Op.BEGIN_LINE:t+="^";break;case e.Op.END_LINE:t+="$";break;case e.Op.WORD_BOUNDARY:t+="\\b";break;case e.Op.NO_WORD_BOUNDARY:t+="\\B";break;case e.Op.CHAR_CLASS:if(this.runes.length%2!=0){t+="[invalid char class]";break}if(t+="[",0===this.runes.length)t+="^\\x00-\\x{10FFFF}";else if(0===this.runes[0]&&this.runes[this.runes.length-1]===O.MAX_RUNE){t+="^";for(let r=1;r<this.runes.length-1;r+=2){let n=this.runes[r]+1,s=this.runes[r+1]-1;t+=e.quoteIfHyphen(n),t+=k.escapeRune(n),n!==s&&(t+="-",t+=e.quoteIfHyphen(s),t+=k.escapeRune(s))}}else for(let r=0;r<this.runes.length;r+=2){let n=this.runes[r],s=this.runes[r+1];t+=e.quoteIfHyphen(n),t+=k.escapeRune(n),n!==s&&(t+="-",t+=e.quoteIfHyphen(s),t+=k.escapeRune(s))}t+="]";break;default:t+=this.op}return t}maxCap(){let t=0;if(this.op===e.Op.CAPTURE&&(t=this.cap),null!==this.subs)for(let e of this.subs){let r=e.maxCap();t<r&&(t=r)}return t}equals(t){if(!(null!==t&&t instanceof e)||this.op!==t.op)return!1;switch(this.op){case e.Op.END_TEXT:if((this.flags&w.WAS_DOLLAR)!=(t.flags&w.WAS_DOLLAR))return!1;break;case e.Op.LITERAL:case e.Op.CHAR_CLASS:if(null===this.runes&&null===t.runes)break;if(null===this.runes||null===t.runes||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 e.Op.ALTERNATE:case e.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 e.Op.STAR:case e.Op.PLUS:case e.Op.QUEST:if((this.flags&w.NON_GREEDY)!=(t.flags&w.NON_GREEDY)||!this.subs[0].equals(t.subs[0]))return!1;break;case e.Op.REPEAT:if((this.flags&w.NON_GREEDY)!=(t.flags&w.NON_GREEDY)||this.min!==t.min||this.max!==t.max||!this.subs[0].equals(t.subs[0]))return!1;break;case e.Op.CAPTURE:if(this.cap!==t.cap||(null===this.name?null!==t.name:this.name!==t.name)||!this.subs[0].equals(t.subs[0]))return!1;break;case e.Op.PLB:case e.Op.NLB:if(this.lb!==t.lb||!this.subs[0].equals(t.subs[0]))return!1}return!0}},eC=class{constructor(e){for(const t of(this.next=[Object.create(null)],this.fail=[0],this.match=[!1],e)){let e=0;for(let r=0;r<t.length;r++){const n=t[r];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}const t=[];for(const e in this.next[0])if(Object.prototype.hasOwnProperty.call(this.next[0],e)){const r=this.next[0][e];this.fail[r]=0,t.push(r)}for(;t.length>0;){const e=t.shift();for(const r in this.next[e])if(Object.prototype.hasOwnProperty.call(this.next[e],r)){const n=this.next[e][r];let s=this.fail[e];for(;0!==s&&!(r in this.next[s]);)s=this.fail[s];r in this.next[s]?this.fail[n]=this.next[s][r]:this.fail[n]=0,this.match[n]=this.match[n]||this.match[this.fail[n]],t.push(n)}}}searchUTF16(e,t,r){let n=0;for(let s=t;s<r;s++){let t=e.charCodeAt(s);for(;0!==n&&!(t in this.next[n]);)n=this.fail[n];if(t in this.next[n]&&(n=this.next[n][t]),this.match[n])return!0}return!1}searchUTF8(e,t,r){let n=0;for(let s=t;s<r;s++){let t=e[s];for(;0!==n&&!(t in this.next[n]);)n=this.fail[n];if(t in this.next[n]&&(n=this.next[n][t]),this.match[n])return!0}return!1}},ed=class e{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(t,r){switch(this.type){case e.Type.NONE:return!0;case e.Type.EXACT:return t.hasString(this,r);case e.Type.AND:for(let e=0;e<this.subs.length;e++)if(!this.subs[e].eval(t,r))return!1;return!0;case e.Type.OR:if(this.ac16&&this.ac8)return t.hasAnyString(this,r);for(let e=0;e<this.subs.length;e++)if(this.subs[e].eval(t,r))return!0;return!1;default:return!0}}},ef=class e{static build(t){let r=e.fromRegexp(t);return e.simplify(r)}static fromRegexp(t){if(!t)return new ed(ed.Type.NONE);switch(t.op){case ec.Op.PLB:case ec.Op.NLB:case ec.Op.NO_MATCH:case ec.Op.EMPTY_MATCH:case ec.Op.BEGIN_LINE:case ec.Op.END_LINE:case ec.Op.BEGIN_TEXT:case ec.Op.END_TEXT:case ec.Op.WORD_BOUNDARY:case ec.Op.NO_WORD_BOUNDARY:case ec.Op.CHAR_CLASS:case ec.Op.ANY_CHAR_NOT_NL:case ec.Op.ANY_CHAR:return new ed(ed.Type.NONE);case ec.Op.LITERAL:{if(0===t.runes.length||(t.flags&w.FOLD_CASE)!=0)return new ed(ed.Type.NONE);let e=new ed(ed.Type.EXACT),r="";for(let e=0;e<t.runes.length;e++)r+=String.fromCodePoint(t.runes[e]);return e.str=r,e.bytes=k.stringToUtf8ByteArray(e.str),e}case ec.Op.CAPTURE:case ec.Op.PLUS:return e.fromRegexp(t.subs[0]);case ec.Op.REPEAT:if(t.min>=1)return e.fromRegexp(t.subs[0]);return new ed(ed.Type.NONE);case ec.Op.CONCAT:{let r=new ed(ed.Type.AND);for(let n of t.subs)r.subs.push(e.fromRegexp(n));return r}case ec.Op.ALTERNATE:{let r=new ed(ed.Type.OR);for(let n of t.subs)r.subs.push(e.fromRegexp(n));return r}default:return new ed(ed.Type.NONE)}}static simplify(t){if(t.type===ed.Type.EXACT||t.type===ed.Type.NONE)return t;if(t.type===ed.Type.AND){let r=[];for(let n of t.subs){let t=e.simplify(n);if(t.type!==ed.Type.NONE)if(t.type===ed.Type.AND)for(let e=0;e<t.subs.length;e++)r.push(t.subs[e]);else r.push(t)}return 0===r.length?new ed(ed.Type.NONE):1===r.length?r[0]:(t.subs=r,t)}if(t.type===ed.Type.OR){let r=[];for(let n of t.subs){let t=e.simplify(n);if(t.type===ed.Type.NONE)return new ed(ed.Type.NONE);if(t.type===ed.Type.OR)for(let e=0;e<t.subs.length;e++)r.push(t.subs[e]);else r.push(t)}if(0===r.length)return new ed(ed.Type.NONE);if(1===r.length)return r[0];let n=new Set,s=[];for(let e of r)e.type===ed.Type.EXACT?n.has(e.str)||(n.add(e.str),s.push(e)):s.push(e);t.subs=s;let i=!0;for(let e of s)if(e.type!==ed.Type.EXACT){i=!1;break}i&&s.length>1&&(t.ac16=new eC(s.map(e=>{let t=[];for(let r=0;r<e.str.length;r++)t.push(e.str.charCodeAt(r));return t})),t.ac8=new eC(s.map(e=>e.bytes)))}return t}},eg=class{constructor(e=0,t=0){this.head=e,this.tail=t}},ep=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 Z(e))}skipNop(e){let t=this.inst[e];for(;t.op===Z.NOP||t.op===Z.CAPTURE;)e=(t=this.inst[e]).out;return t}prefix(){let e="",t=this.skipNop(this.start);if(!Z.isRuneOp(t.op)||1!==t.runes.length)return[t.op===Z.MATCH,e];for(;Z.isRuneOp(t.op)&&1===t.runes.length&&(t.arg&w.FOLD_CASE)==0;)e+=String.fromCodePoint(t.runes[0]),t=this.skipNop(t.out);return[t.op===Z.MATCH,e]}startCond(){let e=0,t=this.start;r:for(;;){let r=this.inst[t];switch(r.op){case Z.EMPTY_WIDTH:e|=r.arg;break;case Z.FAIL:return -1;case Z.CAPTURE:case Z.NOP:break;default:break r}t=r.out}return e}patch(e,t){let r=e.head;for(;0!==r;){let e=this.inst[r>>1];(1&r)==0?(r=e.out,e.out=t):(r=e.arg,e.arg=t)}}append(e,t){if(0===e.head)return t;if(0===t.head)return e;let r=this.inst[e.tail>>1];return(1&e.tail)==0?r.out=t.head:r.arg=t.head,new eg(e.head,t.tail)}toString(){let e="";for(let t=0;t<this.inst.length;t++){let r=e.length;e+=t,t===this.start&&(e+="*"),e+=" ".substring(e.length-r),e+=this.inst[t],e+="\n"}return e}},em=class{constructor(e=0,t=new eg,r=!1){this.i=e,this.out=t,this.nullable=r}},eD=class e{static ANY_RUNE_NOT_NL(){return[0,v.CODES.get("\n")-1,v.CODES.get("\n")+1,O.MAX_RUNE]}static ANY_RUNE(){return[0,O.MAX_RUNE]}static compileRegexp(t){let r=new e,n=r.compile(t);return r.prog.patch(n.out,r.newInst(Z.MATCH).i),r.prog.start=n.i,r.prog}static compileSet(t){let r=new e;if(0===t.length)return r.prog.start=r.newInst(Z.FAIL).i,r.prog;let n=[];for(let e=0;e<t.length;e++){let s=r.compile(t[e]),i=r.newInst(Z.MATCH);r.prog.getInst(i.i).arg=e,r.prog.patch(s.out,i.i),n.push(s.i)}let s=n[0];for(let e=1;e<n.length;e++){let t=r.newInst(Z.ALT),i=r.prog.getInst(t.i);i.out=s,i.arg=n[e],s=t.i}return r.prog.start=s,r.prog}constructor(){this.prog=new ep,this.newInst(Z.FAIL)}newInst(e){return this.prog.addInst(e),new em(this.prog.numInst()-1,new eg,!0)}nop(){let e=this.newInst(Z.NOP);return e.out=new eg(e.i<<1,e.i<<1),e}fail(){return new em}cap(e){let t=this.newInst(Z.CAPTURE);return t.out=new eg(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 em(e.i,t.out,e.nullable&&t.nullable))}alt(e,t){if(0===e.i)return t;if(0===t.i)return e;let r=this.newInst(Z.ALT),n=this.prog.getInst(r.i);return n.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){let r=this.newInst(Z.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new eg(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new eg(r.i<<1|1,r.i<<1|1)),this.prog.patch(e.out,r.i),r}quest(e,t){let r=this.newInst(Z.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new eg(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new eg(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 em(e.i,this.loop(e,t).out,e.nullable)}empty(e){let t=this.newInst(Z.EMPTY_WIDTH);return this.prog.getInst(t.i).arg=e,t.out=new eg(t.i<<1,t.i<<1),t}rune(e,t){let r=this.newInst(Z.RUNE);r.nullable=!1;let n=this.prog.getInst(r.i);return n.runes=e,t&=w.FOLD_CASE,(1!==e.length||O.simpleFold(e[0])===e[0])&&(t&=~w.FOLD_CASE),n.arg=t,r.out=new eg(r.i<<1,r.i<<1),(t&w.FOLD_CASE)==0&&1===e.length||2===e.length&&e[0]===e[1]?n.op=Z.RUNE1:2===e.length&&0===e[0]&&e[1]===O.MAX_RUNE?n.op=Z.RUNE_ANY:4===e.length&&0===e[0]&&e[1]===v.CODES.get("\n")-1&&e[2]===v.CODES.get("\n")+1&&e[3]===O.MAX_RUNE&&(n.op=Z.RUNE_ANY_NOT_NL),r}lookBehind(t,r){let n=this.newInst(Z.LB_WRITE);this.prog.getInst(n.i).arg=r;let s=this.rune(e.ANY_RUNE(),0),i=this.star(s,!0),a=this.cat(i,t);this.prog.patch(a.out,n.i);let B=this.newInst(Z.LB_CHECK);return this.prog.getInst(B.i).arg=r,this.prog.lbStarts.push(a.i),Math.abs(r)>this.prog.numLb&&(this.prog.numLb=Math.abs(r)),B.out=new eg(B.i<<1,B.i<<1),B}compile(t){switch(t.op){case ec.Op.NO_MATCH:return this.fail();case ec.Op.EMPTY_MATCH:return this.nop();case ec.Op.LITERAL:if(0===t.runes.length)return this.nop();{let e=null;for(let r of t.runes){let n=this.rune([r],t.flags);e=null===e?n:this.cat(e,n)}return e}case ec.Op.CHAR_CLASS:return this.rune(t.runes,t.flags);case ec.Op.ANY_CHAR_NOT_NL:return this.rune(e.ANY_RUNE_NOT_NL(),0);case ec.Op.ANY_CHAR:return this.rune(e.ANY_RUNE(),0);case ec.Op.BEGIN_LINE:return this.empty(k.EMPTY_BEGIN_LINE);case ec.Op.END_LINE:return this.empty(k.EMPTY_END_LINE);case ec.Op.BEGIN_TEXT:return this.empty(k.EMPTY_BEGIN_TEXT);case ec.Op.END_TEXT:return this.empty(k.EMPTY_END_TEXT);case ec.Op.WORD_BOUNDARY:return this.empty(k.EMPTY_WORD_BOUNDARY);case ec.Op.NO_WORD_BOUNDARY:return this.empty(k.EMPTY_NO_WORD_BOUNDARY);case ec.Op.PLB:case ec.Op.NLB:return this.lookBehind(this.compile(t.subs[0]),t.lb);case ec.Op.CAPTURE:{let e=this.cap(t.cap<<1),r=this.compile(t.subs[0]),n=this.cap(t.cap<<1|1);return this.cat(this.cat(e,r),n)}case ec.Op.STAR:return this.star(this.compile(t.subs[0]),(t.flags&w.NON_GREEDY)!=0);case ec.Op.PLUS:return this.plus(this.compile(t.subs[0]),(t.flags&w.NON_GREEDY)!=0);case ec.Op.QUEST:return this.quest(this.compile(t.subs[0]),(t.flags&w.NON_GREEDY)!=0);case ec.Op.CONCAT:if(0===t.subs.length)return this.nop();{let e=null;for(let r of t.subs){let t=this.compile(r);e=null===e?t:this.cat(e,t)}return e}case ec.Op.ALTERNATE:if(0===t.subs.length)return this.nop();{let e=null;for(let r of t.subs){let t=this.compile(r);e=null===e?t:this.alt(e,t)}return e}default:throw new z("regexp: unhandled case in compile")}}},eE=class e{static simplify(t){if(null===t)return null;switch(t.op){case ec.Op.PLB:case ec.Op.NLB:case ec.Op.CAPTURE:{let r=e.simplify(t.subs[0]);if(r!==t.subs[0]){let e=ec.fromRegexp(t);return e.runes=[],e.subs=[r],e}break}case ec.Op.CONCAT:case ec.Op.ALTERNATE:{let r=[],n=!1;for(let s=0;s<t.subs.length;s++){let i=t.subs[s],a=e.simplify(i);if(a!==i&&(n=!0),t.op===ec.Op.CONCAT){if(a.op===ec.Op.NO_MATCH)return new ec(ec.Op.NO_MATCH);if(a.op===ec.Op.EMPTY_MATCH){n=!0;continue}if(a.op===ec.Op.CONCAT){n=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}else if(t.op===ec.Op.ALTERNATE){if(a.op===ec.Op.NO_MATCH){n=!0;continue}if(a.op===ec.Op.ALTERNATE){n=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}r.push(a)}if(n){if(0===r.length)return new ec(t.op===ec.Op.CONCAT?ec.Op.EMPTY_MATCH:ec.Op.NO_MATCH);if(1===r.length)return r[0];let e=ec.fromRegexp(t);return e.runes=[],e.subs=r,e}break}case ec.Op.CHAR_CLASS:if(null===t.runes)break;if(0===t.runes.length)return new ec(ec.Op.NO_MATCH);if(2===t.runes.length&&0===t.runes[0]&&t.runes[1]===O.MAX_RUNE)return new ec(ec.Op.ANY_CHAR);if(4===t.runes.length&&0===t.runes[0]&&t.runes[1]===v.CODES.get("\n")-1&&t.runes[2]===v.CODES.get("\n")+1&&t.runes[3]===O.MAX_RUNE)return new ec(ec.Op.ANY_CHAR_NOT_NL);break;case ec.Op.STAR:case ec.Op.PLUS:case ec.Op.QUEST:{let r=e.simplify(t.subs[0]);return e.simplify1(t.op,t.flags,r,t)}case ec.Op.REPEAT:{if(0===t.min&&0===t.max)return new ec(ec.Op.EMPTY_MATCH);let r=e.simplify(t.subs[0]);if(-1===t.max){if(0===t.min)return e.simplify1(ec.Op.STAR,t.flags,r,null);if(1===t.min)return e.simplify1(ec.Op.PLUS,t.flags,r,null);let n=new ec(ec.Op.CONCAT),s=[];for(let e=0;e<t.min-1;e++)s.push(r);return s.push(e.simplify1(ec.Op.PLUS,t.flags,r,null)),n.subs=s.slice(0),e.simplify(n)}if(1===t.min&&1===t.max)return r;let n=null;if(t.min>0){n=[];for(let e=0;e<t.min;e++)n.push(r)}if(t.max>t.min){let s=e.simplify1(ec.Op.QUEST,t.flags,r,null);for(let n=t.min+1;n<t.max;n++){let n=new ec(ec.Op.CONCAT);n.subs=[r,s],s=e.simplify1(ec.Op.QUEST,t.flags,n,null)}if(null===n)return s;n.push(s)}if(null!==n){let t=new ec(ec.Op.CONCAT);return t.subs=n.slice(0),e.simplify(t)}return new ec(ec.Op.NO_MATCH)}}return t}static simplify1(e,t,r,n){if(r.op===ec.Op.EMPTY_MATCH)return r;if(r.op===ec.Op.NO_MATCH)return e===ec.Op.PLUS?r:new ec(ec.Op.EMPTY_MATCH);if(e===r.op&&(t&w.NON_GREEDY)==(r.flags&w.NON_GREEDY))return r;if(null!==n&&n.op===e&&(n.flags&w.NON_GREEDY)==(t&w.NON_GREEDY)&&r===n.subs[
10])return n;let s=new ec(e);return s.flags=t,s.subs=[r],s}},ey=class{constructor(e,t){this.sign=e,this.cls=t}};let ew=[48,57],eI=[9,10,12,13,32,32],e_=[48,57,65,90,95,95,97,122],ev=new Map([["\\d",new ey(1,ew)],["\\D",new ey(-1,ew)],["\\s",new ey(1,eI)],["\\S",new ey(-1,eI)],["\\w",new ey(1,e_)],["\\W",new ey(-1,e_)]]),eb=[48,57,65,90,97,122],eT=[65,90,97,122],eS=[0,127],eN=[9,9,32,32],eA=[0,31,127,127],eF=[48,57],eO=[33,126],ex=[97,122],eL=[32,126],eR=[33,47,58,64,91,96,123,126],ek=[9,13,32,32],eG=[65,90],eP=[48,57,65,90,95,95,97,122],eM=[48,57,65,70,97,102],eH=new Map([["[:alnum:]",new ey(1,eb)],["[:^alnum:]",new ey(-1,eb)],["[:alpha:]",new ey(1,eT)],["[:^alpha:]",new ey(-1,eT)],["[:ascii:]",new ey(1,eS)],["[:^ascii:]",new ey(-1,eS)],["[:blank:]",new ey(1,eN)],["[:^blank:]",new ey(-1,eN)],["[:cntrl:]",new ey(1,eA)],["[:^cntrl:]",new ey(-1,eA)],["[:digit:]",new ey(1,eF)],["[:^digit:]",new ey(-1,eF)],["[:graph:]",new ey(1,eO)],["[:^graph:]",new ey(-1,eO)],["[:lower:]",new ey(1,ex)],["[:^lower:]",new ey(-1,ex)],["[:print:]",new ey(1,eL)],["[:^print:]",new ey(-1,eL)],["[:punct:]",new ey(1,eR)],["[:^punct:]",new ey(-1,eR)],["[:space:]",new ey(1,ek)],["[:^space:]",new ey(-1,ek)],["[:upper:]",new ey(1,eG)],["[:^upper:]",new ey(-1,eG)],["[:word:]",new ey(1,eP)],["[:^word:]",new ey(-1,eP)],["[:xdigit:]",new ey(1,eM)],["[:^xdigit:]",new ey(-1,eM)]]);var eV=class e{static charClassToString(e,t){let r="[";for(let n=0;n<t;n+=2){n>0&&(r+=" ");let t=e[n],s=e[n+1];t===s?r+=`0x${t.toString(16)}`:r+=`0x${t.toString(16)}-0x${s.toString(16)}`}return r+"]"}static cmp(e,t,r,n){let s=e[t]-r;return 0!==s?s:n-e[t+1]}static qsortIntPair(t,r,n){let s=(r+n)/2&-2,i=t[s],a=t[s+1],B=r,o=n;for(;B<=o;){for(;B<n&&0>e.cmp(t,B,i,a);)B+=2;for(;o>r&&e.cmp(t,o,i,a)>0;)o-=2;if(B<=o){if(B!==o){let e=t[B];t[B]=t[o],t[o]=e,e=t[B+1],t[B+1]=t[o+1],t[o+1]=e}B+=2,o-=2}}r<o&&e.qsortIntPair(t,r,o),B<n&&e.qsortIntPair(t,B,n)}constructor(e=k.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)return this;e.qsortIntPair(this.r,0,this.len-2);let t=2;for(let e=2;e<this.len;e+=2){let r=this.r[e],n=this.r[e+1];if(r<=this.r[t-1]+1){n>this.r[t-1]&&(this.r[t-1]=n);continue}this.r[t]=r,this.r[t+1]=n,t+=2}return this.len=t,this}appendLiteral(e,t){return(t&w.FOLD_CASE)!=0?this.appendFoldedRange(e,e):this.appendRange(e,e)}appendRange(e,t){if(this.len>0){for(let r=2;r<=4;r+=2)if(this.len>=r){let n=this.r[this.len-r],s=this.r[this.len-r+1];if(e<=s+1&&n<=t+1)return e<n&&(this.r[this.len-r]=e),t>s&&(this.r[this.len-r+1]=t),this}}return this.r[this.len++]=e,this.r[this.len++]=t,this}appendFoldedRange(e,t){if(e<=O.MIN_FOLD&&t>=O.MAX_FOLD||t<O.MIN_FOLD||e>O.MAX_FOLD)return this.appendRange(e,t);e<O.MIN_FOLD&&(this.appendRange(e,O.MIN_FOLD-1),e=O.MIN_FOLD),t>O.MAX_FOLD&&(this.appendRange(O.MAX_FOLD+1,t),t=O.MAX_FOLD);for(let r=e;r<=t;r++){this.appendRange(r,r);for(let e=O.simpleFold(r);e!==r;e=O.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 r=0;r<e.length;r+=2){let n=e[r],s=e[r+1];t<=n-1&&this.appendRange(t,n-1),t=s+1}return t<=O.MAX_RUNE&&this.appendRange(t,O.MAX_RUNE),this}appendTable(e){for(let t=0;t<e.length;++t){let r=e.getLo(t),n=e.getHi(t),s=e.getStride(t);if(1===s){this.appendRange(r,n);continue}for(let e=r;e<=n;e+=s)this.appendRange(e,e)}return this}appendNegatedTable(e){let t=0;for(let r=0;r<e.length;++r){let n=e.getLo(r),s=e.getHi(r),i=e.getStride(r);if(1===i){t<=n-1&&this.appendRange(t,n-1),t=s+1;continue}for(let e=n;e<=s;e+=i)t<=e-1&&this.appendRange(t,e-1),t=e+1}return t<=O.MAX_RUNE&&this.appendRange(t,O.MAX_RUNE),this}appendTableWithSign(e,t){return t<0?this.appendNegatedTable(e):this.appendTable(e)}negateClass(){let e=0,t=0;for(let r=0;r<this.len;r+=2){let n=this.r[r],s=this.r[r+1];e<=n-1&&(this.r[t]=e,this.r[t+1]=n-1,t+=2),e=s+1}return this.len=t,e<=O.MAX_RUNE&&(this.r[this.len++]=e,this.r[this.len++]=O.MAX_RUNE),this}appendClassWithSign(e,t){return t<0?this.appendNegatedClass(e):this.appendClass(e)}appendGroup(t,r){let n=t.cls;return r&&(n=new e().appendFoldedClass(n).cleanClass().toArray()),this.appendClassWithSign(n,t.sign)}toString(){return e.charClassToString(this.r,this.len)}},eU=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(){let e=this.str.codePointAt(this.position);return this.position+=k.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()}},eJ=class e{static ERR_INTERNAL_ERROR="regexp/syntax: internal error";static ERR_INVALID_CHAR_RANGE="invalid character class range";static ERR_INVALID_ESCAPE="invalid escape sequence";
1static 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=0x2000000;static ANY_TABLE=new b(new Uint32Array([0,O.MAX_RUNE,1]));static ASCII_TABLE=new b(new Uint32Array([0,127,1]));static ASCII_FOLD_TABLE=new b(new Uint32Array([0,127,1,383,383,1,8490,8490,1]));static unicodeTable(t){return"Any"===t?{tab:e.ANY_TABLE,fold:e.ANY_TABLE,sign:1}:"Ascii"===t?{tab:e.ASCII_TABLE,fold:e.ASCII_FOLD_TABLE,sign:1}:"Assigned"===t?{tab:F.CATEGORIES.get("Cn"),fold:F.CATEGORIES.get("Cn"),sign:-1}:"Lc"===t?{tab:F.CATEGORIES.get("LC"),fold:F.FOLD_CATEGORIES.get("LC"),sign:1}:F.CATEGORIES.has(t)?{tab:F.CATEGORIES.get(t),fold:F.FOLD_CATEGORIES.get(t),sign:1}:F.SCRIPTS.has(t)?{tab:F.SCRIPTS.get(t),fold:F.FOLD_SCRIPT.get(t),sign:1}:null}static minFoldRune(e){if(e<O.MIN_FOLD||e>O.MAX_FOLD)return e;let t=e,r=e;for(e=O.simpleFold(e);e!==r;e=O.simpleFold(e))t>e&&(t=e);return t}static leadingRegexp(e){if(e.op===ec.Op.EMPTY_MATCH)return null;if(e.op===ec.Op.CONCAT&&e.subs.length>0){let t=e.subs[0];return t.op===ec.Op.EMPTY_MATCH?null:t}return e}static literalRegexp(e,t){let r=new ec(ec.Op.LITERAL);return r.flags=t,r.runes=k.stringToRunes(e),r}static parse(t,r){return new e(t,r).parseInternal()}static parseRepeat(t){let r,n=t.pos();if(!t.more()||!t.lookingAt("{"))return -1;t.skip(1);let s=e.parseInt(t);if(-1===s||!t.more())return -1;if(t.lookingAt(",")){if(t.skip(1),!t.more())return -1;if(t.lookingAt("}"))r=-1;else if(-1===(r=e.parseInt(t)))return -1}else r=s;if(!t.more()||!t.lookingAt("}"))return -1;if(t.skip(1),s<0||s>1e3||-2===r||r>1e3||r>=0&&s>r)throw new Q(e.ERR_INVALID_REPEAT_SIZE,t.from(n));return s<<16|r&O.MAX_BMP}static isValidCaptureName(e){if(0===e.length)return!1;for(let t=0;t<e.length;t++){let r=e.codePointAt(t);if(r!==v.CODES.get("_")&&!k.isalnum(r))return!1}return!0}static parseInt(e){let t=e.pos();for(;e.more()&&e.peek()>=v.CODES.get("0")&&e.peek()<=v.CODES.get("9");)e.skip(1);let r=e.from(t);return 0===r.length||r.length>1&&r.codePointAt(0)===v.CODES.get("0")?-1:r.length>8?-2:parseInt(r,10)}static isCharClass(e){return e.op===ec.Op.LITERAL&&1===e.runes.length||e.op===ec.Op.CHAR_CLASS||e.op===ec.Op.ANY_CHAR_NOT_NL||e.op===ec.Op.ANY_CHAR}static matchRune(e,t){switch(e.op){case ec.Op.LITERAL:return 1===e.runes.length&&e.runes[0]===t;case ec.Op.CHAR_CLASS:for(let r=0;r<e.runes.length;r+=2)if(e.runes[r]<=t&&t<=e.runes[r+1])return!0;break;case ec.Op.ANY_CHAR_NOT_NL:return t!==v.CODES.get("\n");case ec.Op.ANY_CHAR:return!0}return!1}static mergeCharClass(t,r){switch(t.op){case ec.Op.ANY_CHAR:break;case ec.Op.ANY_CHAR_NOT_NL:e.matchRune(r,v.CODES.get("\n"))&&(t.op=ec.Op.ANY_CHAR);break;case ec.Op.CHAR_CLASS:r.op===ec.Op.LITERAL?t.runes=new eV(t.runes).appendLiteral(r.runes[0],r.flags).toArray():t.runes=new eV(t.runes).appendClass(r.runes).toArray();break;case ec.Op.LITERAL:if(r.runes[0]===t.runes[0]&&r.flags===t.flags)break;t.op=ec.Op.CHAR_CLASS,t.runes=new eV().appendLiteral(t.runes[0],t.flags).appendLiteral(r.runes[0],r.flags).toArray()}}static parseEscape(t){let r=t.pos();if(t.skip(1),!t.more())throw new Q(e.ERR_TRAILING_BACKSLASH);let n=t.pop();n:switch(n){case v.CODES.get("1"):case v.CODES.get("2"):case v.CODES.get("3"):case v.CODES.get("4"):case v.CODES.get("5"):case v.CODES.get("6"):case v.CODES.get("7"):if(!t.more()||t.peek()<v.CODES.get("0")||t.peek()>v.CODES.get("7"))break;case v.CODES.get("0"):{let e=n-v.CODES.get("0");for(let r=1;r<3&&!(!t.more()||t.peek()<v.CODES.get("0")||t.peek()>v.CODES.get("7"));r++)e=8*e+t.peek()-v.CODES.get("0"),t.skip(1);return e}case v.CODES.get("x"):{if(!t.more())break;if((n=t.pop())===v.CODES.get("{")){let e=0,r=0;for(;;){if(!t.more())break n;if((n=t.pop())===v.CODES.get("}"))break;let s=k.unhex(n);if(s<0||(r=16*r+s)>O.MAX_RUNE)break n;e++}if(0===e)break;return r}let e=k.unhex(n);if(!t.more())break;n=t.pop();let r=k.unhex(n);if(e<0||r<0)break;return 16*e+r}case v.CODES.get("a"):return v.CODES.get("\x07");case v.CODES.get("f"):return v.CODES.get("\f");case v.CODES.get("n"):return v.CODES.get("\n");case v.CODES.get("r"):return v.CODES.get("\r");case v.CODES.get("t"):return v.CODES.get(" ");case v.CODES.get("v"):return v.CODES.get("\v");default:if(n<=O.MAX_ASCII&&!k.isalnum(n))return n}throw new Q(e.ERR_INVALID_ESCAPE,t.from(r))}static parseClassChar(t,r){if(!t.more())throw new Q(e.ERR_MISSING_BRACKET,t.from(r));return t.lookingAt("\\")?e.parseEscape(t):t.pop()}static concatRunes(e,t){for(let r=0;r<t.length;r++)e.push(t[r]);return e}static hasCapture(t){if(null===t)return!1;if(t.op===ec.Op.CAPTURE)return!0;
1if(t.subs){for(let r of t.subs)if(e.hasCapture(r))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&&t.subs.length>0?(this.free=t.subs[0],t.reinit(),t.op=e):(t=new ec(e),this.numRegexp+=1),t}reuse(e){null!==this.height&&this.height.has(e)&&this.height.delete(e),null!==e.subs&&e.subs.length>0&&(e.subs[0]=this.free),this.free=e}checkLimits(t){if(this.numRunes>e.MAX_RUNES)throw new Q(e.ERR_LARGE);this.checkSize(t),this.checkHeight(t)}checkSize(t){if(null===this.size){if(0===this.repeats&&(this.repeats=1),t.op===ec.Op.REPEAT){let r=t.max;-1===r&&(r=t.min),r<=0&&(r=1),r>Math.floor(e.MAX_SIZE/this.repeats)?this.repeats=e.MAX_SIZE:this.repeats*=r}if(this.numRegexp<Math.floor(e.MAX_SIZE/this.repeats))return;for(let e of(this.size=new Map,this.stack))this.checkSize(e)}if(this.calcSize(t,!0)>e.MAX_SIZE)throw new Q(e.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 ec.Op.LITERAL:r=e.runes.length;break;case ec.Op.PLB:case ec.Op.NLB:case ec.Op.CAPTURE:case ec.Op.STAR:r=2+this.calcSize(e.subs[0]);break;case ec.Op.PLUS:case ec.Op.QUEST:r=1+this.calcSize(e.subs[0]);break;case ec.Op.CONCAT:for(let t of e.subs)r+=this.calcSize(t);break;case ec.Op.ALTERNATE:for(let t of e.subs)r+=this.calcSize(t);e.subs.length>1&&(r=r+e.subs.length-1);break;case ec.Op.REPEAT:{let t=this.calcSize(e.subs[0]);if(-1===e.max){r=0===e.min?2+t:1+e.min*t;break}r=e.max*t+(e.max-e.min)}}return r=Math.max(1,r),null===this.size&&(this.size=new Map),this.size.set(e,r),r}checkHeight(t){if(!(this.numRegexp<e.MAX_HEIGHT)){if(null===this.height)for(let e of(this.height=new Map,this.stack))this.checkHeight(e);if(this.calcHeight(t,!0)>e.MAX_HEIGHT)throw new Q(e.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(let t of e.subs){let e=this.calcHeight(t);r<1+e&&(r=1+e)}return null===this.height&&(this.height=new Map),this.height.set(e,r),r}pop(){return this.stack.pop()}popToPseudo(){let e=this.stack.length,t=e;for(;t>0&&!ec.isPseudoOp(this.stack[t-1].op);)t--;let r=this.stack.slice(t,e);return this.stack=this.stack.slice(0,t),r}push(e){if(this.numRunes+=e.runes.length,e.op===ec.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]===e.runes[1]){if(this.maybeConcat(e.runes[0],this.flags&~w.FOLD_CASE))return null;e.op=ec.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags&~w.FOLD_CASE}else if(e.op===ec.Op.CHAR_CLASS&&4===e.runes.length&&e.runes[0]===e.runes[1]&&e.runes[2]===e.runes[3]&&O.simpleFold(e.runes[0])===e.runes[2]&&O.simpleFold(e.runes[2])===e.runes[0]||e.op===ec.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]+1===e.runes[1]&&O.simpleFold(e.runes[0])===e.runes[1]&&O.simpleFold(e.runes[1])===e.runes[0]){if(this.maybeConcat(e.runes[0],this.flags|w.FOLD_CASE))return null;e.op=ec.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags|w.FOLD_CASE}else this.maybeConcat(-1,0);return this.stack.push(e),this.checkLimits(e),e}maybeConcat(t,r){let n=this.stack.length;if(n<2)return!1;let s=this.stack[n-1],i=this.stack[n-2];return s.op===ec.Op.LITERAL&&i.op===ec.Op.LITERAL&&(s.flags&w.FOLD_CASE)==(i.flags&w.FOLD_CASE)&&((i.runes=e.concatRunes(i.runes,s.runes),t>=0)?(s.runes=[t],s.flags=r,!0):(this.pop(),this.reuse(s),!1))}newLiteral(t,r){let n=this.newRegexp(ec.Op.LITERAL);return n.flags=r,(r&w.FOLD_CASE)!=0&&(t=e.minFoldRune(t)),n.runes=[t],n}literal(e){this.push(this.newLiteral(e,this.flags))}op(e){let t=this.newRegexp(e);return t.flags=this.flags,this.push(t)}repeat(t,r,n,s,i,a){let B=this.flags;if((B&w.PERL_X)!=0&&(i.more()&&i.lookingAt("?")&&(i.skip(1),B^=w.NON_GREEDY),-1!==a))throw new Q(e.ERR_INVALID_REPEAT_OP,i.from(a));let o=this.stack.length;if(0===o)throw new Q(e.ERR_MISSING_REPEAT_ARGUMENT,i.from(s));let l=this.stack[o-1];if(ec.isPseudoOp(l.op))throw new Q(e.ERR_MISSING_REPEAT_ARGUMENT,i.from(s));let u=this.newRegexp(t);if(u.min=r,u.max=n,u.flags=B,u.subs=[l],this.stack[o-1]=u,this.checkLimits(u),t===ec.Op.REPEAT&&(r>=2||n>=2)&&!this.repeatIsValid(u,1e3))throw new Q(e.ERR_INVALID_REPEAT_SIZE,i.from(s))}repeatIsValid(e,t){if(e.op===ec.Op.REPEAT){let r=e.max;if(0===r)return!0;
1if(r<0&&(r=e.min),r>t)return!1;r>0&&(t=Math.trunc(t/r))}for(let r of e.subs)if(!this.repeatIsValid(r,t))return!1;return!0}concat(){this.maybeConcat(-1,0);let e=this.popToPseudo();return 0===e.length?this.push(this.newRegexp(ec.Op.EMPTY_MATCH)):this.push(this.collapse(e,ec.Op.CONCAT))}alternate(){let e=this.popToPseudo();return(e.length>0&&this.cleanAlt(e[e.length-1]),0===e.length)?this.push(this.newRegexp(ec.Op.NO_MATCH)):this.push(this.collapse(e,ec.Op.ALTERNATE))}cleanAlt(e){e.op===ec.Op.CHAR_CLASS&&(e.runes=new eV(e.runes).cleanClass().toArray(),2===e.runes.length&&0===e.runes[0]&&e.runes[1]===O.MAX_RUNE?(e.runes=[],e.op=ec.Op.ANY_CHAR):4===e.runes.length&&0===e.runes[0]&&e.runes[1]===v.CODES.get("\n")-1&&e.runes[2]===v.CODES.get("\n")+1&&e.runes[3]===O.MAX_RUNE&&(e.runes=[],e.op=ec.Op.ANY_CHAR_NOT_NL))}collapse(e,t){if(1===e.length)return e[0];let r=0;for(let n of e)r+=n.op===t?n.subs.length:1;let n=Array(r).fill(null),s=0;for(let r of e)if(r.op===t){for(let e=0;e<r.subs.length;e++)n[s++]=r.subs[e];this.reuse(r)}else n[s++]=r;let i=this.newRegexp(t);if(i.subs=n,t===ec.Op.ALTERNATE&&(i.subs=this.factor(i.subs),1===i.subs.length)){let e=i;i=i.subs[0],this.reuse(e)}return i}factor(t){if(t.length<2)return t;let r=0,n=t.length,s=0,i=null,a=0,B=0,o=0;for(let e=0;e<=n;e++){let l=null,u=0,h=0;if(e<n){let n=t[r+e];if(n.op===ec.Op.CONCAT&&n.subs.length>0&&(n=n.subs[0]),n.op===ec.Op.LITERAL&&(l=n.runes,u=n.runes.length,h=n.flags&w.FOLD_CASE),h===B){let e=0;for(;e<a&&e<u&&i[e]===l[e];)e++;if(e>0){a=e;continue}}}if(e===o);else if(e===o+1)t[s++]=t[r+o];else{let n=this.newRegexp(ec.Op.LITERAL);n.flags=B,n.runes=i.slice(0,a);for(let n=o;n<e;n++)t[r+n]=this.removeLeadingString(t[r+n],a),this.checkLimits(t[r+n]);let l=this.collapse(t.slice(r+o,r+e),ec.Op.ALTERNATE),u=this.newRegexp(ec.Op.CONCAT);u.subs=[n,l],t[s++]=u}o=e,i=l,a=u,B=h}n=s,r=0,o=0,s=0;let l=null;for(let i=0;i<=n;i++){let a=null;if(!(i<n&&(a=e.leadingRegexp(t[r+i]),null!==l&&l.equals(a)&&(e.isCharClass(l)||l.op===ec.Op.REPEAT&&l.min===l.max&&e.isCharClass(l.subs[0]))))){if(i===o);else if(i===o+1)t[s++]=t[r+o];else{let e=l;for(let e=o;e<i;e++){let n=e!==o;t[r+e]=this.removeLeadingRegexp(t[r+e],n),this.checkLimits(t[r+e])}let n=this.collapse(t.slice(r+o,r+i),ec.Op.ALTERNATE),a=this.newRegexp(ec.Op.CONCAT);a.subs=[e,n],t[s++]=a}o=i,l=a}}n=s,r=0,o=0,s=0;for(let i=0;i<=n;i++)if(!(i<n&&e.isCharClass(t[r+i]))){if(i===o);else if(i===o+1)t[s++]=t[r+o];else{let n=o;for(let e=o+1;e<i;e++){let s=t[r+n],i=t[r+e];(s.op<i.op||s.op===i.op&&(null!==s.runes?s.runes.length:0)<(null!==i.runes?i.runes.length:0))&&(n=e)}let a=t[r+o];t[r+o]=t[r+n],t[r+n]=a;for(let n=o+1;n<i;n++)e.mergeCharClass(t[r+o],t[r+n]),this.reuse(t[r+n]);this.cleanAlt(t[r+o]),t[s++]=t[r+o]}i<n&&(t[s++]=t[r+i]),o=i+1}n=s,r=0,o=0,s=0;for(let e=0;e<n;++e)e+1<n&&t[r+e].op===ec.Op.EMPTY_MATCH&&t[r+e+1].op===ec.Op.EMPTY_MATCH||(t[s++]=t[r+e]);return n=s,r=0,t.slice(r,n)}removeLeadingString(e,t){if(e.op===ec.Op.CONCAT&&e.subs.length>0){let r=this.removeLeadingString(e.subs[0],t);if(e.subs[0]=r,r.op===ec.Op.EMPTY_MATCH)switch(this.reuse(r),e.subs.length){case 0:case 1:e.op=ec.Op.EMPTY_MATCH,e.subs=ec.emptySubs();break;case 2:{let t=e;e=e.subs[1],this.reuse(t);break}default:e.subs=e.subs.slice(1,e.subs.length)}return e}return e.op===ec.Op.LITERAL&&(e.runes=e.runes.slice(t,e.runes.length),0===e.runes.length&&(e.op=ec.Op.EMPTY_MATCH)),e}removeLeadingRegexp(e,t){if(e.op===ec.Op.CONCAT&&e.subs.length>0){switch(t&&this.reuse(e.subs[0]),e.subs=e.subs.slice(1,e.subs.length),e.subs.length){case 0:e.op=ec.Op.EMPTY_MATCH,e.subs=ec.emptySubs();break;case 1:{let t=e;e=e.subs[0],this.reuse(t)}}return e}return t&&this.reuse(e),this.newRegexp(ec.Op.EMPTY_MATCH)}parseInternal(){if((this.flags&w.LITERAL)!=0)return e.literalRegexp(this.wholeRegexp,this.flags);let t=-1,r=-1,n=-1,s=new eU(this.wholeRegexp);for(;s.more();){let i=-1;n:switch(s.peek()){case v.CODES.get("("):if((this.flags&w.LOOKBEHIND)!=0){if(s.lookingAt("(?<=")){this.parsePosLookBehind(),s.skip(4);break}if(s.lookingAt("(?<!")){this.parseNegLookBehind(),s.skip(4);break}}if((this.flags&w.PERL_X)!=0&&s.lookingAt("(?")){this.parsePerlFlags(s);break}this.op(ec.Op.LEFT_PAREN).cap=++this.numCap,s.skip(1);break;case v.CODES.get("|"):this.parseVerticalBar(),s.skip(1);break;case v.CODES.get(")"):this.parseRightParen(),s.skip(1);break;case v.CODES.get("^"):(this.flags&w.ONE_LINE)!=0?this.op(ec.Op.BEGIN_TEXT):this.op(ec.Op.BEGIN_LINE),s.skip(1);break;case v.CODES.get("$"):(this.flags&w.ONE_LINE)!=0?this.op(ec.Op.END_TEXT).flags|=w.WAS_DOLLAR:this.op(ec.Op.END_LINE),s.skip(1);break;case v.CODES.get("."):(this.flags&w.DOT_NL)!=0?this.op(ec.Op.ANY_CHAR):this.op(ec.Op.ANY_CHAR_NOT_NL),s.skip(1);break;case v.CODES.get("["):this.parseClass(s);break;case v.CODES.get("*"):case v.CODES.get("+"):case v.CODES.get("?"):{i=s.pos();let e=null;switch(s.pop()){case v.CODES.get("*"):e=ec.Op.STAR;break;case v.CODES.get("+"):e=ec.Op.PLUS;break;case v.CODES.get("?"):e=ec.Op.QUEST}this.repeat(e,r,n,i,s,t);break}case v.CODES.get("{"):{i=s.pos();let a=e.parseRepeat(s);if(a<0){s.rewindTo(i),this.literal(s.pop());break}r=a>>16,n=(a&O.MAX_BMP)<<16>>16,this.repeat(ec.Op.REPEAT,r,n,i,s,t);break}case v.CODES.get("\\"):{let t=s.pos();if(s.skip(1),(this.flags&w.PERL_X)!=0&&s.more())switch(s.pop()){case v.CODES.get("A"):this.op(ec.Op.BEGIN_TEXT);break n;case v.CODES.get("b"):this.op(ec.Op.WORD_BOUNDARY);break n;case v.CODES.get("B"):this.op(ec.Op.NO_WORD_BOUNDARY);break n;case v.CODES.get("C"):throw new Q(e.ERR_INVALID_ESCAPE,"\\C");case v.CODES.get("Q"):{let e=s.rest(),t=e.indexOf("\\E");t>=0?(e=e.substring(0,t),s.skipString(e),s.skipString("\\E")):s.skipString(e);let r=0;for(;r<e.length;){let t=e.codePointAt(r);this.literal(t),r+=k.charCount(t)}break n}case v.CODES.get("z"):this.op(ec.Op.END_TEXT);break n;default:s.rewindTo(t)}else s.rewindTo(t);let r=this.newRegexp(ec.Op.CHAR_CLASS);if(r.flags=this.flags,s.lookingAt("\\p")||s.lookingAt("\\P")){let e=new eV;if(this.parseUnicodeClass(s,e)){r.runes=e.toArray(),this.push(r);break}}let n=new eV;if(this.parsePerlClassEscape(s,n)){r.runes=n.toArray(),this.push(r);break}s.rewindTo(t),this.reuse(r),this.literal(e.parseEscape(s));break}default:this.literal(s.pop())}t=i}if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),1!==this.stack.length)throw new Q(e.ERR_MISSING_PAREN,this.wholeRegexp);return this.stack[0].namedGroups=this.namedGroups,this.stack[0]}parsePerlFlags(t){let r=t.pos(),n=t.rest();if(n.startsWith("(?P<")||n.startsWith("(?<")){let r="P"===n.charAt(2)?4:3,s=n.indexOf(">");
1if(s<0)throw new Q(e.ERR_INVALID_NAMED_CAPTURE,n);let i=n.substring(r,s);if(t.skipString(i),t.skip(r+1),!e.isValidCaptureName(i))throw new Q(e.ERR_INVALID_NAMED_CAPTURE,n.substring(0,s+1));let a=this.op(ec.Op.LEFT_PAREN);if(a.cap=++this.numCap,this.namedGroups[i])throw new Q(e.ERR_DUPLICATE_NAMED_CAPTURE,i);this.namedGroups[i]=this.numCap,a.name=i;return}t.skip(2);let s=this.flags,i=1,a=!1;r:for(;t.more();){let e=t.pop();switch(e){case v.CODES.get("i"):s|=w.FOLD_CASE,a=!0;break;case v.CODES.get("m"):s&=~w.ONE_LINE,a=!0;break;case v.CODES.get("s"):s|=w.DOT_NL,a=!0;break;case v.CODES.get("U"):s|=w.NON_GREEDY,a=!0;break;case v.CODES.get("-"):if(i<0)break r;i=-1,s=~s,a=!1;break;case v.CODES.get(":"):case v.CODES.get(")"):if(i<0){if(!a)break r;s=~s}e===v.CODES.get(":")&&this.op(ec.Op.LEFT_PAREN),this.flags=s;return;default:break r}}throw new Q(e.ERR_INVALID_PERL_OP,t.from(r))}parsePosLookBehind(){let e=this.newRegexp(ec.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=++this.nlb,this.push(e)}parseNegLookBehind(){let e=this.newRegexp(ec.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=-++this.nlb,this.push(e)}parseVerticalBar(){this.concat(),this.swapVerticalBar()||this.op(ec.Op.VERTICAL_BAR)}swapVerticalBar(){let t=this.stack.length;if(t>=3&&this.stack[t-2].op===ec.Op.VERTICAL_BAR&&e.isCharClass(this.stack[t-1])&&e.isCharClass(this.stack[t-3])){let r=this.stack[t-1],n=this.stack[t-3];if(r.op>n.op){let e=n;n=r,r=e,this.stack[t-3]=n}return e.mergeCharClass(n,r),this.reuse(r),this.pop(),!0}if(t>=2){let e=this.stack[t-1],r=this.stack[t-2];if(r.op===ec.Op.VERTICAL_BAR)return t>=3&&this.cleanAlt(this.stack[t-3]),this.stack[t-2]=e,this.stack[t-1]=r,!0}return!1}parseRightParen(){if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),this.stack.length<2)throw new Q(e.ERR_UNEXPECTED_PAREN,this.wholeRegexp);let t=this.pop(),r=this.pop();if(r.op!==ec.Op.LEFT_PAREN)throw new Q(e.ERR_UNEXPECTED_PAREN,this.wholeRegexp);if(this.flags=r.flags,0!==r.lb){if(e.hasCapture(t))throw new Q(e.ERR_INVALID_CAPTURE_IN_LOOKBEHIND,this.wholeRegexp);r.lb>0?r.op=ec.Op.PLB:r.op=ec.Op.NLB,r.subs=[t],this.push(r);return}0===r.cap?this.push(t):(r.op=ec.Op.CAPTURE,r.subs=[t],this.push(r))}parsePerlClassEscape(e,t){let r=e.pos();if((this.flags&w.PERL_X)==0||!e.more()||e.pop()!==v.CODES.get("\\")||!e.more())return!1;e.pop();let n=e.from(r),s=ev.has(n)?ev.get(n):null;return null!==s&&(t.appendGroup(s,(this.flags&w.FOLD_CASE)!=0),!0)}parseNamedClass(t,r){let n=t.rest(),s=n.indexOf(":]");if(s<0)return!1;let i=n.substring(0,s+2);t.skipString(i);let a=eH.has(i)?eH.get(i):null;if(null===a)throw new Q(e.ERR_INVALID_CHAR_RANGE,i);return r.appendGroup(a,(this.flags&w.FOLD_CASE)!=0),!0}parseUnicodeClass(t,r){let n,s=t.pos();if((this.flags&w.UNICODE_GROUPS)==0||!t.lookingAt("\\p")&&!t.lookingAt("\\P"))return!1;t.skip(1);let i=1,a=t.pop();if(a===v.CODES.get("P")&&(i=-1),!t.more())throw t.rewindTo(s),new Q(e.ERR_INVALID_CHAR_RANGE,t.rest());if((a=t.pop())!==v.CODES.get("{"))n=k.runeToString(a);else{let r=t.rest(),i=r.indexOf("}");if(i<0)throw t.rewindTo(s),new Q(e.ERR_INVALID_CHAR_RANGE,t.rest());n=r.substring(0,i),t.skipString(n),t.skip(1)}0!==n.length&&n.codePointAt(0)===v.CODES.get("^")&&(i=0-i,n=n.substring(1));let B=e.unicodeTable(n);if(null===B)throw new Q(e.ERR_INVALID_CHAR_RANGE,t.from(s));B.sign<0&&(i=0-i);let o=B.tab,l=B.fold;if((this.flags&w.FOLD_CASE)==0||null===l)r.appendTableWithSign(o,i);else{let e=new eV().appendTable(o).appendTable(l).cleanClass().toArray();r.appendClassWithSign(e,i)}return!0}parseClass(t){let r=t.pos();t.skip(1);let n=this.newRegexp(ec.Op.CHAR_CLASS);n.flags=this.flags;let s=new eV,i=1;t.more()&&t.lookingAt("^")&&(i=-1,t.skip(1),(this.flags&w.CLASS_NL)==0&&s.appendRange(v.CODES.get("\n"),v.CODES.get("\n")));let a=!0;for(;!t.more()||t.peek()!==v.CODES.get("]")||a;){if(t.more()&&t.lookingAt("-")&&(this.flags&w.PERL_X)==0&&!a){let n=t.rest();if("-"===n||!n.startsWith("-]"))throw t.rewindTo(r),new Q(e.ERR_INVALID_CHAR_RANGE,t.rest())}a=!1;let n=t.pos();if(t.lookingAt("[:")){if(this.parseNamedClass(t,s))continue;t.rewindTo(n)}if(this.parseUnicodeClass(t,s)||this.parsePerlClassEscape(t,s))continue;t.rewindTo(n);let i=e.parseClassChar(t,r),B=i;if(t.more()&&t.lookingAt("-")){if(t.skip(1),t.more()&&t.lookingAt("]"))t.skip(-1);else if((B=e.parseClassChar(t,r))<i)throw new Q(e.ERR_INVALID_CHAR_RANGE,t.from(n))}(this.flags&w.FOLD_CASE)==0?s.appendRange(i,B):s.appendFoldedRange(i,B)}t.skip(1),s.cleanClass(),i<0&&s.negateClass(),n.runes=s.toArray(),this.push(n)}},eq=class e{static initTest(t){let r=e.compile(t),n=new e(r.expr,r.prog,r.numSubexp,r.longest);return n.cond=r.cond,n.prefix=r.prefix,n.prefixUTF8=r.prefixUTF8,n.prefixComplete=r.prefixComplete,n.prefixRune=r.prefixRune,n.prefilter=r.prefilter,n}static compile(t){return e.compileImpl(t,w.PERL,!1)}static compilePOSIX(t){return e.compileImpl(t,w.POSIX,!0)}static compileImpl(t,r,n){let s=eJ.parse(t,r),i=s.maxCap();s=eE.simplify(s);let a=ef.build(s),B=eD.compileRegexp(s),o=new e(t,B,i,n);o.prefilter=a.type===ed.Type.NONE?null:a;let[l,u]=B.prefix();return o.prefixComplete=l,o.prefix=u,o.prefixUTF8=k.stringToUtf8ByteArray(o.prefix),o.prefix.length>0&&(o.prefixRune=o.prefix.codePointAt(0)),o.namedGroups=s.namedGroups,o}static match(t,r){return e.compile(t).match(r)}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.machinePool=[],this.dfa=new ei(this.prog),this.onepass=eh.compile(this.prog),this.prefilter=null}matchPrefixComplete(e,t,r,n){if((r===w.ANCHOR_START||r===w.ANCHOR_BOTH)&&0!==t)return null;let s=-1,i=-1,a=e.prefixLength(this);if(r===w.UNANCHORED){let r=e.index(this,t);if(r<0)return null;i=(s=t+r)+a}else if(r===w.ANCHOR_BOTH){if(e.endPos()!==a||0!==e.index(this,0))return null;s=0,i=a}else if(r===w.ANCHOR_START){if(0!==e.index(this,0))return null;s=0,i=a}if(s<0)return null;if(n>0){let e=new Int32Array(n).fill(-1);return e[0]=s,e[1]=i,Array.from(e)}return[]}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===w.UNANCHORED&&!this.prefilter.eval(e,t))return null;if(null!==this.onepass)return eh.execute(this,e,t,r,n);if(n>0)return 0===this.prog.numLb&&e.endPos()<=eo.maxBitStateLen(this.prog)?eo.execute(this,e,t,r,n):this.doExecuteNFA(e,t,r,n);if(0===this.prog.numLb){let s=this.dfa.match(e,t,r);if(null!==s)return s?[]:null;if(e.endPos()<=eo.maxBitStateLen(this.prog))return eo.execute(this,e,t,r,n)}return this.doExecuteNFA(e,t,r,n)}numberOfCapturingGroups(){return this.numSubexp}
1numberOfInstructions(){return this.prog.numInst()}get(){return this.machinePool.length>0?this.machinePool.pop():null}reset(){this.machinePool.length=0}put(e){this.machinePool.push(e)}toString(){return this.expr}doExecuteNFA(e,t,r,n){let s=this.get();s||(s=et.fromRE2(this)),s.init(n);let i=s.match(e,t,r)?s.submatches():null;return this.put(s),i}match(e){return null!==this.executeEngine(K.fromUTF16(e),0,w.UNANCHORED,0)}matchWithGroup(e,t,r,n,s){return e instanceof P||(e=k.isByteArray(e)?V.utf8(e):V.utf16(e)),this.matchMachineInput(e,t,r,n,s)}matchMachineInput(e,t,r,n,s){if(t>r)return[!1,null];let i=e.isUTF16Encoding()?K.fromUTF16(e.asCharSequence(),0,r):K.fromUTF8(e.asBytes(),0,r),a=this.executeEngine(i,t,n,2*s);return null===a?[!1,null]:[!0,a]}matchUTF8(e){return null!==this.executeEngine(K.fromUTF8(e),0,w.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="",a=K.fromUTF16(e),B=0;for(;s<=e.length;){let o=this.executeEngine(a,s,w.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];let l=7&a.step(s);if(s+l>o[1]?s+=l:s+1>o[1]?s++:s=o[1],B>=r)break}return i+e.substring(n)}pad(e){if(null===e)return null;let t=(1+this.numSubexp)*2;if(e.length<t){let r=Array(t).fill(-1);for(let t=0;t<e.length;t++)r[t]=e[t];e=r}return e}allMatches(e,t,r=e=>e){let n=[],s=e.endPos();t<0&&(t=s+1);let i=0,a=0,B=-1;for(;a<t&&i<=s;){let t=this.executeEngine(e,i,w.UNANCHORED,this.prog.numCap);if(null===t||0===t.length)break;let o=!0;if(t[1]===i){t[0]===B&&(o=!1);let r=e.step(i);r<0?i=s+1:i+=7&r}else i=t[1];B=t[1],o&&(n.push(r(this.pad(t))),a++)}return n}findUTF8(e){let t=this.executeEngine(K.fromUTF8(e),0,w.UNANCHORED,2);return null===t?null:e.slice(t[0],t[1])}findUTF8Index(e){let t=this.executeEngine(K.fromUTF8(e),0,w.UNANCHORED,2);return null===t?null:t.slice(0,2)}find(e){let t=this.executeEngine(K.fromUTF16(e),0,w.UNANCHORED,2);return null===t?"":e.substring(t[0],t[1])}findIndex(e){return this.executeEngine(K.fromUTF16(e),0,w.UNANCHORED,2)}findUTF8Submatch(e){let t=this.executeEngine(K.fromUTF8(e),0,w.UNANCHORED,this.prog.numCap);if(null===t)return null;let r=Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&t[2*n]>=0&&(r[n]=e.slice(t[2*n],t[2*n+1]));return r}findUTF8SubmatchIndex(e){return this.pad(this.executeEngine(K.fromUTF8(e),0,w.UNANCHORED,this.prog.numCap))}findSubmatch(e){let t=this.executeEngine(K.fromUTF16(e),0,w.UNANCHORED,this.prog.numCap);if(null===t)return null;let r=Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&t[2*n]>=0&&(r[n]=e.substring(t[2*n],t[2*n+1]));return r}findSubmatchIndex(e){return this.pad(this.executeEngine(K.fromUTF16(e),0,w.UNANCHORED,this.prog.numCap))}findAllUTF8(e,t){let r=this.allMatches(K.fromUTF8(e),t,t=>e.slice(t[0],t[1]));return 0===r.length?null:r}findAllUTF8Index(e,t){let r=this.allMatches(K.fromUTF8(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAll(e,t){let r=this.allMatches(K.fromUTF16(e),t,t=>e.substring(t[0],t[1]));return 0===r.length?null:r}findAllIndex(e,t){let r=this.allMatches(K.fromUTF16(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAllUTF8Submatch(e,t){let r=this.allMatches(K.fromUTF8(e),t,t=>{let r=Array(t.length/2|0).fill(null);for(let n=0;n<r.length;n++)t[2*n]>=0&&(r[n]=e.slice(t[2*n],t[2*n+1]));return r});return 0===r.length?null:r}findAllUTF8SubmatchIndex(e,t){let r=this.allMatches(K.fromUTF8(e),t);return 0===r.length?null:r}findAllSubmatch(e,t){let r=this.allMatches(K.fromUTF16(e),t,t=>{let r=Array(t.length/2|0).fill(null);for(let n=0;n<r.length;n++)t[2*n]>=0&&(r[n]=e.substring(t[2*n],t[2*n+1]));return r});return 0===r.length?null:r}findAllSubmatchIndex(e,t){let r=this.allMatches(K.fromUTF16(e),t);return 0===r.length?null:r}};w.UNANCHORED,w.ANCHOR_START,w.ANCHOR_BOTH;var eK=class e{static isHexadecimal(e){return"0"<=e&&e<="9"||"A"<=e&&e<="F"||"a"<=e&&e<="f"}static translate(t){let r="";if(t instanceof RegExp&&(t.ignoreCase&&(r+="i"),t.multiline&&(r+="m"),t.dotAll&&(r+="s"),t=t.source),"string"!=typeof t)return t;let n="",s=!1,i=t.length;0===i&&(n="(?:)",s=!0);let a=!1,B=0;for(;B<i;){let r=t[B];if("\\"===r){if(B+1<i)switch(r=t[B+1]){case"\\":n+="\\\\",B+=2;continue;case"c":if(B+2<i){let e=t[B+2].charCodeAt(0);if(e>=65&&e<=90||e>=97&&e<=122){let t=e%32;n+="\\x",n+=(t>>4).toString(16).toUpperCase(),n+=(15&t).toString(16).toUpperCase(),B+=3,s=!0;continue}}n+="c",B+=2,s=!0;continue;case"u":if(B+2<i){if("{"===t[B+2]){let r=B+3,a=!1,o=!1;for(;r<i;){let n=t[r];
1if("}"===n){o=!0;break}if(!e.isHexadecimal(n))break;a=!0,r++}if(o&&a){n+="\\x",B+=2,s=!0;continue}}else if(B+5<i){let r=!0;for(let n=0;n<4;n++)if(!e.isHexadecimal(t[B+2+n])){r=!1;break}if(r){n+="\\x{"+t.substring(B+2,B+6)+"}",B+=6,s=!0;continue}}}n+="u",B+=2,s=!0;continue;case"x":{let r=!1;if(B+2<i&&"{"===t[B+2]){let n=B+3,s=!1,a=!1;for(;n<i;){let r=t[n];if("}"===r){a=!0;break}if(!e.isHexadecimal(r))break;s=!0,n++}a&&s&&(r=!0)}else B+3<i&&e.isHexadecimal(t[B+2])&&e.isHexadecimal(t[B+3])&&(r=!0);r?(n+="\\x",B+=2):(n+="x",B+=2,s=!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":n+="\\"+r,B+=2;continue;default:{let e=t.codePointAt(B+1);if(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122){let r=k.charCount(e);n+=t.substring(B+1,B+1+r),B+=r+1,s=!0}else{n+="\\";let r=k.charCount(e);n+=t.substring(B+1,B+1+r),B+=r+1}continue}}}else if("/"===r){n+="\\/",B+=1,s=!0;continue}else if("["===r)a=!0;else if("]"===r)a=!1;else if(!a&&"("===r&&B+2<i&&"?"===t[B+1]&&"<"===t[B+2]&&B+3<i&&!"=!>)".includes(t[B+3])){n+="(?P<",B+=3,s=!0;continue}let o=t.codePointAt(B),l=k.charCount(o);n+=t.substring(B,B+l),B+=l}let o=s?n:t;return r.length>0?`(?${r})${o}`:o}},ej=class e{static CASE_INSENSITIVE=1;static DOTALL=2;static MULTILINE=4;static DISABLE_UNICODE_GROUPS=8;static LONGEST_MATCH=16;static LOOKBEHINDS=512;static quote(e){return k.quoteMeta(e)}static quoteReplacement(e,t=!1){return X.quoteReplacement(e,t)}static translateRegExp(e){return eK.translate(e)}static compile(t,r=0){let n=t;if((r&e.CASE_INSENSITIVE)!=0&&(n=`(?i)${n}`),(r&e.DOTALL)!=0&&(n=`(?s)${n}`),(r&e.MULTILINE)!=0&&(n=`(?m)${n}`),(r&~(e.MULTILINE|e.DOTALL|e.CASE_INSENSITIVE|e.DISABLE_UNICODE_GROUPS|e.LONGEST_MATCH|e.LOOKBEHINDS))!=0)throw new Y("Flags should only be a combination of MULTILINE, DOTALL, CASE_INSENSITIVE, DISABLE_UNICODE_GROUPS, LONGEST_MATCH, LOOKBEHINDS");let s=w.PERL;(r&e.DISABLE_UNICODE_GROUPS)!=0&&(s&=~w.UNICODE_GROUPS),(r&e.LOOKBEHINDS)!=0&&(s|=w.LOOKBEHIND);let i=new e(t,r);return i.re2Input=eq.compileImpl(n,s,(r&e.LONGEST_MATCH)!=0),i}static matches(t,r){return e.compile(t).testExact(r)}static initTest(t,r,n){if(null==t)throw Error("pattern is null");if(null==n)throw Error("re2 is null");let s=new e(t,r);return s.re2Input=n,s}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 k.isByteArray(e)&&(e=V.utf8(e)),new X(this,e)}test(e){return k.isByteArray(e)?this.re2Input.matchUTF8(e):this.re2Input.match(e)}testExact(e){let t=k.isByteArray(e)?K.fromUTF8(e):K.fromUTF16(e);return null!==this.re2Input.executeEngine(t,0,w.ANCHOR_BOTH,0)}exec(e){let t=this.matcher(e);if(!t.find())return null;let r=[t.group(0)];for(let e=1;e<=t.groupCount();e++){let n=t.group(e);r.push(null===n?void 0:n)}if(r.index=t.start(0),r.input=e,Object.keys(this.namedGroups()).length>0){let e=t.getNamedGroups();for(let t in e)null===e[t]&&(e[t]=void 0);r.groups=e}else r.groups=void 0;return r}split(e,t=0){let r=this.matcher(e),n=[],s=0,i=0;for(;r.find();){if(0===i&&0===r.end()){i=r.end();continue}if(t>0&&n.length===t-1)break;if(i===r.start()){if(0===t){s+=1,i=r.end();continue}}else for(;s>0;)n.push(""),s-=1;n.push(r.substring(i,r.start())),i=r.end()}if(0===t&&i!==r.inputLength()){for(;s>0;)n.push(""),s-=1;n.push(r.substring(i,r.inputLength()))}return 0===t&&(0!==n.length||i===r.inputLength()&&i>0)||n.push(r.substring(i,r.inputLength())),n}*matchAll(e){let t=this.matcher(e);for(;t.find();){let r=[t.group(0)];for(let e=1;e<=t.groupCount();e++){let n=t.group(e);r.push(null===n?void 0:n)}if(r.index=t.start(0),r.input=e,Object.keys(this.namedGroups()).length>0){let e=t.getNamedGroups();for(let t in e)null===e[t]&&(e[t]=void 0);r.groups=e}else r.groups=void 0;yield r}}toString(){return this.patternInput}
1programSize(){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}};class eQ{constructor(e,t,r){this.alias=e,this.aggregateType=t,this.fieldPath=r}}let ez="12.19.0";function e$(e){ez=e}let eY=new D.Logger("@firebase/firestore");function eW(){return eY.logLevel}function eX(e,...t){if(eY.logLevel<=D.LogLevel.DEBUG){let r=t.map(e1);eY.debug(`Firestore (${ez}): ${e}`,...r)}}function eZ(e,...t){if(eY.logLevel<=D.LogLevel.ERROR){let r=t.map(e1);eY.error(`Firestore (${ez}): ${e}`,...r)}}function e0(e,...t){if(eY.logLevel<=D.LogLevel.WARN){let r=t.map(e1);eY.warn(`Firestore (${ez}): ${e}`,...r)}}function e1(e){if("string"==typeof e)return e;try{return JSON.stringify(e)}catch(t){return e}}function e2(e,t,r){let n="Unexpected state";"string"==typeof t?n=t:r=t,e3(e,n,r)}function e3(e,t,r){let n=`FIRESTORE (${ez}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==r)try{n+=" CONTEXT: "+JSON.stringify(r)}catch(e){n+=" CONTEXT: "+r}throw eZ(n),Error(n)}function e8(e,t,r,n){let s="Unexpected state";"string"==typeof r?s=r:n=r,e||e3(t,s,n)}class e6{static newId(){let e=62*Math.floor(256/62),t="";for(;t.length<20;){let r=function(){let e="u">typeof self&&(self.crypto||self.msCrypto),t=new Uint8Array(40);if(e&&"function"==typeof e.getRandomValues)e.getRandomValues(t);else for(let e=0;e<40;e++)t[e]=Math.floor(256*Math.random());return t}();for(let n=0;n<r.length;++n)t.length<20&&r[n]<e&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(r[n]%62))}return t}}function e5(e,t){return e<t?-1:+(e>t)}function e4(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++){let r=e.charAt(n),s=t.charAt(n);if(r!==s)return e9(r)===e9(s)?e5(r,s):e9(r)?1:-1}return e5(e.length,t.length)}function e9(e){let t=e.charCodeAt(0);return t>=55296&&t<=57343}function e7(e,t,r){return e.length===t.length&&e.every((e,n)=>r(e,t[n]))}class te{constructor(e,t){this.comparator=e,this.root=t||tr.EMPTY}insert(e,t){return new te(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,tr.BLACK,null,null))}remove(e){return new te(this.comparator,this.root.remove(e,this.comparator).copy(null,null,tr.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){let r=this.comparator(e,t.key);if(0===r)return t.value;r<0?t=t.left:r>0&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){let n=this.comparator(e,r.key);if(0===n)return t+r.left.size;n<0?r=r.left:(t+=r.left.size+1,r=r.right)}return -1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(e){this.inorderTraversal((t,r)=>(e(t,r),!1))}toString(){let e=[];return this.inorderTraversal((t,r)=>(e.push(`${t}:${r}`),!1)),`{${e.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new tt(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new tt(this.root,e,this.comparator,!1)}getReverseIterator(){return new tt(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new tt(this.root,e,this.comparator,!0)}}class tt{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(),t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return this.nodeStack.length>0}peek(){if(0===this.nodeStack.length)return null;let e=this.nodeStack[this.nodeStack.length-1];return{key:e.key,value:e.value}}}class tr{constructor(e,t,r,n,s){this.key=e,this.value=t,this.color=null!=r?r:tr.RED,this.left=null!=n?n:tr.EMPTY,this.right=null!=s?s:tr.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,n,s){return new tr(null!=e?e:this.key,null!=t?t:this.value,
1null!=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){let 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 tr.EMPTY;let e=this;return e.left.isRed()||e.left.left.isRed()||(e=e.moveRedLeft()),(e=e.copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let r,n=this;if(0>t(e,n.key))n.left.isEmpty()||n.left.isRed()||n.left.left.isRed()||(n=n.moveRedLeft()),n=n.copy(null,null,null,n.left.remove(e,t),null);else{if(n.left.isRed()&&(n=n.rotateRight()),n.right.isEmpty()||n.right.isRed()||n.right.left.isRed()||(n=n.moveRedRight()),0===t(e,n.key)){if(n.right.isEmpty())return tr.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.right.isRed()&&!e.left.isRed()&&(e=e.rotateLeft()),e.left.isRed()&&e.left.left.isRed()&&(e=e.rotateRight()),e.left.isRed()&&e.right.isRed()&&(e=e.colorFlip()),e}moveRedLeft(){let e=this.colorFlip();return e.right.left.isRed()&&(e=(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip()),e}moveRedRight(){let e=this.colorFlip();return e.left.left.isRed()&&(e=(e=e.rotateRight()).colorFlip()),e}rotateLeft(){let e=this.copy(null,null,tr.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){let e=this.copy(null,null,tr.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){let e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){return Math.pow(2,this.check())<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw e2(43730,{key:this.key,value:this.value});if(this.right.isRed())throw e2(14113,{key:this.key,value:this.value});let e=this.left.check();if(e!==this.right.check())throw e2(27949);return e+ +!this.isRed()}}tr.EMPTY=null,tr.RED=!0,tr.BLACK=!1,tr.EMPTY=new class{constructor(){this.size=0}get key(){throw e2(57766)}get value(){throw e2(16141)}get color(){throw e2(16727)}get left(){throw e2(29726)}get right(){throw e2(36894)}copy(e,t,r,n,s){return this}insert(e,t,r){return new tr(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 tn{constructor(e){this.comparator=e,this.data=new te(this.comparator)}has(e){return null!==this.data.get(e)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(e){this.data.inorderTraversal((t,r)=>(e(t),!1))}forEachInRange(e,t){let r=this.data.getIteratorFrom(e[0]);for(;r.hasNext();){let n=r.getNext();if(this.comparator(n.key,e[1])>=0)return;t(n.key)}}forEachWhile(e,t){let r;for(r=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){let t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new ts(this.data.getIterator())}getIteratorFrom(e){return new ts(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 tn)||this.size!==e.size)return!1;let t=this.data.getIterator(),r=e.data.getIterator();for(;t.hasNext();){let e=t.getNext().key,n=r.getNext().key;if(0!==this.comparator(e,n))return!1}return!0}toArray(){let e=[];return this.forEach(t=>{e.push(t)}),e}toString(){let e=[];return this.forEach(t=>e.push(t)),"SortedSet("+e.toString()+")"}copy(e){let t=new tn(this.comparator);return t.data=e,t}}
1class ts{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function ti(e){return e.hasNext()?e.getNext():void 0}let ta={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 tB extends p.FirebaseError{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}}let to="__name__";class tl{constructor(e,t,r){void 0===t?t=0:t>e.length&&e2(637,{offset:t,range:e.length}),void 0===r?r=e.length-t:r>e.length-t&&e2(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===tl.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof tl?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=void 0===e?1:e,this.construct(this.segments,this.offset+e,this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return 0===this.length}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++){let r=tl.compareSegments(e.get(n),t.get(n));if(0!==r)return r}return e5(e.length,t.length)}static compareSegments(e,t){let r=tl.isNumericId(e),n=tl.isNumericId(t);return r&&!n?-1:!r&&n?1:r&&n?tl.extractNumericId(e).compare(tl.extractNumericId(t)):e4(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return m.Integer.fromString(e.substring(4,e.length-2))}}class tu extends tl{construct(e,t,r){return new tu(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){let t=[];for(let r of e){if(r.indexOf("//")>=0)throw new tB(ta.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);t.push(...r.split("/").filter(e=>e.length>0))}return new tu(t)}static emptyPath(){return new tu([])}}let th=/^[_a-zA-Z][_a-zA-Z0-9]*$/,tc=class e extends tl{construct(t,r,n){return new e(t,r,n)}static isValidIdentifier(e){return th.test(e)}canonicalString(){return this.toArray().map(t=>(t=t.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e.isValidIdentifier(t)||(t="`"+t+"`"),t)).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===to}static keyField(){return new e([to])}static fromServerFormat(t){let r=[],n="",s=0,i=()=>{if(0===n.length)throw new tB(ta.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);r.push(n),n=""},a=!1;for(;s<t.length;){let e=t[s];if("\\"===e){if(s+1===t.length)throw new tB(ta.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let e=t[s+1];if("\\"!==e&&"."!==e&&"`"!==e)throw new tB(ta.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);n+=e,s+=2}else"`"===e?a=!a:"."!==e||a?n+=e:i(),s++}if(i(),a)throw new tB(ta.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new e(r)}static emptyPath(){return new e([])}};class tC{constructor(e){this.fields=e,e.sort(tc.comparator)}static empty(){return new tC([])}unionWith(e){let t=new tn(tc.comparator);for(let e of this.fields)t=t.add(e);for(let r of e)t=t.add(r);return new tC(t.toArray())}covers(e){for(let t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return e7(this.fields,e.fields,(e,t)=>e.isEqual(t))}}function td(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function tf(e,t){for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(r,e[r])}function tg(e,t){let r=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.push(t(e[n],n,e));return r}function tp(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class tm{constructor(e){this.path=e}static fromPath(e){return new tm(tu.fromString(e))}static fromName(e){return new tm(tu.fromString(e).popFirst(5))}static empty(){return new tm(tu.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return this.path.length>=2&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return null!==e&&0===tu.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return tu.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new tm(new tu(e.slice()))}}function tD(e,t,r){if(!r)throw new tB(ta.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function tE(e){if(!tm.isDocumentKey(e))throw new tB(ta.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function ty(e){if(tm.isDocumentKey(e))throw new tB(ta.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function tw(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function tI(e){if(void 0===e)return"undefined";if(null===e)return"null";if("string"==typeof e)return e.length>20&&(e=`${e.substring(0,20)}...`),JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e)return""+e;if("object"==typeof e){if(e instanceof Array)return"an array";{var t;let r=(t=e).constructor?t.constructor.name:null;return r?`a custom ${r} object`:"an object"}}return"function"==typeof e?"a function":e2(12329,{type:typeof e})}function t_(e,t){if("_delegate"in e&&(e=e._delegate),!(e instanceof t)){if(t.name===e.constructor.name)throw new tB(ta.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{let r=tI(e);throw new tB(ta.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: ${r}`)}}return e}function tv(e,t){if(t<=0)throw new tB(ta.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)}function tb(e,t){let r={typeString:e};return t&&(r.value=t),r}function tT(e,t){let r;if(!tw(e))throw new tB(ta.INVALID_ARGUMENT,"JSON must be an object");for(let n in t)if(t[n]){let s=t[n].typeString,i="value"in t[n]?{value:t[n].value}:void 0;if(!(n in e)){r=`JSON missing required field: '${n}'`;break}let a=e[n];if(s&&typeof a!==s){r=`JSON field '${n}' must be a ${s}.`;break}if(void 0!==i&&a!==i.value){r=`Expected '${n}' field to equal '${i.value}'`;break}}if(r)throw new tB(ta.INVALID_ARGUMENT,r);return!0}class tS{static now(){return tS.fromMillis(Date.now())}static fromDate(e){return tS.fromMillis(e.getTime())}static fromMillis(e){let t=Math.floor(e/1e3),r=Math.floor((e-1e3*t)*1e6);return new tS(t,r)}static fromInstant(e){if(!e||"bigint"!=typeof e.t)throw new tB(ta.INVALID_ARGUMENT,"Invalid Temporal.Instant object provided.");
1return tS._fromEpochNanoseconds(e.t)}static _fromEpochNanoseconds(e){let t,r;if(e>=0n)t=Number(e/1000000000n),r=Number(e%1000000000n);else{let n=e%1000000000n;0n===n?(t=Number(e/1000000000n),r=0):(t=Number(e/1000000000n-1n),r=Number(n+1000000000n))}return new tS(t,r)}constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0||t>=1e9)throw new tB(ta.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<-0xe7791f700||e>=0x3afff44180)throw new tB(ta.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}toInstant(){if("u"<typeof Temporal||!Temporal.Instant)throw new tB(ta.FAILED_PRECONDITION,"The Temporal object is not available in the current environment.");let e=1000000000n*BigInt(this.seconds)+BigInt(this.nanoseconds);return Temporal.Instant.__PRIVATE_fromEpochNanoseconds(e)}_compareTo(e){return this.seconds===e.seconds?e5(this.nanoseconds,e.nanoseconds):e5(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:tS._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(tT(e,tS._jsonSchema))return new tS(e.seconds,e.nanoseconds)}valueOf(){return String(this.seconds- -0xe7791f700).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}tS._jsonSchemaVersion="firestore/timestamp/1.0",tS._jsonSchema={type:tb("string",tS._jsonSchemaVersion),seconds:tb("number"),nanoseconds:tb("number")};class tN extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}class tA{constructor(e){this.binaryString=e}static fromBase64String(e){return new tA(function(e){try{return atob(e)}catch(e){throw"u">typeof DOMException&&e instanceof DOMException?new tN("Invalid base64 string: "+e):e}}(e))}static fromUint8Array(e){return new tA(function(e){let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t}(e))}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return btoa(this.binaryString)}toUint8Array(){var e=this.binaryString;let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return e5(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}tA.EMPTY_BYTE_STRING=new tA("");let tF=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function tO(e){if(e8(!!e,39018),"string"==typeof e){let t=0,r=tF.exec(e);if(e8(!!r,46558,{timestamp:e}),r[1]){let e=r[1];t=Number(e=(e+"000000000").substr(0,9))}return{seconds:Math.floor(new Date(e).getTime()/1e3),nanos:t}}return{seconds:tx(e.seconds),nanos:tx(e.nanos)}}function tx(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function tL(e){return"string"==typeof e?tA.fromBase64String(e):tA.fromUint8Array(e)}let tR="server_timestamp",tk="__type__",tG="__previous_value__",tP="__local_write_time__";function tM(e){return(e?.mapValue?.fields||{})[tk]?.stringValue===tR}function tH(e){let t=e.mapValue.fields[tG];return tM(t)?tH(t):t}function tV(e){let t=tO(e.mapValue.fields[tP].timestampValue);return new tS(t.seconds,t.nanos)}class tU{constructor(e,t,r,n,s,i,a,B,o,l,u,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=l,this.apiKey=u,this._customHeaders=h,this.grpcFlowControlWindow=c}}let tJ="(default)";class tq{constructor(e,t){this.projectId=e,this.database=t||tJ}static empty(){return new tq("","")}get isDefaultDatabase(){return this.database===tJ}isEqual(e){return e instanceof tq&&e.projectId===this.projectId&&e.database===this.database}}function tK(e,t){if(!Object.prototype.hasOwnProperty.apply(e.options,["projectId"]))throw new tB(ta.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new tq(e.options.projectId,t)}function tj(e){return null==e}function tQ(e){return 0===e&&1/e==-1/0}function tz(e){return"number"==typeof e&&Number.isInteger(e)&&!tQ(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}
1let t$="__type__",tY="__max__",tW={mapValue:{fields:{__type__:{stringValue:tY}}}},tX="__vector__",tZ="value",t0={nullValue:"NULL_VALUE"},t1={booleanValue:!0},t2={booleanValue:!1};function t3(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?tM(e)?4:rh(e)?0x1fffffffffffff:ro(e)?10:11:e2(28295,{value:e})}function t8(e,t,r){if(e===t)return!0;let n=t3(e);if(n!==t3(t))return!1;switch(n){case 0:case 0x1fffffffffffff:return!0;case 1:return e.booleanValue===t.booleanValue;case 4:return tV(e).isEqual(tV(t));case 3:if("string"==typeof e.timestampValue&&"string"==typeof t.timestampValue&&e.timestampValue.length===t.timestampValue.length)return e.timestampValue===t.timestampValue;let s=tO(e.timestampValue),i=tO(t.timestampValue);return s.seconds===i.seconds&&s.nanos===i.nanos;case 5:return e.stringValue===t.stringValue;case 6:return tL(e.bytesValue).isEqual(tL(t.bytesValue));case 7:return e.referenceValue===t.referenceValue;case 8:return tx(e.geoPointValue.latitude)===tx(t.geoPointValue.latitude)&&tx(e.geoPointValue.longitude)===tx(t.geoPointValue.longitude);case 2:let a,B;if("integerValue"in e&&"integerValue"in t)return tx(e.integerValue)===tx(t.integerValue);if("doubleValue"in e&&"doubleValue"in t)a=tx(e.doubleValue),B=tx(t.doubleValue);else{if(!r?.i)return!1;a=tx(e.integerValue??e.doubleValue),B=tx(t.integerValue??t.doubleValue)}return a===B?!!r?.o||tQ(a)===tQ(B):!!(void 0===r||r.u)&&isNaN(a)&&isNaN(B);case 9:return e7(e.arrayValue.values||[],t.arrayValue.values||[],(e,t)=>t8(e,t,r));case 10:case 11:let o=e.mapValue.fields||{},l=t.mapValue.fields||{};if(td(o)!==td(l))return!1;for(let e in o)if(o.hasOwnProperty(e)&&(void 0===l[e]||!t8(o[e],l[e],r)))return!1;return!0;default:return e2(52216,{left:e})}}function t6(e,t){return void 0!==(e.values||[]).find(e=>t8(e,t))}function t5(e,t){var r,n,s,i,a,B;if(e===t)return 0;let o=t3(e),l=t3(t);if(o!==l)return e5(o,l);switch(o){case 0:case 0x1fffffffffffff:return 0;case 1:return e5(e.booleanValue,t.booleanValue);case 2:let u,h;return u=tx(e.integerValue||e.doubleValue),u<(h=tx(t.integerValue||t.doubleValue))?-1:u>h?1:u===h?0:isNaN(u)?isNaN(h)?0:-1:1;case 3:return t4(e.timestampValue,t.timestampValue);case 4:return t4(tV(e),tV(t));case 5:return e4(e.stringValue,t.stringValue);case 6:let c,C;return r=e.bytesValue,n=t.bytesValue,c=tL(r),C=tL(n),c.compareTo(C);case 7:return function(e,t){let r=e.split("/"),n=t.split("/");for(let e=0;e<r.length&&e<n.length;e++){let t=e5(r[e],n[e]);if(0!==t)return t}return e5(r.length,n.length)}(e.referenceValue,t.referenceValue);case 8:let d;return s=e.geoPointValue,i=t.geoPointValue,0!==(d=e5(tx(s.latitude),tx(i.latitude)))?d:e5(tx(s.longitude),tx(i.longitude));case 9:return t9(e.arrayValue,t.arrayValue);case 10:let f,g,p,m,D;return a=e.mapValue,B=t.mapValue,f=a.fields||{},g=B.fields||{},p=f[tZ]?.arrayValue,m=g[tZ]?.arrayValue,0!==(D=e5(p?.values?.length||0,m?.values?.length||0))?D:t9(p,m);case 11:return function(e,t){if(e===tW.mapValue&&t===tW.mapValue)return 0;if(e===tW.mapValue)return 1;if(t===tW.mapValue)return -1;let r=e.fields||{},n=Object.keys(r),s=t.fields||{},i=Object.keys(s);n.sort(),i.sort();for(let e=0;e<n.length&&e<i.length;++e){let t=e4(n[e],i[e]);if(0!==t)return t;let a=t5(r[n[e]],s[i[e]]);if(0!==a)return a}return e5(n.length,i.length)}(e.mapValue,t.mapValue);default:throw e2(23264,{l:o})}}function t4(e,t){if("string"==typeof e&&"string"==typeof t&&e.length===t.length)return e5(e,t);let r=tO(e),n=tO(t),s=e5(r.seconds,n.seconds);return 0!==s?s:e5(r.nanos,n.nanos)}function t9(e,t){let r=e.values||[],n=t.values||[];for(let e=0;e<r.length&&e<n.length;++e){let t=t5(r[e],n[e]);if(void 0!==t&&0!==t)return t}return e5(r.length,n.length)}function t7(e){var t,r;let n;return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(n=tO(e.timestampValue),`time(${n.seconds},${n.nanos}
1)`):"stringValue"in e?e.stringValue:"bytesValue"in e?tL(e.bytesValue).toBase64():"referenceValue"in e?(t=e.referenceValue,tm.fromName(t).toString()):"geoPointValue"in e?(r=e.geoPointValue,`geo(${r.latitude},${r.longitude})`):"arrayValue"in e?function(e){let t="[",r=!0;for(let n of e.values||[])r?r=!1:t+=",",t+=t7(n);return t+"]"}(e.arrayValue):"mapValue"in e?function(e){let t=Object.keys(e.fields||{}).sort(),r="{",n=!0;for(let s of t)n?n=!1:r+=",",r+=`${s}:${t7(e.fields[s])}`;return r+"}"}(e.mapValue):e2(61005,{value:e})}function re(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/${t.path.canonicalString()}`}}function rt(e){return!!e&&"integerValue"in e}function rr(e){return!!e&&"doubleValue"in e}function rn(e){return rt(e)||rr(e)}function rs(e){return!!e&&"arrayValue"in e}function ri(e){return!!e&&"nullValue"in e}function ra(e){return!!e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function rB(e){return!!e&&"mapValue"in e}function ro(e){return(e?.mapValue?.fields||{})[t$]?.stringValue===tX}function rl(e){return(e?.mapValue?.fields||{})[tZ]?.arrayValue}function ru(e){if(e.geoPointValue)return{geoPointValue:{...e.geoPointValue}};if(e.timestampValue&&"object"==typeof e.timestampValue)return{timestampValue:{...e.timestampValue}};if(e.mapValue){let t={mapValue:{fields:{}}};return tf(e.mapValue.fields,(e,r)=>t.mapValue.fields[e]=ru(r)),t}if(e.arrayValue){let t={arrayValue:{values:[]}};for(let r=0;r<(e.arrayValue.values||[]).length;++r)t.arrayValue.values[r]=ru(e.arrayValue.values[r]);return t}return{...e}}function rh(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===tY}let rc={mapValue:{fields:{[t$]:{stringValue:tX},[tZ]:{arrayValue:{}}}}};function rC(e,t){let r=t5(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function rd(e,t){let r=t5(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class rf{constructor(e){this.value=e}static empty(){return new rf({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let r=0;r<e.length-1;++r)if(!rB(t=(t.mapValue.fields||{})[e.get(r)]))return null;return(t=(t.mapValue.fields||{})[e.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=ru(t)}setAll(e){let t=tc.emptyPath(),r={},n=[];e.forEach((e,s)=>{if(!t.isImmediateParentOf(s)){let e=this.getFieldsMap(t);this.applyChanges(e,r,n),r={},n=[],t=s.popLast()}e?r[s.lastSegment()]=ru(e):n.push(s.lastSegment())});let s=this.getFieldsMap(t);this.applyChanges(s,r,n)}delete(e){let t=this.field(e.popLast());rB(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return t8(this.value,e.value)}getFieldsMap(e){let t=this.value;t.mapValue.fields||(t.mapValue={fields:{}});for(let r=0;r<e.length;++r){let n=t.mapValue.fields[e.get(r)];rB(n)&&n.mapValue.fields||(n={mapValue:{fields:{}}},t.mapValue.fields[e.get(r)]=n),t=n}return t.mapValue.fields}applyChanges(e,t,r){for(let n of(tf(t,(t,r)=>e[t]=r),r))delete e[n]}clone(){return new rf(ru(this.value))}}function rg(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:tQ(t)?"-0":t}}function rp(e){return{integerValue:""+e}}function rm(e,t,r){return tz(t)?rp(t):rg(e,t)}class rD{constructor(){this._=void 0}}function rE(e,t){return e instanceof rT?rn(t)?t:{integerValue:0}:null}class ry extends rD{}class rw extends rD{constructor(e){super(),this.elements=e}}function rI(e,t){let r=rO(t);for(let t of e.elements)r.some(e=>t8(e,t))||r.push(t);return{arrayValue:{values:r}}}class r_ extends rD{constructor(e){super(),this.elements=e}}function rv(e,t){let r=rO(t);for(let t of e.elements)r=r.filter(e=>!t8(e,t));return{arrayValue:{values:r}}}class rb extends rD{constructor(e,t){super(),this.serializer=e,this.h=t}}class rT extends rb{}class rS extends rb{}class rN extends rb{}function rA(e,t,r){if(!rn(t))return e.h;let n=r(rF(t),rF(e.h));return rt(t)&&rt(e.h)?rp(n):rg(e.serializer,n)}function rF(e){return tx(e.integerValue||e.doubleValue)}function rO(e){return rs(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class rx{constructor(e,t){this.field=e,this.transform=t}}class rL{constructor(e,t){this.version=e,this.transformResults=t}}class rR{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new rR}static exists(e){return new rR(void 0,e)}static updateTime(e){return new rR(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 rk(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class rG{}function rP(e,t){if(!e.hasLocalMutations||t&&0===t.fields.length)return null;if(null===t)return e.isNoDocument()?new rj(e.key,rR.none()):new rV(e.key,e.data,rR.none());{let r=e.data,n=rf.empty(),s=new tn(tc.comparator);for(let e of t.fields)if(!s.has(e)){let t=r.field(e);null===t&&e.length>1&&(e=e.popLast(),t=r.field(e)),null===t?n.delete(e):n.set(e,t),s=s.add(e)}
1return new rU(e.key,n,new tC(s.toArray()),rR.none())}}function rM(e,t,r,n){return e instanceof rV?function(e,t,r,n){if(!rk(e.precondition,t))return r;let s=e.value.clone(),i=rK(e.fieldTransforms,n,t);return s.setAll(i),t.convertToFoundDocument(t.version,s).setHasLocalMutations(),null}(e,t,r,n):e instanceof rU?function(e,t,r,n){if(!rk(e.precondition,t))return r;let s=rK(e.fieldTransforms,n,t),i=t.data;return(i.setAll(rJ(e)),i.setAll(s),t.convertToFoundDocument(t.version,i).setHasLocalMutations(),null===r)?null:r.unionWith(e.fieldMask.fields).unionWith(e.fieldTransforms.map(e=>e.field))}(e,t,r,n):rk(e.precondition,t)?(t.convertToNoDocument(t.version).setHasLocalMutations(),null):r}function rH(e,t){var r,n;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)&&e7(r,n,(e,t)=>{var r,n;return e.field.isEqual(t.field)&&(r=e.transform,n=t.transform,r instanceof rw&&n instanceof rw||r instanceof r_&&n instanceof r_?e7(r.elements,n.elements,t8):r instanceof rT&&n instanceof rT||r instanceof rS&&n instanceof rS||r instanceof rN&&n instanceof rN?t8(r.h,n.h):r instanceof ry&&n instanceof ry)})))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask))}class rV extends rG{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 rU extends rG{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 rJ(e){let t=new Map;return e.fieldMask.fields.forEach(r=>{if(!r.isEmpty()){let n=e.data.field(r);t.set(r,n)}}),t}function rq(e,t,r){let n=new Map;e8(e.length===r.length,32656,{T:r.length,P:e.length});for(let i=0;i<r.length;i++){var s;let a=e[i],B=a.transform,o=t.data.field(a.field);n.set(a.field,(s=r[i],B instanceof rw?rI(B,o):B instanceof r_?rv(B,o):s))}return n}function rK(e,t,r){let n=new Map;for(let s of e){let e=s.transform,i=r.data.field(s.field);n.set(s.field,function(e,t,r){var n;let s,i,a;return e instanceof ry?(n=t,s={fields:{[tk]:{stringValue:tR},[tP]:{timestampValue:{seconds:r.seconds,nanos:r.nanoseconds}}}},n&&tM(n)&&(n=tH(n)),n&&(s.fields[tG]=n),{mapValue:s}):e instanceof rw?rI(e,t):e instanceof r_?rv(e,t):e instanceof rT?(
1a=rF(i=rE(e,t))+rF(e.h),rt(i)&&rt(e.h)?rp(a):rg(e.serializer,a)):e instanceof rS?rA(e,t,Math.min):e instanceof rN?rA(e,t,Math.max):void 0}(e,i,t))}return n}class rj extends rG{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class rQ extends rG{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class rz{constructor(e,t){this.position=e,this.inclusive=t}}function r$(e,t,r){let n=0;for(let s=0;s<e.position.length;s++){let i=t[s],a=e.position[s];if(n=i.field.isKeyField()?tm.comparator(tm.fromName(a.referenceValue),r.key):t5(a,r.data.field(i.field)),"desc"===i.dir&&(n*=-1),0!==n)break}return n}function rY(e,t){if(null===e)return null===t;if(null===t||e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let r=0;r<e.position.length;r++)if(!t8(e.position[r],t.position[r]))return!1;return!0}class rW{}class rX extends rW{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 r6(e,t,r):"array-contains"===t?new r7(e,r):"in"===t?new ne(e,r):"not-in"===t?new nt(e,r):"array-contains-any"===t?new nr(e,r):new rX(e,t,r)}static createKeyFieldInFilter(e,t,r){return"in"===t?new r5(e,r):new r4(e,r)}matches(e){let t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(t5(t,this.value)):null!==t&&t3(this.value)===t3(t)&&this.matchesComparison(t5(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return 0===e;case"!=":return 0!==e;case">":return e>0;case">=":return e>=0;default:return e2(47266,{operator:this.op})}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class rZ extends rW{constructor(e,t){super(),this.filters=e,this.op=t,this.I=null}static create(e,t){return new rZ(e,t)}matches(e){return r0(this)?void 0===this.filters.find(t=>!t.matches(e)):void 0!==this.filters.find(t=>t.matches(e))}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 r0(e){return"and"===e.op}function r1(e){return"or"===e.op}function r2(e){return r3(e)&&r0(e)}function r3(e){for(let t of e.filters)if(t instanceof rZ)return!1;return!0}function r8(e,t){let r=e.filters.concat(t);return rZ.create(r,e.op)}class r6 extends rX{constructor(e,t,r){super(e,t,r),this.key=tm.fromName(r.referenceValue)}matches(e){let t=tm.comparator(e.key,this.key);return this.matchesComparison(t)}}class r5 extends rX{constructor(e,t){super(e,"in",t),this.keys=r9("in",t)}matches(e){return this.keys.some(t=>t.isEqual(e.key))}}class r4 extends rX{constructor(e,t){super(e,"not-in",t),this.keys=r9("not-in",t)}matches(e){return!this.keys.some(t=>t.isEqual(e.key))}}function r9(e,t){return(t.arrayValue?.values||[]).map(e=>tm.fromName(e.referenceValue))}class r7 extends rX{constructor(e,t){super(e,"array-contains",t)}matches(e){let t=e.data.field(this.field);return rs(t)&&t6(t.arrayValue,this.value)}}class ne extends rX{constructor(e,t){super(e,"in",t)}matches(e){let t=e.data.field(this.field);return null!==t&&t6(this.value.arrayValue,t)}}class nt extends rX{constructor(e,t){super(e,"not-in",t)}matches(e){if(t6(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;let t=e.data.field(this.field);return null!==t&&void 0===t.nullValue&&!t6(this.value.arrayValue,t)}}class nr extends rX{constructor(e,t){super(e,"array-contains-any",t)}matches(e){let t=e.data.field(this.field);return!(!rs(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>t6(this.value.arrayValue,e))}}class nn{constructor(e,t="asc"){this.field=e,this.dir=t}}class ns{static fromTimestamp(e){return new ns(e)}static min(){return new ns(new tS(0,0))}static max(){return new ns(new tS(0x3afff4417f,0x3b9ac9ff))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}class ni{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 ni(e,0,ns.min(),ns.min(),ns.min(),rf.empty(),0)}static newFoundDocument(e,t,r,n){return new ni(e,1,t,ns.min(),r,n,0)}static newNoDocument(e,t){return new ni(e,2,t,ns.min(),ns.min(),rf.empty(),0)}static newUnknownDocument(e,t){return new ni(e,3,t,ns.min(),ns.min(),rf.empty(),2)}convertToFoundDocument(e,t){return this.createTime.isEqual(ns.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=rf.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=rf.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=ns.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 ni&&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 ni(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}})`}}
1class na{constructor(e,t,r,n){this.indexId=e,this.collectionGroup=t,this.fields=r,this.indexState=n}}function nB(e){return e.fields.find(e=>2===e.kind)}function no(e){return e.fields.filter(e=>2!==e.kind)}function nl(e,t){let r=e5(e.collectionGroup,t.collectionGroup);if(0!==r)return r;for(let n=0;n<Math.min(e.fields.length,t.fields.length);++n)if(0!==(r=function(e,t){let r=tc.comparator(e.fieldPath,t.fieldPath);return 0!==r?r:e5(e.kind,t.kind)}(e.fields[n],t.fields[n])))return r;return e5(e.fields.length,t.fields.length)}na.UNKNOWN_ID=-1;class nu{constructor(e,t){this.fieldPath=e,this.kind=t}}class nh{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new nh(0,nd.min())}}function nc(e,t){let r=e.toTimestamp().seconds,n=e.toTimestamp().nanoseconds+1;return new nd(ns.fromTimestamp(1e9===n?new tS(r+1,0):new tS(r,n)),tm.empty(),t)}function nC(e){return new nd(e.readTime,e.key,-1)}class nd{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new nd(ns.min(),tm.empty(),-1)}static max(){return new nd(ns.max(),tm.empty(),-1)}}function nf(e,t){let r=e.readTime.compareTo(t.readTime);return 0!==r||0!==(r=tm.comparator(e.documentKey,t.documentKey))?r:e5(e.largestBatchId,t.largestBatchId)}class ng{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 np(e,t=null,r=[],n=[],s=null,i=null,a=null){return new ng(e,t,r,n,s,i,a)}function nm(e){if(null===e.R){let t=e.path.canonicalString();null!==e.collectionGroup&&(t+="|cg:"+e.collectionGroup),t+="|f:",t+=e.filters.map(e=>(function e(t){if(t instanceof rX)return t.field.canonicalString()+t.op.toString()+t7(t.value);if(r2(t))return t.filters.map(t=>e(t)).join(",");{let r=t.filters.map(t=>e(t)).join(",");return`${t.op}(${r})`}})(e)).join(","),t+="|ob:",t+=e.orderBy.map(e=>e.field.canonicalString()+e.dir).join(","),tj(e.limit)||(t+="|l:",t+=e.limit),e.startAt&&(t+="|lb:",t+=e.startAt.inclusive?"b:":"a:",t+=e.startAt.position.map(e=>t7(e)).join(",")),e.endAt&&(t+="|ub:",t+=e.endAt.inclusive?"a:":"b:",t+=e.endAt.position.map(e=>t7(e)).join(",")),e.R=t}return e.R}function nD(e,t){if(e.limit!==t.limit||e.orderBy.length!==t.orderBy.length)return!1;for(let s=0;s<e.orderBy.length;s++){var r,n;if(r=e.orderBy[s],n=t.orderBy[s],!(r.dir===n.dir&&r.field.isEqual(n.field)))return!1}if(e.filters.length!==t.filters.length)return!1;for(let r=0;r<e.filters.length;r++)if(!function e(t,r){return t instanceof rX?r instanceof rX&&t.op===r.op&&t.field.isEqual(r.field)&&t8(t.value,r.value):t instanceof rZ?r instanceof rZ&&t.op===r.op&&t.filters.length===r.filters.length&&t.filters.reduce((t,n,s)=>t&&e(n,r.filters[s]),!0):void e2(19439)}(e.filters[r],t.filters[r]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!rY(e.startAt,t.startAt)&&rY(e.endAt,t.endAt)}function nE(e){return!!e.isCorePipeline}function ny(e){return!!e.path&&tm.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function nw(e,t){return e.filters.filter(e=>e instanceof rX&&e.field.isEqual(t))}function nI(e,t,r){let n=t0,s=!0;for(let r of nw(e,t)){let e=t0,t=!0;switch(r.op){case"<":case"<=":var i;e="nullValue"in(i=r.value)?t0:"booleanValue"in i?{booleanValue:!1}:"integerValue"in i||"doubleValue"in i?{doubleValue:NaN}:"timestampValue"in i?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"stringValue"in i?{stringValue:""}:"bytesValue"in i?{bytesValue:""}:"referenceValue"in i?re(tq.empty(),tm.empty()):"geoPointValue"in i?{geoPointValue:{latitude:-90,longitude:-180}}:"arrayValue"in i?{arrayValue:{}}:"mapValue"in i?ro(i)?rc:{mapValue:{}}:e2(35942,{value:i});break;case"==":case"in":case">=":e=r.value;break;case">":e=r.value,t=!1;break;case"!=":case"not-in":e=t0}0>rC({value:n,inclusive:s},{value:e,inclusive:t})&&(n=e,s=t)}if(null!==r){for(let i=0;i<e.orderBy.length;++i)if(e.orderBy[i].field.isEqual(t)){let e=r.position[i];0>rC({value:n,inclusive:s},{value:e,inclusive:r.inclusive})&&(n=e,s=r.inclusive);break}}return{value:n,inclusive:s}}function n_(e,t,r){let n=tW,s=!0;for(let r of nw(e,t)){let e=tW,t=!0;switch(r.op){case">=":case">":var i;
1e="nullValue"in(i=r.value)?{booleanValue:!1}:"booleanValue"in i?{doubleValue:NaN}:"integerValue"in i||"doubleValue"in i?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"timestampValue"in i?{stringValue:""}:"stringValue"in i?{bytesValue:""}:"bytesValue"in i?re(tq.empty(),tm.empty()):"referenceValue"in i?{geoPointValue:{latitude:-90,longitude:-180}}:"geoPointValue"in i?{arrayValue:{}}:"arrayValue"in i?rc:"mapValue"in i?ro(i)?{mapValue:{}}:tW:e2(61959,{value:i}),t=!1;break;case"==":case"in":case"<=":e=r.value;break;case"<":e=r.value,t=!1;break;case"!=":case"not-in":e=tW}rd({value:n,inclusive:s},{value:e,inclusive:t})>0&&(n=e,s=t)}if(null!==r){for(let i=0;i<e.orderBy.length;++i)if(e.orderBy[i].field.isEqual(t)){let e=r.position[i];rd({value:n,inclusive:s},{value:e,inclusive:r.inclusive})>0&&(n=e,s=r.inclusive);break}}return{value:n,inclusive:s}}class nv{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 nb(e){return new nv(e)}function nT(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 nS(e){return null!==e.collectionGroup}function nN(e){if(null===e.A){let t;e.A=[];let r=new Set;for(let t of e.explicitOrderBy)e.A.push(t),r.add(t.field.canonicalString());let n=e.explicitOrderBy.length>0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";(t=new tn(tc.comparator),e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t).forEach(t=>{r.has(t.canonicalString())||t.isKeyField()||e.A.push(new nn(t,n))}),r.has(tc.keyField().canonicalString())||e.A.push(new nn(tc.keyField(),n))}return e.A}function nA(e){return e.V||(e.V=nF(e,nN(e))),e.V}function nF(e,t){if("F"===e.limitType)return np(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);{t=t.map(e=>{let t="desc"===e.dir?"asc":"desc";return new nn(e.field,t)});let r=e.endAt?new rz(e.endAt.position,e.endAt.inclusive):null,n=e.startAt?new rz(e.startAt.position,e.startAt.inclusive):null;return np(e.path,e.collectionGroup,t,e.filters,e.limit,r,n)}}function nO(e,t){let r=e.filters.concat([t]);return new nv(e.path,e.collectionGroup,e.explicitOrderBy.slice(),r,e.limit,e.limitType,e.startAt,e.endAt)}function nx(e,t){let r=e.explicitOrderBy.concat([t]);return new nv(e.path,e.collectionGroup,r,e.filters.slice(),e.limit,e.limitType,e.startAt,e.endAt)}function nL(e,t,r){return new nv(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,r,e.startAt,e.endAt)}function nR(e,t){return new nv(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,t,e.endAt)}function nk(e,t){return new nv(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,e.startAt,t)}function nG(e,t){return nD(nA(e),nA(t))&&e.limitType===t.limitType}function nP(e){var t;let r;return`Query(target=${r=(t=nA(e)).path.canonicalString(),null!==t.collectionGroup&&(r+=" collectionGroup="+t.collectionGroup),t.filters.length>0&&(r+=`, filters: [${t.filters.map(e=>(function e(t){return t instanceof rX?`${t.field.canonicalString()} ${t.op} ${t7(t.value)}`:t instanceof rZ?t.op.toString()+" {"+t.getFilters().map(e).join(" ,")+"}":"Filter"})(e)).join(", ")}]`),tj(t.limit)||(r+=", limit: "+t.limit),t.orderBy.length>0&&(r+=`, orderBy: [${t.orderBy.map(e=>`${e.field.canonicalString()} (${e.dir})`).join(", ")}]`),t.startAt&&(r+=", startAt: ",r+=t.startAt.inclusive?"b:":"a:",r+=t.startAt.position.map(e=>t7(e)).join(",")),t.endAt&&(r+=", endAt: ",r+=t.endAt.inclusive?"a:":"b:",r+=t.endAt.position.map(e=>t7(e)).join(",")),`Target(${r})`}; limitType=${e.limitType})`}function nM(e,t){var r,n,s,i;let a,B,o;return t.isFoundDocument()&&(a=t.key.path,null!==e.collectionGroup?t.key.hasCollectionId(e.collectionGroup)&&e.path.isPrefixOf(a):tm.isDocumentKey(e.path)?e.path.isEqual(a):e.path.isImmediateParentOf(a))&&function(e,t){for(let r of nN(e))if(!r.field.isKeyField()&&null===t.data.field(r.field))return!1;return!0}(e,t)&&function(e,t){for(let r of e.filters)if(!r.matches(t))return!1;return!0}(e,t)&&(r=e,n=t,(!r.startAt||(s=r.startAt,B=r$(s,nN(r),n),s.inclusive?!!(B<=0):!!(B<0)))&&(!r.endAt||(i=r.endAt,o=r$(i,nN(r),n),i.inclusive?!!(o>=0):!!(o>0))))}function nH(e){return(t,r)=>{let n=!1;for(let s of nN(e)){let e=function(e,t,r){var n;let s,i,a=e.field.isKeyField()?tm.comparator(t.key,r.key):(n=e.field,s=t.data.field(n),i=r.data.field(n),null!==s&&null!==i?t5(s,i):e2(42886));switch(e.dir){case"asc":return a;
1case"desc":return -1*a;default:return e2(19790,{direction:e.dir})}}(s,t,r);if(0!==e)return e;n=n||s.field.isKeyField()}return 0}}class nV{constructor(e,t){this.count=e,this.unchangedNames=t}}function nU(e){switch(e){case ta.OK:return e2(64938);case ta.CANCELLED:case ta.UNKNOWN:case ta.DEADLINE_EXCEEDED:case ta.RESOURCE_EXHAUSTED:case ta.INTERNAL:case ta.UNAVAILABLE:case ta.UNAUTHENTICATED:return!1;case ta.INVALID_ARGUMENT:case ta.NOT_FOUND:case ta.ALREADY_EXISTS:case ta.PERMISSION_DENIED:case ta.FAILED_PRECONDITION:case ta.ABORTED:case ta.OUT_OF_RANGE:case ta.UNIMPLEMENTED:case ta.DATA_LOSS:return!0;default:return e2(15467,{code:e})}}function nJ(e){if(void 0===e)return eZ("GRPC error has no .code"),ta.UNKNOWN;switch(e){case u.OK:return ta.OK;case u.CANCELLED:return ta.CANCELLED;case u.UNKNOWN:return ta.UNKNOWN;case u.DEADLINE_EXCEEDED:return ta.DEADLINE_EXCEEDED;case u.RESOURCE_EXHAUSTED:return ta.RESOURCE_EXHAUSTED;case u.INTERNAL:return ta.INTERNAL;case u.UNAVAILABLE:return ta.UNAVAILABLE;case u.UNAUTHENTICATED:return ta.UNAUTHENTICATED;case u.INVALID_ARGUMENT:return ta.INVALID_ARGUMENT;case u.NOT_FOUND:return ta.NOT_FOUND;case u.ALREADY_EXISTS:return ta.ALREADY_EXISTS;case u.PERMISSION_DENIED:return ta.PERMISSION_DENIED;case u.FAILED_PRECONDITION:return ta.FAILED_PRECONDITION;case u.ABORTED:return ta.ABORTED;case u.OUT_OF_RANGE:return ta.OUT_OF_RANGE;case u.UNIMPLEMENTED:return ta.UNIMPLEMENTED;case u.DATA_LOSS:return ta.DATA_LOSS;default:return e2(39323,{code:e})}}(h=u||(u={}))[h.OK=0]="OK",h[h.CANCELLED=1]="CANCELLED",h[h.UNKNOWN=2]="UNKNOWN",h[h.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",h[h.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",h[h.NOT_FOUND=5]="NOT_FOUND",h[h.ALREADY_EXISTS=6]="ALREADY_EXISTS",h[h.PERMISSION_DENIED=7]="PERMISSION_DENIED",h[h.UNAUTHENTICATED=16]="UNAUTHENTICATED",h[h.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",h[h.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",h[h.ABORTED=10]="ABORTED",h[h.OUT_OF_RANGE=11]="OUT_OF_RANGE",h[h.UNIMPLEMENTED=12]="UNIMPLEMENTED",h[h.INTERNAL=13]="INTERNAL",h[h.UNAVAILABLE=14]="UNAVAILABLE",h[h.DATA_LOSS=15]="DATA_LOSS";class nq{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(e){let t=this.mapKeyFn(e),r=this.inner[t];if(void 0!==r){for(let[t,n]of r)if(this.equalsFn(t,e))return n}}has(e){return void 0!==this.get(e)}set(e,t){let r=this.mapKeyFn(e),n=this.inner[r];if(void 0===n)return this.inner[r]=[[e,t]],void this.innerSize++;for(let r=0;r<n.length;r++)if(this.equalsFn(n[r][0],e))return void(n[r]=[e,t]);n.push([e,t]),this.innerSize++}delete(e){let t=this.mapKeyFn(e),r=this.inner[t];if(void 0===r)return!1;for(let n=0;n<r.length;n++)if(this.equalsFn(r[n][0],e))return 1===r.length?delete this.inner[t]:r.splice(n,1),this.innerSize--,!0;return!1}forEach(e){tf(this.inner,(t,r)=>{for(let[t,n]of r)e(t,n)})}isEmpty(){return tp(this.inner)}size(){return this.innerSize}}let nK=new te(tm.comparator),nj=new te(tm.comparator);function nQ(...e){let t=nj;for(let r of e)t=t.insert(r.key,r);return t}function nz(e){let t=nj;return e.forEach((e,r)=>t=t.insert(e,r.overlayedDocument)),t}function n$(){return new nq(e=>e.toString(),(e,t)=>e.isEqual(t))}let nY=new te(tm.comparator),nW=new tn(tm.comparator);function nX(...e){let t=nW;for(let r of e)t=t.add(r);return t}let nZ=new tn(e5),n0=null;function n1(){return new TextEncoder}let n2=new m.Integer([0xffffffff,0xffffffff],0);function n3(e){let t=n1().encode(e),r=new m.Md5;return r.update(t),new Uint8Array(r.digest())}function n8(e){let t=new DataView(e.buffer),r=t.getUint32(0,!0),n=t.getUint32(4,!0),s=t.getUint32(8,!0),i=t.getUint32(12,!0);return[new m.Integer([r,n],0),new m.Integer([s,i],0)]}class n6{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||t>=8)throw new n5(`Invalid padding: ${t}`);if(r<0||e.length>0&&0===this.hashCount)throw new n5(`Invalid hash count: ${r}`);if(0===e.length&&0!==t)throw new n5(`Invalid padding when bitmap length is 0: ${t}`);this.p=8*e.length-t,this.S=m.Integer.fromNumber(this.p)}v(e,t,r){let n=e.add(t.multiply(m.Integer.fromNumber(r)));return 1===n.compare(n2)&&(n=new m.Integer([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,r]=n8(n3(e));for(let e=0;e<this.hashCount;e++){let n=this.v(t,r,e);if(!this.D(n))return!1}return!0}static create(e,t,r){let n=new n6(new Uint8Array(Math.ceil(e/8)),e%8==0?0:8-e%8,t);
1return r.forEach(e=>n.insert(e)),n}insert(e){if(0===this.p)return;let[t,r]=n8(n3(e));for(let e=0;e<this.hashCount;e++){let n=this.v(t,r,e);this.C(n)}}C(e){let t=Math.floor(e/8);this.bitmap[t]|=1<<e%8}}class n5 extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}class n4{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){let n=new Map;return n.set(e,n9.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new n4(ns.min(),n,new te(e5),nK,nK,nX())}}class n9{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 n9(r,t,nX(),nX(),nX())}}class n7{constructor(e,t,r,n){this.F=e,this.removedTargetIds=t,this.key=r,this.O=n}}class se{constructor(e,t){this.targetId=e,this.M=t}}class st{constructor(e,t,r=tA.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class sr{constructor(e){this.targetId=e,this.N=0,this.L=sa(),this.B=tA.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){e.approximateByteSize()>0&&(this.k=!0,this.B=e)}W(){let e=nX(),t=nX(),r=nX();return this.L.forEach((n,s)=>{switch(s){case 0:e=e.add(n);break;case 2:t=t.add(n);break;case 1:r=r.add(n);break;default:e2(38017,{changeType:s})}}),new n9(this.B,this.U,e,t,r)}G(){this.k=!1,this.L=sa()}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-=1,e8(this.N>=0,3241,{N:this.N,targetId:this.targetId})}Z(){this.k=!0,this.U=!0}}let sn="WatchChangeAggregator";class ss{constructor(e){this.X=e,this.ee=new Map,this.te=nK,this.ne=si(),this.re=nK,this.ie=si(),this.se=new te(e5)}_e(e){for(let t of e.F)e.O&&e.O.isFoundDocument()?this.oe(t,e.O):this.ae(t,e.key,e.O);for(let t of e.removedTargetIds)this.ae(t,e.key,e.O)}ue(e){this.forEachTarget(e,t=>{let r=this.ee.get(t);if(r)switch(e.state){case 0:this.ce(t)&&r.K(e.resumeToken);break;case 1:r.Y(),r.q||r.G(),r.K(e.resumeToken);break;case 2:r.Y(),r.q||this.removeTarget(t);break;case 3:this.ce(t)&&(r.Z(),r.K(e.resumeToken));break;case 4:this.ce(t)&&(this.le(t),r.K(e.resumeToken));break;default:e2(56790,{state:e.state})}else eX(sn,`handleTargetChange received targetChange for untracked target ID (${t}) with state (${e.state})`)})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.ee.forEach((e,r)=>{this.ce(r)&&t(r)})}Ee(e){return nE(e)?"documents"===e.getPipelineSourceType()&&1===e.getPipelineDocuments()?.length:ny(e)}he(e){let t=e.targetId,r=e.M.count,n=this.Te(t);if(n){let a=n.target;if(this.Ee(a))if(0===r){let e=new tm(nE(a)?tu.fromString(a.getPipelineDocuments()[0]):a.path);this.ae(t,e,ni.newNoDocument(e,ns.min()))}else e8(1===r,20013,"Single document existence filter with count: "+r);else{let n=this.Pe(t);if(n!==r){var s,i;let r,a,B=this.Ie(e),o=B?this.Re(B,e,n):1;0!==o&&(this.le(t),this.se=this.se.insert(t,2===o?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch")),n0?.Ae((s=e.M,i=this.X.Ve(),r={localCacheCount:n,existenceFilterCount:s.count,databaseId:i.database,projectId:i.projectId},(a=s.unchangedNames)&&(r.bloomFilter={applied:0===o,hashCount:a?.hashCount??0,bitmapLength:a?.bits?.bitmap?.length??0,padding:a?.bits?.padding??0,mightContain:e=>B?.mightContain(e)??!1}),r))}}}}Ie(e){let t,r,n=e.M.unchangedNames;if(!n||!n.bits)return null;let{bits:{bitmap:s="",padding:i=0},hashCount:a=0}=n;try{t=tL(s).toUint8Array()}catch(e){if(e instanceof tN)return e0("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{r=new n6(t,i,a)}catch(e){return e0(e instanceof n5?"BloomFilter error: ":"Applying bloom filter failed: ",e),null}return 0===r.p?null:r}Re(e,t,r){return 2*(t.M.count!==r-this.de(e,t.targetId))}de(e,t){let r=this.X.getRemoteKeysForTarget(t),n=0;return r.forEach(r=>{let s=this.X.Ve(),i=`projects/${s.projectId}/databases/${s.database}/documents/${r.path.canonicalString()}`;e.mightContain(i)||(this.ae(t,r,null),n++)}),n}fe(e){let t=new Map;this.ee.forEach((r,n)=>{let s=this.Te(n);if(s){if(r.current&&this.Ee(s.target)){let t=new tm(nE(s.target)?tu.fromString(s.target.getPipelineDocuments()[0]):s.target.path);this.me(t).has(n)||this.pe(n,t)||this.ae(n,t,ni.newNoDocument(t,e))}r.$&&(t.set(n,r.W()),r.G())}});let r=nX();this.ie.forEach((e,t)=>{let n=!0;t.forEachWhile(e=>{let t=this.Te(e);return!t||"TargetPurposeLimboResolution"===t.purpose||(n=!1,!1)}),n&&(r=r.add(e))}),this.te.forEach((t,r)=>r.setReadTime(e)),this.re.forEach((t,r)=>r.setReadTime(e));let n=new n4(e,t,this.se,this.te,this.re,r);return this.te=nK,this.ne=si(),this.re=nK,this.ie=si(),this.se=new te(e5),n}oe(e,t){let r=this.ee.get(e);if(!r||!this.ce(e))return void eX(sn,`addDocumentToTarget received document for unknown inactive target (${e})`);let n=2*!!this.pe(e,t.key);r.j(t.key,n),nE(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))}ae(e,t,r){let 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&&(nE(this.Te(e).target)&&"exact"!==this.Te(e).target.getPipelineFlavor()?this.re=this.re.insert(t,r):this.te=this.te.insert(t,r))):eX(sn,`removeDocumentFromTarget received document for unknown or inactive target (${e})`)}removeTarget(e){this.ee.delete(e)}Pe(e){let t=this.ee.get(e);if(!t)return 0;let r=t.W();return this.X.getRemoteKeysForTarget(e).size+r.addedDocuments.size-r.removedDocuments.size}J(e){let t=this.ee.get(e);t||(eX(sn,`recordPendingTargetRequest set up tracking for target ID ${e}`),t=new sr(e),this.ee.set(e,t)),t.J()}ge(e){let t=this.ie.get(e);return t||(t=new tn(e5),this.ie=this.ie.insert(e,t)),t}
1me(e){let t=this.ne.get(e);return t||(t=new tn(e5),this.ne=this.ne.insert(e,t)),t}ce(e){let t=null!==this.Te(e);return t||eX(sn,"Detected inactive target",e),t}Te(e){let t=this.ee.get(e);return void 0===t||t.q?null:this.X.ye(e)}le(e){this.ee.set(e,new sr(e)),this.X.getRemoteKeysForTarget(e).forEach(t=>{this.ae(e,t,null)})}pe(e,t){return this.X.getRemoteKeysForTarget(e).has(t)}}function si(){return new te(tm.comparator)}function sa(){return new te(tm.comparator)}let sB={asc:"ASCENDING",desc:"DESCENDING"},so={"<":"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"},sl={and:"AND",or:"OR"};class su{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function sh(e,t){return e.useProto3Json||tj(t)?t:{value:t}}function sc(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 sC(e){let t=tO(e);return new tS(t.seconds,t.nanos)}function sd(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function sf(e,t){return sc(e,t.toTimestamp())}function sg(e){return e8(!!e,49232),ns.fromTimestamp(sC(e))}function sp(e,t){return sm(e,t).canonicalString()}function sm(e,t){let r=new tu(["projects",e.projectId,"databases",e.database]).child("documents");return void 0===t?r:r.child(t)}function sD(e){let t=tu.fromString(e);return e8(sk(t),10190,{key:t.toString()}),t}function sE(e,t){return sp(e.databaseId,t.path)}function sy(e,t){let r=sD(t);if(r.get(1)!==e.databaseId.projectId)throw new tB(ta.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 tB(ta.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+r.get(3)+" vs "+e.databaseId.database);return new tm(sv(r))}function sw(e,t){return sp(e.databaseId,t)}function sI(e){let t=sD(e);return 4===t.length?tu.emptyPath():sv(t)}function s_(e){return new tu(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function sv(e){return e8(e.length>4&&"documents"===e.get(4),29091,{key:e.toString()}),e.popFirst(5)}function sb(e,t,r){return{name:sE(e,t),fields:r.value.mapValue.fields}}function sT(e,t,r){let n=sy(e,t.name),s=sg(t.updateTime),i=t.createTime?sg(t.createTime):ns.min(),a=new rf({mapValue:{fields:t.fields}}),B=ni.newFoundDocument(n,s,i,a);return r&&B.setHasCommittedMutations(),r?B.setHasCommittedMutations():B}function sS(e,t){var r,n;let s;if(t instanceof rV)s={update:sb(e,t.key,t.value)};else if(t instanceof rj)s={delete:sE(e,t.key)};else if(t instanceof rU){let r;s={update:sb(e,t.key,t.data),updateMask:(n=t.fieldMask,r=[],n.fields.forEach(e=>r.push(e.canonicalString())),{fieldPaths:r})}}else{if(!(t instanceof rQ))return e2(16599,{be:t.type});s={verify:sE(e,t.key)}}return t.fieldTransforms.length>0&&(s.updateTransforms=t.fieldTransforms.map(e=>(function(e){let t=e.transform;if(t instanceof ry)return{fieldPath:e.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(t instanceof rw)return{fieldPath:e.field.canonicalString(),appendMissingElements:{values:t.elements}};if(t instanceof r_)return{fieldPath:e.field.canonicalString(),removeAllFromArray:{values:t.elements}};if(t instanceof rT)return{fieldPath:e.field.canonicalString(),increment:t.h};if(t instanceof rS)return{fieldPath:e.field.canonicalString(),minimum:t.h};if(t instanceof rN)return{fieldPath:e.field.canonicalString(),maximum:t.h};throw e2(20930,{transform:e.transform})})(e))),t.precondition.isNone||(s.currentDocument=void 0!==(r=t.precondition).updateTime?{updateTime:sf(e,r.updateTime)}:void 0!==r.exists?{exists:r.exists}:e2(27497)),s}function sN(e,t){var r;let n=t.currentDocument?void 0!==(r=t.currentDocument).updateTime?rR.updateTime(sg(r.updateTime)):void 0!==r.exists?rR.exists(r.exists):rR.none():rR.none(),s=t.updateTransforms?t.updateTransforms.map(t=>{let r;return r=null,"setToServerValue"in t?(e8("REQUEST_TIME"===t.setToServerValue,16630,{proto:t}),r=new ry):"appendMissingElements"in t?r=new rw(t.appendMissingElements.values||[]):"removeAllFromArray"in t?r=new r_(t.removeAllFromArray.values||[]):"increment"in t?r=new rT(e,t.increment):"minimum"in t?r=new rS(e,t.minimum):"maximum"in t?r=new rN(e,t.maximum):e2(16584,{proto:t}),new rx(tc.fromServerFormat(t.fieldPath),r)}):[];if(t.update){t.update.name;let r=sy(e,t.update.name),i=new rf({mapValue:{fields:t.update.fields}});return t.updateMask?new rU(r,i,new tC((t.updateMask.fieldPaths||[]).map(e=>tc.fromServerFormat(e))),n,s):new rV(r,i,n,s)}return t.delete?new rj(sy(e,t.delete),n):t.verify?new rQ(sy(e,t.verify),n):e2(1463,{proto:t})}function sA(e,t){return{documents:[sw(e,t.path)]}}function sF(e,t){var r,n;let s,i={structuredQuery:{}},a=t.path;null!==t.collectionGroup?(s=a,i.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(s=a.popLast(),i.structuredQuery.from=[{collectionId:a.lastSegment()}]),i.parent=sw(e,s);let B=function(e){if(0!==e.length)return function e(t){var r;let n;return t instanceof rX?function(e){if("=="===e.op){if(ra(e.value))return{unaryFilter:{field:sL(e.field),op:"IS_NAN"}};if(ri(e.value))return{unaryFilter:{field:sL(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(ra(e.value))return{unaryFilter:{field:sL(e.field),op:"IS_NOT_NA
1N"}};if(ri(e.value))return{unaryFilter:{field:sL(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:sL(e.field),op:so[e.op],value:e.value}}}(t):t instanceof rZ?1===(n=(r=t).getFilters().map(t=>e(t))).length?n[0]:{compositeFilter:{op:sl[r.op],filters:n}}:e2(54877,{filter:t})}(rZ.create(e,"and"))}(t.filters);B&&(i.structuredQuery.where=B);let o=function(e){if(0!==e.length)return e.map(e=>({field:sL(e.field),direction:sB[e.dir]}))}(t.orderBy);o&&(i.structuredQuery.orderBy=o);let l=sh(e,t.limit);return null!==l&&(i.structuredQuery.limit=l),t.startAt&&(i.structuredQuery.startAt={before:(r=t.startAt).inclusive,values:r.position}),t.endAt&&(i.structuredQuery.endAt={before:!(n=t.endAt).inclusive,values:n.position}),{Se:i,parent:s}}function sO(e){var t,r,n;let s,i,a,B,o=sI(e.parent),l=e.structuredQuery,u=l.from?l.from.length:0,h=null;if(u>0){e8(1===u,65062);let e=l.from[0];e.allDescendants?h=e.collectionId:o=o.child(e.collectionId)}let c=[];l.where&&(c=(s=function e(t){return void 0!==t.unaryFilter?function(e){switch(e.unaryFilter.op){case"IS_NAN":let t=sR(e.unaryFilter.field);return rX.create(t,"==",{doubleValue:NaN});case"IS_NULL":let r=sR(e.unaryFilter.field);return rX.create(r,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let n=sR(e.unaryFilter.field);return rX.create(n,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let s=sR(e.unaryFilter.field);return rX.create(s,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return e2(61313);default:return e2(60726)}}(t):void 0!==t.fieldFilter?rX.create(sR(t.fieldFilter.field),function(e){switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":return e2(58110);default:return e2(50506)}}(t.fieldFilter.op),t.fieldFilter.value):void 0!==t.compositeFilter?rZ.create(t.compositeFilter.filters.map(t=>e(t)),function(e){switch(e){case"AND":return"and";case"OR":return"or";default:return e2(1026)}}(t.compositeFilter.op)):e2(30097,{filter:t})}(l.where))instanceof rZ&&r2(s)?s.getFilters():[s]);let C=[];l.orderBy&&(C=l.orderBy.map(e=>new nn(sR(e.field),function(e){switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(e.direction))));let d=null;l.limit&&(d=tj(i="object"==typeof(t=l.limit)?t.value:t)?null:i);let f=null;l.startAt&&(a=!!(r=l.startAt).before,f=new rz(r.values||[],a));let g=null;return l.endAt&&(B=!(n=l.endAt).before,g=new rz(n.values||[],B)),new nv(o,h,C,c,d,"F",f,g)}function sx(e,t){return{structuredPipeline:{pipeline:{stages:t.stages.map(t=>t._toProto(e))}}}}function sL(e){return{fieldPath:e.canonicalString()}}function sR(e){return tc.fromServerFormat(e.fieldPath)}function sk(e){return e.length>=4&&"projects"===e.get(0)&&"databases"===e.get(2)}function sG(e){return!!e&&"function"==typeof e._toProto&&"ProtoValue"===e._protoValueType}function sP(e,t){let r={fields:{}};return t.forEach((t,n)=>{if("string"!=typeof n)throw Error(`Cannot encode map with non-string key: ${n}`);r.fields[n]=t._toProto(e)}),{mapValue:r}}function sM(e){return{stringValue:e}}function sH(e){return new su(e,!0)}class sV{constructor(e){this._byteString=e}static fromBase64String(e){try{return new sV(tA.fromBase64String(e))}catch(e){throw new tB(ta.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new sV(tA.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:sV._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(e){if(tT(e,sV._jsonSchema))return sV.fromBase64String(e.bytes)}}sV._jsonSchemaVersion="firestore/bytes/1.0",sV._jsonSchema={type:tb("string",sV._jsonSchemaVersion),bytes:tb("string")};class sU{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new tB(ta.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new tc(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}}function sJ(){return new sU(to)}class sq{constructor(e){this._methodName=e}}class sK{constructor(e,t){if(!isFinite(e)||e<-90||e>90)throw new tB(ta.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||t>180)throw new tB(ta.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 e5(this._lat,e._lat)||e5(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:sK._jsonSchemaVersion}}static fromJSON(e){if(tT(e,sK._jsonSchema))return new sK(e.latitude,e.longitude)}}sK._jsonSchemaVersion="firestore/geoPoint/1.0",sK._jsonSchema={type:tb("string",sK._jsonSchemaVersion),latitude:tb("number"),longitude:tb("number")};class sj{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}}
1sj.UNAUTHENTICATED=new sj(null),sj.GOOGLE_CREDENTIALS=new sj("google-credentials-uid"),sj.FIRST_PARTY=new sj("first-party-uid"),sj.MOCK_USER=new sj("mock-user");class sQ{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class sz{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class s${getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(sj.UNAUTHENTICATED))}shutdown(){}}class sY{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 sW{constructor(e){this.De=e,this.currentUser=sj.UNAUTHENTICATED,this.xe=0,this.forceRefresh=!1,this.auth=null}start(e,t){e8(void 0===this.Ce,42304);let r=this.xe,n=e=>this.xe!==r?(r=this.xe,t(e)):Promise.resolve(),s=new sQ;this.Ce=()=>{this.xe++,this.currentUser=this.Fe(),s.resolve(),s=new sQ,e.enqueueRetryable(()=>n(this.currentUser))};let i=()=>{let t=s;e.enqueueRetryable(async()=>{await t.promise,await n(this.currentUser)})},a=e=>{eX("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.Ce&&(this.auth.addAuthTokenListener(this.Ce),i())};this.De.onInit(e=>a(e)),setTimeout(()=>{if(!this.auth){let e=this.De.getImmediate({optional:!0});e?a(e):(eX("FirebaseAuthCredentialsProvider","Auth not yet detected"),s.resolve(),s=new sQ)}},0),i()}getToken(){let e=this.xe,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then(t=>this.xe!==e?(eX("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):t?(e8("string"==typeof t.accessToken,31837,{Oe:t}),new sz(t.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(){let e=this.auth&&this.auth.getUid();return e8(null===e||"string"==typeof e,2055,{Me:e}),new sj(e)}}class sX{constructor(e,t,r){this.Ne=e,this.Le=t,this.Be=r,this.type="FirstParty",this.user=sj.FIRST_PARTY,this.Ue=new Map}ke(){return this.Be?this.Be():null}get headers(){this.Ue.set("X-Goog-AuthUser",this.Ne);let 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 sZ{constructor(e,t,r){this.Ne=e,this.Le=t,this.Be=r}getToken(){return Promise.resolve(new sX(this.Ne,this.Le,this.Be))}start(e,t){e.enqueueRetryable(()=>t(sj.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class s0{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&e.length>0&&this.headers.set("x-firebase-appcheck",this.value)}}class s1{constructor(e,t){this.qe=t,this.forceRefresh=!1,this.appCheck=null,this.$e=null,this.Ke=null,(0,C._isFirebaseServerApp)(e)&&e.settings.appCheckToken&&(this.Ke=e.settings.appCheckToken)}start(e,t){e8(void 0===this.Ce,3512);let r=e=>{null!=e.error&&eX("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${e.error.message}`);let r=e.token!==this.$e;return this.$e=e.token,eX("FirebaseAppCheckTokenProvider",`Received ${r?"new":"existing"} token.`),r?t(e.token):Promise.resolve()};this.Ce=t=>{e.enqueueRetryable(()=>r(t))};let n=e=>{eX("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.Ce&&this.appCheck.addTokenListener(this.Ce)};this.qe.onInit(e=>n(e)),setTimeout(()=>{if(!this.appCheck){let e=this.qe.getImmediate({optional:!0});e?n(e):eX("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}},0)}getToken(){if(this.Ke)return Promise.resolve(new s0(this.Ke));let e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(e8("string"==typeof e.token,44558,{tokenResult:e}),this.$e=e.token,new s0(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 s2(e){let t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}class s3{Qe(e){}shutdown(){}}let s8="ConnectivityMonitor";class s6{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(){for(let e of(eX(s8,"Network connectivity changed: AVAILABLE"),this.He))e(0)}je(){for(let e of(eX(s8,"Network connectivity changed: UNAVAILABLE"),this.He))e(1)}static Ye(){return"u">typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}let s5=null;function s4(){return null===s5?s5=0x10000000+Math.round(0x80000000*Math.random()):s5++,"0x"+s5.toString(16)}let s9="RestConnection",s7={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregation
1Query:"runAggregationQuery",ExecutePipeline:"executePipeline"};class ie{get Ze(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;const 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===tJ?`project_id=${r}`:`project_id=${r}&database_id=${n}`}nt(e,t,r,n,s){let i=s4(),a=this.rt(e,t.toUriEncodedString());eX(s9,`Sending RPC '${e}' ${i}:`,a,r);let B={"google-cloud-resource-prefix":this.et,"x-goog-request-params":this.tt};this.it(B,n,s);let{host:o}=new URL(a),l=(0,p.isCloudWorkstation)(o);return this.st(e,a,B,r,l).then(t=>(eX(s9,`Received RPC '${e}' ${i}: `,t),t),t=>{throw e0(s9,`RPC '${e}' ${i} failed with error: `,t,"url: ",a,"request:",r),t})}_t(e,t,r,n,s,i){return this.nt(e,t,r,n,s)}it(e,t,r){if(e["X-Goog-Api-Client"]="gl-js/ fire/"+ez,e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((t,r)=>e[r]=t),r&&r.headers.forEach((t,r)=>e[r]=t),this.databaseInfo._customHeaders)for(let t of Object.keys(this.databaseInfo._customHeaders))e[t]=this.databaseInfo._customHeaders[t]}rt(e,t){let r=s7[e],n=`${this.Xe}/v1/${t}:${r}`;return this.databaseInfo.apiKey&&(n=`${n}?key=${encodeURIComponent(this.databaseInfo.apiKey)}`),n}terminate(){}}class it{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 ir="WebChannelConnection",is=(e,t,r)=>{e.listen(t,e=>{try{r(e)}catch(e){setTimeout(()=>{throw e},0)}})};class ii extends ie{constructor(e){super(e),this.ft=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}static gt(){ii.yt||(is(o(),B.STAT_EVENT,e=>{e.stat===a.PROXY?eX(ir,"STAT_EVENT: detected buffering proxy"):e.stat===a.NOPROXY&&eX(ir,"STAT_EVENT: detected no buffering proxy")}),ii.yt=!0)}st(e,t,n,a,B){let o=s4();return new Promise((B,l)=>{let u=new r;u.setWithCredentials(!0),u.listenOnce(s.COMPLETE,()=>{try{switch(u.getLastErrorCode()){case i.NO_ERROR:let t=u.getResponseJson();eX(ir,`XHR for RPC '${e}' ${o} received:`,JSON.stringify(t)),B(t);break;case i.TIMEOUT:eX(ir,`RPC '${e}' ${o} timed out`),l(new tB(ta.DEADLINE_EXCEEDED,"Request time out"));break;case i.HTTP_ERROR:let r=u.getStatus();if(eX(ir,`RPC '${e}' ${o} failed with status:`,r,"response text:",u.getResponseText()),r>0){let e=u.getResponseJson();Array.isArray(e)&&(e=e[0]);let t=e?.error;if(t&&t.status&&t.message){let e,r=(e=t.status.toLowerCase().replace(/_/g,"-"),Object.values(ta).indexOf(e)>=0?e:ta.UNKNOWN);l(new tB(r,t.message))}else l(new tB(ta.UNKNOWN,"Server responded with status "+u.getStatus()))}else l(new tB(ta.UNAVAILABLE,"Connection failed."));break;default:e2(9055,{wt:e,streamId:o,bt:u.getLastErrorCode(),St:u.getLastError()})}}finally{eX(ir,`RPC '${e}' ${o} completed.`)}});let h=JSON.stringify(a);eX(ir,`RPC '${e}' ${o} sending request:`,a),u.send(t,"POST",h,n,15)})}vt(e,t,r){let s=s4(),i=[this.Xe,"/","google.firestore.v1.Firestore","/",e,"/channel"],a=this.createWebChannelTransport(),B={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/${this.databaseId.database}`},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling},o=this.longPollingOptions.timeoutSeconds;void 0!==o&&(B.longPollingTimeout=Math.round(1e3*o)),this.useFetchStreams&&(B.useFetchStreams=!0),this.it(B.initMessageHeaders,t,r),B.encodeInitMessageHeaders=!0;let l=i.join("");eX(ir,`Creating RPC '${e}' stream ${s}: ${l}`,B);let h=a.createWebChannel(l,B);this.Dt(h);let c=!1,C=!1,d=new it({ot:t=>{C?eX(ir,`Not sending because RPC '${e}' stream ${s} is closed:`,t):(c||(eX(ir,`Opening RPC '${e}' stream ${s} transport.`),h.open(),c=!0),eX(ir,`RPC '${e}' stream ${s} sending:`,t),h.send(t))},ut:()=>h.close()});return is(h,n.EventType.OPEN,()=>{C||(eX(ir,`RPC '${e}' stream ${s} transport opened.`),d.Rt())}),is(h,n.EventType.CLOSE,()=>{C||(C=!0,eX(ir,`RPC '${e}' stream ${s} transport closed`),d.Vt(),this.xt(h))}
vendor: 4,257 bytes, line 1
1),is(h,n.EventType.ERROR,t=>{C||(C=!0,e0(ir,`RPC '${e}' stream ${s} transport errored. Name:`,t.name,"Message:",t.message),d.Vt(new tB(ta.UNAVAILABLE,"The operation could not be completed")))}),is(h,n.EventType.MESSAGE,t=>{if(!C){let r=t.data[0];e8(!!r,16349);let n=r?.error||r[0]?.error;if(n){eX(ir,`RPC '${e}' stream ${s} received error:`,n);let t=n.status,r=function(e){let t=u[e];if(void 0!==t)return nJ(t)}(t),i=n.message;"NOT_FOUND"===t&&i.includes("database")&&i.includes("does not exist")&&i.includes(this.databaseId.database)&&e0(`Database '${this.databaseId.database}' not found. Please check your project configuration.`),void 0===r&&(r=ta.INTERNAL,i="Unknown error status: "+t+" with message "+n.message),C=!0,d.Vt(new tB(r,i)),h.close()}else eX(ir,`RPC '${e}' stream ${s} received:`,r),d.dt(r)}}),ii.gt(),setTimeout(()=>{d.At()},0),d}terminate(){this.ft.forEach(e=>e.close()),this.ft=[]}Dt(e){this.ft.push(e)}xt(e){this.ft=this.ft.filter(t=>t===e)}it(e,t,r){super.it(e,t,r),this.databaseInfo.apiKey&&(e["x-goog-api-key"]=this.databaseInfo.apiKey)}createWebChannelTransport(){return l()}}ii.yt=!1;class ia{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();let t=Math.floor(this.Nt+this.qt()),r=Math.max(0,Date.now()-this.Bt),n=Math.max(0,t-r);n>0&&eX("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 iB="PersistentStream";class io{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 ia(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===ta.RESOURCE_EXHAUSTED?(eZ(t.toString()),eZ("Using maximum backoff delay to prevent overloading the backend."),this.Ht.Ut()):t&&t.code===ta.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),t=this.Wt;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([e,r])=>{this.Wt===t&&this.un(e,r)},t=>{e(()=>{let e=new tB(ta.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 eX(iB,`close with error: ${e}`),this.stream=null,this.close(4,e)}an(e){return t=>{this.Ct.enqueueAndForget(()=>this.Wt===e?t():(eX(iB,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class il extends io{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
1=s}En(e,t){return this.connection.vt("Listen",e,t)}hn(e){return this.onNext(e)}onNext(e){this.Ht.reset();let t=function(e,t){let r;if("targetChange"in t){var n,s;t.targetChange;let i="NO_CHANGE"===(n=t.targetChange.targetChangeType||"NO_CHANGE")?0:"ADD"===n?1:"REMOVE"===n?2:"CURRENT"===n?3:"RESET"===n?4:e2(39313,{state:n}),a=t.targetChange.targetIds||[],B=(s=t.targetChange.resumeToken,e.useProto3Json?(e8(void 0===s||"string"==typeof s,58123),tA.fromBase64String(s||"")):(e8(void 0===s||s instanceof f.Buffer||s instanceof Uint8Array,16193),tA.fromUint8Array(s||new Uint8Array))),o=t.targetChange.cause;r=new st(i,a,B,o&&new tB(void 0===o.code?ta.UNKNOWN:nJ(o.code),o.message||"")||null)}else if("documentChange"in t){t.documentChange;let n=t.documentChange;n.document,n.document.name,n.document.updateTime;let s=sy(e,n.document.name),i=sg(n.document.updateTime),a=n.document.createTime?sg(n.document.createTime):ns.min(),B=new rf({mapValue:{fields:n.document.fields}}),o=ni.newFoundDocument(s,i,a,B);r=new n7(n.targetIds||[],n.removedTargetIds||[],o.key,o)}else if("documentDelete"in t){t.documentDelete;let n=t.documentDelete;n.document;let s=sy(e,n.document),i=n.readTime?sg(n.readTime):ns.min(),a=ni.newNoDocument(s,i);r=new n7([],n.removedTargetIds||[],a.key,a)}else if("documentRemove"in t){t.documentRemove;let n=t.documentRemove;n.document;let s=sy(e,n.document);r=new n7([],n.removedTargetIds||[],s,null)}else{if(!("filter"in t))return e2(11601,{we:t});{t.filter;let e=t.filter;e.targetId;let{count:n=0,unchangedNames:s}=e,i=new nV(n,s);r=new se(e.targetId,i)}}return r}(this.serializer,e),r=function(e){if(!("targetChange"in e))return ns.min();let t=e.targetChange;return t.targetIds&&t.targetIds.length?ns.min():t.readTime?sg(t.readTime):ns.min()}(e);return this.listener.Tn(t,r)}Pn(e){let t,r={};r.database=s_(this.serializer),r.addTarget=function(e,t){let r,n=t.target;if((r=nE(n)?{pipelineQuery:sx(e,n)}:ny(n)?{documents:sA(e,n)}:{query:sF(e,n).Se}).targetId=t.targetId,t.resumeToken.approximateByteSize()>0){r.resumeToken=sd(e,t.resumeToken);let n=sh(e,t.expectedCount);null!==n&&(r.expectedCount=n)}else if(t.snapshotVersion.compareTo(ns.min())>0){r.readTime=sc(e,t.snapshotVersion.toTimestamp());let n=sh(e,t.expectedCount);null!==n&&(r.expectedCount=n)}return r}(this.serializer,e);let n=(this.serializer,null==(t=function(e){switch(e){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return e2(28987,{purpose:e})}}(e.purpose))?null:{"goog-listen-tags":t});n&&(r.labels=n),this.nn(r)}In(e){let t={};t.database=s_(this.serializer),t.removeTarget=e,this.nn(t)}}class iu extends io{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 this.jt>0}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 e8(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,e8(!e.writeResults||0===e.writeResults.length,55816),this.listener.Vn()}onNext(e){var t,r;e8(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this.Ht.reset();let n=(t=e.writeResults,r=e.commitTime,t&&t.length>0?(e8(void 0!==r,14353),t.map(e=>{let t;return(t=e.updateTime?sg(e.updateTime):sg(r)).isEqual(ns.min())&&(t=sg(r)),new rL(t,e.transformResults||[])})):[]),s=sg(e.commitTime);return this.listener.dn(s,n)}fn(){let e={};e.database=s_(this.serializer),this.nn(e)}An(e){let t={streamToken:this.lastStreamToken,writes:e.map(e=>sS(this.serializer,e))};this.nn(t)}}class ih{}class ic extends ih{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 tB(ta.FAILED_PRECONDITION,"The client has already been terminated.")}nt(e,t,r,n){return this.pn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([s,i])=>this.connection.nt(e,sm(t,r),n,s,i)).catch(e=>{throw"FirebaseError"===e.name?(e.code===ta.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new tB(ta.UNKNOWN,e.toString())})}_t(e,t,r,n,s){return this.pn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([i,a])=>this.connection._t(e,sm(t,r),n,i,a,s)).catch(e=>{throw"FirebaseError"===e.name?(e.code===ta.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new tB(ta.UNKNOWN,e.toString())})}terminate(){this.mn=!0,this.connection.terminate()}}let iC=new Map,id={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class ig{static withCacheSize(e){return new ig(e,ig.DEFAULT_COLLECTION_PE
1RCENTILE,ig.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}ig.DEFAULT_COLLECTION_PERCENTILE=10,ig.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,ig.DEFAULT=new ig(0x2800000,ig.DEFAULT_COLLECTION_PERCENTILE,ig.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),ig.DISABLED=new ig(-1,0,0);class ip{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(){let e=++this.previousValue;return this.yn&&this.yn(e),e}}ip.wn=-1;let im="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class iD{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function iE(e){if(e.code!==ta.FAILED_PRECONDITION||e.message!==im)throw e;eX("LocalStore","Unexpectedly lost primary lease")}class iy{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(e=>{this.isDone=!0,this.result=e,this.nextCallback&&this.nextCallback(e)},e=>{this.isDone=!0,this.error=e,this.catchCallback&&this.catchCallback(e)})}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&e2(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new iy((r,n)=>{this.nextCallback=t=>{this.wrapSuccess(e,t).next(r,n)},this.catchCallback=e=>{this.wrapFailure(t,e).next(r,n)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{let t=e();return t instanceof iy?t:iy.resolve(t)}catch(e){return iy.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):iy.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):iy.reject(t)}static resolve(e){return new iy((t,r)=>{t(e)})}static reject(e){return new iy((t,r)=>{r(e)})}static waitFor(e){return new iy((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=iy.resolve(!1);for(let r of e)t=t.next(e=>e?iy.resolve(e):r());return t}static forEach(e,t){let r=[];return e.forEach((e,n)=>{r.push(t.call(this,e,n))}),this.waitFor(r)}static mapArray(e,t){return new iy((r,n)=>{let s=e.length,i=Array(s),a=0;for(let B=0;B<s;B++){let o=B;t(e[o]).next(e=>{i[o]=e,++a===s&&r(i)},e=>n(e))}})}static doWhile(e,t){return new iy((r,n)=>{let s=()=>{!0===e()?t().next(()=>{s()},n):r()};s()})}}let iw="SimpleDb";class iI{static open(e,t,r,n){try{return new iI(t,e.transaction(n,r))}catch(e){throw new iT(t,e)}}constructor(e,t){this.action=e,this.transaction=t,this.aborted=!1,this.bn=new sQ,this.transaction.oncomplete=()=>{this.bn.resolve()},this.transaction.onabort=()=>{t.error?this.bn.reject(new iT(e,t.error)):this.bn.resolve()},this.transaction.onerror=t=>{let r=iO(t.target.error);this.bn.reject(new iT(e,r))}}get Sn(){return this.bn.promise}abort(e){e&&this.bn.reject(e),this.aborted||(eX(iw,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}vn(){let e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){return new iN(this.transaction.objectStore(e))}}class i_{static delete(e){return eX(iw,"Removing database:",e),iA((0,p.getGlobal)().indexedDB.deleteDatabase(e)).toPromise()}static Ye(){if(!(0,p.isIndexedDBAvailable)())return!1;if(i_.Dn())return!0;let e=(0,p.getUA)(),t=i_.xn(e),r=iv(e);return!(e.indexOf("MSIE ")>0||e.indexOf("Trident/")>0||e.indexOf("Edge/")>0||0<t&&t<10||0<r&&r<4.5)}static Dn(){return void 0!==g.default&&"YES"===g.default.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static Cn(e,t){return e.store(t)}static xn(e){let t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i);return Number(t?t[1].split("_").slice(0,2).join("."):"-1")}constructor(e,t,r){this.name=e,this.version=t,this.Fn=r,this.On=null,12.2===i_.xn((0,p.getUA)())&&eZ("Firestore persistence suffers from a bug in
1iOS 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(e){return this.db||(eX(iw,"Opening database:",this.name),this.db=await new Promise((t,r)=>{let n=indexedDB.open(this.name,this.version);n.onsuccess=e=>{t(e.target.result)},n.onblocked=()=>{r(new iT(e,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},n.onerror=t=>{let n=t.target.error;"VersionError"===n.name?r(new tB(ta.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"===n.name?r(new tB(ta.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: "+n)):r(new iT(e,n))},n.onupgradeneeded=e=>{eX(iw,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);let t=e.target.result;this.Fn.Nn(t,n.transaction,e.oldVersion,this.version).next(()=>{eX(iw,"Database upgrade to version "+this.version+" complete")})}})),this.Ln&&(this.db.onversionchange=e=>this.Ln(e)),this.db}Bn(e){this.Ln=e,this.db&&(this.db.onversionchange=t=>e(t))}async runTransaction(e,t,r,n){let s="readonly"===t,i=0;for(;;){++i;try{this.db=await this.Mn(e);let t=iI.open(this.db,e,s?"readonly":"readwrite",r),i=n(t).next(e=>(t.vn(),e)).catch(e=>(t.abort(e),iy.reject(e))).toPromise();return i.catch(()=>{}),await t.Sn,i}catch(t){let e="FirebaseError"!==t.name&&i<3;if(eX(iw,"Transaction failed with error:",t.message,"Retrying:",e),this.close(),!e)return Promise.reject(t)}}}close(){this.db&&this.db.close(),this.db=void 0}}function iv(e){let t=e.match(/Android ([\d.]+)/i);return Number(t?t[1].split(".").slice(0,2).join("."):"-1")}class ib{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 iA(this.Un.delete())}}class iT extends tB{constructor(e,t){super(ta.UNAVAILABLE,`IndexedDB transaction '${e}' failed: ${t}`),this.name="IndexedDbTransactionError"}}function iS(e){return"IndexedDbTransactionError"===e.name}class iN{constructor(e){this.store=e}put(e,t){let r;return void 0!==t?(eX(iw,"PUT",this.store.name,e,t),r=this.store.put(t,e)):(eX(iw,"PUT",this.store.name,"<auto-key>",e),r=this.store.put(e)),iA(r)}add(e){return eX(iw,"ADD",this.store.name,e,e),iA(this.store.add(e))}get(e){return iA(this.store.get(e)).next(t=>(void 0===t&&(t=null),eX(iw,"GET",this.store.name,e,t),t))}delete(e){return eX(iw,"DELETE",this.store.name,e),iA(this.store.delete(e))}count(){return eX(iw,"COUNT",this.store.name),iA(this.store.count())}Qn(e,t){let r=this.options(e,t),n=r.index?this.store.index(r.index):this.store;if("function"==typeof n.getAll){let e=n.getAll(r.range);return new iy((t,r)=>{e.onerror=e=>{r(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(r),t=[];return this.Wn(e,(e,r)=>{t.push(r)}).next(()=>t)}}Gn(e,t){let r=this.store.getAll(e,null===t?void 0:t);return new iy((e,t)=>{r.onerror=e=>{t(e.target.error)},r.onsuccess=t=>{e(t.target.result)}})}zn(e,t){eX(iw,"DELETE ALL",this.store.name);let r=this.options(e,t);r.jn=!1;let n=this.cursor(r);return this.Wn(n,(e,t,r)=>r.delete())}Hn(e,t){let r;t?r=e:(r={},t=e);let n=this.cursor(r);return this.Wn(n,t)}Jn(e){let t=this.cursor({});return new iy((r,n)=>{t.onerror=e=>{n(iO(e.target.error))},t.onsuccess=t=>{let n=t.target.result;n?e(n.primaryKey,n.value).next(e=>{e?n.continue():r()}):r()}})}Wn(e,t){let r=[];return new iy((n,s)=>{e.onerror=e=>{s(e.target.error)},e.onsuccess=e=>{let s=e.target.result;if(!s)return void n();let i=new ib(s),a=t(s.primaryKey,s.value,i);if(a instanceof iy){let e=a.catch(e=>(i.done(),iy.reject(e)));r.push(e)}i.isDone?n():null===i.$n?s.continue():s.continue(i.$n)}}).next(()=>iy.waitFor(r))}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";if(e.reverse&&(t="prev"),e.index){let r=this.store.index(e.index);return e.jn?r.openKeyCursor(e.range,t):r.openCursor(e.range,t)}return this.store.openCursor(e.range,t)}}function iA(e){return new iy((t,r)=>{e.onsuccess=e=>{t(e.target.result)},e.onerror=e=>{r(iO(e.target.error))}})}let iF=!1;function iO(e){let t=i_.xn((0,p.getUA)());if(t>=12.2&&t<13){let t="An internal error was encountered in the Indexed Database server";if(e.message.indexOf(t)>=0){let e=new tB("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 iF||(iF=!0,setTimeout(()=>{throw e},0)),e}}return e}let ix="LruGarbageCollector";function iL([e,t],[r,n]){let s=e5(e,r);return 0===s?e5(t,n):s}class iR{constructor(e){this.Yn=e,this.buffer=new tn(iL),this.Zn=0}Xn(){return++this.Zn}er(e){let t=[e,this.Xn()];if(this.buffer.size<this.Yn)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();0>iL(t,e)&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}}class ik{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){eX(ix,`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){iS(e)?eX(ix,"Ignoring IndexedDB error during garbage collection: ",e):await iE(e)}await this.nr(3e5)})}}class iG{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 iy.resolve(ip.wn);let r=new iR(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(e,t){return -1===this.params.cacheSizeCollectionThreshold?(eX("LruGarbageCollector","Garbage collection skipped; disabled"),iy.resolve(id)):this.getCacheSize(e).next(r=>r<this.params.cacheSizeCollectionThreshold?(eX("LruGarbageCollector",`Garbage collection skipped; Cache size ${r} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),id):this._r(e,t))}getCacheSize(e){return this.rr.getCacheSize(e)}_r(e,t){let r,n,s,i,a,B,o,l=Date.now();return this.calculateTargetCount(e,this.params.percentileToCollect).next(t=>(t>this.params.maximumSequenceNumbersToCollect?(eX("LruGarbageCollector",`C
1apping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${t}`),n=this.params.maximumSequenceNumbersToCollect):n=t,i=Date.now(),this.nthSequenceNumber(e,n))).next(n=>(r=n,a=Date.now(),this.removeTargets(e,r,t))).next(t=>(s=t,B=Date.now(),this.removeOrphanedDocuments(e,r))).next(e=>(o=Date.now(),eW()<=D.LogLevel.DEBUG&&eX("LruGarbageCollector",`LRU Garbage Collection 2 Counted targets in ${i-l}ms 3 Determined least recently used ${n} in `+(a-i)+"ms\n"+` Removed ${s} targets in `+(B-a)+"ms\n"+` Removed ${e} documents in `+(o-B)+"ms\n"+`Total Duration: ${o-l}ms`),iy.resolve({didRun:!0,sequenceNumbersCollected:n,targetsRemoved:s,documentsRemoved:e})))}}let iP="firestore.googleapis.com";class iM{constructor(e){if(void 0===e.host){if(void 0!==e.ssl)throw new tB(ta.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=iP,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=0x2800000;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new tB(ta.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}if(function(e,t,r,n){if(!0===t&&!0===n)throw new tB(ta.INVALID_ARGUMENT,`${e} and ${r} cannot be used together.`)}("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=s2(e.experimentalLongPollingOptions??{}),function(e){if(void 0!==e.timeoutSeconds){if(isNaN(e.timeoutSeconds))throw new tB(ta.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (must not be NaN)`);if(e.timeoutSeconds<5)throw new tB(ta.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (minimum allowed value is 5)`);if(e.timeoutSeconds>30)throw new tB(ta.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (maximum allowed value is 30)`)}}(this.experimentalLongPollingOptions),this.useFetchStreams=!!e.useFetchStreams,void 0!==e.grpcFlowControlWindow){if("number"!=typeof e.grpcFlowControlWindow||e.grpcFlowControlWindow<=0||e.grpcFlowControlWindow>0x7fffffff||!Number.isInteger(e.grpcFlowControlWindow))throw new tB(ta.INVALID_ARGUMENT,"grpcFlowControlWindow must be a positive integer and cannot exceed 2147483647");this.grpcFlowControlWindow=e.grpcFlowControlWindow}}isEqual(e){var t,r;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&&function(e,t){if(e===t)return!0;if(!e||!t)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let n of r)if(e[n]!==t[n])return!1;return!0}(this._customHeaders,e._customHeaders)}}let iH=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 iM({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(!this._app)throw new tB(ta.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app}get _initialized(){return this._settingsFrozen}get _terminated(){return"notTerminated"!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new tB(ta.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 iM(e),this._emulatorOptions=e.emulatorOptions||{},void 0!==e.credentials&&(this._authCredentials=function(e){if(!e)return new s$;switch(e.type){case"firstParty":return new sZ(e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new tB(ta.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invali
3d credential type")}}(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return"notTerminated"===this._terminateTask&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){"notTerminated"===this._terminateTask?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){let e;return(e=iC.get(this))&&(eX("ComponentProvider","Removing Datastore"),iC.delete(this),e.terminate()),Promise.resolve()}};class iV{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new iV(this.firestore,e,this._query)}}class iU{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 iJ(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new iU(this.firestore,e,this._key)}toJSON(){return{type:iU._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(e,t,r){if(tT(t,iU._jsonSchema))return new iU(e,r||null,new tm(tu.fromString(t.referencePath)))}}iU._jsonSchemaVersion="firestore/documentReference/1.0",iU._jsonSchema={type:tb("string",iU._jsonSchemaVersion),referencePath:tb("string")};class iJ extends iV{constructor(e,t,r){super(e,t,nb(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){let e=this._path.popLast();return e.isEmpty()?null:new iU(this.firestore,null,new tm(e))}withConverter(e){return new iJ(this.firestore,e,this._path)}}function iq(e,t,...r){if(e=(0,p.getModularInstance)(e),1==arguments.length&&(t=e6.newId()),tD("doc","path",t),e instanceof iH){let n=tu.fromString(t,...r);return tE(n),new iU(e,null,new tm(n))}{if(!(e instanceof iU||e instanceof iJ))throw new tB(ta.INVALID_ARGUMENT,"Expected first argument to doc() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let n=e._path.child(tu.fromString(t,...r));return tE(n),new iU(e.firestore,e instanceof iJ?e.converter:null,new tm(n))}}class iK{constructor(e){this._values=(e||[]).map(e=>e)}toArray(){return this._values.map(e=>e)}isEqual(e){return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}(this._values,e._values)}toJSON(){return{type:iK._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(e){if(tT(e,iK._jsonSchema)){if(Array.isArray(e.vectorValues)&&e.vectorValues.every(e=>"number"==typeof e))return new iK(e.vectorValues);throw new tB(ta.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}}iK._jsonSchemaVersion="firestore/vectorValue/1.0",iK._jsonSchema={type:tb("string",iK._jsonSchemaVersion),vectorValues:tb("object")};let ij=/^__.*__$/;class iQ{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return null!==this.fieldMask?new rU(e,this.data,this.fieldMask,t,this.fieldTransforms):new rV(e,this.data,t,this.fieldTransforms)}}class iz{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new rU(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function i$(e){switch(e){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw e2(40011,{dataSource:e})}}class iY{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 iY({...this.settings,...e},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}childContextForField(e){let t=this.path?.child(e),r=this.contextWith({path:t,arrayElement:!1});return r.validatePathSegment(e),r}childContextForFieldPath(e){let t=this.path?.child(e),r=this.contextWith({path:t,arrayElement:!1});return r.validatePath(),r}childContextForArray(e){return this.contextWith({path:void 0,arrayElement:!0})}createError(e){return aa(e,this.settings.methodName,this.settings.hasConverter||!1,this.path,this.settings.targetDoc)}contains(e){return void 0!==this.fieldMask.find(t=>e.isPrefixOf(t))||void 0!==this.fieldTransforms.find(t=>e.isPrefixOf(t.field))}validatePath(){if(this.path)for(let e=0;e<this.path.length;e++)this.validatePathSegment(this.path.get(e))}validatePathSegment(e){if(0===e.length)throw this.createError("Document fields must not be empty");if(i$(this.dataSource)&&ij.test(e))throw this.createError('Document fields cannot begin and end with "__"')}}class iW{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer
3=r||sH(e)}createContext(e,t,r,n=!1){return new iY({dataSource:e,methodName:t,targetDoc:r,path:tc.emptyPath(),arrayElement:!1,hasConverter:n},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function iX(e){let t=e._freezeSettings(),r=sH(e._databaseId);return new iW(e._databaseId,!!t.ignoreUndefinedProperties,r)}function iZ(e,t,r,n,s,i={}){let a,B,o=e.createContext(i.merge||i.mergeFields?2:0,t,r,s);ar("Data must be an object, but it was:",o,n);let l=i7(n,o);if(i.merge)a=new tC(o.fieldMask),B=o.fieldTransforms;else if(i.mergeFields){let e=[];for(let n of i.mergeFields){let s=an(t,n,r);if(!o.contains(s))throw new tB(ta.INVALID_ARGUMENT,`Field '${s}' is specified in your field mask but missing from your input data.`);aB(e,s)||e.push(s)}a=new tC(e),B=o.fieldTransforms.filter(e=>a.covers(e.field))}else a=null,B=o.fieldTransforms;return new iQ(new rf(l),a,B)}class i0 extends sq{_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 i0}}function i1(e,t,r){return new iY({dataSource:3,targetDoc:t.settings.targetDoc,methodName:e._methodName,arrayElement:r},t.databaseId,t.serializer,t.ignoreUndefinedProperties)}class i2 extends sq{_toFieldTransform(e){return new rx(e.path,new ry)}isEqual(e){return e instanceof i2}}class i3 extends sq{constructor(e,t){super(e),this.ar=t}_toFieldTransform(e){let t=i1(this,e,!0),r=new rw(this.ar.map(e=>i9(e,t)));return new rx(e.path,r)}isEqual(e){return e instanceof i3&&(0,p.deepEqual)(this.ar,e.ar)}}class i8 extends sq{constructor(e,t){super(e),this.ar=t}_toFieldTransform(e){let t=i1(this,e,!0),r=new r_(this.ar.map(e=>i9(e,t)));return new rx(e.path,r)}isEqual(e){return e instanceof i8&&(0,p.deepEqual)(this.ar,e.ar)}}function i6(e,t,r,n){let s=e.createContext(1,t,r);ar("Data must be an object, but it was:",s,n);let i=[],a=rf.empty();return tf(n,(e,n)=>{let B=ai(t,e,r);n=(0,p.getModularInstance)(n);let o=s.childContextForFieldPath(B);if(n instanceof i0)i.push(B);else{let e=i9(n,o);null!=e&&(i.push(B),a.set(B,e))}}),new iz(a,new tC(i),s.fieldTransforms)}function i5(e,t,r,n,s,i){let a=e.createContext(1,t,r),B=[an(t,n,r)],o=[s];if(i.length%2!=0)throw new tB(ta.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let e=0;e<i.length;e+=2)B.push(an(t,i[e])),o.push(i[e+1]);let l=[],u=rf.empty();for(let e=B.length-1;e>=0;--e)if(!aB(l,B[e])){let t=B[e],r=o[e];r=(0,p.getModularInstance)(r);let n=a.childContextForFieldPath(t);if(r instanceof i0)l.push(t);else{let e=i9(r,n);null!=e&&(l.push(t),u.set(t,e))}}return new iz(u,new tC(l),a.fieldTransforms)}function i4(e,t,r,n=!1){return i9(r,e.createContext(n?4:3,t))}function i9(e,t,r){if(at(e=(0,p.getModularInstance)(e)))return ar("Unsupported field value:",t,e),i7(e,t);if(e instanceof sq)return function(e,t){if(!i$(t.dataSource))throw t.createError(`${e._methodName}() can only be used with update() and set()`);if(!t.path)throw t.createError(`${e._methodName}() is not currently supported inside arrays`);let r=e._toFieldTransform(t);r&&t.fieldTransforms.push(r)}(e,t),null;if(void 0===e&&t.ignoreUndefinedProperties)return null;if(t.path&&t.fieldMask.push(t.path),e instanceof Array){if(t.settings.arrayElement&&4!==t.dataSource)throw t.createError("Nested arrays are not supported");let r=[],n=0;for(let s of e){let e=i9(s,t.childContextForArray(n));null==e&&(e={nullValue:"NULL_VALUE"}),r.push(e),n++}return{arrayValue:{values:r}}}return function(e,t){if(null===(e=(0,p.getModularInstance)(e)))return{nullValue:"NULL_VALUE"};if("number"==typeof e)return rm(t.serializer,e);if("boolean"==typeof e)return{booleanValue:e};if("string"==typeof e)return{stringValue:e};if(e instanceof Date){let r=tS.fromDate(e);return{timestampValue:sc(t.serializer,r)}}if(e instanceof tS){let r=new tS(e.seconds,1e3*Math.floor(e.nanoseconds/1e3));return{timestampValue:sc(t.serializer,r)}}if(ae(e)){let r=tS.fromInstant(e),n=new tS(r.seconds,1e3*Math.floor(r.nanoseconds/1e3));return{timestampValue:sc(t.serializer,n)}}if(e instanceof sK)return{geoPointValue:{latitude:e.latitude,longitude:e.longitude}};if(e instanceof sV)return{bytesValue:sd(t.serializer,e._byteString)};if(e instanceof iU){let r=t.databaseId,n=e.firestore._databaseId;if(!n.isEqual(r))throw t.createError(`Document reference is for database ${n.projectId}/${n.database} but should be for database ${r.projectId}/${r.database}`);return{referenceValue:sp(e.firestore._databaseId||t.databaseId,e._key.path)}}if(e instanceof iK){var r;return{mapValue:{fields:{[t$]:{stringValue:tX},[tZ]:{arrayValue:{values:((r=e)instanceof iK?r.toArray():r).map(e=>{if("number"!=typeof e)throw t.createError("VectorValues must only contain numeric values.");return rg(t.serializer,e)})}}}}}}if(sG(e))return e._toProto(t.serializer);throw t.createError(`Unsupported field value: ${tI(e)}`)}(e,t)}function i7(e,t){let r={};return tp(e)?t.path&&t.path.length>0&&t.fieldMask.push(t.path):tf(e,(e,n)=>{let s=i9(n,t.childContextForField(e));null!=s&&(r[e]=s)}),{mapValue:{fields:r}}}function ae(e){return"object"==typeof e&&null!==e&&("u">typeof Temporal&&"function"==typeof Temporal.Instant&&e instanceof Temporal.Instant||"Temporal.Instant"===e[Symbol.toStringTag]&&"bigint"==typeof e.t)}function at(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof tS||e instanceof sK||e instanceof sV||e instanceof iU||e instanceof sq||e instanceof iK||ae(e)||sG(e))}function ar(e,t,r){if(!at(r)||!tw(r)){let n=tI(r);throw"an object"===n?t.createError(e+" a custom object"):t.createError(e+" "+n)}}function an(e,t,r){if((t=(0,p.getModularInstance)(t))instanceof sU)return t._internalPath;if("string"==typeof t)return ai(e,t);throw aa("Field path arguments must be of type string or ",e,!1,void 0,r)}let as=RegExp("[~\\*/\\[\\]]");function ai(e,t,r){if(t.search(as)>=0)throw aa(`Invalid field path (${t}). Paths must not contain '~', '*', '/', '[', or ']'`,e,!1,void 0,r);try{return new sU(...t.split("."))._internalPath}catch(n){throw aa(`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,e,!1,void 0,r)}}function aa(e,t,r,n,s){let i=n&&!n.isEmpty(),a=void 0!==s,B=`Function ${t}
3() called with invalid data`;r&&(B+=" (via `toFirestore()`)"),B+=". ";let o="";return(i||a)&&(o+=" (found",i&&(o+=` in field ${n}`),a&&(o+=` in document ${s}`),o+=")"),new tB(ta.INVALID_ARGUMENT,B+e+o)}function aB(e,t){return e.some(e=>e.isEqual(t))}function ao(e){return"function"==typeof e._readUserData}class al{constructor(e){this.optionDefinitions=e}_getKnownOptions(e,t){let r=rf.empty();for(let n in this.optionDefinitions)if(this.optionDefinitions.hasOwnProperty(n)){let s=this.optionDefinitions[n];if(n in e){let i,a=e[n];s.nestedOptions&&tw(a)?i={mapValue:{fields:new al(s.nestedOptions).getOptionsProto(t,a)}}:a&&(i=i9(a,t)??void 0),i&&r.set(tc.fromServerFormat(s.serverName),i)}}return r}getOptionsProto(e,t,r){let n=this._getKnownOptions(t,e);if(r){let t=new Map(tg(r,(t,r)=>[tc.fromServerFormat(r),void 0!==t?i9(t,e):null]));n.setAll(t)}return n.value.mapValue.fields??{}}}function au(e){return e instanceof aC?e:tw(e)?function(e){let t=[];for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let n=e[r];t.push(ay(r)),t.push(au(n))}return new aI("map",t,"map")}(e):e instanceof Array?function(e){return new aI("array",e.map(e=>au(e)),"array")}(e):aw(e,void 0)}function ah(e){if(e instanceof aC)return e;if(e instanceof iK)return ay(e);if(Array.isArray(e))return ay(new iK(e));throw Error("Unsupported value: "+typeof e)}function ac(e){return"string"==typeof e?aD(e):au(e)}class aC{constructor(){this._protoValueType="ProtoValue"}add(e){return new aI("add",[this,au(e)],"add")}asBoolean(){if(this instanceof a_)return this;if(this instanceof aE)return new ab(this);if(this instanceof am)return new aT(this);if(this instanceof aI)return new av(this);throw new tB("invalid-argument",`Conversion of type ${typeof this} to BooleanExpression not supported.`)}subtract(e){return new aI("subtract",[this,au(e)],"subtract")}multiply(e){return new aI("multiply",[this,au(e)],"multiply")}divide(e){return new aI("divide",[this,au(e)],"divide")}mod(e){return new aI("mod",[this,au(e)],"mod")}equal(e){return new aI("equal",[this,au(e)],"equal").asBoolean()}notEqual(e){return new aI("not_equal",[this,au(e)],"notEqual").asBoolean()}lessThan(e){return new aI("less_than",[this,au(e)],"lessThan").asBoolean()}lessThanOrEqual(e){return new aI("less_than_or_equal",[this,au(e)],"lessThanOrEqual").asBoolean()}greaterThan(e){return new aI("greater_than",[this,au(e)],"greaterThan").asBoolean()}greaterThanOrEqual(e){return new aI("greater_than_or_equal",[this,au(e)],"greaterThanOrEqual").asBoolean()}arrayConcat(e,...t){return new aI("array_concat",[this,...[e,...t].map(e=>au(e))],"arrayConcat")}arrayContains(e){return new aI("array_contains",[this,au(e)],"arrayContains").asBoolean()}arrayContainsAll(e){return new aI("array_contains_all",[this,Array.isArray(e)?new ap(e.map(au),"arrayContainsAll"):e],"arrayContainsAll").asBoolean()}arrayContainsAny(e){return new aI("array_contains_any",[this,Array.isArray(e)?new ap(e.map(au),"arrayContainsAny"):e],"arrayContainsAny").asBoolean()}arrayReverse(){return new aI("array_reverse",[this])}arrayLength(){return new aI("array_length",[this],"arrayLength")}equalAny(e){return new aI("equal_any",[this,Array.isArray(e)?new ap(e.map(au),"equalAny"):e],"equalAny").asBoolean()}notEqualAny(e){return new aI("not_equal_any",[this,Array.isArray(e)?new ap(e.map(au),"notEqualAny"):e],"notEqualAny").asBoolean()}exists(){return new aI("exists",[this],"exists").asBoolean()}charLength(){return new aI("char_length",[this],"charLength")}like(e){return new aI("like",[this,au(e)],"like").asBoolean()}regexContains(e){return new aI("regex_contains",[this,au(e)],"regexContains").asBoolean()}regexFind(e){return new aI("regex_find",[this,au(e)],"regexFind")}regexFindAll(e){return new aI("regex_find_all",[this,au(e)],"regexFindAll")}regexMatch(e){return new aI("regex_match",[this,au(e)],"regexMatch").asBoolean()}stringContains(e){return new aI("string_contains",[this,au(e)],"stringContains").asBoolean()}startsWith(e){return new aI("starts_with",[this,au(e)],"startsWith").asBoolean()}endsWith(e){return new aI("ends_with",[this,au(e)],"endsWith").asBoolean()}toLower(){return new aI("to_lower",[this],"toLower")}toUpper(){return new aI("to_upper",[this],"toUpper")}trim(e){let t=[this];return e&&t.push(au(e)),new aI("trim",t,"trim")}ltrim(e){let t=[this];return e&&t.push(au(e)),new aI("ltrim",t,"ltrim")}rtrim(e){let t=[this];return e&&t.push(au(e)),new aI("rtrim",t,"rtrim")}type(){return new aI("type",[this])}isType(e){return new aI("is_type",[this,ay(e)],"isType").asBoolean()}stringConcat(e,...t){return new aI("string_concat",[this,...[e,...t].map(au)],"stringConcat")}stringIndexOf(e){return new aI("string_index_of",[this,au(e)],"stringIndexOf")}stringRepeat(e){return new aI("string_repeat",[this,au(e)],"stringRepeat")}stringReplaceAll(e,t){return new aI("string_replace_all",[this,au(e),au(t)],"stringReplaceAll")}stringReplaceOne(e,t){return new aI("string_replace_one",[this,au(e),au(t)],"stringReplaceOne")}concat(e,...t){return new aI("concat",[this,...[e,...t].map(au)],"concat")}reverse(){return new aI("reverse",[this],"reverse")}arrayFilter(e,t){return new aI("array_filter",[this,au(e),t],"arrayFilter")}arrayTransform(e,t){return new aI("array_transform",[this,au(e),t],"arrayTransform")}arrayTransformWithIndex(e,t,r){return new aI("array_transform",[this,au(e),au(t),r],"arrayTransformWithIndex")}arraySlice(e,t){let r=[this,au(e)];return void 0!==t&&r.push(au(t)),new aI("array_slice",r,"arraySlice")}arrayFirst(){return new aI("array_first",[this],"arrayFirst")}arrayFirstN(e){return new aI("array_first_n",[this,au(e)],"arrayFirstN")}arrayLast(){return new aI("array_last",[this],"arrayLast")}arrayLastN(e){return new aI("array_last_n",[this,au(e)],"arrayLastN")}arrayMaximum(){return new aI("maximum",[this],"arrayMaximum")}arrayMaximumN(e){return new aI("maximum_n",[this,au(e)],"arrayMaximumN")}arrayMinimum(){return new aI("minimum",[this],"arrayMinimum")}arrayMinimumN(e){return new aI("minimum_n",[this,au(e)],"arrayMinimumN")}arrayIndexOf(e){return new aI("array_index_of",[this,au(e),au("first")],"arrayIndexOf")}arrayLastIndexOf(e){return new aI("array_index_of",[this,au(e),au("last")],"arrayLastIndexOf")}arrayIndexOfAll(e){return new aI("array_index_of_all",[this,au(e)],"arrayIndexOfAll")}byteLength(){return new aI("byte_length",[this],"byteLength")}ceil(){return new aI("ceil",[this])}floor(){return new aI("floor",[this])}abs(){return new aI("abs",[this])}exp(){return new aI("exp",[this])}mapGet(e){return new aI("map_get",[this,ay(e)],"mapGet")}mapSet(e,t,...r){return new aI("map_set",[this,au(e),au(t),...r.map(au)
3],"mapSet")}mapKeys(){return new aI("map_keys",[this],"mapKeys")}mapValues(){return new aI("map_values",[this],"mapValues")}mapEntries(){return new aI("map_entries",[this],"mapEntries")}getField(e){return new aI("get_field",[this,au(e)],"get_field")}count(){return ad._create("count",[this],"count")}sum(){return ad._create("sum",[this],"sum")}average(){return ad._create("average",[this],"average")}minimum(){return ad._create("minimum",[this],"minimum")}maximum(){return ad._create("maximum",[this],"maximum")}first(){return ad._create("first",[this],"first")}last(){return ad._create("last",[this],"last")}arrayAgg(){return ad._create("array_agg",[this],"arrayAgg")}arrayAggDistinct(){return ad._create("array_agg_distinct",[this],"arrayAggDistinct")}countDistinct(){return ad._create("count_distinct",[this],"countDistinct")}logicalMaximum(e,...t){return new aI("maximum",[this,...[e,...t].map(au)],"logicalMaximum")}logicalMinimum(e,...t){return new aI("minimum",[this,...[e,...t].map(au)],"minimum")}vectorLength(){return new aI("vector_length",[this],"vectorLength")}cosineDistance(e){return new aI("cosine_distance",[this,ah(e)],"cosineDistance")}dotProduct(e){return new aI("dot_product",[this,ah(e)],"dotProduct")}euclideanDistance(e){return new aI("euclidean_distance",[this,ah(e)],"euclideanDistance")}unixMicrosToTimestamp(){return new aI("unix_micros_to_timestamp",[this],"unixMicrosToTimestamp")}timestampToUnixMicros(){return new aI("timestamp_to_unix_micros",[this],"timestampToUnixMicros")}unixMillisToTimestamp(){return new aI("unix_millis_to_timestamp",[this],"unixMillisToTimestamp")}timestampToUnixMillis(){return new aI("timestamp_to_unix_millis",[this],"timestampToUnixMillis")}unixSecondsToTimestamp(){return new aI("unix_seconds_to_timestamp",[this],"unixSecondsToTimestamp")}timestampToUnixSeconds(){return new aI("timestamp_to_unix_seconds",[this],"timestampToUnixSeconds")}timestampAdd(e,t){return new aI("timestamp_add",[this,au(e),au(t)],"timestampAdd")}timestampSubtract(e,t){return new aI("timestamp_subtract",[this,au(e),au(t)],"timestampSubtract")}timestampDiff(e,t){return new aI("timestamp_diff",[this,ac(e),au(t)],"timestampDiff")}timestampExtract(e,t){let r=[this,au(e)];return t&&r.push(au(t)),new aI("timestamp_extract",r,"timestampExtract")}documentId(){return new aI("document_id",[this],"documentId")}parent(){return new aI("parent",[this],"parent")}substring(e,t){let r=au(e);return new aI("substring",void 0===t?[this,r]:[this,r,au(t)],"substring")}arrayGet(e){return new aI("array_get",[this,au(e)],"arrayGet")}isError(){return new aI("is_error",[this],"isError").asBoolean()}ifError(e){let t=new aI("if_error",[this,au(e)],"ifError");return e instanceof a_?t.asBoolean():t}isAbsent(){return new aI("is_absent",[this],"isAbsent").asBoolean()}mapRemove(e){return new aI("map_remove",[this,au(e)],"mapRemove")}mapMerge(e,...t){return new aI("map_merge",[this,au(e),...t.map(au)],"mapMerge")}pow(e){return new aI("pow",[this,au(e)])}trunc(e){return void 0===e?new aI("trunc",[this]):new aI("trunc",[this,au(e)],"trunc")}round(e){return void 0===e?new aI("round",[this]):new aI("round",[this,au(e)],"round")}collectionId(){return new aI("collection_id",[this])}length(){return new aI("length",[this])}ln(){return new aI("ln",[this])}sqrt(){return new aI("sqrt",[this])}stringReverse(){return new aI("string_reverse",[this])}ifAbsent(e){return new aI("if_absent",[this,au(e)],"ifAbsent")}ifNull(e){return new aI("if_null",[this,au(e)],"ifNull")}coalesce(e,...t){return new aI("coalesce",[this,au(e),...t.map(au)],"coalesce")}join(e){return new aI("join",[this,au(e)],"join")}log10(){return new aI("log10",[this])}arraySum(){return new aI("sum",[this])}split(e){return new aI("split",[this,au(e)])}timestampTruncate(e,t){let r=[this,au(e)];return t&&r.push(au(t)),new aI("timestamp_trunc",r)}ascending(){var e;return e=this,new aS(ac(e),"ascending","ascending")}descending(){var e;return e=this,new aS(ac(e),"descending","descending")}as(e){return new ag(this,e,"as")}}class ad{constructor(e,t){this.name=e,this.params=t,this.exprType="AggregateFunction",this._protoValueType="ProtoValue"}static _create(e,t,r){let n=new ad(e,t);return n._methodName=r,n}as(e){return new af(this,e,"as")}_toProto(e){return{functionValue:{name:this.name,args:this.params.map(t=>t._toProto(e))}}}_readUserData(e){e=this._methodName?e.contextWith({methodName:this._methodName}
vendor: 9,109 bytes, line 3
3):e,this.params.forEach(t=>t._readUserData(e))}}class af{constructor(e,t,r){this.aggregate=e,this.alias=t,this._methodName=r}_readUserData(e){this.aggregate._readUserData(e)}}class ag{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 ap extends aC{constructor(e,t){super(),this.cr=e,this._methodName=t,this.expressionType="ListOfExpressions"}_toProto(e){return{arrayValue:{values:this.cr.map(t=>t._toProto(e))}}}_readUserData(e){this.cr.forEach(t=>t._readUserData(e))}}class am extends aC{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 aI("geo_distance",[this,au(e)],"geoDistance")}_toProto(e){return{fieldReferenceValue:this.fieldPath.canonicalString()}}_readUserData(e){}}function aD(e){var t,r;return r="field",new am("string"==typeof(t=e)?to===t?sJ()._internalPath:an("field",t):t._internalPath,r)}class aE extends aC{constructor(e,t){super(),this.value=e,this._methodName=t,this.expressionType="Constant"}static _fromProto(e){let t=new aE(e,void 0);return t._protoValue=e,t}_toProto(e){return e8(void 0!==this._protoValue,237),this._protoValue}_getValue(){return this._protoValue}_readUserData(e){var t,r,n,s,i,a,B;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(r=t.timestampValue)&&null!==r&&"seconds"in r&&(null===r.seconds||"number"==typeof r.seconds||"string"==typeof r.seconds)&&"nanos"in r&&(null===r.nanos||"number"==typeof r.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(n=t.geoPointValue)&&null!==n&&"latitude"in n&&(null===n.latitude||"number"==typeof n.latitude)&&"longitude"in n&&(null===n.longitude||"number"==typeof n.longitude))||"arrayValue"in t&&(null===t.arrayValue||"object"==typeof(s=t.arrayValue)&&null!==s&&!(!("values"in s)||null!==s.values&&!Array.isArray(s.values)))||"mapValue"in t&&(null===t.mapValue||"object"==typeof(i=t.mapValue)&&null!==i&&!(!("fields"in i)||null!==i.fields&&!tw(i.fields)))||"fieldReferenceValue"in t&&(null===t.fieldReferenceValue||"string"==typeof t.fieldReferenceValue)||"functionValue"in t&&(null===t.functionValue||"object"==typeof(a=t.functionValue)&&null!==a&&!(!("name"in a)||null!==a.name&&"string"!=typeof a.name||!("args"in a)||null!==a.args&&!Array.isArray(a.args)))||"pipelineValue"in t&&(null===t.pipelineValue||"object"==typeof(B=t.pipelineValue)&&null!==B&&!(!("stages"in B)||null!==B.stages&&!Array.isArray(B.stages))))||(this._protoValue=i9(this.value,e))}}function ay(e,t){return aw(e,"constant")}function aw(e,t){let r=new aE(e,t);return"boolean"==typeof e?new ab(r):r}class aI extends aC{constructor(e,t,r,n){super(),this.name=e,this.params=t,this.expressionType="Function",this._optionsProto=void 0,void 0!==r&&(this._methodName=r),void 0!==n&&(this._options=n)}get _optionsUtil(){return new al({})}_toProto(e){let t={functionValue:{name:this.name,args:this.params.map(t=>t._toProto(e))}};return this._optionsProto&&(t.functionValue.options=this._optionsProto),t}_readUserData(e){e=this._methodName?e.contextWith({methodName:this._methodName}):e,this.params.forEach(t=>t._readUserData(e)),this._options&&(this._optionsProto=this._optionsUtil.getOptionsProto(e,this._options))}}class a_ extends aC{get _methodName(){return this._expr._methodName}countIf(){return ad._create("count_if",[this],"countIf")}not(){return new aI("not",[this],"not").asBoolean()}conditional(e,t){return new aI("conditional",[this,e,t],"conditional")}ifError(e){let t=au(e),r=new aI("if_error",[this,t],"ifError");return t instanceof a_?r.asBoolean():r}_toProto(e){return this._expr._toProto(e)}_readUserData(e){this._expr._readUserData(e)}}class av extends a_{constructor(e){super(),this._expr=e,this.expressionType="Function"}}class ab extends a_{constructor(e){super(),this._expr=e,this.expressionType="Constant"}_getValue(){return this._expr._getValue()}}class aT extends a_{constructor(e){super(),this._expr=e,this.expressionType="Field"}}class aS{constructor(e,t,r){this.expr=e,this.direction=t,this._methodName=r,this._protoValueType="ProtoValue"}_toProto(e){return{mapValue:{fields:{direction:sM(this.direction),expression:this.expr._toProto(e)}}}}_readUserData(e){this.expr._readUserData(e)}}class aN{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 aA extends aN{get _name(){return"add_fields"}get _optionsUtil(){return new al({})}constructor(e,t){super(t),this.fields=e}_toProto(e){return{...super._toProto(e),args:[sP(e,this.fields)]}}_readUserData(e){super._readUserData(e),aJ(this.fields,e)}}class aF extends aN{get _name(){return"aggregate"}get _optionsUtil(){return new al({})}constructor(e,t,r){super(r),this.groups=e,this.accumulators=t}_toProto(e){return{...super._toProto(e),args:[sP(e,this.accumulators),sP(e,this.groups)]}}_readUserData(e){super._readUserData(e),aJ(this.groups,e),aJ(this.accumulators,e)}}class aO extends aN{get _name(){return"distinct"}get _optionsUtil(){return new al({})}constructor(e,t){super(t),this.groups=e}_toProto(e){return{...super._toProto(e),args:[sP(e,this.groups)]}}_readUserData(e){super._readUserData(e),aJ(this.groups,e)}}class ax extends aN{get _name(){return"collection"}get _optionsUtil(){return new al({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 aL extends aN{get _name(){return"collection_group"}get _optionsUtil(){return new al({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 aR extends aN{get _name(){return"database"}get _optionsUtil(){return new al({})}_toProto(e){return{...super._toProto(e)}}_readUserData(e){super._readUserData(e)}}class ak extends aN{get _name(){return"documents"}get _optionsUtil(){return new al({})}constructor(e,t){if(super(t),!e||0===e.length)throw new tB(ta.INVALID_ARGUMENT,"Empty document paths are not allowed in DocumentsSource");const r=e.map(e=>e.startsWith("/")?e:"/"+e),n=new Set(r);if(n.size!==r.length)throw new tB(ta.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 aG extends aN{get _name(){return"where"}get _optionsUtil(){return new al({})}constructor(e,t){super(t),this.condition=e}_toProto(e){return{...super._toProto(e),args:[this.condition._toProto(e)]}}_readUserData(e){super._readUserData(e),aJ(this.condition,e)}}class aP extends aN{get _name(){return"limit"}get _optionsUtil(){return new al({})}constructor(e,t){e8(!isNaN(e)&&e!==1/0&&e!==-1/0,34860),super(t),this.limit=e}_toProto(e){return{...super._toProto(e),args:[rm(e,this.limit)]}}}class aM extends aN{get _name(){return"offset"}get _optionsUtil(){return new al({})}constructor(e,t){super(t),this.offset=e}_toProto(e){return{...super._toProto(e),args:[rm(e,this.offset)]}}}class aH extends aN{get _name(){return"select"}get _optionsUtil(){return new al({})}constructor(e,t){super(t),this.selections=e}_toProto(e){return{...super._toProto(e),args:[sP(e,this.selections)]}}_readUserData(e){super._readUserData(e),aJ(this.selections,e)}}class aV extends aN{get _name(){return"sort"}get _optionsUtil(){return new al({})}constructor(e,t){super(t),this.orderings=e}_toProto(e){return{...super._toProto(e),args:this.orderings.map(t=>t._toProto(e))}}_readUserData(e){super._readUserData(e),aJ(this.orderings,e)}}class aU extends aN{get _name(){return"replace_with"}get _optionsUtil(){return new al({})}constructor(e,t){super(t),this.map=e}_toProto(e){return{...super._toProto(e),args:[this.map._toProto(e),sM(aU.Ir)]}}_readUserData(e){super._readUserData(e),aJ(this.map,e)}}function aJ(e,t){return ao(e)?e._readUserData(t):Array.isArray(e)?e.forEach(e
3=>e._readUserData(t)):e instanceof Map?e.forEach(e=>e._readUserData(t)):Object.values(e).forEach(e=>e._readUserData(t)),e}aU.Ir="full_replace";class aq{constructor(e,t,r,n){this._db=e,this.userDataReader=t,this._userDataWriter=r,this.stages=n}Vr(e,t){let r=this.userDataReader.createContext(3,e);return ao(t)?t._readUserData(r):Array.isArray(t)?t.forEach(e=>e._readUserData(r)):t.forEach(e=>e._readUserData(r)),t}where(e){let t=this.stages.map(e=>e);return this.Vr("where",e),t.push(new aG(e,{})),new aq(this._db,this.userDataReader,this._userDataWriter,t)}limit(e){let t=this.stages.map(e=>e);return t.push(new aP(e,{})),new aq(this._db,this.userDataReader,this._userDataWriter,t)}sort(e,...t){let r=this.stages.map(e=>e);return"orderings"in e?r.push(new aV(this.Vr("sort",e.orderings),{})):r.push(new aV(this.Vr("sort",[e,...t]),{})),new aq(this._db,this.userDataReader,this._userDataWriter,r)}dr(e){return{pipeline:{stages:this.stages.map(t=>t._toProto(e))}}}}class aK{constructor(e,t,r){this.serializer=e,this.stages=t,this.listenOptions=r,this.isCorePipeline=!0}getPipelineCollection(){return aQ(this)}getPipelineCollectionGroup(){return az(this)}getPipelineCollectionId(){return a$(this)}getPipelineDocuments(){return aY(this)}getPipelineFlavor(){var e;let t;
3return e=this,t="exact",e.stages.forEach((r,n)=>{r._name!==aO.name&&r._name!==aF.name||(t="keyless"),r._name===aH.name&&"exact"===t&&(t="augmented"),r._name===aA.name&&n<e.stages.length-1&&"exact"===t&&(t="augmented")}),t}getPipelineSourceType(){return aj(this)}}function aj(e){let t=e.stages[0];return t instanceof ax||t instanceof aL||t instanceof aR||t instanceof ak?t._name:"unknown"}function aQ(e){if("collection"===aj(e))return e.stages[0].hr}function az(e){if("collection_group"===aj(e))return e.stages[0].collectionId}function a$(e){switch(aj(e)){case"collection":return tu.fromString(aQ(e)).lastSegment();case"collection_group":return az(e);default:return}}function aY(e){if("documents"===aj(e))return e.stages[0].Tr}class aW{constructor(e,t){this.type=e,this.value=t}static mr(){return new aW("ERROR",void 0)}static pr(){return new aW("UNSET",void 0)}static gr(){return new aW("NULL",t0)}static newValue(e){return ri(e)?new aW("NULL",t0):e&&"booleanValue"in e?new aW("BOOLEAN",e):rt(e)?new aW("INT",e):rr(e)?new aW("DOUBLE",e):e&&"timestampValue"in e&&e.timestampValue?new aW("TIMESTAMP",e):e&&"stringValue"in e?new aW("STRING",e):e&&"bytesValue"in e?new aW("BYTES",e):e.referenceValue?new aW("REFERENCE",e):e.geoPointValue?new aW("GEO_POINT",e):rs(e)?
vendor: 16,384 bytes, line 3
3new aW("ARRAY",e):ro(e)?new aW("VECTOR",e):rB(e)?new aW("MAP",e):new aW("ERROR",void 0)}yr(){return"ERROR"===this.type||"UNSET"===this.type}wr(){return"NULL"===this.type}}function aX(e){if(!e.yr())return e.value}function aZ(e){return e instanceof a_?e._expr:e}function a0(e){if((e=aZ(e))instanceof am)return new a1(e);if(e instanceof aE)return new a2(e);if(e instanceof ap)return new a3(e);if(e instanceof aI){if("add"===e.name)return new Be(e);if("subtract"===e.name)return new Bt(e);if("multiply"===e.name)return new Br(e);if("divide"===e.name)return new Bn(e);if("mod"===e.name)return new Bs(e);if("and"===e.name)return new Bi(e);if("equal"===e.name)return new By(e);if("not_equal"===e.name)return new Bw(e);if("less_than"===e.name)return new BI(e);if("less_than_or_equal"===e.name)return new B_(e);if("greater_than"===e.name)return new Bv(e);if("greater_than_or_equal"===e.name)return new Bb(e);if("array_concat"===e.name)return new BT(e);if("array_reverse"===e.name)return new BS(e);if("array_contains"===e.name)return new BN(e);if("array_contains_all"===e.name)return new BA(e);if("array_contains_any"===e.name)return new BF(e);if("array_length"===e.name)return new BO(e);if("array_element"===e.name)return new Bx(e);if("equal_any"===e.name)return new Bl(e);if("not_equal_any"===e.name)return new Bu(e);if("is_nan"===e.name)return new Bh(e);if("is_not_nan"===e.name)return new Bc(e);if("is_null"===e.name)return new BC(e);if("is_not_null"===e.name)return new Bd(e);if("is_error"===e.name)return new Bf(e);if("exists"===e.name)return new Bg(e);if("not"===e.name)return new Ba(e);if("or"===e.name)return new BB(e);if("xor"===e.name)return new Bo(e);if("conditional"===e.name)return new Bp(e);if("maximum"===e.name)return new Bm(e);if("minimum"===e.name)return new BD(e);if("reverse"===e.name)return new BL(e);if("replace_first"===e.name)return new BR(e);if("replace_all"===e.name)return new Bk(e);if("char_length"===e.name)return new BG(e);if("byte_length"===e.name)return new BP(e);if("like"===e.name)return new BH(e);if("regex_contains"===e.name)return new BV(e);if("regex_match"===e.name)return new BU(e);if("string_contains"===e.name)return new BJ(e);if("starts_with"===e.name)return new Bq(e);if("ends_with"===e.name)return new BK(e);if("to_lower"===e.name)return new Bj(e);if("to_upper"===e.name)return new BQ(e);if("trim"===e.name)return new Bz(e);if("string_concat"===e.name)return new B$(e);if("map_get"===e.name)return new BY(e);if("cosine_distance"===e.name)return new BX(e);if("dot_product"===e.name)return new BZ(e);if("euclidean_distance"===e.name)return new B0(e);if("vector_length"===e.name)return new B1(e);if("unix_micros_to_timestamp"===e.name)return new oi(e);if("timestamp_to_unix_micros"===e.name)return new ol(e);if("unix_millis_to_timestamp"===e.name)return new oa(e);if("timestamp_to_unix_millis"===e.name)return new ou(e);if("unix_seconds_to_timestamp"===e.name)return new oB(e);if("timestamp_to_unix_seconds"===e.name)return new oh(e);if("timestamp_add"===e.name)return new oC(e);if("timestamp_subtract"===e.name)return new od(e)}throw Error(`Unknown Expr : ${e}`)}class a1{constructor(e){this.expr=e}evaluate(e,t){if(this.expr.fieldName===to)return aW.newValue({referenceValue:sE(e.serializer,t.key)});if("__update_time__"===this.expr.fieldName)return aW.newValue({timestampValue:sf(e.serializer,t.version)});if("__create_time__"===this.expr.fieldName)return aW.newValue({timestampValue:sf(e.serializer,t.createTime)});let r=t.data.field(this.expr._fieldPath);return r?tM(r)?aW.newValue(function(e,t){if("estimate"===e.serverTimestampBehavior)return{timestampValue:sf(e.serializer,ns.fromTimestamp(tV(t)))};if("previous"===e.serverTimestampBehavior){let e=tH(t);if(e)return e}return{nullValue:"NULL_VALUE"}}(e,r)):aW.newValue(r):aW.pr()}}class a2{constructor(e){this.expr=e}evaluate(e,t){return aW.newValue(this.expr._getValue())}}class a3{constructor(e){this.expr=e}evaluate(e,t){let r=this.expr.cr.map(r=>a0(r).evaluate(e,t));return r.some(e=>e.yr())?aW.mr():aW.newValue({arrayValue:{values:r.map(e=>e.value)}})}}function a8(e){return rr(e)?Number(e.doubleValue):Number(e.integerValue)}function a6(e){return BigInt(e.integerValue)}let a5=BigInt("0x7fffffffffffffff"),a4=-BigInt("0x8000000000000000");class a9{constructor(e){this.expr=e}evaluate(e,t){e8(this.expr.params.length>=2,24778);let r=a0(this.expr.params[0]).evaluate(e,t),n=a0(this.expr.params[1]).evaluate(e,t),s=this.br(r,n);for(let r of this.expr.params.slice(2)){let n=a0(r).evaluate(e,t);s=this.br(s,n)}return s}br(e,t){if(e.yr()||t.yr())return aW.mr();if(e.wr()||t.wr())return aW.gr();let r=e.value,n=t.value;if(!rr(r)&&!rt(r)||!rr(n)&&!rt(n))return aW.mr();if(rr(r)||rr(n)){let e=this.Sr(r,n);return e?aW.newValue(e):aW.mr()}if(rt(r)&&rt(n)){let e=this.vr(r,n);return void 0===e?aW.mr():"number"==typeof e?aW.newValue({doubleValue:e}):e<a4||e>a5?aW.mr():aW.newValue({integerValue:`${e}`})}return aW.mr()}}function a7(e,t){return t3(e)!==t3(t)?"TYPE_MISMATCH":ra(e)||ra(t)?"NOT_EQ":ri(e)&&ri(t)?"EQ":ri(e)||ri(t)?"NULL":rs(e)&&rs(t)?function(e,t){if(e.values?.length!==t.values?.length)return"NOT_EQ";let r=!1;for(let n=0;n<(e.values?.length??0);n++){let s=e.values[n],i=t.values[n];switch(a7(s,i)){case"EQ":break;case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":r=!0;break;default:e2(44609,{Dr:s,Cr:i})}}return r?"NULL":"EQ"}(e.arrayValue,t.arrayValue):ro(e)&&ro(t)||rB(e)&&rB(t)?function(e,t){let r=e.fields||{},n=t.fields||{};if(td(r)!==td(n))return"NOT_EQ";let s=!1;for(let e in r)if(r.hasOwnProperty(e)){if(void 0===n[e])return"NOT_EQ";switch(a7(r[e],n[e])){case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":s=!0}}return s?"NULL":"EQ"}(e.mapValue,t.mapValue):t8(e,t,{u:!1,i:!0,o:!0})?"EQ":"NOT_EQ"}class Be extends a9{vr(e,t){return a6(e)+a6(t)}Sr(e,t){return{doubleValue:a8(e)+a8(t)}}}class Bt extends a9{constructor(e){super(e),this.expr=e}vr(e,t){return a6(e)-a6(t)}Sr(e,t){return{doubleValue:a8(e)-a8(t)}}}class Br extends a9{constructor(e){super(e),this.expr=e}vr(e,t){return a6(e)*a6(t)}Sr(e,t){return{doubleValue:a8(e)*a8(t)}}}class Bn extends a9{constructor(e){super(e),this.expr=e}vr(e,t){let r=a6(t);if(r!==BigInt(0))return a6(e)/r}Sr(e,t){let r=a8(t);return 0===r?{doubleValue:tQ(r)?-1/0:1/0}:{doubleValue:a8(e)/r}}}class Bs extends a9{constructor(e){super(e),this.expr=e}vr(e,t){let r=a6(t);if(r!==BigInt(0))return a6(e)%r}Sr(e,t){let r=a8(t);if(0!==r)return{doubleValue:a8(e)%r}}}class Bi{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(let s of this.expr.params){let i=a0(s).evaluate(e,t);switch(i.type){case"BOOLEAN":if(!i.value?.booleanValue)return aW.newValue(t2);break;case"NULL":n=!0;break;default:r=!0}}return r?aW.mr():n?aW.gr():aW.newValue(t1)}}class Ba{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,9634);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return aW.newValue({booleanValue:!r.value?.booleanValue});case"NULL":return aW.gr();default:return aW.mr()}}}class BB{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(let s of this.expr.params){let i=a0(s).evaluate(e,t);switch(i.type){case"BOOLEAN":if(i.value?.booleanValue)return aW.newValue(t1);break;case"NULL":n=!0;break;default:r=!0}}return r?aW.mr():n?aW.gr():aW.newValue(t2)}}class Bo{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(let s of this.expr.params){let i=a0(s).evaluate(e,t);switch(i.type){case"BOOLEAN":r=Bo.xor(r,!!i.value?.booleanValue);break;case"NULL":n=!0;break;default:return aW.mr()}}return n?aW.gr():aW.newValue({booleanValue:r})}static xor(e,t){return(e||t)&&!(e&&t)}}class Bl{constructor(e){this.expr=e}evaluate(e,t){e8(2===this.expr.params.length,55094);let r=!1,n=a0(this.expr.params[0]).evaluate(e,t);switch(n.type){case"NULL":r=!0;break;case"ERROR":case"UNSET":return aW.mr()}let s=a0(this.expr.params[1]).evaluate(e,t);switch(s.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aW.mr()}if(r)return aW.gr();for(let e of s.value?.arrayValue?.values??[])switch(ri(n.value)&&ri(e)?"EQ":a7(n.value,e)){case"EQ":return aW.newValue(t1);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:e2(44608,{value:n.value,candidate:e})}return r?aW.gr():aW.newValue(t2)}}class Bu{constructor(e){this.expr=e}evaluate(e,t){return new Ba(new aI("not",[new aI("equal_any",this.expr.params)])).evaluate(e,t)}}class Bh{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,23322);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return aW.newValue(t2);case"DOUBLE":return aW.newValue({booleanValue:isNaN(a8(r.value))});case"NULL":return aW.gr();default:return aW.mr()}}}class Bc{constructor(e){this.expr=e}evaluate(e,t){return e8(1===this.expr.params.length,50406),new Ba(new aI("not",[new aI("is_nan",this.expr.params)])).evaluate(e,t)}}class BC{constructor(e){this.expr=e}evaluate(e,t){switch(e8(1===this.expr.params.length,23123),a0(this.expr.params[0]).evaluate(e,t).type){case"NULL":return aW.newValue(t1);case"UNSET":case"ERROR":return aW.mr();default:return aW.newValue(t2)}}}class Bd{constructor(e){this.expr=e}evaluate(e,t){return e8(1===this.expr.params.length,23167),new Ba(new aI("not",[new aI("is_null",this.expr.params)])).evaluate(e,t)}}class Bf{constructor(e){this.expr=e}evaluate(e,t){return e8(1===this.expr.params.length,5228),"ERROR"===a0(this.expr.params[0]).evaluate(e,t).type?aW.newValue(t1):aW.newValue(t2)}}class Bg{constructor(e){this.expr=e}evaluate(e,t){switch(e8(1===this.expr.params.length,6877),a0(this.expr.params[0]).evaluate(e,t).type){case"ERROR":return aW.mr();case"UNSET":return aW.newValue(t2);default:return aW.newValue(t1)}}}class Bp{constructor(e){this.expr=e}evaluate(e,t){e8(3===this.expr.params.length,11706);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return r.value?.booleanValue?a0(this.expr.params[1]).evaluate(e,t):a0(this.expr.params[2]).evaluate(e,t);case"NULL":return a0(this.expr.params[2]).evaluate(e,t);default:return aW.mr()}}}class Bm{constructor(e){this.expr=e}evaluate(e,t){let r;for(let n of this.expr.params.map(r=>a0(r).evaluate(e,t)))switch(n.type){case"ERROR":case"UNSET":case"NULL":continue;default:r=void 0===r||t5(n.value,r.value)>0?n:r}return void 0===r?aW.gr():r}}class BD{constructor(e){this.expr=e}evaluate(e,t){let r;for(let n of this.expr.params.map(r=>a0(r).evaluate(e,t)))switch(n.type){case"ERROR":case"UNSET":case"NULL":continue;default:r=void 0===r||0>t5(n.value,r.value)?n:r}return void 0===r?aW.gr():r}}class BE{constructor(e){this.expr=e}evaluate(e,t){e8(2===this.expr.params.length,31033,`${this.expr.name}() function should have exactly 2 params`);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"ERROR":case"UNSET":return aW.mr()}let n=a0(this.expr.params[1]).evaluate(e,t);switch(n.type){case"ERROR":case"UNSET":return aW.mr()}return this.Fr(r,n)}}class By extends BE{constructor(e){super(e),this.expr=e}Fr(e,t){if(e.wr()&&t.wr())return aW.newValue(t1);if(e.wr()||t.wr()||ra(e.value)||ra(t.value)||t3(e.value)!==t3(t.value))return aW.newValue(t2);switch(a7(e.value,t.value)){case"EQ":return aW.newValue(t1);case"NOT_EQ":return aW.newValue(t2);case"NULL":return aW.gr();default:e2(44615,{left:e,right:t})}}}class Bw extends BE{constructor(e){super(e),this.expr=e}Fr(e,t){switch(a7(e.value,t.value)){case"EQ":return aW.newValue(t2);case"NOT_EQ":case"TYPE_MISMATCH":return aW.newValue(t1);case"NULL":return aW.gr();default:e2(44614,{left:e,right:t})}}}class BI extends BE{constructor(e){super(e),this.expr=e}Fr(e,t){return t3(e.value)!==t3(t.value)||ra(e.value)||ra(t.value)?aW.newValue(t2):aW.newValue({booleanValue:0>t5(e.value,t.value)})}}class B_ extends BE{constructor(e){super(e),this.expr=e}Fr(e,t){return t3(e.value)!==t3(t.value)||ra(e.value)||ra(t.value)?aW.newValue(t2):"EQ"===a7(e.value,t.value)?aW.newValue(t1):aW.newValue({booleanValue:0>t5(e.value,t.value)})}}class Bv extends BE{constructor(e){super(e),this.expr=e}Fr(e,t){return t3(e.value)!==t3(t.value)||ra(e.value)||ra(t.value)?aW.newValue(t2):aW.newValue({booleanValue:t5(e.value,t.value)>0})}}class Bb extends BE{constructor(e){super(e),this.expr=e}Fr(e,t){return t3(e.value)!==t3(t.value)||ra(e.value)||ra(t.value)?aW.newValue(t2):"EQ"===a7(e.value,t.value)?aW.newValue(t1):aW.newValue({booleanValue:t5(e.value,t.value)>0})}}class BT{constructor(e){this.expr=e}evaluate(e,t){throw Error("Unimplemented")}}class BS{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,216);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return aW.gr();case"ARRAY":{let e=r.value.arrayValue?.values??[];return aW.newValue({arrayValue:{values:[...e].reverse()}})}default:return aW.mr()}}}class BN{constructor(e){this.expr=e}evaluate(e,t){return e8(2===this.expr.params.length,52884),new Bl(new aI("eq_any",[this.expr.params[1],this.expr.params[0]])).evaluate(e,t)}}class BA{constructor(e){this.expr=e}evaluate(e,t){e8(2===this.expr.params.length,1392);let r=!1,n=a0(this.expr.params[0]).evaluate(e,t);switch(n.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aW.mr()}let s=a0(this.expr.params[1]).evaluate(e,t);switch(s.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aW.mr()}if(r)return aW.gr();let i=s.value?.arrayValue?.values??[],a=n.value?.arrayValue?.values??[];for(let e of i){let t=!1;for(let n of(r=!1,a)){switch(ri(e)&&ri(n)?"EQ":a7(e,n)){case"EQ":t=!0;break;case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:e2(44613,{value:n,search:e})}if(t)break}if(!t)return aW.newValue(t2)}return aW.newValue(t1)}}class BF{constructor(e){this.expr=e}evaluate(e,t){e8(2===this.expr.params.length,2680);let r=!1,n=a0(this.expr.params[0]).evaluate(e,t);switch(n.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aW.mr()}let s=a0(this.expr.params[1]).evaluate(e,t);switch(s.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aW.mr()}if(r)return aW.gr();let i=s.value?.arrayValue?.values??[];for(let e of n.value?.arrayValue?.values??[])for(let t of i)switch(ri(e)&&ri(t)?"EQ":a7(e,t)){case"EQ":return aW.newValue(t1);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:e2(60403,{value:e,search:t})}return r?aW.gr():aW.newValue(t2)}}class BO{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,38605);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return aW.gr();case"ARRAY":return aW.newValue({integerValue:`${r.value?.arrayValue?.values?.length??0}`});default:return aW.mr()}}}class Bx{constructor(e){this.expr=e}evaluate(e,t){throw Error("Unimplemented")}}class BL{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,1508);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return aW.gr();case"BYTES":{let e=r.value?.bytesValue;if("string"==typeof e){let t=tA.fromBase64String(e).toUint8Array();return t.reverse(),aW.newValue({bytesValue:tA.fromUint8Array(t).toBase64()})}return aW.newValue({bytesValue:new Uint8Array(e).reverse()})}case"STRING":{let e=r.value?.stringValue,t=Array.from(new Intl.__PRIVATE_Segmenter(void 0,{granularity:"grapheme"}).segment(e),e=>e.segment).reverse();return aW.newValue({stringValue:t.join("")})}default:return aW.mr()}}}class BR{constructor(e){this.expr=e}evaluate(e,t){throw Error("Unimplemented")}}class Bk{constructor(e){this.expr=e}evaluate(e,t){throw Error("Unimplemented")}}class BG{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,19400);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return aW.gr();case"STRING":{let e=function(e){let t=0;for(let r=0;r<e.length;r++){let n=e.codePointAt(r);if(void 0===n)return;if(n<=65535)if(n>=55296&&n<=57343)if(n<=56319){let n=e.codePointAt(r+1);void 0!==n&&n>=56320&&n<=57343?(t+=1,r++):t+=1}else t+=1;else t+=1;else{if(!(n<=1114111))return;t+=1,r++}}return t}(r.value.stringValue);return void 0===e?aW.mr():aW.newValue({integerValue:e})}default:return aW.mr()}}}class BP{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,8486);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BYTES":{let e=r.value?.bytesValue;return"string"==typeof e?aW.newValue({integerValue:tA.fromBase64String(e).toUint8Array().length}):aW.newValue({integerValue:new Uint8Array(e).length})}case"STRING":{let e=function(e){let t=0;for(let r=0;r<e.length;r++){let n=e.codePointAt(r);if(void 0===n)return;if(n>=55
3296&&n<=57343){if(!(n<=56319))return;{let n=e.codePointAt(r+1);if(void 0===n||!(n>=56320&&n<=57343))return;t+=4,r++}}else if(n<=127)t+=1;else if(n<=2047)t+=2;else if(n<=65535)t+=3;else{if(!(n<=1114111))return;t+=4,r++}}return t}(r.value?.stringValue);return void 0===e?aW.mr():aW.newValue({integerValue:e})}case"NULL":return aW.gr();default:return aW.mr()}}}class BM{constructor(e){this.expr=e}evaluate(e,t){e8(2===this.expr.params.length,39773,`${this.expr.name}() function should have exactly two parameters`);let r=!1,n=a0(this.expr.params[0]).evaluate(e,t);switch(n.type){case"STRING":break;case"NULL":r=!0;break;default:return aW.mr()}let s=a0(this.expr.params[1]).evaluate(e,t);switch(s.type){case"STRING":break;case"NULL":r=!0;break;default:return aW.mr()}return r?aW.gr():this.Or(n.value?.stringValue,s.value?.stringValue)}}class BH extends BM{Or(e,t){try{let r=function(e){let t="";for(let r=0;r<e.length;r++){let n=e.charAt(r);switch(n){case"_":t+=".";break;case"%":t+=".*";break;case"\\":case".":case"*":case"?":case"+":case"^":case"$":case"|":case"(":case")":case"[":case"]":case"{":case"}":t+="\\"+n;break;default:t+=n}}return"^"+t+"$"}(t),n=ej.compile(r);return aW.newValue({booleanValue:n.matches(e)})}catch(e){return e0(`Invalid LIKE pattern converted to regex: ${t}, returning error. Error: ${e}`),aW.mr()}}}class BV extends BM{Or(e,t){try{let r=ej.compile(t);return aW.newValue({booleanValue:r.test(e)})}catch(e){return e0(`Invalid regex pattern found in regex_contains: ${t}, returning error`),aW.mr()}}}class BU extends BM{Or(e,t){try{return aW.newValue({booleanValue:ej.compile(t).matches(e)})}catch(e){return e0(`Invalid regex pattern found in regex_match: ${t}, returning error`),aW.mr()}}}class BJ extends BM{Or(e,t){return aW.newValue({booleanValue:e.includes(t)})}}class Bq extends BM{Or(e,t){return aW.newValue({booleanValue:e.startsWith(t)})}}class BK extends BM{Or(e,t){return aW.newValue({booleanValue:e.endsWith(t)})}}class Bj{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,29079);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return aW.newValue({stringValue:r.value?.stringValue?.toLowerCase()});case"NULL":return aW.gr();default:return aW.mr()}}}class BQ{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,60487);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return aW.newValue({stringValue:r.value?.stringValue?.toUpperCase()});case"NULL":return aW.gr();default:return aW.mr()}}}class Bz{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,28544);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return aW.newValue({stringValue:r.value?.stringValue?.trim()});case"NULL":return aW.gr();default:return aW.mr()}}}class B${constructor(e){this.expr=e}evaluate(e,t){let r=this.expr.params.map(r=>a0(r).evaluate(e,t)),n="",s=!1;for(let e of r)switch(e.type){case"STRING":n+=e.value.stringValue;break;case"NULL":s=!0;break;default:return aW.mr()}return s?aW.gr():aW.newValue({stringValue:n})}}class BY{constructor(e){this.expr=e}evaluate(e,t){e8(2===this.expr.params.length,4483);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"UNSET":return aW.pr();case"MAP":break;default:return aW.mr()}let n=a0(this.expr.params[1]).evaluate(e,t);if("STRING"!==n.type)return aW.mr();let s=r.value?.mapValue?.fields?.[n.value?.stringValue];return void 0===s?aW.pr():aW.newValue(s)}}class BW{constructor(e){this.expr=e}evaluate(e,t){e8(2===this.expr.params.length,25231,`${this.expr.name}() function should have exactly 2 params`);let r=!1,n=a0(this.expr.params[0]).evaluate(e,t);switch(n.type){case"VECTOR":break;case"NULL":r=!0;break;default:return aW.mr()}let s=a0(this.expr.params[1]).evaluate(e,t);switch(s.type){case"VECTOR":break;case"NULL":r=!0;break;default:return aW.mr()}if(r)return aW.gr();let i=rl(n.value),a=rl(s.value);if(void 0===i||void 0===a||i.values?.length!==a.values?.length)return aW.mr();let B=this.Mr(i,a);return void 0===B||isNaN(B)?aW.mr():aW.newValue({doubleValue:B})}}class BX extends BW{Mr(e,t){let r=e?.values??[],n=t?.values??[];if(0===r.length)return;let s=0,i=0,a=0;for(let e=0;e<r.length;e++){if(!rn(r[e])||!rn(n[e]))return;let t=a8(r[e]),B=a8(n[e]);s+=t*B,i+=t*t,a+=B*B}let B=Math.sqrt(i)*Math.sqrt(a);if(0!==B)return 1-Math.max(-1,Math.min(1,s/B))}}class BZ extends BW{Mr(e,t){let r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let s=0;for(let e=0;e<r.length;e++){if(!rn(r[e])||!rn(n[e]))return;s+=a8(r[e])*a8(n[e])}return s}}class B0 extends BW{Mr(e,t){let r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let s=0;for(let e=0;e<r.length;e++){if(!rn(r[e])||!rn(n[e]))return;s+=Math.pow(a8(r[e])-a8(n[e]),2)}return Math.sqrt(s)}}class B1{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,39044);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"VECTOR":{let e=rl(r.value);return aW.newValue({integerValue:e?.values?.length??0})}case"NULL":return aW.gr();default:return aW.mr()}}}let B2=BigInt(-0xe7791f700),B3=BigInt(0x3afff4417f),B8=BigInt(1e3),B6=BigInt(1e6),B5=B2*B8,B4=B3*B8+BigInt(999),B9=B2*B6,B7=B3*B6+BigInt(999999);function oe(e){return e>=B9&&e<=B7}function ot(e,t){let r=BigInt(e);return!(r<B2||r>B3)&&!(t<0||t>=1e9)&&(r!==B2||0===t)&&!(r===B3&&t>0x3b9ac9ff)}function or(e,t){return t<0?{seconds:e-1,nanos:t+1e9}:{seconds:e,nanos:t}}function on(e){return BigInt(e.seconds)*B6+BigInt(Math.trunc(e.nanoseconds/1e3))}class os{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,49262,`${this.expr.name}() function should have exactly one parameter`);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return this.toTimestamp(BigInt(r.value.integerValue));case"NULL":return aW.gr();default:return aW.mr()}}}class oi extends os{toTimestamp(e){if(!oe(e))return aW.mr();let t=Number(e/B6),r=Number(e%B6*BigInt(1e3)),n=or(t,r);return ot(t=n.seconds,r=n.nanos)?aW.newValue({timestampValue:{seconds:t,nanos:r}}):aW.mr()}}class oa extends os{toTimestamp(e){if(!(e>=B5&&e<=B4))return aW.mr();let t=Number(e/B8),r=Number(e%B8*BigInt(1e6)),n=or(t,r);return ot(t=n.seconds,r=n.nanos)?aW.newValue({timestampValue:{seconds:t,nanos:r}}):aW.mr()}}class oB extends os{toTimestamp(e){if(!(e>=B2&&e<=B3))return aW.mr();let t=Number(e);return aW.newValue({timestampValue:{seconds:t,nanos:0}})}}class oo{constructor(e){this.expr=e}evaluate(e,t){e8(1===this.expr.params.length,1265,`${this.expr.name}() function should have exactly one parameter`);let r=a0(this.expr.params[0]).evaluate(e,t);switch(r.type){case"TIMESTAMP":break;case"NULL":return aW.gr();default:return aW.mr()}let n=sC(r.value.timestampValue);return ot(n.seconds,n.nanoseconds)?this.Nr(n):aW.mr()}}class ol extends oo{Nr(e){let t=on(e);return oe(t)?aW.newValue({integerValue:`${t.toString()}`}):aW.mr()}}class ou extends oo{Nr(e){let t=on(e),r=t/BigInt(1e3),n=t%BigInt(1e3);return r>BigInt(0)||n===BigInt(0)?aW.newValue({integerValue:r.toString()}):aW.newValue({integerValue:(r-BigInt(1)).toString()})}}class oh extends oo{Nr(e){let t=BigInt(e.seconds);return t>=B2&&t<=B3?aW.newValue({integerValue:t.toString()}):aW.mr()}}class oc{constructor(e){this.expr=e}evaluate(e,t){let r,n;e8(3===this.expr.params.length,2775,`${this.expr.name}() function should have exactly 3 parameters`);let s=!1,i=a0(this.expr.params[0]).evaluate(e,t);switch(i.type){case"TIMESTAMP":break;case"NULL":s=!0;break;default:return aW.mr()}let a=a0(this.expr.params[1]).evaluate(e,t);switch(a.type){case"STRING":if(void 0===(r=function(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}}(a.value.stringValue)))return aW.mr();break;case"NULL":s=!0;break;default:return aW.mr()}let B=a0(this.expr.params[2]).evaluate(e,t);switch(B.type){case"INT":break;case"NULL":s=!0;break;default:return aW.mr()}if(s)return aW.gr();let o=BigInt(B.value.integerValue);try{switch(r){case"microsecond":n=o;break;case"millisecond":n=o*BigInt(1e3);break;case"second":n=o*BigInt(1e6);break;case"minute":n=o*BigInt(6e7);break;case"hour":n=o*BigInt(36e8);break;case"day":n=o*BigInt(864e8);break;default:return aW.mr()}if("microsecond"!==r&&o!==BigInt(0)&&n/o!==BigInt(this.Lr(r)))return aW.mr()}catch(e){return e0(`Error during timestamp arithmetic: ${e}`),aW.mr()}let l=sC(i.value.timestampValue);if(!ot(l.seconds,l.nanoseconds))return aW.mr();let u=on(l),h=this.Br(u,n);if(!oe(h))return aW.mr();let c=Number(h/B6),C=h%B6,d=Number((C<0?C+B6:C)*BigInt(1e3)),f=C<0?c-1:c;return ot(f,d)?aW.newValue({timestampValue:{seconds:f,nanos:d}}):aW.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 oC extends oc{Br(e,t){return e+t}}class od extends oc{Br(e,t){return e-t}}function of(e){if((e=aZ(e))instanceof am)return`fld(${e.fieldName})`;if(e instanceof aE){var t;return`cst(${null===(t=e.value)?"null":"number"==typeof t?t.toString():"string"==typeof t?`"${t}"`:t instanceof iU?`ref(${t.path})`:t instanceof iK?`vec(${JSON.stringify(t)})`:JSON.stringify(t)})`}if(e instanceof aI)return`fn(${e.name},[${e.params.map(of).join(",")}])`;if("ListOfExpressions"===e.expressionType)return`list([${e.cr.map(of).join(",")}])`;throw Error(`Unrecognized expr ${JSON.stringify(e,null,2)}`)}function og(e){return`${Array.from(e.entries()).sort().map(([e,t])=>`${e}=${of(t)}`).join(",")}`}function op(e){return e.stages.map(e=>(function(e){if(e instanceof aA)return`${e._name}(${og(e.fields)})`;if(e instanceof aF){let t=`${e._name}(${og(e.accumulators)})`;return e.groups.size>0&&(t+=`grouping(${og(e.groups)})`),t}if(e instanceof aO)return`${e._name}(${og(e.groups)})`;if(e instanceof ax)return`${e._name}(${e.hr})`;if(e instanceof aL)return`${e._name}(${e.collectionId})`;if(e instanceof aR)return`${e._name}()`;if(e instanceof ak)return`${e._name}(${e.Tr.sort()})`;if(e instanceof aG)return`${e._name}(${of(e.condition)})`;if(e instanceof aP)return`${e._name}(${e.limit})`;if(e instanceof aV)return`${e._name}(${e.orderings.map(e=>`${of(e.expr)}${e.direction}`).join(",")})`;throw Error(`Unrecognized stage ${e._name}`)})(e)).join("|")}function om(e){return e instanceof aK}function oD(e){return om(e)?op(e):nP(e)}function oE(e){return om(e)?op(e):`${nm(nA(e))}|lt:${e.limitType}`}function oy(e,t){return e instanceof aK&&t instanceof aK?op(e)===op(t):!(e instanceof aK&&!(t instanceof aK)||!(e instanceof aK)&&t instanceof aK)&&nG(e,t)}function ow(e){return nE(e)?op(e):nm(e)}function oI(e,t){return e instanceof aK&&t instanceof aK?op(e)===op(t):!(e instanceof aK&&!(t instanceof aK)||!(e instanceof aK)&&t instanceof aK)&&nD(e,t)}class o_{constructor(e,t,r,n){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=n}applyToRemoteDocument(e,t){let r=t.mutationResults;for(let t=0;t<this.mutations.length;t++){let n=this.mutations[t];n.key.isEqual(e.key)&&function(e,t,r){let n,s;e instanceof rV?(n=e.value.clone(),s=rq(e.fieldTransforms,t,r.transformResults),n.setAll(s),t.convertToFoundDocument(r.version,n).setHasCommittedMutations()):e instanceof rU?function(e,t,r){if(!rk(e.precondition,t))return t.convertToUnknownDocument(r.version);let n=rq(e.fieldTransforms,t,r.transformResults),s=t.data;s.setAll(rJ(e)),s.setAll(n),t.convertToFoundDocument(r.version,s).setHasCommittedMutations()}(e,t,r):t.convertToNoDocument(r.version).setHasCommittedMutations()}(n,e,r[t])}}applyToLocalView(e,t){for(let r of this.baseMutations)r.key.isEqual(e.key)&&
3(t=rM(r,e,t,this.localWriteTime));for(let r of this.mutations)r.key.isEqual(e.key)&&(t=rM(r,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){let r=n$();return this.mutations.forEach(n=>{let s=e.get(n.key),i=s.overlayedDocument,a=this.applyToLocalView(i,s.mutatedFields),B=rP(i,a=t.has(n.key)?null:a);null!==B&&r.set(n.key,B),i.isValidDocument()||i.convertToNoDocument(ns.min())}),r}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),nX())}isEqual(e){return this.batchId===e.batchId&&e7(this.mutations,e.mutations,(e,t)=>rH(e,t))&&e7(this.baseMutations,e.baseMutations,(e,t)=>rH(e,t))}}class ov{constructor(e,t,r,n){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=n}static from(e,t,r){e8(e.mutations.length===r.length,58842,{Ur:e.mutations.length,kr:r.length});let n=nY,s=e.mutations;for(let e=0;e<s.length;e++)n=n.insert(s[e].key,r[e].version);return new ov(e,t,r,n)}}function ob(e){let t="";for(let r=0;r<e.length;r++)t.length>0&&(t+="\x01\x01"),t=function(e,t){let r=t,n=e.length;for(let t=0;t<n;t++){let n=e.charAt(t);switch(n){case"\0":r+="\x01\x10";break;case"\x01":r+="\x01\x11";break;default:r+=n}}return r}(e.get(r),t);return t+"\x01\x01"}function oT(e){let t=e.length;if(e8(t>=2,64408,{path:e}),2===t)return e8("\x01"===e.charAt(0)&&"\x01"===e.charAt(1),56145,{path:e}),tu.emptyPath();let r=t-2,n=[],s="";for(let i=0;i<t;){let t=e.indexOf("\x01",i);switch((t<0||t>r)&&e2(50515,{path:e}),e.charAt(t+1)){case"\x01":let a,B=e.substring(i,t);0===s.length?a=B:(s+=B,a=s,s=""),n.push(a);break;case"\x10":s+=e.substring(i,t),s+="\0";break;case"\x11":s+=e.substring(i,t+1);break;default:e2(61167,{path:e})}i=t+2}return new tu(n)}let oS="remoteDocuments",oN="owner",oA="owner",oF="mutationQueues",oO="mutations",ox="batchId",oL="userMutationsIndex",oR=["userId","batchId"],ok={},oG="documentMutations",oP="remoteDocumentsV14",oM=["prefixPath","collectionGroup","readTime","documentId"],oH="documentKeyIndex",oV=["prefixPath","collectionGroup","documentId"],oU="collectionGroupIndex",oJ=["collectionGroup","readTime","prefixPath","documentId"],oq="remoteDocumentGlobal",oK="remoteDocumentGlobalKey",oj="targets",oQ="queryTargetsIndex",oz=["canonicalId","targetId"],o$="targetDocuments",oY=["targetId","path"],oW="documentTargetsIndex",oX=["path","targetId"],oZ="targetGlobalKey",o0="targetGlobal",o1="collectionParents",o2=["collectionId","parent"],o3="clientMetadata",o8="bundles",o6="namedQueries",o5="indexConfiguration",o4="collectionGroupIndex",o9="indexState",o7=["indexId","uid"],le="sequenceNumberIndex",lt=["uid","sequenceNumber"],lr="indexEntries",ln=["indexId","uid","arrayValue","directionalValue","orderedDocumentKey","documentKey"],ls="documentKeyIndex",li=["indexId","uid","orderedDocumentKey"],la="documentOverlays",lB=["userId","collectionPath","documentId"],lo="collectionPathOverlayIndex",ll=["userId","collectionPath","largestBatchId"],lu="collectionGroupOverlayIndex",lh=["userId","collectionGroup","largestBatchId"],lc="globals",lC=[oF,oO,oG,oS,oj,oN,o0,o$,o3,oq,o1,o8,o6],ld=[...lC,la],lf=[oF,oO,oG,oP,oj,oN,o0,o$,o3,oq,o1,o8,o6,la],lg=[...lf,o5,o9,lr],lp=[...lg,lc];function lm(e,t,r){let n=e.store(oO),s=e.store(oG),i=[],a=IDBKeyRange.only(r.batchId),B=0,o=n.Hn({range:a},(e,t,r)=>(B++,r.delete()));i.push(o.next(()=>{e8(1===B,47070,{batchId:r.batchId})}));let l=[];for(let e of r.mutations){var u,h;let n=(u=e.key.path,h=r.batchId,[t,ob(u),h]);i.push(s.delete(n)),l.push(e.key)}return iy.waitFor(i).next(()=>l)}function lD(e){let t;if(!e)return 0;if(e.document)t=e.document;else if(e.unknownDocument)t=e.unknownDocument;else{if(!e.noDocument)throw e2(14731);t=e.noDocument}return JSON.stringify(t).length}class lE extends iD{constructor(e,t){super(),this.qr=e,this.currentSequenceNumber=t}}function ly(e,t){return i_.Cn(e.qr,t)}class lw{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{ 4 largestBatchId: ${this.largestBatchId}, 5 mutation: ${this.mutation.toString()} 6 }`}}class lI{constructor(e,t,r,n,s=ns.min(),i=ns.min(),a=tA.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 lI(this.target,this.targetId,this.purpose,e,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(e,t){return new lI(this.target,this.targetId,this.purpose,this.sequenceNumber,t,this.lastLimboFreeSnapshotVersion,e,null)}withExpectedCount(e){return new lI(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,e)}withLastLimboFreeSnapshotVersion(e){return new lI(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,e,this.resumeToken,this.expectedCount)}}class l_{constructor(e){this.$r=e}}function lv(e,t){let r=t.key,n={prefixPath:r.getCollectionPath().popLast().toArray(),collectionGroup:r.collectionGroup,documentId:r.path.lastSegment(),readTime:lb(t.readTime),hasCommittedMutations:t.hasCommittedMutations};if(t.isFoundDocument()){var s;
6n.document={name:sE(s=e.$r,t.key),fields:t.data.value.mapValue.fields,updateTime:sc(s,t.version.toTimestamp()),createTime:sc(s,t.createTime.toTimestamp())}}else if(t.isNoDocument())n.noDocument={path:r.path.toArray(),readTime:lT(t.version)};else{if(!t.isUnknownDocument())return e2(57904,{document:t});n.unknownDocument={path:r.path.toArray(),version:lT(t.version)}}return n}function lb(e){let t=e.toTimestamp();return[t.seconds,t.nanoseconds]}function lT(e){let t=e.toTimestamp();return{seconds:t.seconds,nanoseconds:t.nanoseconds}}function lS(e){let t=new tS(e.seconds,e.nanoseconds);return ns.fromTimestamp(t)}function lN(e,t){let r=(t.baseMutations||[]).map(t=>sN(e.$r,t));for(let e=0;e<t.mutations.length-1;++e){let r=t.mutations[e];e+1<t.mutations.length&&void 0!==t.mutations[e+1].transform&&(r.updateTransforms=t.mutations[e+1].transform.fieldTransforms,t.mutations.splice(e+1,1),++e)}let n=t.mutations.map(t=>sN(e.$r,t)),s=tS.fromMillis(t.localWriteTimeMs);return new o_(t.batchId,s,r,n)}function lA(e,t){var r,n,s;let i,a,B=lS(t.readTime),o=void 0!==t.lastLimboFreeSnapshotVersion?lS(t.lastLimboFreeSnapshotVersion):ns.min();return new lI(void 0!==t.query.structuredPipeline?(r=t.query,n=e.$r,i=r.structuredPipeline,e8((i?.pipeline?.stages??[]).length>0,1845),new aK(n,i?.pipeline?.stages.map(lk))):void 0!==t.query.documents?(e8(1===(a=(s=t.query).documents.length),1966,{count:a}),nA(nb(sI(s.documents[0])))):nA(sO(t.query)),t.targetId,"TargetPurposeListen",t.lastListenSequenceNumber,B,o,tA.fromBase64String(t.resumeToken))}function lF(e,t){let r,n=lT(t.snapshotVersion),s=lT(t.lastLimboFreeSnapshotVersion);r=nE(t.target)?sx(e.$r,t.target):ny(t.target)?sA(e.$r,t.target):sF(e.$r,t.target).Se;let i=t.resumeToken.toBase64();return{targetId:t.targetId,canonicalId:ow(t.target),readTime:n,resumeToken:i,lastListenSequenceNumber:t.sequenceNumber,lastLimboFreeSnapshotVersion:s,query:r}}function lO(e){let t=sO({parent:e.parent,structuredQuery:e.structuredQuery});return"LAST"===e.limitType?nL(t,t.limit,"L"):t}function lx(e,t){return new lw(t.largestBatchId,sN(e.$r,t.overlayMutation))}function lL(e,t){let r=t.path.lastSegment();return[e,ob(t.path.popLast()),r]}function lR(e,t,r,n){return{indexId:e,uid:t,sequenceNumber:r,readTime:lT(n.readTime),documentKey:ob(n.documentKey.path),largestBatchId:n.largestBatchId}}function lk(e){switch(e.name){case"collection":return new ax(e.args[0].referenceValue,{});case"collection_group":return new aL(e.args[1].stringValue,{});case"database":return new aR({});case"documents":return new ak(e.args.map(e=>e.referenceValue),{});case"where":return new aG(lG(e.args[0]),{});case"limit":{let t=e.args[0].integerValue??e.args[0].doubleValue;return new aP("number"==typeof t?t:Number(t),{})}case"sort":return new aV(e.args.map(e=>{let t;return new aS(lG((t=e.mapValue?.fields).expression),t.direction?.stringValue,"orderingFromProto")}),{});default:throw Error(`Stage type: ${e.name} not supported.`)}}function lG(e){return e.fieldReferenceValue?new am(an("_exprFromProto",e.fieldReferenceValue),"_exprFromProto"):e.functionValue?new aI(e.functionValue.name,e.functionValue.args?.map(lG)||[]):aE._fromProto(e)}class lP{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){return e8(""!==e.uid,64387),new lP(e.isAuthenticated()?e.uid:"",t,r,n)}checkEmpty(e){let t=!0,r=IDBKeyRange.bound([this.userId,-1/0],[this.userId,1/0]);return lH(e).Hn({index:oL,range:r},(e,r,n)=>{t=!1,n.done()}).next(()=>t)}addMutationBatch(e,t,r,n){let s=ly(e,oG),i=lH(e);return i.add({}).next(a=>{var B,o,l,u;let h,c;e8("number"==typeof a,49019);let C=new o_(a,t,r,n),d=(B=this.serializer,o=this.userId,h=C.baseMutations.map(e=>sS(B.$r,e)),c=C.mutations.map(e=>sS(B.$r,e)),{userId:o,batchId:C.batchId,localWriteTimeMs:C.localWriteTime.toMillis(),baseMutations:h,mutations:c}),f=[],g=new tn((e,t)=>e5(e.canonicalString(),t.canonicalString()));for(let e of n){let t=(l=this.userId,u=e.key.path,[l,ob(u),a]);g=g.add(e.key.path.popLast()),f.push(i.put(d)),f.push(s.put(t,ok))}return g.forEach(t=>{f.push(this.indexManager.addToCollectionParentIndex(e,t))}),e.addOnCommittedListener(()=>{this.Kr[a]=C.keys()}),iy.waitFor(f).next(()=>C)})}lookupMutationBatch(e,t){return lH(e).get(t).next(e=>e?(e8(e.userId===this.userId,48,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),lN(this.serializer,e)):null)}Wr(e,t){return this.Kr[t]?iy.resolve(this.Kr[t]):this.lookupMutationBatch(e,t).next(e=>{if(e){let r=e.keys();return this.Kr[t]=r,r}return null})}getNextMutationBatchAfterBatchId(e,t){let r=t+1,n=IDBKeyRange.lowerBound([this.userId,r]),s=null;return lH(e).Hn({index:oL,range:n},(e,t,n)=>{t.userId===this.userId&&(e8(t.batchId>
6=r,47524,{Gr:r}),s=lN(this.serializer,t)),n.done()}).next(()=>s)}getHighestUnacknowledgedBatchId(e){let t=IDBKeyRange.upperBound([this.userId,1/0]),r=-1;return lH(e).Hn({index:oL,range:t,reverse:!0},(e,t,n)=>{r=t.batchId,n.done()}).next(()=>r)}getAllMutationBatches(e){let t=IDBKeyRange.bound([this.userId,-1],[this.userId,1/0]);return lH(e).Qn(oL,t).next(e=>e.map(e=>lN(this.serializer,e)))}getAllMutationBatchesAffectingDocumentKey(e,t){let r=[this.userId,ob(t.path)],n=IDBKeyRange.lowerBound(r),s=[];return ly(e,oG).Hn({range:n},(r,n,i)=>{let[a,B,o]=r,l=oT(B);if(a===this.userId&&t.path.isEqual(l))return lH(e).get(o).next(e=>{if(!e)throw e2(61480,{zr:r,batchId:o});e8(e.userId===this.userId,10503,"Unexpected user for mutation batch",{userId:e.userId,batchId:o}),s.push(lN(this.serializer,e))});i.done()}).next(()=>s)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new tn(e5),n=[];return t.forEach(t=>{let s=[this.userId,ob(t.path)],i=IDBKeyRange.lowerBound(s),a=ly(e,oG).Hn({range:i},(e,n,s)=>{let[i,a,B]=e,o=oT(a);i===this.userId&&t.path.isEqual(o)?r=r.add(B):s.done()});n.push(a)}),iy.waitFor(n).next(()=>this.jr(e,r))}getAllMutationBatchesAffectingQuery(e,t){let r=t.path,n=r.length+1,s=[this.userId,ob(r)],i=IDBKeyRange.lowerBound(s),a=new tn(e5);return ly(e,oG).Hn({range:i},(e,t,s)=>{let[i,B,o]=e,l=oT(B);i===this.userId&&r.isPrefixOf(l)?l.length===n&&(a=a.add(o)):s.done()}).next(()=>this.jr(e,a))}jr(e,t){let r=[],n=[];return t.forEach(t=>{n.push(lH(e).get(t).next(e=>{if(null===e)throw e2(35274,{batchId:t});e8(e.userId===this.userId,9748,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),r.push(lN(this.serializer,e))}))}),iy.waitFor(n).next(()=>r)}removeMutationBatch(e,t){return lm(e.qr,this.userId,t).next(r=>(e.addOnCommittedListener(()=>{this.Hr(t.batchId)}),iy.forEach(r,t=>this.referenceDelegate.markPotentiallyOrphaned(e,t))))}Hr(e){delete this.Kr[e]}performConsistencyCheck(e){return this.checkEmpty(e).next(t=>{if(!t)return iy.resolve();let r=IDBKeyRange.lowerBound([this.userId]),n=[];return ly(e,oG).Hn({range:r},(e,t,r)=>{if(e[0]===this.userId){let t=oT(e[1]);n.push(t)}else r.done()}).next(()=>{e8(0===n.length,56720,{Jr:n.map(e=>e.canonicalString())})})})}containsKey(e,t){return lM(e,this.userId,t)}Yr(e){return ly(e,oF).get(this.userId).next(e=>e||{userId:this.userId,lastAcknowledgedBatchId:-1,lastStreamToken:""})}}function lM(e,t,r){let n=[t,ob(r.path)],s=n[1],i=IDBKeyRange.lowerBound(n),a=!1;return ly(e,oG).Hn({range:i,jn:!0},(e,r,n)=>{let[i,B,o]=e;i===t&&B===s&&(a=!0),n.done()}).next(()=>a)}function lH(e){return ly(e,oO)}class lV{getBundleMetadata(e,t){return ly(e,o8).get(t).next(e=>{if(e)return{id:e.bundleId,createTime:lS(e.createTime),version:e.version}})}saveBundleMetadata(e,t){return ly(e,o8).put({bundleId:t.id,createTime:lT(sg(t.createTime)),version:t.version})}getNamedQuery(e,t){return ly(e,o6).get(t).next(e=>{if(e)return{name:e.name,query:lO(e.bundledQuery),readTime:lS(e.readTime)}})}saveNamedQuery(e,t){return ly(e,o6).put({name:t.name,readTime:lT(sg(t.readTime)),bundledQuery:t.bundledQuery})}}class lU{constructor(e,t){this.serializer=e,this.userId=t}static Qr(e,t){return new lU(e,t.uid||"")}getOverlay(e,t){return ly(e,la).get(lL(this.userId,t)).next(e=>e?lx(this.serializer,e):null)}getOverlays(e,t){let r=n$();return iy.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}getAllOverlays(e,t){let r=n$();return ly(e,la).Hn((e,n)=>{let s=lx(this.serializer,n);s.largestBatchId>t&&r.set(s.getKey(),s)}).next(()=>r)}saveOverlays(e,t,r){let n=[];return r.forEach((r,s)=>{let i=new lw(t,s);n.push(this.Zr(e,i))}),iy.waitFor(n)}removeOverlaysForBatchId(e,t,r){let n=new Set;t.forEach(e=>n.add(ob(e.getCollectionPath())));let s=[];return n.forEach(t=>{let n=IDBKeyRange.bound([this.userId,t,r],[this.userId,t,r+1],!1,!0);s.push(ly(e,la).zn(lo,n))}),iy.waitFor(s)}getOverlaysForCollection(e,t,r){let n=n$(),s=ob(t),i=IDBKeyRange.bound([this.userId,s,r],[this.userId,s,1/0],!0);return ly(e,la).Qn(lo,i).next(e=>{for(let t of e){let e=lx(this.serializer,t);n.set(e.getKey(),e)}return n})}getOverlaysForCollectionGroup(e,t,r,n){let s,i=n$(),a=IDBKeyRange.bound([this.userId,t,r],[this.userId,t,1/0],!0);return ly(e,la).Hn({index:lu,range:a},(e,t,r)=>{let a=lx(this.serializer,t);i.size()<n||a.largestBatchId===s?(i.set(a.getKey(),a),s=a.largestBatchId):r.done()}).next(()=>i)}Zr(e,t){return ly(e,la).put(function(e,t,r){let[n,s,i]=lL(t,r.mutation.key);return{userId:t,collectionPath:s,documentId:i,collectionGroup:r.mutation.key.getCollectionGroup(),largestBatchId:r.largestBatchId,overlayMutation:sS(e.$r,r.mutation)}}(this.serializer,this.userId,t))}}class lJ{Xr(e){return ly(e,lc)}getSessionToken(e){return this.Xr(e).get("sessionToken").next(e=>{let t=e?.value;return t?tA.fromUint8Array(t):tA.EMPTY_BYTE_STRING})}setSessionToken(e,t){return this.Xr(e).put({name:"sessionToken",value:t.toUint8Array()})}}class lq{ei(e,t){this.ti(e,t),t.ni()}ti(e,t){if("nullValue"in e)this.ri(t,5);else if("booleanValue"in e)this.ri(t,10),t.ii(+!!e.booleanValue);else if("integerValue"in e)this.ri(t,15),t.ii(tx(e.integerValue));else if("doubleValue"in e){let r=tx(e.doubleValue);isNaN(r)?this.ri(t,13):(this.ri(t,15),tQ(r)?t.ii(0):t.ii(r))}else if("timestampValue"in e){let r=e.timestampValue;this.ri(t,20),"string"==typeof r&&(r=tO(r)),t.si(`${r.seconds||""}`),t.ii(r.nanos||0)}else if("stringValue"in e)this._i(e.stringValue,t),this.oi(t);else if("bytesValue"in e)this.ri(t,30),t.ai(tL(e.bytesValue)),this.oi(t);else if("referenceValue"in e)this.ui(e.referenceValue,t);else if("geoPointValue"in e){let r=e.geoPointValue;this.ri(t,45),t.ii(r.latitude||0),t.ii(r.longitude||0)}else"mapValue"in e?rh(e)?this.ri(t,Number.MAX_SAFE_INTEGER):ro(e)?this.ci(e.mapValue,t):(this.li(e.mapValue,t),this.oi(t)):"arrayValue"in e?(this.Ei(e.arrayValue,t),this.oi(t)):e2(19022,{hi:e})}_i(e,t){this.ri(t,25),this.Ti(e,t)}Ti(e,t){t.si(e)}li(e,t){let r=e.fields||{};for(let e of(this.ri(t,55),Object.keys(r)))this._i(e,t),this.ti(r[e],t)}ci(e,t){let r=e.fields||{};this.ri(t,53);let n=r[tZ].arrayValue?.values?.length||0;this.ri(t,15),t.ii(tx(n)),this._i(tZ,t),this.ti(r[tZ],t)}Ei(e,t){let r=e.values||[];for(let e of(this.ri(t,50),r))this.ti(e,t)}
6ui(e,t){this.ri(t,37),tm.fromName(e).path.forEach(e=>{this.ri(t,60),this.Ti(e,t)})}ri(e,t){e.ii(t)}oi(e){e.ii(2)}}function lK(e){return Math.ceil((64-function(e){let t=0;for(let r=0;r<8;++r){let n=function(e){if(0===e)return 8;let t=0;return e>>4||(t+=4,e<<=4),e>>6||(t+=2,e<<=2),e>>7||(t+=1),t}(255&e[r]);if(t+=n,8!==n)break}return t}(e))/8)}lq.Pi=new lq;class lj{constructor(){this.buffer=new Uint8Array(1024),this.position=0}Ii(e){let t=e[Symbol.iterator](),r=t.next();for(;!r.done;)this.Ri(r.value),r=t.next();this.Ai()}Vi(e){let t=e[Symbol.iterator](),r=t.next();for(;!r.done;)this.di(r.value),r=t.next();this.fi()}mi(e){for(let 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(let 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){let t=this.yi(e),r=lK(t);this.wi(1+r),this.buffer[this.position++]=255&r;for(let e=t.length-r;e<t.length;++e)this.buffer[this.position++]=255&t[e]}bi(e){let t=this.yi(e),r=lK(t);this.wi(1+r),this.buffer[this.position++]=~(255&r);for(let e=t.length-r;e<t.length;++e)this.buffer[this.position++]=~(255&t[e])}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){let t,r=((t=new DataView(new ArrayBuffer(8))).setFloat64(0,e,!1),new Uint8Array(t.buffer)),n=!!(128&r[0]);r[0]^=n?255:128;for(let e=1;e<r.length;++e)r[e]^=255*!!n;return r}Ri(e){let t=255&e;0===t?(this.Di(0),this.Di(255)):255===t?(this.Di(255),this.Di(0)):this.Di(t)}di(e){let 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){let t=e+this.position;if(t<=this.buffer.length)return;let r=2*this.buffer.length;r<t&&(r=t);let n=new Uint8Array(r);n.set(this.buffer),this.buffer=n}}class lQ{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 lz{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 l${constructor(){this.Oi=new lj,this.ascending=new lQ(this.Oi),this.descending=new lz(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 lY{constructor(e,t,r,n){this.Ni=e,this.Li=t,this.Bi=r,this.Ui=n}ki(){let 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 lY(this.Ni,this.Li,this.Bi,r)}qi(e,t,r){return{indexId:this.Ni,uid:e,arrayValue:lZ(this.Bi),directionalValue:lZ(this.Ui),orderedDocumentKey:lZ(t),documentKey:r.path.toArray()}}$i(e,t,r){let n=this.qi(e,t,r);return[n.indexId,n.uid,n.arrayValue,n.directionalValue,n.orderedDocumentKey,n.documentKey]}}function lW(e,t){let r=e.Ni-t.Ni;return 0!==r||0!==(r=lX(e.Bi,t.Bi))||0!==(r=lX(e.Ui,t.Ui))?r:tm.comparator(e.Li,t.Li)}function lX(e,t){for(let r=0;r<e.length&&r<t.length;++r){let n=e[r]-t[r];if(0!==n)return n}return e.length-t.length}function lZ(e){return(0,p.isSafariOrWebkit)()?function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t}(e):e}function l0(e){return"string"!=typeof e?e:function(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}(e)}class l1{constructor(e){for(const t of(this.Ki=new tn((e,t)=>tc.comparator(e.field,t.field)),this.collectionId=null!=e.collectionGroup?e.collectionGroup:e.path.lastSegment(),this.Qi=e.orderBy,this.Wi=[],e.filters))t.isInequality()?this.Ki=this.Ki.add(t):this.Wi.push(t)}get Gi(){return this.Ki.size>1}zi(e){if(e8(e.collectionGroup===this.collectionId,49279),this.Gi)return!1;let t=nB(e);if(void 0!==t&&!this.ji(t))return!1;let r=no(e),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)return!0;
6if(this.Ki.size>0){let e=this.Ki.getIterator().getNext();if(!n.has(e.field.canonicalString())){let t=r[s];if(!this.Hi(e,t)||!this.Ji(this.Qi[i++],t))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 tn(tc.comparator),t=[];for(let r of this.Wi)if(!r.field.isKeyField())if("array-contains"===r.op||"array-contains-any"===r.op)t.push(new nu(r.field,2));else{if(e.has(r.field))continue;e=e.add(r.field),t.push(new nu(r.field,0))}for(let r of this.Qi)r.field.isKeyField()||e.has(r.field)||(e=e.add(r.field),t.push(new nu(r.field,+("asc"!==r.dir))));return new na(na.UNKNOWN_ID,this.collectionId,t,nh.empty())}ji(e){for(let t of this.Wi)if(this.Hi(t,e))return!0;return!1}Hi(e,t){if(void 0===e||!e.field.isEqual(t.fieldPath))return!1;let r="array-contains"===e.op||"array-contains-any"===e.op;return 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 l2(e){return e instanceof rX}function l3(e){return e instanceof rZ&&r2(e)}function l8(e){return l2(e)||l3(e)||function(e){if(e instanceof rZ&&r1(e)){for(let t of e.getFilters())if(!l2(t)&&!l3(t))return!1;return!0}return!1}(e)}function l6(e,t){return e8(e instanceof rX||e instanceof rZ,38388),e8(t instanceof rX||t instanceof rZ,25473),l4(e instanceof rX?t instanceof rX?rZ.create([e,t],"and"):l5(e,t):t instanceof rX?l5(t,e):function(e,t){if(e8(e.filters.length>0&&t.filters.length>0,48005),r0(e)&&r0(t))return r8(e,t.getFilters());let r=r1(e)?e:t,n=r1(e)?t:e,s=r.filters.map(e=>l6(e,n));return rZ.create(s,"or")}(e,t))}function l5(e,t){if(r0(t))return r8(t,e.getFilters());{let r=t.filters.map(t=>l6(e,t));return rZ.create(r,"or")}}function l4(e){if(e8(e instanceof rX||e instanceof rZ,11850),e instanceof rX)return e;let t=e.getFilters();if(1===t.length)return l4(t[0]);if(r3(e))return e;let r=t.map(e=>l4(e)),n=[];return r.forEach(t=>{t instanceof rX?n.push(t):t instanceof rZ&&(t.op===e.op?n.push(...t.filters):n.push(t))}),1===n.length?n[0]:rZ.create(n,e.op)}class l9{constructor(){this.Zi=new l7}addToCollectionParentIndex(e,t){return this.Zi.add(t),iy.resolve()}getCollectionParents(e,t){return iy.resolve(this.Zi.getEntries(t))}addFieldIndex(e,t){return iy.resolve()}deleteFieldIndex(e,t){return iy.resolve()}deleteAllFieldIndexes(e){return iy.resolve()}createTargetIndexes(e,t){return iy.resolve()}getDocumentsMatchingTarget(e,t){return iy.resolve(null)}getIndexType(e,t){return iy.resolve(0)}getFieldIndexes(e,t){return iy.resolve([])}getNextCollectionGroupToUpdate(e){return iy.resolve(null)}getMinOffset(e,t){return iy.resolve(nd.min())}getMinOffsetFromCollectionGroup(e,t){return iy.resolve(nd.min())}updateCollectionGroup(e,t,r){return iy.resolve()}updateIndexEntries(e,t){return iy.resolve()}}class l7{constructor(){this.index={}}add(e){let t=e.lastSegment(),r=e.popLast(),n=this.index[t]||new tn(tu.comparator),s=!n.has(r);return this.index[t]=n.add(r),s}has(e){let t=e.lastSegment(),r=e.popLast(),n=this.index[t];return n&&n.has(r)}getEntries(e){return(this.index[e]||new tn(tu.comparator)).toArray()}}let ue="IndexedDbIndexManager",ut=new Uint8Array(0);class ur{constructor(e,t){this.databaseId=t,this.Xi=new l7,this.es=new nq(e=>nm(e),(e,t)=>nD(e,t)),this.uid=e.uid||""}addToCollectionParentIndex(e,t){if(!this.Xi.has(t)){let r=t.lastSegment(),n=t.popLast();e.addOnCommittedListener(()=>{this.Xi.add(t)});let s={collectionId:r,parent:ob(n)};return ly(e,o1).put(s)}return iy.resolve()}getCollectionParents(e,t){let r=[],n=IDBKeyRange.bound([t,""],[t+"\0",""],!1,!0);return ly(e,o1).Qn(n).next(e=>{for(let n of e){if(n.collectionId!==t)break;r.push(oT(n.parent))}return r})}addFieldIndex(e,t){let r=ly(e,o5),n={indexId:t.indexId,collectionGroup:t.collectionGroup,fields:t.fields.map(e=>[e.fieldPath.canonicalString(),e.kind])};delete n.indexId;let s=r.add(n);if(t.indexState){let r=ly(e,o9);return s.next(e=>{r.put(lR(e,this.uid,t.indexState.sequenceNumber,t.indexState.offset))})}return s.next()}deleteFieldIndex(e,t){let r=ly(e,o5),n=ly(e,o9),s=ly(e,lr);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=ly(e,o5),r=ly(e,lr),n=ly(e,o9);return t.zn().next(()=>r.zn()).next(()=>n.zn())}createTargetIndexes(e,t){return iy.forEach(this.ts(t),t=>this.getIndexType(e,t).next(r=>{if(0===r||1===r){let r=new l1(t).Yi();if(null!=r)return this.addFieldIndex(e,r)}}))}getDocumentsMatchingTarget(e,t){let r=ly(e,lr),n=!0,s=new Map;return iy.forEach(this.ts(t),t=>this.ns(e,t).next(e=>{n&&(n=!!e),s.set(t,e)})).next(()=>{if(n){let e=nX(),n=[];return iy.forEach(s,(s,i)=>{eX(ue,`Using index id=${s.indexId}|cg=${s.collectionGroup}|f=${s.fields.map(e=>`${e.fieldPath}:${e.kind}`).join(",")} to execute ${nm(t)}`);let a=function(e,t){let r=nB(t);if(void 0===r)return null;for(let t of nw(e,r.fieldPath))switch(t.op){case"array-contains-any":return t.value.arrayValue.values||[];case"array-contains":return[t.value]}return null}(i,s),B=function(e,t){let r=new Map;for(let n of no(t))for(let t of nw(e,n.fieldPath))switch(t.op){case"==":case"in":r.set(n.fieldPath.canonicalString(),t.value);break;case"not-in":case"!=":return r.set(n.fieldPath.canonicalString(),t.value),Array.from(r.values())}return null}(i,s),o=function(e,t){let r=[],n=!0;for(let s of no(t)){let t=0===s.kind?nI(e,s.fieldPath,e.startAt):n_(e,s.fieldPath,e.startAt);r.push(t.value),n&&(n=t.inclusive)}return new rz(r,n)}(i,s),l=function(e,t){let r=[],n=!0;for(let s of no(t)){let t=0===s.kind?n_(e,s.fieldPath,e.endAt):nI(e,s.fieldPath,e.endAt);r.push(t.value),n&&(n=t.inclusive)}return new rz(r,n)}(i,s),u=this.rs(s,i,o),h=this.rs(s,i,l),c=this.ss(s,i,B),C=this._s(s.indexId,a,u,o.inclusive,h,l.inclusive,c);return iy.forEach(C,s=>r.Gn(s,t.limit).next(t=>{t.forEach(t=>{let r=tm.fromSegments(t.documentKey);e.has(r)||(e=e.add(r),n.push(r))})}))}).next(()=>n)}return iy.resolve(null)})}ts(e){let t=this.es.get(e);return t||(t=0===e.filters.length?[e]:(function(e){if(0===e.getFilters().length)return[];let t=function e(t){if(e8(t instanceof rX||t instanceof rZ,34018),t instanceof rX)return t;if(1===t.filters.length)return e(t.filters[0]);let r=t.filters.map(t=>e(t)),n=rZ.create(r,t.op);return l8(n=l4(n))?n:(e8(n instanceof rZ,64498),e8(r0(n),40251),e8(n.filters.length>1,57927),n.filters.reduce((e,t)=>
6l6(e,t)))}(function e(t){if(e8(t instanceof rX||t instanceof rZ,20012),t instanceof rX){if(t instanceof ne){let e=t.value.arrayValue?.values?.map(e=>rX.create(t.field,"==",e))||[];return rZ.create(e,"or")}return t}let r=t.filters.map(t=>e(t));return rZ.create(r,t.op)}(e));return e8(l8(t),7391),l2(t)||l3(t)?[t]:t.getFilters()})(rZ.create(e.filters,"and")).map(t=>np(e.path,e.collectionGroup,e.orderBy,t.getFilters(),e.limit,e.startAt,e.endAt)),this.es.set(e,t)),t}_s(e,t,r,n,s,i,a){let B=(null!=t?t.length:1)*Math.max(r.length,s.length),o=B/(null!=t?t.length:1),l=[];for(let u=0;u<B;++u){let B=t?this.us(t[u/o]):ut,h=this.cs(e,B,r[u%o],n),c=this.ls(e,B,s[u%o],i),C=a.map(t=>this.cs(e,B,t,!0));l.push(...this.createRange(h,c,C))}return l}cs(e,t,r,n){let s=new lY(e,tm.empty(),t,r);return n?s:s.ki()}ls(e,t,r,n){let s=new lY(e,tm.empty(),t,r);return n?s.ki():s}ns(e,t){let r=new l1(t),n=null!=t.collectionGroup?t.collectionGroup:t.path.lastSegment();return this.getFieldIndexes(e,n).next(e=>{let t=null;for(let n of e)r.zi(n)&&(!t||n.fields.length>t.fields.length)&&(t=n);return t})}getIndexType(e,t){let r=2,n=this.ts(t);return iy.forEach(n,t=>this.ns(e,t).next(e=>{e?0!==r&&e.fields.length<function(e){let t=new tn(tc.comparator),r=!1;for(let n of e.filters)for(let e of n.getFlattenedFilters())e.field.isKeyField()||("array-contains"===e.op||"array-contains-any"===e.op?r=!0:t=t.add(e.field));for(let r of e.orderBy)r.field.isKeyField()||(t=t.add(r.field));return t.size+ +!!r}(t)&&(r=1):r=0})).next(()=>null!==t.limit&&n.length>1&&2===r?1:r)}Es(e,t){let r=new l$;for(let n of no(e)){let e=t.data.field(n.fieldPath);if(null==e)return null;let s=r.Mi(n.kind);lq.Pi.ei(e,s)}return r.Fi()}us(e){let t=new l$;return lq.Pi.ei(e,t.Mi(0)),t.Fi()}hs(e,t){let r,n=new l$;return lq.Pi.ei(re(this.databaseId,t),n.Mi(0===(r=no(e)).length?0:r[r.length-1].kind)),n.Fi()}ss(e,t,r){if(null===r)return[];let n=[];n.push(new l$);let s=0;for(let i of no(e)){let e=r[s++];for(let r of n)if(this.Ts(t,i.fieldPath)&&rs(e))n=this.Ps(n,i,e);else{let t=r.Mi(i.kind);lq.Pi.ei(e,t)}}return this.Is(n)}rs(e,t,r){return this.ss(e,t,r.position)}Is(e){let t=[];for(let r=0;r<e.length;++r)t[r]=e[r].Fi();return t}Ps(e,t,r){let n=[...e],s=[];for(let e of r.arrayValue.values||[])for(let r of n){let n=new l$;n.seed(r.Fi()),lq.Pi.ei(e,n.Mi(t.kind)),s.push(n)}return s}Ts(e,t){return!!e.filters.find(e=>e instanceof rX&&e.field.isEqual(t)&&("in"===e.op||"not-in"===e.op))}getFieldIndexes(e,t){let r=ly(e,o5),n=ly(e,o9);return(t?r.Qn(o4,IDBKeyRange.bound(t,t)):r.Qn()).next(e=>{let t=[];return iy.forEach(e,e=>n.get([e.indexId,this.uid]).next(r=>{let n,s;t.push((n=r?new nh(r.sequenceNumber,new nd(lS(r.readTime),new tm(oT(r.documentKey)),r.largestBatchId)):nh.empty(),s=e.fields.map(([e,t])=>new nu(tc.fromServerFormat(e),t)),new na(e.indexId,e.collectionGroup,s,n)))})).next(()=>t)})}getNextCollectionGroupToUpdate(e){return this.getFieldIndexes(e).next(e=>0===e.length?null:(e.sort((e,t)=>{let r=e.indexState.sequenceNumber-t.indexState.sequenceNumber;return 0!==r?r:e5(e.collectionGroup,t.collectionGroup)}),e[0].collectionGroup))}updateCollectionGroup(e,t,r){let n=ly(e,o5),s=ly(e,o9);return this.Rs(e).next(e=>n.Qn(o4,IDBKeyRange.bound(t,t)).next(t=>iy.forEach(t,t=>s.put(lR(t.indexId,this.uid,e,r)))))}updateIndexEntries(e,t){let r=new Map;return iy.forEach(t,(t,n)=>{let s=r.get(t.collectionGroup);return(s?iy.resolve(s):this.getFieldIndexes(e,t.collectionGroup)).next(s=>(r.set(t.collectionGroup,s),iy.forEach(s,r=>this.As(e,t,r).next(t=>{let s=this.Vs(n,r);return t.isEqual(s)?iy.resolve():this.ds(e,n,r,t,s)}))))})}fs(e,t,r,n){return ly(e,lr).put(n.qi(this.uid,this.hs(r,t.key),t.key))}ps(e,t,r,n){return ly(e,lr).delete(n.$i(this.uid,this.hs(r,t.key),t.key))}As(e,t,r){let n=ly(e,lr),s=new tn(lW);return n.Hn({index:ls,range:IDBKeyRange.only([r.indexId,this.uid,lZ(this.hs(r,t))])},(e,n)=>{s=s.add(new lY(r.indexId,t,l0(n.arrayValue),l0(n.directionalValue)))}).next(()=>s)}Vs(e,t){let r=new tn(lW),n=this.Es(t,e);if(null==n)return r;let s=nB(t);if(null!=s){let i=e.data.field(s.fieldPath);if(rs(i))for(let s of i.arrayValue.values||[])r=r.add(new lY(t.indexId,e.key,this.us(s),n))}else r=r.add(new lY(t.indexId,e.key,ut,n));return r}ds(e,t,r,n,s){eX(ue,"Updating index entries for document '%s'",t.key);let i=[];return function(e,t,r,n,s){let i=e.getIterator(),a=t.getIterator(),B=ti(i),o=ti(a);for(;B||o;){let e=!1,t=!1;if(B&&o){let n=r(B,o);n<0?t=!0:n>0&&(e=!0)}else null!=B?t=!0:e=!0;e?(n(o),o=ti(a)):t?(s(B),B=ti(i)):(B=ti(i),o=ti(a))}}(n,s,lW,n=>{i.push(this.fs(e,t,r,n))},n=>{i.push(this.ps(e,t,r,n))}),iy.waitFor(i)}Rs(e){let t=1;return ly(e,o9).Hn({index:le,reverse:!0,range:IDBKeyRange.upperBound([this.uid,Number.MAX_SAFE_INTEGER])},(e,r,n)=>{n.done(),t=r.sequenceNumber+1}
6).next(()=>t)}createRange(e,t,r){r=r.sort((e,t)=>lW(e,t)).filter((e,t,r)=>!t||0!==lW(e,r[t-1]));let n=[];for(let s of(n.push(e),r)){let r=lW(s,e),i=lW(s,t);if(0===r)n[0]=e.ki();else if(r>0&&i<0)n.push(s),n.push(s.ki());else if(i>0)break}n.push(t);let s=[];for(let e=0;e<n.length;e+=2){if(this.gs(n[e],n[e+1]))return[];let t=n[e].$i(this.uid,ut,tm.empty()),r=n[e+1].$i(this.uid,ut,tm.empty());s.push(IDBKeyRange.bound(t,r))}return s}gs(e,t){return lW(e,t)>0}getMinOffsetFromCollectionGroup(e,t){return this.getFieldIndexes(e,t).next(un)}getMinOffset(e,t){return iy.mapArray(this.ts(t),t=>this.ns(e,t).next(e=>e||e2(44426))).next(un)}}function un(e){e8(0!==e.length,28825);let t=e[0].indexState.offset,r=t.largestBatchId;for(let n=1;n<e.length;n++){let s=e[n].indexState.offset;0>nf(s,t)&&(t=s),r<s.largestBatchId&&(r=s.largestBatchId)}return new nd(t.readTime,t.documentKey,r)}class us{constructor(e){this.ys=e}next(){return this.ys+=2,this.ys}static ws(){return new us(0)}static bs(){return new us(-1)}}class ui{constructor(e,t){this.referenceDelegate=e,this.serializer=t}allocateTargetId(e){return this.Ss(e).next(t=>{let r=new us(t.highestTargetId);return t.highestTargetId=r.next(),this.vs(e,t).next(()=>t.highestTargetId)})}getLastRemoteSnapshotVersion(e){return this.Ss(e).next(e=>ns.fromTimestamp(new tS(e.lastRemoteSnapshotVersion.seconds,e.lastRemoteSnapshotVersion.nanoseconds)))}getHighestSequenceNumber(e){return this.Ss(e).next(e=>e.highestListenSequenceNumber)}setTargetsMetadata(e,t,r){return this.Ss(e).next(n=>(n.highestListenSequenceNumber=t,r&&(n.lastRemoteSnapshotVersion=r.toTimestamp()),t>n.highestListenSequenceNumber&&(n.highestListenSequenceNumber=t),this.vs(e,n)))}addTargetData(e,t){return this.Ds(e,t).next(()=>this.Ss(e).next(r=>(r.targetCount+=1,this.xs(t,r),this.vs(e,r))))}updateTargetData(e,t){return this.Ds(e,t)}removeTargetData(e,t){return this.removeMatchingKeysForTargetId(e,t.targetId).next(()=>ly(e,oj).delete(t.targetId)).next(()=>this.Ss(e)).next(t=>(e8(t.targetCount>0,8065),t.targetCount-=1,this.vs(e,t)))}removeTargets(e,t,r){let n=0,s=[];return ly(e,oj).Hn((i,a)=>{let B=lA(this.serializer,a);B.sequenceNumber<=t&&null===r.get(B.targetId)&&(n++,s.push(this.removeTargetData(e,B)))}).next(()=>iy.waitFor(s)).next(()=>n)}forEachTarget(e,t){return ly(e,oj).Hn((e,r)=>{t(lA(this.serializer,r))})}Ss(e){return ly(e,o0).get(oZ).next(e=>(e8(null!==e,2888),e))}vs(e,t){return ly(e,o0).put(oZ,t)}Ds(e,t){return ly(e,oj).put(lF(this.serializer,t))}xs(e,t){let r=!1;return e.targetId>t.highestTargetId&&(t.highestTargetId=e.targetId,r=!0),e.sequenceNumber>t.highestListenSequenceNumber&&(t.highestListenSequenceNumber=e.sequenceNumber,r=!0),r}getTargetCount(e){return this.Ss(e).next(e=>e.targetCount)}getTargetData(e,t){let r=ow(t),n=IDBKeyRange.bound([r,-1/0],[r,1/0]),s=null;return ly(e,oj).Hn({range:n,index:oQ},(e,r,n)=>{let i=lA(this.serializer,r);oI(t,i.target)&&(s=i,n.done())}).next(()=>s)}addMatchingKeys(e,t,r){let n=[],s=ua(e);return t.forEach(t=>{let i=ob(t.path);n.push(s.put({targetId:r,path:i})),n.push(this.referenceDelegate.addReference(e,r,t))}),iy.waitFor(n)}removeMatchingKeys(e,t,r){let n=ua(e);return iy.forEach(t,t=>{let s=ob(t.path);return iy.waitFor([n.delete([r,s]),this.referenceDelegate.removeReference(e,r,t)])})}removeMatchingKeysForTargetId(e,t){let r=ua(e),n=IDBKeyRange.bound([t],[t+1],!1,!0);return r.delete(n)}getMatchingKeysForTargetId(e,t){let r=IDBKeyRange.bound([t],[t+1],!1,!0),n=ua(e),s=nX();return n.Hn({range:r,jn:!0},(e,t,r)=>{let n=new tm(oT(e[1]));s=s.add(n)}).next(()=>s)}containsKey(e,t){let r=ob(t.path),n=IDBKeyRange.bound([r],[r+"\0"],!1,!0),s=0;return ua(e).Hn({index:oW,jn:!0,range:n},([e,t],r,n)=>{0!==e&&(s++,n.done())}).next(()=>s>0)}ye(e,t){return ly(e,oj).get(t).next(e=>e?lA(this.serializer,e):null)}}function ua(e){return ly(e,o$)}class uB{constructor(e,t){this.db=e,this.garbageCollector=function(e,t){return new iG(e,t)}(this,t)}ir(e){let t=this.Cs(e);return this.db.getTargetCache().getTargetCount(e).next(e=>t.next(t=>e+t))}Cs(e){let t=0;return this.sr(e,e=>{t++}).next(()=>t)}
6forEachTarget(e,t){return this.db.getTargetCache().forEachTarget(e,t)}sr(e,t){return this.Fs(e,(e,r)=>t(r))}addReference(e,t,r){return uo(e,r)}removeReference(e,t,r){return uo(e,r)}removeTargets(e,t,r){return this.db.getTargetCache().removeTargets(e,t,r)}markPotentiallyOrphaned(e,t){return uo(e,t)}Os(e,t){let r;return r=!1,ly(e,oF).Jn(n=>lM(e,n,t).next(e=>(e&&(r=!0),iy.resolve(!e)))).next(()=>r)}removeOrphanedDocuments(e,t){let r=this.db.getRemoteDocumentCache().newChangeBuffer(),n=[],s=0;return this.Fs(e,(i,a)=>{if(a<=t){let t=this.Os(e,i).next(t=>{if(!t)return s++,r.getEntry(e,i).next(()=>(r.removeEntry(i,ns.min()),ua(e).delete([0,ob(i.path)])))});n.push(t)}}).next(()=>iy.waitFor(n)).next(()=>r.apply(e)).next(()=>s)}removeTarget(e,t){let r=t.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,r)}updateLimboDocument(e,t){return uo(e,t)}Fs(e,t){let r=ua(e),n,s=ip.wn;return r.Hn({index:oW},([e,r],{path:i,sequenceNumber:a})=>{0===e?(s!==ip.wn&&t(new tm(oT(n)),s),s=a,n=i):s=ip.wn}).next(()=>{s!==ip.wn&&t(new tm(oT(n)),s)})}getCacheSize(e){return this.db.getRemoteDocumentCache().getSize(e)}}function uo(e,t){var r;return ua(e).put((r=e.currentSequenceNumber,{targetId:0,path:ob(t.path),sequenceNumber:r}))}function ul(e,t){let r=t;for(let t of e.stages)r=function(e,t,r){if(t instanceof ax)return r.filter(e=>e.isFoundDocument()&&`/${e.key.getCollectionPath().canonicalString()}`===t.hr);if(t instanceof aG)return r.filter(r=>{let n=aX(a0(t.condition).evaluate(e,r));return void 0!==n&&t8(n,t1)});if(t instanceof aL)return r.filter(e=>e.isFoundDocument()&&e.key.getCollectionPath().lastSegment()===t.collectionId);if(t instanceof aR)return r.filter(e=>e.isFoundDocument());if(t instanceof ak)return r.filter(e=>e.isFoundDocument()&&t.Pr.has(e.key.path.toStringWithLeadingSlash()));if(t instanceof aP)return r.slice(0,t.limit);if(t instanceof aV){let n;return n=t.orderings.map(e=>({Ms:a0(e.expr),direction:e.direction})),[...r].sort((t,r)=>{for(let{Ms:s,direction:i}of n){let n=t5(aX(s.evaluate(e,t))??t0,aX(s.evaluate(e,r))??t0);if(0!==n)return"ascending"===i?n:-n}return 0})}throw Error(`Unknown stage: ${t._name}`)}({serializer:e.serializer,serverTimestampBehavior:e.listenOptions?.serverTimestampBehavior},t,r);return r}function uu(e,t){return ul(e,[t]).length>0}function uh(e,t){return om(e)?uu(e,t):nM(e,t)}function uc(e){let t=function(e){for(let t=e.stages.length-1;t>=0;t--){let r=e.stages[t];if(r instanceof aV)return r.orderings}throw Error("Pipeline must contain at least one Sort stage")}(e);return(r,n)=>{for(let s of t){let t=t5(aX(a0(s.expr).evaluate({serializer:e.serializer},r))||t0,aX(a0(s.expr).evaluate({serializer:e.serializer},n))||t0);if(0!==t)return"ascending"===s.direction?t:-t}return 0}}function uC(e){for(let t=e.stages.length-1;t>=0;t--){let r=e.stages[t];if(r instanceof aP)return{limit:r.limit}}}class ud{constructor(){this.changes=new nq(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,ni.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();let r=this.changes.get(t);return void 0!==r?iy.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 uf{constructor(e){this.serializer=e}setIndexManager(e){this.indexManager=e}addEntry(e,t,r){return up(e).put(r)}removeEntry(e,t,r){let n;return up(e).delete([(n=t.path.toArray()).slice(0,n.length-2),n[n.length-2],lb(r),n[n.length-1]])}updateMetadata(e,t){return this.getMetadata(e).next(r=>(r.byteSize+=t,this.Ns(e,r)))}getEntry(e,t){let r=ni.newInvalidDocument(t);return up(e).Hn({index:oH,range:IDBKeyRange.only(um(t))},(e,n)=>{r=this.Ls(t,n)}).next(()=>r)}Bs(e,t){let r={size:0,document:ni.newInvalidDocument(t)};return up(e).Hn({index:oH,range:IDBKeyRange.only(um(t))},(e,n)=>{r={document:this.Ls(t,n),size:lD(n)}}).next(()=>r)}getEntries(e,t){let r=nK;return this.Us(e,t,(e,t)=>{let n=this.Ls(e,t);r=r.insert(e,n)}).next(()=>r)}getAllEntries(e){let t=nK;return up(e).Hn((e,r)=>{let n=this.Ls(tm.fromSegments(r.prefixPath.concat(r.collectionGroup,r.documentId)),r);t=t.insert(n.key,n)}).next(()=>t)}ks(e,t){let r=nK,n=new te(tm.comparator);return this.Us(e,t,(e,t)=>{let s=this.Ls(e,t);r=r.insert(e,s),n=n.insert(e,lD(t))}).next(()=>({documents:r,qs:n}))}Us(e,t,r){if(t.isEmpty())return iy.resolve();let n=new tn(uE);
6t.forEach(e=>n=n.add(e));let s=IDBKeyRange.bound(um(n.first()),um(n.last())),i=n.getIterator(),a=i.getNext();return up(e).Hn({index:oH,range:s},(e,t,n)=>{let s=tm.fromSegments([...t.prefixPath,t.collectionGroup,t.documentId]);for(;a&&0>uE(a,s);)r(a,null),a=i.getNext();a&&a.isEqual(s)&&(r(a,t),a=i.hasNext()?i.getNext():null),a?n.Kn(um(a)):n.done()}).next(()=>{for(;a;)r(a,null),a=i.hasNext()?i.getNext():null})}getDocumentsMatchingQuery(e,t,r,n,s){let i=om(t)?tu.fromString(aQ(t)):t.path,a=[i.popLast().toArray(),i.lastSegment(),lb(r.readTime),r.documentKey.path.isEmpty()?"":r.documentKey.path.lastSegment()],B=[i.popLast().toArray(),i.lastSegment(),[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],""];return up(e).Qn(IDBKeyRange.bound(a,B,!0)).next(e=>{s?.incrementDocumentReadCount(e.length);let r=nK;for(let s of e){let e=this.Ls(tm.fromSegments(s.prefixPath.concat(s.collectionGroup,s.documentId)),s);e.isFoundDocument()&&(uh(t,e)||n.has(e.key))&&(r=r.insert(e.key,e))}return r})}getAllFromCollectionGroup(e,t,r,n){let s=nK,i=uD(t,r),a=uD(t,nd.max());return up(e).Hn({index:oU,range:IDBKeyRange.bound(i,a,!0)},(e,t,r)=>{let i=this.Ls(tm.fromSegments(t.prefixPath.concat(t.collectionGroup,t.documentId)),t);(s=s.insert(i.key,i)).size===n&&r.done()}).next(()=>s)}
6newChangeBuffer(e){return new ug(this,!!e&&e.trackRemovals)}getSize(e){return this.getMetadata(e).next(e=>e.byteSize)}getMetadata(e){return ly(e,oq).get(oK).next(e=>(e8(!!e,20021),e))}Ns(e,t){return ly(e,oq).put(oK,t)}Ls(e,t){if(t){let e=function(e,t){var r;let n,s;if(t.document)n=sT(e.$r,t.document,!!t.hasCommittedMutations);else if(t.noDocument){let e=tm.fromSegments(t.noDocument.path),r=lS(t.noDocument.readTime);n=ni.newNoDocument(e,r),t.hasCommittedMutations&&n.setHasCommittedMutations()}else{if(!t.unknownDocument)return e2(56709);{let e=tm.fromSegments(t.unknownDocument.path),r=lS(t.unknownDocument.version);n=ni.newUnknownDocument(e,r)}}return t.readTime&&n.setReadTime((s=new tS((r=t.readTime)[0],r[1]),ns.fromTimestamp(s))),n}(this.serializer,t);if(!(e.isNoDocument()&&e.version.isEqual(ns.min())))return e}return ni.newInvalidDocument(e)}}class ug extends ud{constructor(e,t){super(),this.$s=e,this.trackRemovals=t,this.Ks=new nq(e=>e.toString(),(e,t)=>e.isEqual(t))}applyChanges(e){let t=[],r=0,n=new tn((e,t)=>e5(e.canonicalString(),t.canonicalString()));
6return this.changes.forEach((s,i)=>{let a=this.Ks.get(s);if(t.push(this.$s.removeEntry(e,s,a.readTime)),i.isValidDocument()){let B=lv(this.$s.serializer,i);n=n.add(s.path.popLast());let o=lD(B);r+=o-a.size,t.push(this.$s.addEntry(e,s,B))}else if(r-=a.size,this.trackRemovals){let r=lv(this.$s.serializer,i.convertToNoDocument(ns.min()));t.push(this.$s.addEntry(e,s,r))}}),n.forEach(r=>{t.push(this.$s.indexManager.addToCollectionParentIndex(e,r))}),t.push(this.$s.updateMetadata(e,r)),iy.waitFor(t)}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:e,qs:t})=>(t.forEach((t,r)=>{this.Ks.set(t,{size:r,readTime:e.get(t).readTime})}),e))}}function up(e){return ly(e,oP)}function um(e){let t=e.path.toArray();return[t.slice(0,t.length-2),t[t.length-2],t[t.length-1]]}function uD(e,t){let r=t.documentKey.path.toArray();return[e,lb(t.readTime),r.slice(0,r.length-2),r.length>0?r[r.length-1]:""]}function uE(e,t){let r=e.path.toArray(),n=t.path.toArray(),s=0;for(let e=0;e<r.length-2&&e<n.length-2;++e)if(s=e5(r[e],n[e]))return s;return(s=e5(r.length,n.length))||(s=e5(r[r.length-2],n[n.length-2]))||e5(r[r.length-1],n[n.length-1])}class uy{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}class uw{constructor(e,t,r,n){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=r,this.indexManager=n}getDocument(e,t){let r=null;return this.documentOverlayCache.getOverlay(e,t).next(n=>(r=n,this.remoteDocumentCache.getEntry(e,t))).next(e=>(null!==r&&rM(r.mutation,e,tC.empty(),tS.now()),e))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next(t=>this.getLocalViewOfDocuments(e,t,nX()).next(()=>t))}getLocalViewOfDocuments(e,t,r=nX()){let n=n$();return this.populateOverlays(e,n,t).next(()=>this.computeViews(e,t,n,r).next(e=>{let t=nQ();return e.forEach((e,r)=>{t=t.insert(e,r.overlayedDocument)}),t}))}getOverlayedDocuments(e,t){let r=n$();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,nX()))}populateOverlays(e,t,r){let n=[];return r.forEach(e=>{t.has(e)||n.push(e)}),this.documentOverlayCache.getOverlays(e,n).next(e=>{e.forEach((e,r)=>{t.set(e,r)})})}computeViews(e,t,r,n){let s=nK,i=n$(),a=n$();return t.forEach((e,t)=>{let a=r.get(t.key);n.has(t.key)&&(void 0===a||a.mutation instanceof rU)?s=s.insert(t.key,t):void 0!==a?(i.set(t.key,a.mutation.getFieldMask()),rM(a.mutation,t,a.mutation.getFieldMask(),tS.now())):i.set(t.key,tC.empty())}),this.recalculateAndSaveOverlays(e,s).next(e=>(e.forEach((e,t)=>i.set(e,t)),t.forEach((e,t)=>a.set(e,new uy(t,i.get(e)??null))),a))}recalculateAndSaveOverlays(e,t){let r=n$(),n=new te((e,t)=>e-t),s=nX();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next(e=>{for(let s of e)s.keys().forEach(e=>{let i=t.get(e);if(null===i)return;let a=r.get(e)||tC.empty();a=s.applyToLocalView(i,a),r.set(e,a);let B=(n.get(s.batchId)||nX()).add(e);n=n.insert(s.batchId,B)})}).next(()=>{let i=[],a=n.getReverseIterator();for(;a.hasNext();){let n=a.getNext(),B=n.key,o=n.value,l=n$();o.forEach(e=>{if(!s.has(e)){let n=rP(t.get(e),r.get(e));null!==n&&l.set(e,n),s=s.add(e)}}),i.push(this.documentOverlayCache.saveOverlays(e,B,l))}return iy.waitFor(i)}).next(()=>r)}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next(t=>this.recalculateAndSaveOverlays(e,t))}getDocumentsMatchingQuery(e,t,r,n){return om(t)?this.getDocumentsMatchingPipeline(e,t,r,n):tm.isDocumentKey(t.path)&&null===t.collectionGroup&&0===t.filters.length?this.getDocumentsMatchingDocumentQuery(e,t.path):nS(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,r,n):this.getDocumentsMatchingCollectionQuery(e,t,r,n)}getNextDocuments(e,t,r,n){return this.remoteDocumentCache.getAllFromCollectionGroup(e,t,r,n).next(s=>{let i=n-s.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,r.largestBatchId,n-s.size):iy.resolve(n$()),a=-1,B=s;return i.next(t=>iy.forEach(t,(t,r)=>(a<r.largestBatchId&&(a=r.largestBatchId),s.get(t)?iy.resolve():this.remoteDocumentCache.getEntry(e,t).next(e=>{B=B.insert(t,e)}))).next(()=>this.populateOverlays(e,t,s)).next(()=>this.computeViews(e,B,t,nX())).next(e=>({batchId:a,changes:nz(e)}
6)))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new tm(t)).next(e=>{let t=nQ();return e.isFoundDocument()&&(t=t.insert(e.key,e)),t})}getDocumentsMatchingCollectionGroupQuery(e,t,r,n){let s=t.collectionGroup,i=nQ();return this.indexManager.getCollectionParents(e,s).next(a=>iy.forEach(a,a=>{let B=new nv(a.child(s),null,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt);return this.getDocumentsMatchingCollectionQuery(e,B,r,n).next(e=>{e.forEach((e,t)=>{i=i.insert(e,t)})})}).next(()=>i))}getDocumentsMatchingCollectionQuery(e,t,r,n){let s;return this.documentOverlayCache.getOverlaysForCollection(e,t.path,r.largestBatchId).next(i=>(s=i,this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,r,s,n))).next(e=>this.retrieveMatchingLocalDocuments(s,e,e=>nM(t,e)))}getDocumentsMatchingPipeline(e,t,r,n){if("collection_group"===aj(t)){let s=az(t),i=nQ();return this.indexManager.getCollectionParents(e,s).next(a=>iy.forEach(a,a=>{var B;let o,l=(B=a.child(s),o=t.stages.map(e=>e instanceof aL?new ax(B.canonicalString(),{}):e),new aK(t.serializer,o));return this.getDocumentsMatchingPipeline(e,l,r,n).next(e=>{e.forEach((e,t)=>{i=i.insert(e,t)})})}).next(()=>i))}{let s;return this.getOverlaysForPipeline(e,t,r.largestBatchId).next(i=>{switch(s=i,aj(t)){case"collection":return this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,r,s,n);case"documents":let a=nX();for(let e of aY(t))a=a.add(tm.fromPath(e));return this.remoteDocumentCache.getEntries(e,a);case"database":return this.remoteDocumentCache.getAllEntries(e);default:throw new tB("invalid-argument",`Invalid pipeline source to execute offline: ${op(t)}`)}}).next(e=>this.retrieveMatchingLocalDocuments(s,e,e=>uu(t,e)))}}retrieveMatchingLocalDocuments(e,t,r){e.forEach((e,r)=>{let n=r.getKey();null===t.get(n)&&(t=t.insert(n,ni.newInvalidDocument(n)))});let n=nQ();return t.forEach((t,s)=>{let i=e.get(t);void 0!==i&&rM(i.mutation,s,tC.empty(),tS.now()),r(s)&&(n=n.insert(t,s))}),n}getOverlaysForPipeline(e,t,r){switch(aj(t)){case"collection":return this.documentOverlayCache.getOverlaysForCollection(e,tu.fromString(aQ(t)),r);case"collection_group":throw new tB("invalid-argument",`Unexpected collection group pipeline: ${op(t)}`);case"documents":return this.documentOverlayCache.getOverlays(e,aY(t).map(e=>tm.fromPath(e)));case"database":return this.documentOverlayCache.getAllOverlays(e,r);default:throw new tB("invalid-argument",`Failed to get overlays for pipeline: ${op(t)}`)}}}class uI{constructor(e){this.serializer=e,this.Qs=new Map,this.Ws=new Map}getBundleMetadata(e,t){return iy.resolve(this.Qs.get(t))}saveBundleMetadata(e,t){return this.Qs.set(t.id,{id:t.id,version:t.version,createTime:sg(t.createTime)}),iy.resolve()}getNamedQuery(e,t){return iy.resolve(this.Ws.get(t))}saveNamedQuery(e,t){return this.Ws.set(t.name,{name:t.name,query:lO(t.bundledQuery),readTime:sg(t.readTime)}),iy.resolve()}}class u_{constructor(){this.overlays=new te(tm.comparator),this.Gs=new Map}getOverlay(e,t){return iy.resolve(this.overlays.get(t))}getOverlays(e,t){let r=n$();return iy.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}getAllOverlays(e,t){let r=n$();return this.overlays.forEach((e,n)=>{n.largestBatchId>t&&r.set(e,n)}),iy.resolve(r)}saveOverlays(e,t,r){return r.forEach((r,n)=>{this.Zr(e,t,n)}),iy.resolve()}removeOverlaysForBatchId(e,t,r){let n=this.Gs.get(r);return void 0!==n&&(n.forEach(e=>this.overlays=this.overlays.remove(e)),this.Gs.delete(r)),iy.resolve()}getOverlaysForCollection(e,t,r){let n=n$(),s=t.length+1,i=new tm(t.child("")),a=this.overlays.getIteratorFrom(i);for(;a.hasNext();){let e=a.getNext().value,i=e.getKey();if(!t.isPrefixOf(i.path))break;i.path.length===s&&e.largestBatchId>r&&n.set(e.getKey(),e)}return iy.resolve(n)}getOverlaysForCollectionGroup(e,t,r,n){let s=new te((e,t)=>e-t),i=this.overlays.getIterator();for(;i.hasNext();){let e=i.getNext().value;if(e.getKey().getCollectionGroup()===t&&e.largestBatchId>r){let t=s.get(e.largestBatchId);null===t&&(t=n$(),s=s.insert(e.largestBatchId,t)),t.set(e.getKey(),e)}}let a=n$(),B=s.getIterator();for(;B.hasNext()&&(B.getNext().value.forEach((e,t)=>a.set(e,t)),!(a.size()>=n)););return iy.resolve(a)}Zr(e,t,r){let 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 lw(t,r));let s=this.Gs.get(t);void 0===s&&(s=nX(),this.Gs.set(t,s)),this.Gs.set(t,s.add(r.key))}}class uv{constructor(){this.sessionToken=tA.EMPTY_BYTE_STRING}getSessionToken(e){return iy.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,iy.resolve()}}
6class ub{constructor(){this.zs=new tn(uT.js),this.Hs=new tn(uT.Js)}isEmpty(){return this.zs.isEmpty()}addReference(e,t){let r=new uT(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 uT(e,t))}Xs(e,t){e.forEach(e=>this.removeReference(e,t))}e_(e){let t=new tm(new tu([])),r=new uT(t,e),n=new uT(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){let t=new tm(new tu([])),r=new uT(t,e),n=new uT(t,e+1),s=nX();return this.Hs.forEachInRange([r,n],e=>{s=s.add(e.key)}),s}containsKey(e){let t=new uT(e,0),r=this.zs.firstAfterOrEqual(t);return null!==r&&e.isEqual(r.key)}}class uT{constructor(e,t){this.key=e,this.r_=t}static js(e,t){return tm.comparator(e.key,t.key)||e5(e.r_,t.r_)}static Js(e,t){return e5(e.r_,t.r_)||tm.comparator(e.key,t.key)}}class uS{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.Gr=1,this.i_=new tn(uT.js)}checkEmpty(e){return iy.resolve(0===this.mutationQueue.length)}addMutationBatch(e,t,r,n){let s=this.Gr;this.Gr++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];let i=new o_(s,t,r,n);for(let t of(this.mutationQueue.push(i),n))this.i_=this.i_.add(new uT(t.key,s)),this.indexManager.addToCollectionParentIndex(e,t.key.path.popLast());return iy.resolve(i)}lookupMutationBatch(e,t){return iy.resolve(this.s_(t))}getNextMutationBatchAfterBatchId(e,t){let r=this.__(t+1),n=r<0?0:r;return iy.resolve(this.mutationQueue.length>n?this.mutationQueue[n]:null)}getHighestUnacknowledgedBatchId(){return iy.resolve(0===this.mutationQueue.length?-1:this.Gr-1)}getAllMutationBatches(e){return iy.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){let r=new uT(t,0),n=new uT(t,1/0),s=[];return this.i_.forEachInRange([r,n],e=>{let t=this.s_(e.r_);s.push(t)}),iy.resolve(s)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new tn(e5);return t.forEach(e=>{let t=new uT(e,0),n=new uT(e,1/0);this.i_.forEachInRange([t,n],e=>{r=r.add(e.r_)})}),iy.resolve(this.o_(r))}getAllMutationBatchesAffectingQuery(e,t){let r=t.path,n=r.length+1,s=r;tm.isDocumentKey(s)||(s=s.child(""));let i=new uT(new tm(s),0),a=new tn(e5);return this.i_.forEachWhile(e=>{let t=e.key.path;return!!r.isPrefixOf(t)&&(t.length===n&&(a=a.add(e.r_)),!0)},i),iy.resolve(this.o_(a))}o_(e){let t=[];return e.forEach(e=>{let r=this.s_(e);null!==r&&t.push(r)}),t}removeMutationBatch(e,t){e8(0===this.a_(t.batchId,"removed"),55003),this.mutationQueue.shift();let r=this.i_;return iy.forEach(t.mutations,n=>{let s=new uT(n.key,t.batchId);return r=r.delete(s),this.referenceDelegate.markPotentiallyOrphaned(e,n.key)}).next(()=>{this.i_=r})}Hr(e){}containsKey(e,t){let r=new uT(t,0),n=this.i_.firstAfterOrEqual(r);return iy.resolve(t.isEqual(n&&n.key))}performConsistencyCheck(e){return this.mutationQueue.length,iy.resolve()}a_(e,t){return this.__(e)}__(e){return 0===this.mutationQueue.length?0:e-this.mutationQueue[0].batchId}s_(e){let t=this.__(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}class uN{constructor(e){this.u_=e,this.docs=new te(tm.comparator),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){let r=t.key,n=this.docs.get(r),s=n?n.size:0,i=this.u_(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:i}),this.size+=i-s,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){let t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){let r=this.docs.get(t);return iy.resolve(r?r.document.mutableCopy():ni.newInvalidDocument(t))}getEntries(e,t){let r=nK;return t.forEach(e=>{let t=this.docs.get(e);r=r.insert(e,t?t.document.mutableCopy():ni.newInvalidDocument(e))}),iy.resolve(r)}getAllEntries(e){let t=nK;return this.docs.forEach((e,r)=>{t=t.insert(e,r.document)}),iy.resolve(t)}getDocumentsMatchingQuery(e,t,r,n){let s,i;om(t)?(s=tu.fromString(aQ(t)),i=e=>uu(t,e)):(s=t.path,i=e=>nM(t,e));let a=nK,B=new tm(s.child("__id-9223372036854775808__")),o=this.docs.getIteratorFrom(B);for(;o.hasNext();){let{key:e,value:{document:t}}=o.getNext();if(!s.isPrefixOf(e.path))break;e.path.length>s.length+1||0>=nf(nC(t),r)||(n.has(t.key)||i(t))&&(a=a.insert(t.key,t.mutableCopy()))}return iy.resolve(a)}getAllFromCollectionGroup(e,t,r,n){e2(9500)}c_(e,t){return iy.forEach(this.docs,e=>t(e))}newChangeBuffer(e){return new uA(this)}getSize(e){return iy.resolve(this.size)}}class uA extends ud{constructor(e){super(),this.$s=e}applyChanges(e){let t=[];
vendor: 4,787 bytes, line 6
6return this.changes.forEach((r,n)=>{n.isValidDocument()?t.push(this.$s.addEntry(e,n)):this.$s.removeEntry(r)}),iy.waitFor(t)}getFromCache(e,t){return this.$s.getEntry(e,t)}getAllFromCache(e,t){return this.$s.getEntries(e,t)}}class uF{constructor(e){this.persistence=e,this.l_=new nq(e=>ow(e),oI),this.lastRemoteSnapshotVersion=ns.min(),this.highestTargetId=0,this.E_=0,this.h_=new ub,this.targetCount=0,this.T_=us.ws()}forEachTarget(e,t){return this.l_.forEach((e,r)=>t(r)),iy.resolve()}getLastRemoteSnapshotVersion(e){return iy.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return iy.resolve(this.E_)}allocateTargetId(e){return this.highestTargetId=this.T_.next(),iy.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.E_&&(this.E_=t),iy.resolve()}Ds(e){this.l_.set(e.target,e);let t=e.targetId;t>this.highestTargetId&&(this.T_=new us(t),this.highestTargetId=t),e.sequenceNumber>this.E_&&(this.E_=e.sequenceNumber)}addTargetData(e,t){return this.Ds(t),this.targetCount+=1,iy.resolve()}updateTargetData(e,t){return this.Ds(t),iy.resolve()}removeTargetData(e,t){return this.l_.delete(t.target),this.h_.e_(t.targetId),this.targetCount-=1,iy.resolve()}removeTargets(e,t,r){let n=0,s=[];return this.l_.forEach((i,a)=>{a.sequenceNumber<=t&&null===r.get(a.targetId)&&(this.l_.delete(i),s.push(this.removeMatchingKeysForTargetId(e,a.targetId)),n++)}),iy.waitFor(s).next(()=>n)}getTargetCount(e){return iy.resolve(this.targetCount)}getTargetData(e,t){let r=this.l_.get(t)||null;return iy.resolve(r)}addMatchingKeys(e,t,r){return this.h_.Ys(t,r),iy.resolve()}removeMatchingKeys(e,t,r){this.h_.Xs(t,r);let n=this.persistence.referenceDelegate,s=[];return n&&t.forEach(t=>{s.push(n.markPotentiallyOrphaned(e,t))}),iy.waitFor(s)}removeMatchingKeysForTargetId(e,t){return this.h_.e_(t),iy.resolve()}getMatchingKeysForTargetId(e,t){let r=this.h_.n_(t);return iy.resolve(r)}containsKey(e,t){return iy.resolve(this.h_.containsKey(t))}}class uO{constructor(e,t){this.P_={},this.overlays={},this.I_=new ip(0),this.R_=!1,this.R_=!0,this.A_=new uv,this.referenceDelegate=e(this),this.V_=new uF(this),this.indexManager=new l9,this.remoteDocumentCache=function(e){return new uN(e)}(e=>this.referenceDelegate.d_(e)),this.serializer=new l_(t),this.f_=new uI(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 u_,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this.P_[e.toKey()];return r||(r=new uS(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){eX("MemoryPersistence","Starting transaction:",e);let n=new ux(this.I_.next());return this.referenceDelegate.m_(),r(n).next(e=>this.referenceDelegate.p_(n).next(()=>e)).toPromise().then(e=>(n.raiseOnCommittedEvent(),e))}g_(e,t){return iy.or(Object.values(this.P_).map(r=>()=>r.containsKey(e,t)))}}class ux extends iD{constructor(e){super(),this.currentSequenceNumber=e}}class uL{constructor(e){this.persistence=e,this.y_=new ub,this.w_=null}static b_(e){return new uL(e)}get S_(){if(this.w_)return this.w_;throw e2(60996)}addReference(e,t,r){return this.y_.addReference(r,t),this.S_.delete(r.toString()),iy.resolve()}removeReference(e,t,r){return this.y_.removeReference(r,t),this.S_.add(r.toString()),iy.resolve()}markPotentiallyOrphaned(e,t){return this.S_.add(t.toString()),iy.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_(e){let t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return iy.forEach(this.S_,r=>{let n=tm.fromPath(r);return this.v_(e,n).next(e=>{e||t.removeEntry(n,ns.min())})}).next(()=>(this.w_=null,t.apply(e)))}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 iy.or([()=>iy.resolve(this.y_.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.g_(e,t)])}}class uR{constructor(e,t){this.persistence=e,this.D_=new nq(e=>ob(e.path),(e,t)=>e.isEqual(t)),this.garbageCollector=function(e,t){return new iG(e,t)}(this,t)}static b_(e,t){return new uR(e,t)}m_(){}p_(e){return iy.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEac
6hTarget(e,t)}ir(e){let t=this.Cs(e);return this.persistence.getTargetCache().getTargetCount(e).next(e=>t.next(t=>e+t))}Cs(e){let t=0;return this.sr(e,e=>{t++}).next(()=>t)}sr(e,t){return iy.forEach(this.D_,(r,n)=>this.Os(e,r,n).next(e=>e?iy.resolve():t(n)))}removeTargets(e,t,r){return this.persistence.getTargetCache().removeTargets(e,t,r)}removeOrphanedDocuments(e,t){let r=0,n=this.persistence.getRemoteDocumentCache(),s=n.newChangeBuffer();return n.c_(e,n=>this.Os(e,n,t).next(e=>{e||(r++,s.removeEntry(n,ns.min()))})).next(()=>s.apply(e)).next(()=>r)}markPotentiallyOrphaned(e,t){return this.D_.set(t,e.currentSequenceNumber),iy.resolve()}removeTarget(e,t){let r=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,r)}addReference(e,t,r){return this.D_.set(r,e.currentSequenceNumber),iy.resolve()}removeReference(e,t,r){return this.D_.set(r,e.currentSequenceNumber),iy.resolve()}updateLimboDocument(e,t){return this.D_.set(t,e.currentSequenceNumber),iy.resolve()}d_(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=function e(t){switch(t3(t)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:let r=tH(t);return r?16+e(r):16;case 5:return 2*t.stringValue.length;case 6:return tL(t.bytesValue).approximateByteSize();case 7:return t.referenceValue.length;case 9:return(t.arrayValue.values||[]).reduce((t,r)=>t+e(r),0);case 10:case 11:var n;let s;return n=t.mapValue,s=0,tf(n.fields,(t,r)=>{s+=t.length+e(r)}),s;default:throw e2(13486,{value:t})}}(e.data.value)),t}Os(e,t,r){return iy.or([()=>this.persistence.g_(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{let e=this.D_.get(t);return iy.resolve(void 0!==e&&e>r)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}class uk{constructor(e){this.serializer=e}Nn(e,t,r,n){let s=new iI("createOrUpgrade",t);r<1&&n>=1&&(e.createObjectStore(oN),e.createObjectStore(oF,{keyPath:"userId"}),e.createObjectStore(oO,{keyPath:ox,autoIncrement:!0}).createIndex(oL,oR,{unique:!0}),e.createObjectStore(oG),uG(e),e.createObjectStore(oS));let i=iy.resolve();return r<3&&n>=3&&(0!==r&&(e.deleteObjectStore(o$),e.deleteObjectStore(oj),e.deleteObjectStore(o0),uG(e)),i=i.next(()=>{let e,t;return e=s.store(o0),t={highestTargetId:0,highestListenSequenceNumber:0,lastRemoteSnapshotVersion:ns.min().toTimestamp(),targetCount:0},e.put(oZ,t)})),r<4&&n>=4&&(0!==r&&(i=i.next(()=>s.store(oO).Qn().next(t=>{e.deleteObjectStore(oO),e.createObjectStore(oO,{keyPath:ox,autoIncrement:!0}).createIndex(oL,oR,{unique:!0});let r=s.store(oO),n=t.map(e=>r.put(e));return iy.waitFor(n)}))),i=i.next(()=>{e.createObjectStore(o3,{keyPath:"clientId"})})),r<5&&n>=5&&(i=i.next(()=>this.x_(s))),r<6&&n>=6&&(i=i.next(()=>(e.createObjectStore(oq),this.C_(s)))),r<7&&n>=7&&(i=i.next(()=>this.F_(s))),r<8&&n>=8&&(i=i.next(()=>this.O_(e,s))),r<9&&n>=9&&(i=i.next(()=>{e.objectStoreNames.contains("remoteDocumentChanges")&&e.deleteObjectStore("remoteDocumentChanges")})),r<10&&n>=10&&(i=i.next(()=>this.M_(s))),r<11&&n>=11&&(i=i.next(()=>{e.createObjectStore(o8,{keyPath:"bundleId"}),e.createObjectStore(o6,{keyPath:"name"})})),r<12&&n>=12&&(i=i.next(()=>{let t;(t=e.createObjectStore(la,{keyPath:lB})).createIndex(lo,ll,{unique:!1}),t.createIndex(lu,lh,{unique:!1})})),r<13&&n>=13&&(i=i.next(()=>{let t;(t=e.createObjectStore(oP,{keyPath:oM})).createIndex(oH,oV),t.createIndex(oU,oJ)}).next(()=>this.N_(e,s)).next(()=>e.deleteObjectStore(oS))),r<14&&n>=14&&(i=i.next(()=>this.L_(e,s))),r<15&&n>=15&&(i=i.next(()=>{e.createObjectStore(o5,{keyPath:"indexId",autoIncrement:!0}).createIndex(o4,"collectionGroup",{unique:!1}),e.createObjectStore(o9,{keyPath:o7}).createIndex(le,lt,{unique:!1}),e.createObjectStore(lr,{keyPath:ln}).createIndex(ls,li,{unique:!1})})),r<16&&n>=16&&(i=i.next(()=>{t.objectStore(o9).clear()}).next(()=>{t.objectStore(lr).clear()}
6)),r<17&&n>=17&&(i=i.next(()=>{e.createObjectStore(lc,{keyPath:"name"})})),r<18&&n>=18&&(0,p.isSafariOrWebkit)()&&(i=i.next(()=>{t.objectStore(o9).clear()}).next(()=>{t.objectStore(lr).clear()})),i}C_(e){let t=0;return e.store(oS).Hn((e,r)=>{t+=lD(r)}).next(()=>{let r={byteSize:t};return e.store(oq).put(oK,r)})}x_(e){let t=e.store(oF),r=e.store(oO);return t.Qn().next(t=>iy.forEach(t,t=>{let n=IDBKeyRange.bound([t.userId,-1],[t.userId,t.lastAcknowledgedBatchId]);return r.Qn(oL,n).next(r=>iy.forEach(r,r=>{e8(r.userId===t.userId,18650,"Cannot process batch from unexpected user",{batchId:r.batchId});let n=lN(this.serializer,r);return lm(e,t.userId,n).next(()=>{})}))}))}F_(e){let t=e.store(o$),r=e.store(oS);return e.store(o0).get(oZ).next(e=>{let n=[];return r.Hn((r,s)=>{let i=new tu(r),a=[0,ob(i)];n.push(t.get(a).next(r=>r?iy.resolve():t.put({targetId:0,path:ob(i),sequenceNumber:e.highestListenSequenceNumber})))}).next(()=>iy.waitFor(n))})}O_(e,t){e.createObjectStore(o1,{keyPath:o2});let r=t.store(o1),n=new l7,s=e=>{if(n.add(e)){let t=e.lastSegment(),n=e.popLast();return r.put({collectionId:t,parent:ob(n)})}};return t.store(oS).Hn({jn:!0},(e,t)=>s(new tu(e).popLast())).next(()=>t.store(oG).Hn({jn:!0},([e,t,r],n)=>s(oT(t).popLast())))}M_(e){let t=e.store(oj);return t.Hn((e,r)=>{let n=lA(this.serializer,r),s=lF(this.serializer,n);return t.put(s)})}N_(e,t){let r=t.store(oS),n=[];return r.Hn((e,r)=>{let s=t.store(oP),i=(r.document?new tm(tu.fromString(r.document.name).popFirst(5)):r.noDocument?tm.fromSegments(r.noDocument.path):r.unknownDocument?tm.fromSegments(r.unknownDocument.path):e2(36783)).path.toArray(),a={prefixPath:i.slice(0,i.length-2),collectionGroup:i[i.length-2],documentId:i[i.length-1],readTime:r.readTime||[0,0],unknownDocument:r.unknownDocument,noDocument:r.noDocument,document:r.document,hasCommittedMutations:!!r.hasCommittedMutations};n.push(s.put(a))}).next(()=>iy.waitFor(n))}L_(e,t){let r=t.store(oO),n=new uf(this.serializer),s=new uO(uL.b_,this.serializer.$r);return r.Qn().next(e=>{let r=new Map;return e.forEach(e=>{let t=r.get(e.userId)??nX();lN(this.serializer,e).keys().forEach(e=>t=t.add(e)),r.set(e.userId,t)}),iy.forEach(r,(e,r)=>{let i=new sj(r),a=lU.Qr(this.serializer,i),B=s.getIndexManager(i);return new uw(n,lP.Qr(i,this.serializer,B,s.referenceDelegate),a,B).recalculateAndSaveOverlaysForDocumentKeys(new lE(t,ip.wn),e).next()})})}}function uG(e){e.createObjectStore(o$,{keyPath:oY}).createIndex(oW,oX,{unique:!0}),e.createObjectStore(oj,{keyPath:"targetId"}).createIndex(oQ,oz,{unique:!0}),e.createObjectStore(o0)}let uP="IndexedDbPersistence",uM="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 uH{constructor(e,t,r,n,s,i,a,B,o,l,u=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_=l,this.k_=u,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_=-1/0,this.G_=e=>Promise.resolve(),!uH.Ye())throw new tB(ta.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new uB(this,n),this.z_=t+"main",this.serializer=new l_(B),this.j_=new i_(this.z_,this.k_,new uk(this.serializer)),this.A_=new lJ,this.V_=new ui(this.referenceDelegate,this.serializer),this.remoteDocumentCache=function(e){return new uf(e)}(this.serializer),this.f_=new lV,this.window&&this.window.localStorage?this.H_=this.window.localStorage:(this.H_=null,!1===l&&eZ(uP,"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)throw new tB(ta.FAILED_PRECONDITION,uM);return this.Y_(),this.Z_(),this.X_(),this.runTransaction("getHighestListenSequenceNumber","readonly",e=>this.V_.getHighestSequenceNumber(e))}).then(e=>{this.I_=new ip(e,this.B_)}).then(()=>{this.R_=!0}).catch(e=>(this.j_&&this.j_.close(),Promise.reject(e)))}eo(e){return this.G_=async t=>{if(this.started)return e(t)},e(this.isPrimary)}setDatabaseDeletedListener(e){this.j_.Bn(async t=>{null===t.newVersion&&await e()})}setNetworkEnabled(e){this.networkEnabled!==e&&(this.networkEnabled=e,this.Ct.enqueueAndForget(async()=>{this.started&&await this.J_()}))}J_(){return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",e=>ly(e,o3).put({clientId:this.clientId,updateTimeMs:Date.now(),networkEnabled:this.networkEnabled,inForeground:this.inForeground}).next(()=>{if(this.isPrimary)return this.no(e).next(e=>{e||(this.isPrimary=!1,this.Ct.enqueueRetryable(()=>this.G_(!1)))})}).next(()=>this.ro(e)).next(t=>this.isPrimary&&!t?this.io(e).next(()=>!1):!!t&&this.so(e).next(()=>!0))).catch(e=>{if(iS(e))return eX(uP,"Failed to extend owner lease: ",e),this.isPrimary;if(!this.allowTabSynchronization)throw e;return eX(uP,"Releasing owner lease after error during lease refresh",e),!1}).then(e=>{this.isPrimary!==e&&this.Ct.enqueueRetryable(()=>this.G_(e)),this.isPrimary=e})}no(e){return ly(e,oN).get(oA).next(e=>iy.resolve(this._o(e)))}oo(e){return ly(e,o3).delete(this.clientId)}
6async ao(){if(this.isPrimary&&!this.uo(this.W_,18e5)){this.W_=Date.now();let e=await this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",e=>{let t=ly(e,o3);return t.Qn().next(e=>{let r=this.co(e,18e5),n=e.filter(e=>-1===r.indexOf(e));return iy.forEach(n,e=>t.delete(e.clientId)).next(()=>n)})}).catch(()=>[]);if(this.H_)for(let 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(e){return this.U_?iy.resolve(!0):ly(e,oN).get(oA).next(t=>{if(null!==t&&this.uo(t.leaseTimestampMs,5e3)&&!this.Eo(t.ownerId)){if(this._o(t)&&this.networkEnabled)return!0;if(!this._o(t)){if(!t.allowTabSynchronization)throw new tB(ta.FAILED_PRECONDITION,uM);return!1}}return!(!this.networkEnabled||!this.inForeground)||ly(e,o3).Qn().next(e=>void 0===this.co(e,5e3).find(e=>{if(this.clientId!==e.clientId){let 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&&eX(uP,`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",[oN,o3],e=>{let t=new lE(e,ip.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=>ly(e,o3).Qn().next(e=>this.co(e,18e5).map(e=>e.clientId)))}get started(){return this.R_}getGlobalsCache(){return this.A_}getMutationQueue(e,t){return lP.Qr(e,this.serializer,t,this.referenceDelegate)}getTargetCache(){return this.V_}getRemoteDocumentCache(){return this.remoteDocumentCache}getIndexManager(e){return new ur(e,this.serializer.$r.databaseId)}getDocumentOverlayCache(e){return lU.Qr(this.serializer,e)}getBundleCache(){return this.f_}runTransaction(e,t,r){var n;let s;eX(uP,"Starting transaction:",e);let i=18===(n=this.k_)||17===n?lp:16===n||15===n?lg:14===n||13===n?lf:12===n?ld:11===n?lC:void e2(60245);return this.j_.runTransaction(e,"readonly"===t?"readonly":"readwrite",i,n=>(s=new lE(n,this.I_?this.I_.next():ip.wn),"readwrite-primary"===t?this.no(s).next(e=>!!e||this.ro(s)).next(t=>{if(!t)throw eZ(`Failed to obtain primary lease for action '${e}'.`),this.isPrimary=!1,this.Ct.enqueueRetryable(()=>this.G_(!1)),new tB(ta.FAILED_PRECONDITION,im);return r(s)}).next(e=>this.so(s).next(()=>e)):this.Ao(s).next(()=>r(s)))).then(e=>(s.raiseOnCommittedEvent(),e))}Ao(e){return ly(e,oN).get(oA).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 tB(ta.FAILED_PRECONDITION,uM)})}so(e){let t={ownerId:this.clientId,allowTabSynchronization:this.allowTabSynchronization,leaseTimestampMs:Date.now()};return ly(e,oN).put(oA,t)}static Ye(){return i_.Ye()}io(e){let t=ly(e,oN);return t.get(oA).next(e=>this._o(e)?(eX(uP,"Releasing primary lease."),t.delete(oA)):iy.resolve())}uo(e,t){let r=Date.now();return!(e<r-t)&&(!(e>r)||(eZ(`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();let e=/(?:Version|Mobile)\/1[456]/;(0,p.isSafari)()&&(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{let t=null!==this.H_?.getItem(this.lo(e));return eX(uP,`Client '${e}' ${t?"is":"is not"} zombied in LocalStorage`),t}catch(e){return eZ(uP,"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){eZ("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 uV(e,t){let r=e.projectId;return e.isDefaultDatabase||(r+="."+e.database),"firestore/"+t+"/"+r+"/"}class uU{constructor(e,t,r,n){this.targetId=e,this.fromCache=t,this.Vo=r,this.fo=n}static mo(e,t){let r=nX(),n=nX();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 uU(e,t.fromCache,r,n)}}function uJ(e,t){return tm.comparator(e.key,t.key)}class uq{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}class uK{constructor(){this.po=!1,this.yo=!1,this.wo=100,this.bo=(0,p.isSafari)()?8:iv((0,p.getUA)())>0?6:4}initialize(e,t){this.So=e,this.indexManager=t,this.po=!0}getDocumentsMatchingQuery(e,t,r,n){let s={result:null};return this.vo(e,t).next(e=>{s.result=e}).next(()=>{if(!s.result)return this.Do(e,t,n,r).next(e=>{s.result=e})}).next(()=>{if(s.result)return;let r=new uq;return this.xo(e,t,r).next(n=>{if(s.result=n,this.yo)return this.Co(e,t,r,n.size)})}).next(()=>s.result)}Co(e,t,r,n){return om(t)?iy.resolve():r.documentReadCount<this.wo?(eW()<=D.LogLevel.DEBUG&&eX("QueryEngine","SDK will not create cache indexes for query:",nP(t),"since it only creates cache indexes for collection contains","more than or equal to",this.wo,"documents"),iy.resolve()):(eW()<=D.LogLevel.DEBUG&&eX("QueryEngine","Query:",nP(t),"scans",r.documentReadCount,"local documents and returns",n,"documents as results."),r.documentReadCount>this.bo*n?(eW()<=D.LogLevel.DEBUG&&eX("QueryEngine","The SDK decides to create cache indexes for query:",nP(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,nA(t))):iy.resolve())}vo(e,t){if(om(t))return iy.resolve(null);let r=t;if(nT(r))return iy.resolve(null);let n=nA(r);return this.indexManager.getIndexType(e,n).next(t=>0===t?null:(null!==r.limit&&1===t&&(n=nA(r=nL(r,null,"F"))),this.indexManager.getDocumentsMatchingTarget(e,n).next(t=>{let s=nX(...t);return this.So.getDocuments(e,s).next(t=>this.indexManager.getMinOffset(e,n).next(n=>{let i=this.Fo(r,t);return this.Oo(r,i,s,n.readTime)?this.vo(e,nL(r,null,"F")):this.Mo(e,i,r,n)}))})))}Do(e,t,r,n){return(om(t)?function(e){for(let t of e.stages){if(t instanceof aP||t instanceof aM)return!1;if(t instanceof aG){if(t.condition instanceof av&&"exists"===t.condition._expr.name&&t.condition._expr.params[0]instanceof am&&t.condition._expr.params[0].fieldName===to)continue;return!1}}return!0}(t):nT(t))||n.isEqual(ns.min())?iy.resolve(null):this.So.getDocuments(e,r).next(s=>{let i=this.Fo(t,s);return this.Oo(t,i,r,n)?iy.resolve(null):(eW()<=D.LogLevel.DEBUG&&eX("QueryEngine","Re-using previous result from %s to execute query: %s",n.toString(),oD(t)),this.Mo(e,i,t,nc(n,-1)).next(e=>e))})}Fo(e,t){let r,n;return om(e)?(r=new tn(uJ),n=t=>uu(e,t)):(r=new tn(nH(e)),n=t=>nM(e,t)),t.forEach((e,t)=>{n(t)&&(r=r.add(t))}),r}Oo(e,t,r,n){if(om(e))return e.stages.some(e=>e instanceof aP||e instanceof aM);if(null===e.limit)return!1;if(r.size!==t.size)return!0;let s="F"===e.limitType?t.last():t.first();return!!s&&(s.hasPendingWrites||s.version.compareTo(n)>0)}xo(e,t,r){return eW()<=D.LogLevel.DEBUG&&eX("QueryEngine","Using full collection scan to execute query:",oD(t)),this.So.getDocumentsMatchingQuery(e,t,nd.min(),r)}Mo(e,t,r,n){return this.So.getDocumentsMatchingQuery(e,r,n).next(e=>(t.forEach(t=>{e=e.insert(t.key,t)}),e))}}let uj="LocalStore";class uQ{constructor(e,t,r,n){this.persistence=e,this.No=t,this.serializer
6=n,this.Lo=new te(e5),this.Bo=new nq(e=>ow(e),oI),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 uw(this.ko,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.ko.setIndexManager(this.indexManager),this.No.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction("Collect garbage","readwrite-primary",t=>e.collect(t,this.Lo))}}async function uz(e,t){return await e.persistence.runTransaction("Handle user change","readonly",r=>{let n;return e.mutationQueue.getAllMutationBatches(r).next(s=>(n=s,e.qo(t),e.mutationQueue.getAllMutationBatches(r))).next(t=>{let s=[],i=[],a=nX();for(let e of n)for(let t of(s.push(e.batchId),e.mutations))a=a.add(t.key);for(let e of t)for(let t of(i.push(e.batchId),e.mutations))a=a.add(t.key);return e.localDocuments.getDocuments(r,a).next(e=>({$o:e,removedBatchIds:s,addedBatchIds:i}))})})}function u$(e){return e.persistence.runTransaction("Get last remote snapshot version","readonly",t=>e.V_.getLastRemoteSnapshotVersion(t))}function uY(e,t,r){let n=nX(),s=nX();return r.forEach(e=>n=n.add(e)),t.getEntries(e,n).next(e=>{let n=nK;return r.forEach((r,i)=>{let a=e.get(r);i.isFoundDocument()!==a.isFoundDocument()&&(s=s.add(r)),i.isNoDocument()&&i.version.isEqual(ns.min())?(t.removeEntry(r,i.readTime),n=n.insert(r,i)):!a.isValidDocument()||i.version.compareTo(a.version)>0||0===i.version.compareTo(a.version)&&a.hasPendingWrites?(t.addEntry(i),n=n.insert(r,i)):eX(uj,"Ignoring outdated watch update for ",r,". Current version:",a.version," Watch version:",i.version)}),{Ko:n,Qo:s}})}function uW(e,t){return e.persistence.runTransaction("Allocate target","readwrite",r=>{let n;return e.V_.getTargetData(r,t).next(s=>s?(n=s,iy.resolve(n)):e.V_.allocateTargetId(r).next(s=>(n=new lI(t,s,"TargetPurposeListen",r.currentSequenceNumber),e.V_.addTargetData(r,n).next(()=>n))))}).then(r=>{let n=e.Lo.get(r.targetId);return(null===n||r.snapshotVersion.compareTo(n.snapshotVersion)>0)&&(e.Lo=e.Lo.insert(r.targetId,r),e.Bo.set(t,r.targetId)),r})}async function uX(e,t,r){let n=e.Lo.get(t);try{r||await e.persistence.runTransaction("Release target",r?"readwrite":"readwrite-primary",t=>e.persistence.referenceDelegate.removeTarget(t,n))}catch(e){if(!iS(e))throw e;eX(uj,`Failed to update sequence numbers for target ${t}: ${e}`)}e.Lo=e.Lo.remove(t),e.Bo.delete(n.target)}function uZ(e,t,r){let n=ns.min(),s=nX();return e.persistence.runTransaction("Execute query","readwrite",i=>{var a;let B;return(a=om(t)?t:nA(t),void 0!==(B=e.Bo.get(a))?iy.resolve(e.Lo.get(B)):e.V_.getTargetData(i,a)).next(t=>{if(t)return n=t.lastLimboFreeSnapshotVersion,e.V_.getMatchingKeysForTargetId(i,t.targetId).next(e=>{s=e})}).next(()=>e.No.getDocumentsMatchingQuery(i,t,r?n:ns.min(),r?s:nX())).next(t=>(u2(e,t),{documents:t,Wo:s}))})}function u0(e,t){let r=e.V_,n=e.Lo.get(t);return n?Promise.resolve(n.target??null):e.persistence.runTransaction("Get target data","readonly",e=>r.ye(e,t).next(e=>e?.target??null))}function u1(e,t){let r=e.Uo.get(t)||ns.min();return e.persistence.runTransaction("Get new document changes","readonly",n=>e.ko.getAllFromCollectionGroup(n,t,nc(r,-1),Number.MAX_SAFE_INTEGER)).then(t=>(u2(e,t),t))}function u2(e,t){t.forEach((t,r)=>{let n=r.key.getCollectionGroup(),s=e.Uo.get(n)||ns.min();r.readTime.compareTo(s)>0&&e.Uo.set(n,r.readTime)})}async function u3(e,t,r,n){let s=nX(),i=nK;for(let e of r){let r=t.Go(e.metadata.name);e.document&&(s=s.add(r));let n=t.zo(e);n.setReadTime(t.jo(e.metadata.readTime)),i=i.insert(r,n)}let a=e.ko.newChangeBuffer({trackRemovals:!0}),B=await uW(e,nA(nb(tu.fromString(`__bundle__/docs/${n}`))));return e.persistence.runTransaction("Apply bundle documents","readwrite",t=>uY(t,a,i).next(e=>(a.apply(t),e)).next(r=>e.V_.removeMatchingKeysForTargetId(t,B.targetId).next(()=>e.V_.addMatchingKeys(t,s,B.targetId)).next(()=>e.localDocuments.getLocalViewOfDocuments(t,r.Ko,r.Qo)).next(()=>r.Ko)))}async function u8(e,t,r=nX()){let n=await uW(e,nA(lO(t.bundledQuery)));return e.persistence.runTransaction("Save named query","readwrite",s=>{let i=sg(t.readTime);if(n.snapshotVersion.compareTo(i)>=0)return e.f_.saveNamedQuery(s,t);let a=n.withResumeToken(tA.EMPTY_BYTE_STRING,i);return e.Lo=e.Lo.insert(a.targetId,a),e.V_.updateTargetData(s,a).next(()=>e.V_.removeMatchingKeysForTargetId(s,n.targetId)).next(()=>e.V_.addMatchingKeys(s,r,n.targetId)).next(()=>e.f_.saveNamedQuery(s,t))})}class u6{constructor(e,t){this.Ho=e,this.byteLength=t}Jo(){return"metadata"in this.Ho}}function u5(e,t=10240){let r=0;return{async read(){if(r<e.byteLength){let n={value:e.slice(r,r+t),done:!1};return r+=t,n}return{done:!0}},async cancel(){},releaseLock(){},closed:Promise.resolve()}}class u4{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++,this.Yo>=1&&(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){let t=`Could not reach Cloud Firestore backend. ${e} 7This 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?(eZ(t),this.Xo=!1):eX("OnlineStateTracker",t)}ia(){null!==this.Zo&&(this.Zo.cancel(),this.Zo=null)}}let u9="RemoteStore";class u7{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 us(1e3),this.ca=new us(1001),this.la=new Set,this.Ea=[],this.ha=s,this.ha.Qe(e=>{r.enqueueAndForget(async()=>
7{hl(this)&&(eX(u9,"Restarting streams for network reachability change."),await async function(e){e.la.add(4),await ht(e),e.Ta.set("Unknown"),e.la.delete(4),await he(e)}(this))})}),this.Ta=new u4(r,n)}}async function he(e){if(hl(e))for(let t of e.Ea)await t(!0)}async function ht(e){for(let t of e.Ea)await t(!1)}function hr(e,t){return e.oa.get(t)||void 0}function hn(e,t){var r;let n,s,i=hr(e,t.targetId);if(void 0!==i&&e._a.has(i))return;let a=(void 0!==(n=hr(e,r=t.targetId))&&e.aa.delete(n),s=r%2!=0?e.ca.next():e.ua.next(),e.oa.set(r,s),e.aa.set(s,r),s);eX(u9,"remoteStoreListen mapping SDK target ID to remote",t.targetId,a);let B=new lI(t.target,a,t.purpose,t.sequenceNumber,t.snapshotVersion,t.lastLimboFreeSnapshotVersion,t.resumeToken);e._a.set(a,B),ho(e)?hB(e):hv(e).Yt()&&hi(e,B)}function hs(e,t){let r=hv(e),n=hr(e,t);eX(u9,"remoteStoreUnlisten removing mapping of SDK target ID to remote",t,n),e._a.delete(n),e.oa.delete(t),e.aa.delete(n),r.Yt()&&ha(e,n),0===e._a.size&&(r.Yt()?r.en():hl(e)&&e.Ta.set("Unknown"))}function hi(e,t){if(e.Pa.J(t.targetId),t.resumeToken.approximateByteSize()>0||t.snapshotVersion.compareTo(ns.min())>0){let r=e.aa.get(t.targetId);if(void 0===r)return void eX(u9,"SDK target ID not found for remote ID: "+t.targetId);let n=e.remoteSyncer.getRemoteKeysForTarget(r).size;t=t.withExpectedCount(n)}hv(e).Pn(t)}function ha(e,t){e.Pa.J(t),hv(e).In(t)}function hB(e){e.Pa=new ss({getRemoteKeysForTarget:t=>{let r=e.aa.get(t);return void 0!==r?e.remoteSyncer.getRemoteKeysForTarget(r):nX()},ye:t=>e._a.get(t)||null,Ve:()=>e.datastore.serializer.databaseId}),hv(e).start(),e.Ta.ea()}function ho(e){return hl(e)&&!hv(e).Jt()&&e._a.size>0}function hl(e){return 0===e.la.size}async function hu(e){e.Ta.set("Online")}async function hh(e){e._a.forEach((t,r)=>{hi(e,t)})}async function hc(e,t){e.Pa=void 0,ho(e)?(e.Ta.ra(t),hB(e)):e.Ta.set("Unknown")}async function hC(e,t,r){if(e.Ta.set("Online"),t instanceof st&&2===t.state&&t.cause)try{await async function(e,t){let r=t.cause;for(let n of t.targetIds){if(e._a.has(n)){let t=e.aa.get(n);void 0!==t&&(await e.remoteSyncer.rejectListen(t,r),e.oa.delete(t),e.aa.delete(n)),e._a.delete(n)}e.Pa.removeTarget(n)}}(e,t)}catch(r){eX(u9,"Failed to remove targets %s: %s ",t.targetIds.join(","),r),await hd(e,r)}else if(t instanceof n7?e.Pa._e(t):t instanceof se?e.Pa.he(t):e.Pa.ue(t),!r.isEqual(ns.min()))try{let t,n,s,i,a=await u$(e.localStore);r.compareTo(a)>
7=0&&await ((t=e.Pa.fe(r)).targetChanges.forEach((t,n)=>{if(t.resumeToken.approximateByteSize()>0){let s=e._a.get(n);s&&e._a.set(n,s.withResumeToken(t.resumeToken,r))}}),t.targetMismatches.forEach((t,r)=>{let n=e._a.get(t);if(!n)return;e._a.set(t,n.withResumeToken(tA.EMPTY_BYTE_STRING,n.snapshotVersion)),ha(e,t);let s=new lI(n.target,t,r,n.sequenceNumber);hi(e,s)}),n=new Map,t.targetChanges.forEach((t,r)=>{let s=e.aa.get(r);void 0!==s&&n.set(s,t)}),s=new te(e5),t.targetMismatches.forEach((t,r)=>{let n=e.aa.get(t);void 0!==n&&(s=s.insert(n,r))}),i=new n4(t.snapshotVersion,n,s,t.documentUpdates,t.augmentedDocumentUpdates,t.resolvedLimboDocuments),e.remoteSyncer.applyRemoteEvent(i))}catch(t){eX(u9,"Failed to raise snapshot:",t),await hd(e,t)}}async function hd(e,t,r){if(!iS(t))throw t;e.la.add(1),await ht(e),e.Ta.set("Offline"),r||(r=()=>u$(e.localStore)),e.asyncQueue.enqueueRetryable(async()=>{eX(u9,"Retrying IndexedDB access"),await r(),e.la.delete(1),await he(e)})}function hf(e,t){return t().catch(r=>hd(e,r,t))}async function hg(e){var t;let r=hb(e),n=e.sa.length>0?e.sa[e.sa.length-1].batchId:-1;for(;hl(t=e)&&t.sa.length<10;)try{let t=await function(e,t){return e.persistence.runTransaction("Get next mutation batch","readonly",r=>(void 0===t&&(t=-1),e.mutationQueue.getNextMutationBatchAfterBatchId(r,t)))}(e.localStore,n);if(null===t){0===e.sa.length&&r.en();break}n=t.batchId,function(e,t){e.sa.push(t);let r=hb(e);r.Yt()&&r.Rn&&r.An(t.mutations)}(e,t)}catch(t){await hd(e,t)}hp(e)&&hm(e)}function hp(e){return hl(e)&&!hb(e).Jt()&&e.sa.length>0}function hm(e){hb(e).start()}async function hD(e){hb(e).fn()}async function hE(e){let t=hb(e);for(let r of e.sa)t.An(r.mutations)}async function hy(e,t,r){let n=e.sa.shift(),s=ov.from(n,t,r);await hf(e,()=>e.remoteSyncer.applySuccessfulWrite(s)),await hg(e)}async function hw(e,t){t&&hb(e).Rn&&await async function(e,t){var r;if(nU(r=t.code)&&r!==ta.ABORTED){let r=e.sa.shift();hb(e).Xt(),await hf(e,()=>e.remoteSyncer.rejectFailedWrite(r.batchId,t)),await hg(e)}}(e,t),hp(e)&&hm(e)}async function hI(e,t){e.asyncQueue.verifyOperationInProgress(),eX(u9,"RemoteStore received new credentials");let r=hl(e);e.la.add(3),await ht(e),r&&e.Ta.set("Unknown"),await e.remoteSyncer.handleCredentialChange(t),e.la.delete(3),await he(e)}async function h_(e,t){t?(e.la.delete(2),await he(e)):t||(e.la.add(2),await ht(e),e.Ta.set("Unknown"))}function hv(e){var t,r,n;return e.Ia||(t=e.datastore,r=e.asyncQueue,n={ct:hu.bind(null,e),Et:hh.bind(null,e),Tt:hc.bind(null,e),Tn:hC.bind(null,e)},t.pn(),e.Ia=new il(r,t.connection,t.authCredentials,t.appCheckCredentials,t.serializer,n),e.Ea.push(async t=>{t?(e.Ia.Xt(),ho(e)?hB(e):e.Ta.set("Unknown")):(await e.Ia.stop(),e.Pa=void 0)})),e.Ia}function hb(e){var t,r,n;return e.Ra||(t=e.datastore,r=e.asyncQueue,n={ct:()=>Promise.resolve(),Et:hD.bind(null,e),Tt:hw.bind(null,e),Vn:hE.bind(null,e),dn:hy.bind(null,e)},t.pn(),e.Ra=new iu(r,t.connection,t.authCredentials,t.appCheckCredentials,t.serializer,n),e.Ea.push(async t=>{t?(e.Ra.Xt(),await hg(e)):(await e.Ra.stop(),e.sa.length>0&&(eX(u9,`Stopping write stream with ${e.sa.length} pending writes`),e.sa=[]))})),e.Ra}class hT{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):eZ("Uncaught Error in snapshot listener:",e.toString()))}Va(){this.muted=!0}Aa(e,t){setTimeout(()=>{this.muted||e(t)},0)}}class hS{constructor(e,t,r,n,s){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=r,this.op=n,this.removalCallback=s,this.deferred=new sQ,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){let i=new hS(e,t,Date.now()+r,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 tB(ta.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 hN(e,t){if(eZ("AsyncQueue",`${t}: ${e}`),iS(e))return new tB(ta.UNAVAILABLE,`${t}: ${e}`);throw e}
7class hA{constructor(e,t){this.da=e,this.serializer=t,this.metadata=new sQ,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(Error(`The first element of the bundle is not a metadata, it is 8 ${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(){let e=await this.ga();if(null===e)return null;let t=this.fa.decode(e),r=Number(t);return isNaN(r)&&this.ya(`length string (${t}) is not valid number`),new u6(JSON.parse(await this.wa(r)),e.length+r)}ba(){return this.buffer.findIndex(e=>123===e)}async ga(){for(;0>this.ba()&&!await this.Sa(););if(0===this.buffer.length)return null;let e=this.ba();e<0&&this.ya("Reached the end of bundle when a length string is expected.");let t=this.buffer.slice(0,e);return this.buffer=this.buffer.slice(e),t}async wa(e){for(;this.buffer.length<e;)await this.Sa()&&this.ya("Reached the end of bundle when more is expected.");let t=this.fa.decode(this.buffer.slice(0,e));return this.buffer=this.buffer.slice(e),t}ya(e){throw this.da.cancel(),Error(`Invalid bundle format: ${e}`)}async Sa(){let e=await this.da.read();if(!e.done){let t=new Uint8Array(this.buffer.length+e.value.length);t.set(this.buffer),t.set(e.value,this.buffer.length),this.buffer=t}return e.done}}let hF="IndexBackfiller";class hO{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){eX(hF,`Scheduled in ${e}ms`),this.task=this.asyncQueue.enqueueAfterDelay("index_backfill",e,async()=>{this.task=null;try{let e=await this.Da.Ca();eX(hF,`Documents written: ${e}`)}catch(e){iS(e)?eX(hF,"Ignoring IndexedDB error during index backfill: ",e):await iE(e)}await this.xa(6e4)})}}class hx{constructor(e,t){this.localStore=e,this.persistence=t}async Ca(e=50){return this.persistence.runTransaction("Backfill Indexes","readwrite-primary",t=>this.Fa(t,e))}Fa(e,t){let r=new Set,n=t,s=!0;
8return iy.doWhile(()=>!0===s&&n>0,()=>this.localStore.indexManager.getNextCollectionGroupToUpdate(e).next(t=>{if(null!==t&&!r.has(t))return eX(hF,`Processing collection: ${t}`),this.Oa(e,t,n).next(e=>{n-=e,r.add(t)});s=!1})).next(()=>t-n)}Oa(e,t,r){return this.localStore.indexManager.getMinOffsetFromCollectionGroup(e,t).next(n=>this.localStore.localDocuments.getNextDocuments(e,t,n,r).next(r=>{let s=r.changes;return this.localStore.indexManager.updateIndexEntries(e,s).next(()=>this.Ma(n,r)).next(r=>(eX(hF,`Updating offset: ${r}`),this.localStore.indexManager.updateCollectionGroup(e,t,r))).next(()=>s.size)}))}Ma(e,t){let r=e;return t.changes.forEach((e,t)=>{let n=nC(t);nf(n,r)>0&&(r=n)}),new nd(r.readTime,r.documentKey,Math.max(t.batchId,e.largestBatchId))}}let hL="firestore_clients";function hR(e,t){return`${hL}_${e}_${t}`}let hk="firestore_mutations";function hG(e,t,r){let n=`${hk}_${e}_${r}`;return t.isAuthenticated()&&(n+=`_${t.uid}`),n}let hP="firestore_targets";function hM(e,t){return`${hP}_${e}_${t}`}let hH="SharedClientState";class hV{constructor(e,t,r,n){this.user=e,this.batchId=t,this.state=r,this.error=n}static Na(e,t,r){let n=JSON.parse(r),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 tB(n.error.code,n.error.message)),i?new hV(e,t,n.state,s):(eZ(hH,`Failed to parse mutation state for ID '${t}': ${r}`),null)}La(){let e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class hU{constructor(e,t,r){this.targetId=e,this.state=t,this.error=r}static Na(e,t){let r=JSON.parse(t),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 tB(r.error.code,r.error.message)),s?new hU(e,r.state,n):(eZ(hH,`Failed to parse target state for ID '${e}': ${t}`),null)}La(){let e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class hJ{constructor(e,t){this.clientId=e,this.activeTargetIds=t}static Na(e,t){let r=JSON.parse(t),n="object"==typeof r&&r.activeTargetIds instanceof Array,s=nZ;for(let e=0;n&&e<r.activeTargetIds.length;++e)n=tz(r.activeTargetIds[e]),s=s.add(r.activeTargetIds[e]);return n?new hJ(e,s):(eZ(hH,`Failed to parse client data for instance '${e}': ${t}`),null)}}class hq{constructor(e,t){this.clientId=e,this.onlineState=t}static Na(e){let t=JSON.parse(e);return"object"==typeof t&&-1!==["Unknown","Online","Offline"].indexOf(t.onlineState)&&"string"==typeof t.clientId?new hq(t.clientId,t.onlineState):(eZ(hH,`Failed to parse online state: ${e}`),null)}}class hK{constructor(){this.activeTargetIds=nZ}Ba(e){this.activeTargetIds=this.activeTargetIds.add(e)}Ua(e){this.activeTargetIds=this.activeTargetIds.delete(e)}La(){return JSON.stringify({activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()})}}class hj{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 te(e5),this.started=!1,this.Qa=[];const i=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");this.storage=this.window.localStorage,this.currentUser=s,this.Wa=hR(this.persistenceKey,this.ka),this.Ga=function(e){return`firestore_sequence_number_${e}`}(this.persistenceKey),this.Ka=this.Ka.insert(this.ka,new hK),this.za=RegExp(`^${hL}_${i}_([^_]*)$`),this.ja=RegExp(`^${hk}_${i}_(\\d+)(?:_(.*))?$`),this.Ha=RegExp(`^${hP}_${i}_(\\d+)$`),this.Ja=function(e){return`firestore_online_state_${e}`}(this.persistenceKey),this.Ya=function(e){return`firestore_bundle_loaded_v2_${e}`}(this.persistenceKey),this.window.addEventListener("storage",this.qa)}static Ye(e){return!(!e||!e.localStorage)}async start(){for(let e of(await this.syncEngine.Ro())){if(e===this.ka)continue;let t=this.getItem(hR(this.persistenceKey,e));if(t){let r=hJ.Na(e,t);r&&(this.Ka=this.Ka.insert(r.clientId,r))}}this.Za();let e=this.storage.getItem(this.Ja);if(e){let t=this.Xa(e);t&&this.eu(t)}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(e){let t=!1;
8return this.Ka.forEach((r,n)=>{n.activeTargetIds.has(e)&&(t=!0)}),t}addPendingMutation(e){this.nu(e,"pending")}updateMutationState(e,t,r){this.nu(e,t,r),this.ru(e)}addLocalQueryTarget(e,t=!0){let r="not-current";if(this.isActiveQueryTarget(e)){let t=this.storage.getItem(hM(this.persistenceKey,e));if(t){let n=hU.Na(e,t);n&&(r=n.state)}}return t&&this.iu.Ba(e),this.Za(),r}removeLocalQueryTarget(e){this.iu.Ua(e),this.Za()}isLocalQueryTarget(e){return this.iu.activeTargetIds.has(e)}clearQueryState(e){this.removeItem(hM(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){let t=this.storage.getItem(e);return eX(hH,"READ",e,t),t}setItem(e,t){eX(hH,"SET",e,t),this.storage.setItem(e,t)}removeItem(e){eX(hH,"REMOVE",e),this.storage.removeItem(e)}$a(e){if(e.storageArea===this.storage){if(eX(hH,"EVENT",e.key,e.newValue),e.key===this.Wa)return void eZ("Received WebStorage notification for local change. Another client might have garbage-collected our state");this.Ct.enqueueRetryable(async()=>{if(this.started){if(null!==e.key){if(this.za.test(e.key)){if(null==e.newValue){let t=this.au(e.key);return this.uu(t,null)}{let t=this.cu(e.key,e.newValue);if(t)return this.uu(t.clientId,t)}}else if(this.ja.test(e.key)){if(null!==e.newValue){let t=this.lu(e.key,e.newValue);if(t)return this.Eu(t)}}else if(this.Ha.test(e.key)){if(null!==e.newValue){let t=this.hu(e.key,e.newValue);if(t)return this.Tu(t)}}else if(e.key===this.Ja){if(null!==e.newValue){let t=this.Xa(e.newValue);if(t)return this.eu(t)}}else if(e.key===this.Ga){let t=function(e){let t=ip.wn;if(null!=e)try{let r=JSON.parse(e);e8("number"==typeof r,30636,{Pu:e}),t=r}catch(e){eZ(hH,"Failed to read sequence number from WebStorage",e)}return t}(e.newValue);t!==ip.wn&&this.sequenceNumberHandler(t)}else if(e.key===this.Ya){let t=this.Iu(e.newValue);await Promise.all(t.map(e=>this.syncEngine.Ru(e)))}}}else this.Qa.push(e)})}}get iu(){return this.Ka.get(this.ka)}Za(){this.setItem(this.Wa,this.iu.La())}nu(e,t,r){let n=new hV(this.currentUser,e,t,r),s=hG(this.persistenceKey,this.currentUser,e);this.setItem(s,n.La())}ru(e){let t=hG(this.persistenceKey,this.currentUser,e);this.removeItem(t)}_u(e){let t={clientId:this.ka,onlineState:e};this.storage.setItem(this.Ja,JSON.stringify(t))}su(e,t,r){let n=hM(this.persistenceKey,e),s=new hU(e,t,r);this.setItem(n,s.La())}ou(e){let t=JSON.stringify(Array.from(e));this.setItem(this.Ya,t)}au(e){let t=this.za.exec(e);return t?t[1]:null}cu(e,t){let r=this.au(e);return hJ.Na(r,t)}lu(e,t){let r=this.ja.exec(e),n=Number(r[1]),s=void 0!==r[2]?r[2]:null;return hV.Na(new sj(s),n,t)}hu(e,t){let r=Number(this.Ha.exec(e)[1]);return hU.Na(r,t)}Xa(e){return hq.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);eX(hH,`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 t=nZ;return e.forEach((e,r)=>{t=t.unionWith(r.activeTargetIds)}),t}}class hQ{constructor(){this.fu=new hK,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 hK,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}function hz(){return"u">typeof window?window:null}function h$(){return"u">typeof document?document:null}class hY{static emptySet(e){return new hY(e.comparator)}constructor(e){this.comparator=e?(t,r)=>e(t,r)||tm.comparator(t.key,r.key):(e,t)=>tm.comparator(e.key,t.key),this.keyedMap=nQ(),this.sortedSet=new te(this.comparator)}has(e){return null!=this.keyedMap.get(e)}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){let t=this.keyedMap.get(e);return t?this.sortedSet.indexOf(t):-1}get size(){return this.sortedSet.size}forEach(e){this.sortedSet.inorderTraversal((t,r)=>(e(t),!1))}add(e){let t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){let t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof hY)||this.size!==e.size)return!1;let t=this.sortedSet.getIterator(),r=e.sortedSet.getIterator();for(;t.hasNext();){let e=t.getNext().key,n=r.getNext().key;if(!e.isEqual(n))return!1}return!0}toString(){let e=[];return this.forEach(t=>{e.push(t.toString())}),0===e.length?"DocumentSet ()":"DocumentSet (\n "+e.join(" \n")+"\n)"}copy(e,t){let r=new hY;return r.comparator=this.comparator,r.keyedMap=e,r.sortedSet=t,r}}
8class hW{constructor(){this.pu=new te(tm.comparator)}track(e){let 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}):e2(63341,{we:e,gu:r}):this.pu=this.pu.insert(t,e)}yu(){let e=[];return this.pu.inorderTraversal((t,r)=>{e.push(r)}),e}}class hX{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 hX(e,t,hY.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)&&oy(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;let t=this.docChanges,r=e.docChanges;if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++)if(t[e].type!==r[e].type||!t[e].doc.isEqual(r[e].doc))return!1;return!0}}class hZ{constructor(){this.wu=void 0,this.bu=[]}Su(){return this.bu.some(e=>e.vu())}}class h0{constructor(){this.queries=h1(),this.onlineState="Unknown",this.Du=new Set}terminate(){var e;let t;e=new tB(ta.ABORTED,"Firestore shutting down"),t=this.queries,this.queries=h1(),t.forEach((t,r)=>{for(let t of r.bu)t.onError(e)})}}function h1(){return new nq(e=>oE(e),oy)}async function h2(e,t){let r=3,n=t.query,s=e.queries.get(n);s?!s.Su()&&t.vu()&&(r=2):(s=new hZ,r=+!t.vu());try{switch(r){case 0:s.wu=await e.onListen(n,!0);break;case 1:s.wu=await e.onListen(n,!1);break;case 2:await e.onFirstRemoteStoreListen(n)}}catch(r){let e=hN(r,`Initialization of query '${om(t.query)?op(t.query):nP(t.query)}' failed`);return void t.onError(e)}e.queries.set(n,s),s.bu.push(t),t.xu(e.onlineState),s.wu&&t.Cu(s.wu)&&h5(e)}async function h3(e,t){let r=t.query,n=3,s=e.queries.get(r);if(s){let e=s.bu.indexOf(t);e>=0&&(s.bu.splice(e,1),0===s.bu.length?n=+!t.vu():!s.Su()&&t.vu()&&(n=2))}switch(n){case 0:return e.queries.delete(r),e.onUnlisten(r,!0);case 1:return e.queries.delete(r),e.onUnlisten(r,!1);case 2:return e.onLastRemoteStoreUnlisten(r);default:return}}function h8(e,t){let r=!1;for(let n of t){let t=n.query,s=e.queries.get(t);if(s){for(let e of s.bu)e.Cu(n)&&(r=!0);s.wu=n}}r&&h5(e)}function h6(e,t,r){let n=e.queries.get(t);if(n)for(let e of n.bu)e.onError(r);e.queries.delete(t)}function h5(e){e.Du.forEach(e=>{e.next()})}(t=c||(c={})).Default="default",t.Cache="cache";class h4{constructor(e,t,r){this.query=e,this.Fu=t,this.Ou=!1,this.Mu=null,this.onlineState="Unknown",this.options=r||{}}Cu(e){if(!this.options.includeMetadataChanges){let t=[];for(let r of e.docChanges)3!==r.type&&t.push(r);e=new hX(e.query,e.docs,e.oldDocs,t,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.Ou?this.Nu(e)&&(this.Fu.next(e),t=!0):this.Lu(e,this.onlineState)&&(this.Bu(e),t=!0),this.Mu=e,t}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){if(e.docChanges.length>0)return!0;let t=this.Mu&&this.Mu.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&!0===this.options.includeMetadataChanges}Bu(e){e=hX.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.Ou=!0,this.Fu.next(e)}vu(){return this.options.source!==c.Cache}}class h9{constructor(e){this.serializer=e}Go(e){return sy(this.serializer,e)}zo(e){return e.metadata.exists?sT(this.serializer,e.document,!1):ni.newNoDocument(this.Go(e.metadata.name),this.jo(e.metadata.readTime))}jo(e){return sg(e)}}
8class h7{constructor(e,t){this.Uu=e,this.serializer=t,this.ku=[],this.qu=[],this.collectionGroups=new Set,this.progress=ce(e)}get queries(){return this.ku}get documents(){return this.qu}$u(e){this.progress.bytesLoaded+=e.byteLength;let t=this.progress.documentsLoaded;if(e.Ho.namedQuery)this.ku.push(e.Ho.namedQuery);else if(e.Ho.documentMetadata){this.qu.push({metadata:e.Ho.documentMetadata}),e.Ho.documentMetadata.exists||++t;let r=tu.fromString(e.Ho.documentMetadata.name);this.collectionGroups.add(r.get(r.length-2))}else e.Ho.document&&(this.qu[this.qu.length-1].document=e.Ho.document,++t);return t!==this.progress.documentsLoaded?(this.progress.documentsLoaded=t,{...this.progress}):null}Ku(e){let t=new Map,r=new h9(this.serializer);for(let n of e)if(n.metadata.queries){let e=r.Go(n.metadata.name);for(let r of n.metadata.queries){let n=(t.get(r)||nX()).add(e);t.set(r,n)}}return t}async Qu(e){let t=await u3(e,new h9(this.serializer),this.qu,this.Uu.id),r=this.Ku(this.documents);for(let t of this.ku)await u8(e,t,r.get(t.name));return this.progress.taskState="Success",{progress:this.progress,Wu:this.collectionGroups,Gu:t}}}function ce(e){return{taskState:"Running",documentsLoaded:0,bytesLoaded:0,totalDocuments:e.totalDocuments,totalBytes:e.totalBytes}}class ct{constructor(e){this.key=e}}class cr{constructor(e){this.key=e}}class cn{constructor(e,t){this.query=e,this.zu=t,this.ju=null,this.hasCachedResults=!1,this.current=!1,this.Hu=nX(),this.mutatedKeys=nX(),this.Ju=om(e)?uc(e):nH(e),this.Yu=new hY(this.Ju)}get Zu(){return this.zu}Xu(e,t){let r=t?t.ec:new hW,n=t?t.Yu:this.Yu,s=t?t.mutatedKeys:this.mutatedKeys,i=n,a=!1,[B,o]=this.tc(this.query,n);e.inorderTraversal((e,t)=>{let l=n.get(e),u=uh(this.query,t)?t:null,h=!!l&&this.mutatedKeys.has(l.key),c=!!u&&(u.hasLocalMutations||this.mutatedKeys.has(u.key)&&u.hasCommittedMutations),C=!1;l&&u?l.data.isEqual(u.data)?h!==c&&(r.track({type:3,doc:u}),C=!0):this.nc(l,u)||(r.track({type:2,doc:u}),C=!0,(B&&this.Ju(u,B)>0||o&&0>this.Ju(u,o))&&(a=!0)):!l&&u?(r.track({type:0,doc:u}),C=!0):l&&!u&&(r.track({type:1,doc:l}),C=!0,(B||o)&&(a=!0)),C&&(u?(i=i.add(u),s=c?s.add(e):s.delete(e)):(i=i.delete(e),s=s.delete(e)))});let l=this.rc(this.query);if(l)if(om(this.query)){let e=[];i.forEach(t=>e.push(t));let t=ul(this.query,e),n=new hY(uc(this.query));for(let e of t)n=n.add(e);i.forEach(e=>{n.has(e.key)||(s=s.delete(e.key),r.track({type:1,doc:e}))}),i=n}else{let e=this.sc(this.query);for(;i.size>l;){let t="F"===e?i.last():i.first();i=i.delete(t.key),s=s.delete(t.key),r.track({type:1,doc:t})}}return{Yu:i,ec:r,Oo:a,mutatedKeys:s}}rc(e){return om(e)?uC(e)?.limit:e.limit||void 0}sc(e){if(om(e)){let t=uC(e);return t&&t.limit<0?"L":"F"}return e.limitType}tc(e,t){if(om(e)){let r=uC(e)?.limit;return[t.size===r?t.last():null,null]}return["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){let s=this.Yu;this.Yu=e.Yu,this.mutatedKeys=e.mutatedKeys;let i=e.ec.yu();i.sort((e,t)=>{var r,n;let s;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 e2(20277,{we:e})}})(r)-s(n)||this.Ju(e.doc,t.doc)}),this._c(r),n=n??!1;let a=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 hX(this.query,e.Yu,s,i,e.mutatedKeys,0===B,o,!1,!!r&&r.resumeToken.approximateByteSize()>0),ac:a}:{ac:a}}xu(e){return this.current&&"Offline"===e?(this.current=!1,this.applyChanges({Yu:this.Yu,ec:new hW,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 e=this.Hu;this.Hu=nX(),this.Yu.forEach(e=>{this.uc(e.key)&&(this.Hu=this.Hu.add(e.key))});let t=[];
8return e.forEach(e=>{this.Hu.has(e)||t.push(new cr(e))}),this.Hu.forEach(r=>{e.has(r)||t.push(new ct(r))}),t}cc(e){this.zu=e.Wo,this.Hu=nX();let t=this.Xu(e.documents);return this.applyChanges(t,!0)}lc(){return hX.fromInitialDocuments(this.query,this.Yu,this.mutatedKeys,0===this.ju,this.hasCachedResults)}}let cs="SyncEngine";class ci{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class ca{constructor(e){this.key=e,this.Ec=!1}}class cB{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 nq(e=>oE(e),oy),this.Pc=new Map,this.Ic=new Set,this.Rc=new te(tm.comparator),this.Ac=new Map,this.Vc=new ub,this.dc={},this.fc=new Map,this.mc=us.bs(),this.onlineState="Unknown",this.gc=void 0}get isPrimaryClient(){return!0===this.gc}}async function co(e,t,r=!0){let n,s=cP(e),i=s.Tc.get(t);return i?(s.sharedClientState.addLocalQueryTarget(i.targetId),n=i.view.lc()):n=await cu(s,t,r,!0),n}async function cl(e,t){let r=cP(e);await cu(r,t,!0,!1)}async function cu(e,t,r,n){let s,i=await uW(e.localStore,om(t)?t:nA(t)),a=i.targetId,B=e.sharedCl
8ientState.addLocalQueryTarget(a,r);return n&&(s=await ch(e,t,a,"current"===B,i.resumeToken)),e.isPrimaryClient&&r&&hn(e.remoteStore,i),s}async function ch(e,t,r,n,s){e.yc=(t,r,n)=>(async function(e,t,r,n){let s=t.view.Xu(r);s.Oo&&(s=await uZ(e.localStore,t.query,!1).then(({documents:e})=>t.view.Xu(e,s)));let i=n&&n.targetChanges.get(t.targetId),a=n&&null!=n.targetMismatches.get(t.targetId),B=t.view.applyChanges(s,e.isPrimaryClient,i,a);return c_(e,t.targetId,B.ac),B.snapshot})(e,t,r,n);let i=await uZ(e.localStore,t,!0),a=new cn(t,i.Wo),B=a.Xu(i.documents),o=n9.createSynthesizedTargetChangeForCurrentChange(r,n&&"Offline"!==e.onlineState,s),l=a.applyChanges(B,e.isPrimaryClient,o);c_(e,r,l.ac);let u=new ci(t,r,a);return e.Tc.set(t,u),e.Pc.has(r)?e.Pc.get(r).push(t):e.Pc.set(r,[t]),l.snapshot}async function cc(e,t,r){let n=e.Tc.get(t),s=e.Pc.get(n.targetId);s.length>1?(e.Pc.set(n.targetId,s.filter(e=>!oy(e,t))),e.Tc.delete(t)):e.isPrimaryClient?(e.sharedClientState.removeLocalQueryTarget(n.targetId),e.sharedClientState.isActiveQueryTarget(n.targetId)||await uX(e.localStore,n.targetId,!1).then(()=>{e.sharedClientState.clearQueryState(n.targetId),r&&hs(e.remoteStore,n.targetId),cw(e,n.targetId)}).catch(iE)):(cw(e,n.targetId),await uX(e.localStore,n.targetId,!0))}async function cC(e,t){let r=e.Tc.get(t),n=e.Pc.get(r.targetId);e.isPrimaryClient&&1===n.length&&(e.sharedClientState.removeLocalQueryTarget(r.targetId),hs(e.remoteStore,r.targetId))}async function cd(e,t,r){let n=cM(e);try{var s,i;let e,a,B,o,l,u=await (s=n.localStore,B=tS.now(),o=t.reduce((e,t)=>e.add(t.key),nX()),s.persistence.runTransaction("Locally write mutations","readwrite",r=>{let n=nK,i=nX();return s.ko.getEntries(r,o).next(e=>{(n=e).forEach((e,t)=>{t.isValidDocument()||(i=i.add(e))})}).next(()=>s.localDocuments.getOverlayedDocuments(r,n)).next(n=>{e=n;let i=[];for(let r of t){let t=function(e,t){let r=null;for(let n of e.fieldTransforms){let e=t.data.field(n.field),s=rE(n.transform,e||null);null!=s&&(null===r&&(r=rf.empty()),r.set(n.field,s))}return r||null}(r,e.get(r.key).overlayedDocument);null!=t&&i.push(new rU(r.key,t,function e(t){let r=[];return tf(t.fields,(t,n)=>{let s=new tc([t]);if(rB(n)){let t=e(n.mapValue).fields;if(0===t.length)r.push(s);else for(let e of t)r.push(s.child(e))}else r.push(s)}),new tC(r)}(t.value.mapValue),rR.exists(!0)))}
8return s.mutationQueue.addMutationBatch(r,B,i,t)}).next(t=>{a=t;let n=t.applyToLocalDocumentSet(e,i);return s.documentOverlayCache.saveOverlays(r,t.batchId,n)})}).then(()=>({batchId:a.batchId,changes:nz(e)})));n.sharedClientState.addPendingMutation(u.batchId),i=u.batchId,(l=n.dc[n.currentUser.toKey()])||(l=new te(e5)),l=l.insert(i,r),n.dc[n.currentUser.toKey()]=l,await cb(n,u.changes),await hg(n.remoteStore)}catch(t){let e=hN(t,"Failed to persist write");r.reject(e)}}async function cf(e,t){try{var r,n;let s,i,a=await (r=e.localStore,s=(n=t).snapshotVersion,i=r.Lo,r.persistence.runTransaction("Apply remote event","readwrite-primary",e=>{let t=r.ko.newChangeBuffer({trackRemovals:!0});i=r.Lo;let a=[];n.targetChanges.forEach((t,B)=>{var o;let l=i.get(B);if(!l)return;a.push(r.V_.removeMatchingKeys(e,t.removedDocuments,B).next(()=>r.V_.addMatchingKeys(e,t.addedDocuments,B)));let u=l.withSequenceNumber(e.currentSequenceNumber);null!==n.targetMismatches.get(B)?u=u.withResumeToken(tA.EMPTY_BYTE_STRING,ns.min()).withLastLimboFreeSnapshotVersion(ns.min()):t.resumeToken.approximateByteSize()>0&&(u=u.withResumeToken(t.resumeToken,s)),i=i.insert(B,u),o=u,(0===l.resumeToken.approximateByteSize()||o.snapshotVersion.toMicroseconds()-l.snapshotVersion.toMicroseconds()>=3e8||t.addedDocuments.size+t.modifiedDocuments.size+t.removedDocuments.size>0)&&a.push(r.V_.updateTargetData(e,u))});let B=nK,o=nX();if(n.documentUpdates.forEach(t=>{n.resolvedLimboDocuments.has(t)&&a.push(r.persistence.referenceDelegate.updateLimboDocument(e,t))}),a.push(uY(e,t,n.documentUpdates).next(e=>{B=e.Ko,o=e.Qo})),!s.isEqual(ns.min())){let t=r.V_.getLastRemoteSnapshotVersion(e).next(t=>r.V_.setTargetsMetadata(e,e.currentSequenceNumber,s));a.push(t)}return iy.waitFor(a).next(()=>t.apply(e)).next(()=>r.localDocuments.getLocalViewOfDocuments(e,B,o)).next(()=>B)}).then(e=>(r.Lo=i,e)));
8t.targetChanges.forEach((t,r)=>{let n=e.Ac.get(r);n&&(e8(t.addedDocuments.size+t.modifiedDocuments.size+t.removedDocuments.size<=1,22616),t.addedDocuments.size>0?n.Ec=!0:t.modifiedDocuments.size>0?e8(n.Ec,14607):t.removedDocuments.size>0&&(e8(n.Ec,42227),n.Ec=!1))}),await cb(e,a,t)}catch(e){await iE(e)}}function cg(e,t,r){if(e.isPrimaryClient&&0===r||!e.isPrimaryClient&&1===r){var n;let r,s=[];e.Tc.forEach((e,r)=>{let n=r.view.xu(t);n.snapshot&&s.push(n.snapshot)}),(n=e.eventManager).onlineState=t,r=!1,n.queries.forEach((e,n)=>{for(let e of n.bu)e.xu(t)&&(r=!0)}),r&&h5(n),s.length&&e.hc.Tn(s),e.onlineState=t,e.isPrimaryClient&&e.sharedClientState.setOnlineState(t)}}async function cp(e,t,r){e.sharedClientState.updateQueryState(t,"rejected",r);let n=e.Ac.get(t),s=n&&n.key;if(s){let r=new te(tm.comparator);r=r.insert(s,ni.newNoDocument(s,ns.min()));let n=nX().add(s),i=new n4(ns.min(),new Map,new te(e5),r,nK,n);await cf(e,i),e.Rc=e.Rc.remove(s),e.Ac.delete(t),cv(e)}else await uX(e.localStore,t,!1).then(()=>cw(e,t,r)).catch(iE)}async function cm(e,t){let r=t.batch.batchId;try{var n,s;let i=await (n=e.localStore,s=t,n.persistence.runTransaction("Acknowledge batch","readwrite-primary",e=>{let t,r,i,a=s.batch.keys(),B=n.ko.newChangeBuffer({trackRemovals:!0});
8return(r=(t=s.batch).keys(),i=iy.resolve(),r.forEach(r=>{i=i.next(()=>B.getEntry(e,r)).next(e=>{let n=s.docVersions.get(r);e8(null!==n,48541),0>e.version.compareTo(n)&&(t.applyToRemoteDocument(e,s),e.isValidDocument()&&(e.setReadTime(s.commitVersion),B.addEntry(e)))})}),i.next(()=>n.mutationQueue.removeMutationBatch(e,t))).next(()=>B.apply(e)).next(()=>n.mutationQueue.performConsistencyCheck(e)).next(()=>n.documentOverlayCache.removeOverlaysForBatchId(e,a,s.batch.batchId)).next(()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,function(e){let t=nX();for(let r=0;r<e.mutationResults.length;++r)e.mutationResults[r].transformResults.length>0&&(t=t.add(e.batch.mutations[r].key));return t}(s))).next(()=>n.localDocuments.getDocuments(e,a))}));cy(e,r,null),cE(e,r),e.sharedClientState.updateMutationState(r,"acknowledged"),await cb(e,i)}catch(e){await iE(e)}}async function cD(e,t,r){try{var n;let s=await (n=e.localStore,n.persistence.runTransaction("Reject batch","readwrite-primary",e=>{let r;return n.mutationQueue.lookupMutationBatch(e,t).next(t=>(e8(null!==t,37113),r=t.keys(),n.mutationQueue.removeMutationBatch(e,t))).next(()=>n.mutationQueue.performConsistencyCheck(e)).next(()=>n.documentOverlayCache.removeOverlaysForBatchId(e,r,t)).next(()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,r)).next(()=>n.localDocuments.getDocuments(e,r))}));cy(e,t,r),cE(e,t),e.sharedClientState.updateMutationState(t,"rejected",r),await cb(e,s)}catch(e){await iE(e)}}function cE(e,t){(e.fc.get(t)||[]).forEach(e=>{e.resolve()}),e.fc.delete(t)}function cy(e,t,r){let n=e.dc[e.currentUser.toKey()];if(n){let s=n.get(t);s&&(r?s.reject(r):s.resolve(),n=n.remove(t)),e.dc[e.currentUser.toKey()]=n}}function cw(e,t,r=null){for(let n of(e.sharedClientState.removeLocalQueryTarget(t),e.Pc.get(t)))e.Tc.delete(n),r&&e.hc.wc(n,r);e.Pc.delete(t),e.isPrimaryClient&&e.Vc.e_(t).forEach(t=>{e.Vc.containsKey(t)||cI(e,t)})}function cI(e,t){e.Ic.delete(t.path.canonicalString());let r=e.Rc.get(t);null!==r&&(hs(e.remoteStore,r),e.Rc=e.Rc.remove(t),e.Ac.delete(r),cv(e))}function c_(e,t,r){for(let n of r)n instanceof ct?(e.Vc.addReference(n.key,t),function(e,t){let r=t.key,n=r.path.canonicalString();e.Rc.get(r)||e.Ic.has(n)||(eX(cs,"New document in limbo: "+r),e.Ic.add(n),cv(e))}(e,n)):n instanceof cr?(eX(cs,"Document no longer in limbo: "+n.key),e.Vc.removeReference(n.key,t),e.Vc.containsKey(n.key)||cI(e,n.key)):e2(19791,{bc:n})}function cv(e){for(;e.Ic.size>0&&e.Rc.size<e.maxConcurrentLimboResolutions;){let t=e.Ic.values().next().value;e.Ic.delete(t);let r=new tm(tu.fromString(t)),n=e.mc.next();e.Ac.set(n,new ca(r)),e.Rc=e.Rc.insert(r,n),hn(e.remoteStore,new lI(nA(nb(r.path)),n,"TargetPurposeLimboResolution",ip.wn))}}async function cb(e,t,r){let n=[],s=[],i=[];e.Tc.isEmpty()||(e.Tc.forEach((a,B)=>{i.push(e.yc(B,t,r).then(t=>{if((t||r)&&e.isPrimaryClient){let n=t?!t.fromCache:r?.targetChanges.get(B.targetId)?.current;e.sharedClientState.updateQueryState(B.targetId,n?"current":"not-current")}if(t){n.push(t);let e=uU.mo(B.targetId,t);s.push(e)}}))}),await Promise.all(i),e.hc.Tn(n),await async function(e,t){try{await e.persistence.runTransaction("notifyLocalViewChanges","readwrite",r=>iy.forEach(t,t=>iy.forEach(t.Vo,n=>e.persistence.referenceDelegate.addReference(r,t.targetId,n)).next(()=>iy.forEach(t.fo,n=>e.persistence.referenceDelegate.removeReference(r,t.targetId,n)))))}catch(e){if(!iS(e))throw e;eX(uj,"Failed to update sequence numbers: "+e)}for(let r of t){let t=r.targetId;if(!r.fromCache){let r=e.Lo.get(t),n=r.snapshotVersion,s=r.withLastLimboFreeSnapshotVersion(n);e.Lo=e.Lo.insert(t,s)}}}(e.localStore,s))}async function cT(e,t){if(!e.currentUser.isEqual(t)){eX(cs,"User change. New user:",t.toKey());let r=await uz(e.localStore,t);e.currentUser=t,e.fc.forEach(e=>{e.forEach(e=>{e.reject(new tB(ta.CANCELLED,"'waitForPendingWrites' promise is rejected due to a user change."))})}),e.fc.clear(),e.sharedClientState.handleUserChange(t,r.removedBatchIds,r.addedBatchIds),await cb(e,r.$o)}}function cS(e,t){let r=e.Ac.get(t);if(r&&r.Ec)return nX().add(r.key);{let r=nX(),n=e.Pc.get(t);if(!n)return r;for(let t of n??[]){let n=e.Tc.get(t);r=r.unionWith(n.view.Zu)}return r}}async function cN(e,t){let r=await uZ(e.localStore,t.query,!0),n=t.view.cc(r);return e.isPrimaryClient&&c_(e,t.targetId,n.ac),n}async function cA(e,t){return u1(e.localStore,t).then(t=>cb(e,t))}async function cF(e,t,r,n){var s,i;
8let a,B=await (s=e.localStore,a=s.mutationQueue,s.persistence.runTransaction("Lookup mutation documents","readonly",e=>a.Wr(e,t).next(t=>t?s.localDocuments.getDocuments(e,t):iy.resolve(null))));null!==B?("pending"===r?await hg(e.remoteStore):"acknowledged"===r||"rejected"===r?(cy(e,t,n||null),cE(e,t),i=e.localStore,i.mutationQueue.Hr(t)):e2(6720,"Unknown batchState",{Sc:r}),await cb(e,B)):eX(cs,"Cannot apply mutation batch with id: "+t)}async function cO(e,t){if(cP(e),cM(e),!0===t&&!0!==e.gc){let t=e.sharedClientState.getAllActiveQueryTargets(),r=await cx(e,t.toArray());for(let t of(e.gc=!0,await h_(e.remoteStore,!0),r))hn(e.remoteStore,t)}else if(!1===t&&!1!==e.gc){let t=[],r=Promise.resolve();e.Pc.forEach((n,s)=>{e.sharedClientState.isLocalQueryTarget(s)?t.push(s):r=r.then(()=>(cw(e,s),uX(e.localStore,s,!0))),hs(e.remoteStore,s)}),await r,await cx(e,t),e.Ac.forEach((t,r)=>{hs(e.remoteStore,r)}),e.Vc.t_(),e.Ac=new Map,e.Rc=new te(tm.comparator),e.gc=!1,await h_(e.remoteStore,!1)}}async function cx(e,t,r){let n=[],s=[];for(let r of t){let t,i=e.Pc.get(r);if(i&&0!==i.length)for(let r of(t=await uW(e.localStore,om(i[0])?i[0]:nA(i[0])),i)){let t=e.Tc.get(r),n=await cN(e,t);n.snapshot&&s.push(n.snapshot)}else{let n=await u0(e.localStore,r);t=await uW(e.localStore,n),await ch(e,cL(n),r,!1,t.resumeToken)}n.push(t)}return e.hc.Tn(s),n}function cL(e){var t,r,n,s,i;return nE(e)?e:(t=e.path,r=e.collectionGroup,n=e.orderBy,s=e.filters,i=e.limit,new nv(t,r,n,s,i,"F",e.startAt,e.endAt))}function cR(e){return e.localStore.persistence.Ro()}async function ck(e,t,r,n){if(e.gc)return void eX(cs,"Ignoring unexpected query state notification.");let s=e.Pc.get(t);if(s&&s.length>0)switch(r){case"current":case"not-current":{var i,a;let n,B;if(om(s[0]))switch(aj(s[0])){case"collection_group":case"collection":n=await u1(e.localStore,a$(s[0]));break;case"documents":n=await (i=e.localStore,B=nX(...aY(s[0]).map(e=>tm.fromPath(e))),i.persistence.runTransaction("Get documents for pipeline","readonly",e=>i.ko.getEntries(e,B)).then(e=>e));break;default:e0(""),n=nQ()}else n=await u1(e.localStore,(a=s[0]).collectionGroup||(a.path.length%2==1?a.path.lastSegment():a.path.get(a.path.length-2)));let o=n4.createSynthesizedRemoteEventForCurrentChange(t,"current"===r,tA.EMPTY_BYTE_STRING);await cb(e,n,o);break}case"rejected":await uX(e.localStore,t,!0),cw(e,t,n);break;default:e2(64155,r)}}async function cG(e,t,r){let n=cP(e);if(n.gc){for(let e of t){if(n.Pc.has(e)&&n.sharedClientState.isActiveQueryTarget(e)){eX(cs,"Adding an already active target "+e);continue}let t=await u0(n.localStore,e),r=await uW(n.localStore,t);await ch(n,cL(t),r.targetId,!1,r.resumeToken),hn(n.remoteStore,r)}for(let e of r)n.Pc.has(e)&&await uX(n.localStore,e,!1).then(()=>{hs(n.remoteStore,e),cw(n,e)}).catch(iE)}}function cP(e){return e.remoteStore.remoteSyncer.applyRemoteEvent=cf.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=cS.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=cp.bind(null,e),e.hc.Tn=h8.bind(null,e.eventManager),e.hc.wc=h6.bind(null,e.eventManager),e}function cM(e){return e.remoteStore.remoteSyncer.applySuccessfulWrite=cm.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=cD.bind(null,e),e}class cH{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=sH(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){var t,r;return t=this.persistence,r=new uK,new uQ(t,r,e.initialUser,this.serializer)}Dc(e){return new uO(uL.b_,this.serializer)}vc(e){return new hQ}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}cH.provider={build:()=>new cH};class cV extends cH{constructor(e){super(),this.cacheSizeBytes=e}Cc(e,t){return e8(this.persistence.referenceDelegate instanceof uR,46915),new ik(this.persistence.referenceDelegate.garbageCollector,e.asyncQueue,t)}Dc(e){let t=void 0!==this.cacheSizeBytes?ig.withCacheSize(this.cacheSizeBytes):ig.DEFAULT;return new uO(e=>uR.b_(e,t),this.serializer)}}class cU extends cH{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 cM(this.Oc.syncEngine),await hg(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){var t,r;return t=this.persistence,r=new uK,new uQ(t,r,e.initialUser,this.serializer)}Cc(e,t){return new ik(this.persistence.referenceDelegate.garbageCollector,e.asyncQueue,t)}Fc(e,t){let r=new hx(t,this.persistence);return new hO(e.asyncQueue,r)}Dc(e){let t=uV(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),r=void 0!==this.cacheSizeBytes?ig.withCacheSize(this.cacheSizeBytes):ig.DEFAULT;return new uH(this.synchronizeTabs,t,e.clientId,r,e.asyncQueue,hz(),h$(),this.serializer,this.sharedCl
8ientState,!!this.forceOwnership)}vc(e){return new hQ}}class cJ{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=>cg(this.syncEngine,e,1),this.remoteStore.remoteSyncer.handleCredentialChange=cT.bind(null,this.syncEngine),await h_(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return new h0}createDatastore(e){var t;let r=sH(e.databaseInfo.databaseId),n=new ii(e.databaseInfo);return t=e.authCredentials,new ic(t,e.appCheckCredentials,n,r)}createRemoteStore(e){var t,r;return t=this.localStore,r=this.datastore,new u7(t,r,e.asyncQueue,e=>cg(this.syncEngine,e,0),s6.Ye()?new s6:new s3)}createSyncEngine(e,t){var r,n,s,i,a,B;let o;return r=this.localStore,n=this.remoteStore,s=this.eventManager,i=this.sharedClientState,a=e.initialUser,B=e.maxConcurrentLimboResolutions,o=new cB(r,n,s,i,a,B),t&&(o.gc=!0),o}async terminate(){await async function(e){eX(u9,"RemoteStore shutting down."),e.la.add(5),await ht(e),e.ha.shutdown(),e.Ta.set("Unknown")}(this.remoteStore),this.datastore?.terminate(),this.eventManager?.terminate()}}cJ.provider={build:()=>new cJ};class cq{constructor(e){this.datastore=e,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastTransactionError=null,this.writtenDocs=new Set}async lookup(e){if(this.ensureCommitNotCalled(),this.mutations.length>0)throw this.lastTransactionError=new tB(ta.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;let t=await async function(e,t){let r={documents:t.map(t=>sE(e.serializer,t))},n=await e._t("BatchGetDocuments",e.serializer.databaseId,tu.emptyPath(),r,t.length),s=new Map;n.forEach(t=>{var r;let n,i,a,B,o,l,u=(r=e.serializer,"found"in t?(e8(!!t.found,43571),t.found.name,t.found.updateTime,n=sy(r,t.found.name),i=sg(t.found.updateTime),a=t.found.createTime?sg(t.found.createTime):ns.min(),B=new rf({mapValue:{fields:t.found.fields}}),ni.newFoundDocument(n,i,a,B)):"missing"in t?(e8(!!t.missing,3894),e8(!!t.readTime,22933),o=sy(r,t.missing),l=sg(t.readTime),ni.newNoDocument(o,l)):e2(7234,{result:t}));s.set(u.key.toString(),u)});let i=[];return t.forEach(e=>{let t=s.get(e.toString());e8(!!t,55234,{key:e}),i.push(t)}),i}(this.datastore,e);return t.forEach(e=>this.recordVersion(e)),t}set(e,t){this.write(t.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())}update(e,t){try{this.write(t.toMutation(e,this.preconditionForUpdate(e)))}catch(e){this.lastTransactionError=e}this.writtenDocs.add(e.toString())}delete(e){this.write(new rj(e,this.precondition(e))),this.writtenDocs.add(e.toString())}async commit(){if(this.ensureCommitNotCalled(),this.lastTransactionError)throw this.lastTransactionError;let e=this.readVersions;this.mutations.forEach(t=>{e.delete(t.key.toString())}),e.forEach((e,t)=>{let r=tm.fromPath(t);this.mutations.push(new rQ(r,this.precondition(r)))}),await async function(e,t){let r={writes:t.map(t=>sS(e.serializer,t))};await e.nt("Commit",e.serializer.databaseId,tu.emptyPath(),r)}(this.datastore,this.mutations),this.committed=!0}recordVersion(e){let t;if(e.isFoundDocument())t=e.version;else{if(!e.isNoDocument())throw e2(50498,{Mc:e.constructor.name});t=ns.min()}let r=this.readVersions.get(e.key.toString());if(r){if(!t.isEqual(r))throw new tB(ta.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),t)}precondition(e){let t=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&t?t.isEqual(ns.min())?rR.exists(!1):rR.updateTime(t):rR.none()}preconditionForUpdate(e){let t=this.readVersions.get(e.toString());if(!this.writtenDocs.has(e.toString())&&t){if(t.isEqual(ns.min()))throw new tB(ta.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return rR.updateTime(t)}return rR.exists(!0)}write(e){this.ensureCommitNotCalled(),this.mutations.push(e)}ensureCommitNotCalled(){}}class cK{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 ia(this.asyncQueue,"transaction_retry")}Lc(){this.Nc-=1,this.Bc()}Bc(){this.Ht.kt(async()=>{let e=new cq(this.datastore),t=this.Uc(e);t&&t.then(t=>{this.asyncQueue.enqueueAndForget(()=>e.commit().then(()=>{this.deferred.resolve(t)}).catch(e=>{this.kc(e)}))}).catch(e=>{this.kc(e)})})}Uc(e){try{let t=this.updateFunction(e);return!tj(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){this.Nc>0&&this.qc(e)?(this.Nc-=1,this.asyncQueue.enqueueAndForget(()=>(this.Bc(),Promise.resolve()))):this.deferred.reject(e)}qc(e){if("FirebaseError"===e?.name){let t=e.code;return"aborted"===t||"failed-precondition"===t||"already-exists"===t||!nU(t)}return!1}}let cj="FirestoreClient";class cQ{constructor(e,t,r,n,s){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this._databaseInfo=n,this.user=sj.UNAUTHENTICATED,this.clientId=e6.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=s,this.authCredentials.start(r,async e=>{eX(cj,"Received user=",e.uid),await this.authCredentialListener(e),this.user=e}),this.appCheckCredentials.start(r,e=>(eX(cj,"Received new app check token=",e),this.appCheckCredentialListener(e,this.user)))}get configuration(){return{asyncQueue:this.asyncQueue,databaseInfo:this._databaseInfo,clientId:this.clientId,authCredentials:this.authCredentials,appCheckCredentials:this.appCheckCredentials,initialUser:this.user,maxConcurrentLimboResolutions:100}}setCredentialChangeListener(e){this.authCredentialListener=e}setAppCheckTokenChangeListener(e){this.appCheckCredentialListener=e}terminate(){this.asyncQueue.enterRestrictedMode();let e=new sQ;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),e.resolve()}catch(r){let t=hN(r,"Failed to shutdown persistence");e.reject(t)}}),e.promise}}async function cz(e,t){e.asyncQueue.verifyOperationInProgress(),eX(cj,"Initializing OfflineComponentProvider");let r=e.configuration;await t.initialize(r);let n=r.initialUser;e.setCredentialChangeListener(async e=>{n.isEqual(e)||(await uz(t.localStore,e),n=e)}),t.persistence.setDatabaseDeletedListener(()=>e.terminate()),e._offlineComponents=t}async function c$(e,t){e.asyncQueue.verifyOperationInProgress();let r=await cY(e);eX(cj,"Initializing OnlineComponentProvider"),await t.initialize(r,e.configuration),e.setCredentialChangeListener(e=>hI(t.remoteStore,e)),e.setAppCheckTokenChangeListener((e,r)=>hI(t.remoteStore,r)),e._onlineComponents=t}async function cY(e){if(!e._offlineComponents)if(e._uninitializedComponentsProvider){eX(cj,"Using user provided OfflineComponentProvider");try{await cz(e,e._uninitializedComponentsProvider._offline)}catch(t){if(!("FirebaseError"===t.name?t.code===ta.FAILED_PRECONDITION||t.code===ta.UNI
8MPLEMENTED:!("u">typeof DOMException&&t instanceof DOMException)||22===t.code||20===t.code||11===t.code))throw t;e0("Error using user provided cache. Falling back to memory cache: "+t),await cz(e,new cH)}}else eX(cj,"Using default OfflineComponentProvider"),await cz(e,new cV(void 0));return e._offlineComponents}async function cW(e){return e._onlineComponents||(e._uninitializedComponentsProvider?(eX(cj,"Using user provided OnlineComponentProvider"),await c$(e,e._uninitializedComponentsProvider._online)):(eX(cj,"Using default OnlineComponentProvider"),await c$(e,new cJ))),e._onlineComponents}function cX(e){return cY(e).then(e=>e.localStore)}function cZ(e){return cW(e).then(e=>e.syncEngine)}function c0(e){return cW(e).then(e=>e.datastore)}async function c1(e){let t=await cW(e),r=t.eventManager;return r.onListen=co.bind(null,t.syncEngine),r.onUnlisten=cc.bind(null,t.syncEngine),r.onFirstRemoteStoreListen=cl.bind(null,t.syncEngine),r.onLastRemoteStoreUnlisten=cC.bind(null,t.syncEngine),r}function c2(e,t,r,n){let s=new hT(n),i=new h4(t,s,r);return e.asyncQueue.enqueueAndForget(async()=>h2(await c1(e),i)),()=>{s.Va(),e.asyncQueue.enqueueAndForget(async()=>h3(await c1(e),i))}}function c3(e,t,r={}){let n=new sQ;return e.asyncQueue.enqueueAndForget(async()=>{var s,i;let a,B;return s=await c1(e),i=e.asyncQueue,a=new hT({next:e=>{a.Va(),i.enqueueAndForget(()=>h3(s,B));let o=e.docs.has(t);!o&&e.fromCache?n.reject(new tB(ta.UNAVAILABLE,"Failed to get document because the client is offline.")):o&&e.fromCache&&r&&"server"===r.source?n.reject(new tB(ta.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.)')):n.resolve(e)},error:e=>n.reject(e)}),h2(s,B=new h4(nb(t.path),a,{includeMetadataChanges:!0,waitForSyncWhenOnline:!0}))}),n.promise}function c8(e,t,r={}){let n=new sQ;return e.asyncQueue.enqueueAndForget(async()=>{var s,i;let a,B;return s=await c1(e),i=e.asyncQueue,a=new hT({next:e=>{a.Va(),i.enqueueAndForget(()=>h3(s,B)),e.fromCache&&"server"===r.source?n.reject(new tB(ta.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.)')):n.resolve(e)},error:e=>n.reject(e)}),h2(s,B=new h4(t instanceof aq?function(e){let t=function(e){let t=!1,r=[];for(let n of e)if(n instanceof aV)if(t=!0,n.orderings.some(e=>e.expr instanceof am&&e.expr.fieldName===to))r.push(n);else{let e=n.orderings.map(e=>e);e.push(aD(to).ascending()),r.push(new aV(e,{}))}else n instanceof aP&&(t||(r.push(new aV([aD(to).ascending()],{})),t=!0)),r.push(n);return t||r.push(new aV([aD(to).ascending()],{})),r}(e.stages);if(e.userDataReader){let r=e.userDataReader.createContext(3,"toCorePipeline");t.forEach(e=>e._readUserData(r))}return new aK(e.userDataReader.serializer,t,void 0)}(t):t,a,{includeMetadataChanges:!0,waitForSyncWhenOnline:!0}))}),n.promise}function c6(e,t,r){let n=new sQ;return e.asyncQueue.enqueueAndForget(async()=>{try{let s=await c0(e);n.resolve(async function(e,t,r){var n;let{request:s,ve:i,parent:a}=function(e,t,r){let{Se:n,parent:s}=sF(e,t),i={},a=[],B=0;return r.forEach(e=>{let t="aggregate_"+B++;i[t]=e.alias,"count"===e.aggregateType?a.push({alias:t,count:{}}):"avg"===e.aggregateType?a.push({alias:t,avg:{field:sL(e.fieldPath)}}):"sum"===e.aggregateType&&a.push({alias:t,sum:{field:sL(e.fieldPath)}})}),{request:{structuredAggregationQuery:{aggregations:a,structuredQuery:n.structuredQuery},parent:n.parent},ve:i,parent:s}}(e.serializer,((n=t).m||(n.m=nF(n,n.explicitOrderBy)),n.m),r);e.connection.Ze||delete s.parent;let B=(await e._t("RunAggregationQuery",e.serializer.databaseId,a,s,1)).filter(e=>!!e.result);e8(1===B.length,64727);let o=B[0].result?.aggregateFields;return Object.keys(o).reduce((e,t)=>(e[i[t]]=o[t],e),{})}(s,t,r))}catch(e){n.reject(e)}}),n.promise}function c5(e,t){let r=new sQ;return e.asyncQueue.enqueueAndForget(async()=>cd(await cZ(e),t,r)),r.promise}function c4(e,t,r){let n=new sQ;return e.asyncQueue.enqueueAndForget(async()=>{let s=await c0(e);new cK(e.asyncQueue,s,r,t,n).Lc()}),n.promise}let c9=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 iU(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){if(this._document){if(this._converter){let e=new c7(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}}_fieldsProto(){return this._document?.data.clone().value.mapValue.fields??void 0}get(e){if(this._document){let t=this._document.data.field(an("DocumentSnapshot.get",e));if(null!==t)return this._userDataWriter.convertValue(t)}}},c7=class extends c9{data(){return super.data()}};class Ce{convertValue(e,t="none"){switch(t3(e)){case 0:return null;case 1:return e.booleanValue;case 2:return tx(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(tL(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 e2(62114,{value:e})}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,t="none"){let r={};return tf(e,(e,n)=>{r[e]=this.convertValue(n,t)}),r}
8convertVectorValue(e){return new iK(e.fields?.[tZ].arrayValue?.values?.map(e=>tx(e.doubleValue)))}convertGeoPoint(e){return new sK(tx(e.latitude),tx(e.longitude))}convertArray(e,t){return(e.values||[]).map(e=>this.convertValue(e,t))}convertServerTimestamp(e,t){switch(t){case"previous":let r=tH(e);return null==r?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(tV(e));default:return null}}convertTimestamp(e){let t=tO(e);return new tS(t.seconds,t.nanos)}convertDocumentKey(e,t){let r=tu.fromString(e);e8(sk(r),9688,{name:e});let n=new tq(r.get(1),r.get(3)),s=new tm(r.popFirst(5));return n.isEqual(t)||eZ(`A document reference to ${s} 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.`),s}}function Ct(e,t,r){return e?r&&(r.merge||r.mergeFields)?e.toFirestore(t,r):e.toFirestore(t):t}class Cr extends Ce{constructor(e){super(),this.firestore=e}convertBytes(e){return new sV(e)}convertReference(e){let t=this.convertDocumentKey(e,this.firestore._databaseId);return new iU(this.firestore,null,t)}}let Cn="AsyncQueue";class Cs{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 ia(this,"async_queue_retry"),this.Hc=()=>{let e=h$();e&&eX(Cn,"Visibility state changed to "+e.visibilityState),this.Ht.$t()},this.Jc=e;const t=h$();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){if(!this.Kc){this.Kc=!0,this.zc=e||!1;let t=h$();t&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",this.Hc)}}enqueue(e){if(this.Yc(),this.Kc)return new Promise(()=>{});let t=new sQ;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(!iS(e))throw e;eX(Cn,"Operation failed with retryable error: "+e)}this.$c.length>0&&this.Ht.kt(()=>this.Xc())}}Zc(e){let t=this.Jc.then(()=>(this.Gc=!0,e().catch(e=>{throw this.Wc=e,this.Gc=!1,eZ("INTERNAL UNHANDLED ERROR: ",Ci(e)),e}).then(e=>(this.Gc=!1,e))));return this.Jc=t,t}enqueueAfterDelay(e,t,r){this.Yc(),this.jc.indexOf(e)>-1&&(t=0);let n=hS.createAndSchedule(this,e,t,r,e=>this.el(e));return this.Qc.push(n),n}Yc(){this.Wc&&e2(47125,{tl:Ci(this.Wc)})}verifyOperationInProgress(){}async nl(){let e;do e=this.Jc,await e;while(e!==this.Jc)}rl(e){for(let t of this.Qc)if(t.timerId===e)return!0;return!1}il(e){return this.nl().then(()=>{for(let t of(this.Qc.sort((e,t)=>e.targetTimeMs-t.targetTimeMs),this.Qc))if(t.skipDelay(),"all"!==e&&t.timerId===e)break;return this.nl()})}sl(e){this.jc.push(e)}el(e){let t=this.Qc.indexOf(e);this.Qc.splice(t,1)}}function Ci(e){let t=e.message||"";return e.stack&&(t=e.stack.includes(e.message)?e.stack:e.message+"\n"+e.stack),t}class Ca{constructor(){this._progressObserver={},this._taskCompletionResolver=new sQ,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 CB extends iH{constructor(e,t,r,n){super(e,t,r,n),this.type="firestore",this._queue=new Cs,this._persistenceKey=n?.name||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){let e=this._firestoreClient.terminate();this._queue=new Cs(e),this._firestoreClient=void 0,await e}}}function Co(e){if(e._terminated)throw new tB(ta.FAILED_PRECONDITION,"The client has already been terminated.");return e._firestoreClient||function(e){var t,r,n,s,i;let a,B=e._freezeSettings(),o=(t=e._databaseId,r=e._app?.options.appId||"",n=e._persistenceKey,s=e._app?.options.apiKey,new tU(t,r,n,B.host,B.ssl,B.experimentalForceLongPolling,B.experimentalAutoDetectLongPolling,s2(B.experimentalLongPollingOptions),B.useFetchStreams,B.isUsingEmulator,s,B._customHeaders,B.grpcFlowControlWindow));e._componentsProvider||B.localCache?._offlineComponentProvider&&B.localCache?._onlineComponentProvider&&(e._componentsProvider={_offline:B.localCache._offlineComponentProvider,_online:B.localCache._onlineComponentProvider}),e._firestoreClient=new cQ(e._authCredentials,e._appCheckCredentials,e._queue,o,e._componentsProvider&&(i=e._componentsProvider,a=i?._online.build(),{_offline:i?._offline.build(a),_online:a}))}(e),e._firestoreClient}class Cl extends Ce{constructor(e){super(),this.firestore=e}convertBytes(e){return new sV(e)}convertReference(e){let t=this.convertDocumentKey(e,this.firestore._databaseId);
8return new iU(this.firestore,null,t)}}class Cu{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class Ch extends c9{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={}){if(this._document){if(this._converter){let t=new Cc(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(t,e)}return this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}}get(e,t={}){if(this._document){let r=this._document.data.field(an("DocumentSnapshot.get",e));if(null!==r)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new tB(ta.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let e=this._document,t={};return t.type=Ch._jsonSchemaVersion,t.bundle="",t.bundleSource="DocumentSnapshot",t.bundleName=this._key.toString(),e&&e.isValidDocument()&&e.isFoundDocument()&&(this._userDataWriter.convertObjectMap(e.data.value.mapValue.fields,"previous"),this._firestore,this.ref.path,t.bundle="NOT SUPPORTED"),t}}Ch._jsonSchemaVersion="firestore/documentSnapshot/1.0",Ch._jsonSchema={type:tb("string",Ch._jsonSchemaVersion),bundleSource:tb("string","DocumentSnapshot"),bundleName:tb("string"),bundle:tb("string")};class Cc extends Ch{data(e={}){return super.data(e)}}class CC{constructor(e,t,r,n){this._firestore=e,this._userDataWriter=t,this._snapshot=n,this.metadata=new Cu(n.hasPendingWrites,n.fromCache),this.query=r}get docs(){let e=[];return this.forEach(t=>e.push(t)),e}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(e,t){this._snapshot.docs.forEach(r=>{e.call(t,new Cc(this._firestore,this._userDataWriter,r.key,r,new Cu(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){let t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new tB(ta.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=function(e,t){if(e._snapshot.oldDocs.isEmpty()){let t=0;return e._snapshot.docChanges.map(r=>{om(e._snapshot.query)?uc(e._snapshot.query):nH(e.query._query);let n=new Cc(e._firestore,e._userDataWriter,r.doc.key,r.doc,new Cu(e._snapshot.mutatedKeys.has(r.doc.key),e._snapshot.fromCache),e.query.converter);return r.doc,{type:"added",doc:n,oldIndex:-1,newIndex:t++}})}{let r=e._snapshot.oldDocs;return e._snapshot.docChanges.filter(e=>t||3!==e.type).map(t=>{let n=new Cc(e._firestore,e._userDataWriter,t.doc.key,t.doc,new Cu(e._snapshot.mutatedKeys.has(t.doc.key),e._snapshot.fromCache),e.query.converter),s=-1,i=-1;return 0!==t.type&&(s=r.indexOf(t.doc.key),r=r.delete(t.doc.key)),1!==t.type&&(i=(r=r.add(t.doc)).indexOf(t.doc.key)),{type:function(e){switch(e){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return e2(61501,{type:e})}}(t.type),doc:n,oldIndex:s,newIndex:i}})}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new tB(ta.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let e={};e.type=CC._jsonSchemaVersion,e.bundleSource="QuerySnapshot",e.bundleName=e6.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))}),this._firestore,this.query._query,e.bundleName,e.bundle="NOT SUPPORTED",e}}
8CC._jsonSchemaVersion="firestore/querySnapshot/1.0",CC._jsonSchema={type:tb("string",CC._jsonSchemaVersion),bundleSource:tb("string","QuerySnapshot"),bundleName:tb("string"),bundle:tb("string")},e.s(["$",0,c4,"A",0,e0,"B",0,c5,"C",0,rZ,"D",0,Ch,"E",0,tg,"F",0,rX,"G",0,eQ,"H",0,c6,"I",0,iU,"J",0,c3,"K",0,an,"L",0,function(e,t){let r=new sQ;return e.asyncQueue.enqueueAndForget(async()=>(async function(e,t,r){try{let n=await e.persistence.runTransaction("read document","readonly",r=>e.localDocuments.getDocument(r,t));n.isFoundDocument()?r.resolve(n):n.isNoDocument()?r.resolve(null):r.reject(new tB(ta.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(n){let e=hN(n,`Failed to get document '${t} from cache`);r.reject(e)}})(await cX(e),t,r)),r.promise},"M",0,c8,"N",0,CC,"O",0,rf,"P",0,rR,"Q",0,iV,"R",0,function(e,t){let r=new sQ;return e.asyncQueue.enqueueAndForget(async()=>(async function(e,t,r){try{let n=await uZ(e,t,!0),s=new cn(t,n.Wo),i=s.Xu(n.documents),a=s.applyChanges(i,!1);r.resolve(a.snapshot)}catch(n){let e=hN(n,`Failed to execute query '${t} against cache`);r.reject(e)}})(await cX(e),t,r)),r.promise},"S",0,Cu,"T",0,tv,"U",0,nb,"V",0,c2,"W",0,function(e,t){let r=Co(e=t_(e,CB)),n=new Ca;return function(e,t,r,n){var s;let i=(s=sH(t),new hA(function(e){if(e instanceof Uint8Array)return u5(e,void 0);if(e instanceof ArrayBuffer)return u5(new Uint8Array(e),void 0);if(e instanceof ReadableStream)return e.getReader();throw Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream")}("string"==typeof r?n1().encode(r):r),s));e.asyncQueue.enqueueAndForget(async()=>{var t=await cZ(e);(async function(e,t,r){try{var n,s;let i,a=await t.getMetadata();if(await (n=e.localStore,i=sg(a.createTime),n.persistence.runTransaction("hasNewerBundle","readonly",e=>n.f_.getBundleMetadata(e,a.id)).then(e=>!!e&&e.createTime.compareTo(i)>=0)))return await t.close(),r._completeWith({taskState:"Success",documentsLoaded:a.totalDocuments,bytesLoaded:a.totalBytes,totalDocuments:a.totalDocuments,totalBytes:a.totalBytes}),Promise.resolve(new Set);r._updateProgress(ce(a));let B=new h7(a,t.serializer),o=await t.pa();for(;o;){let e=await B.$u(o);e&&r._updateProgress(e),o=await t.pa()}let l=await B.Qu(e.localStore);return await cb(e,l.Gu,void 0),await (s=e.localStore,s.persistence.runTransaction("Save bundle","readwrite",e=>s.f_.saveBundleMetadata(e,a))),r._completeWith(l.progress),Promise.resolve(l.Wu)}catch(e){return e0(cs,`Loading bundle failed with ${e}`),r._failWith(e),Promise.resolve(new Set)}})(t,i,n).then(e=>{t.sharedClientState.notifyBundleLoaded(e)})})}(r,e._databaseId,t,n),n},"X",0,function(e,t){var r;return(r=Co(e=t_(e,CB)),r.asyncQueue.enqueue(async()=>{var e;return e=await cX(r),e.persistence.runTransaction("Get named query","readonly",r=>e.f_.getNamedQuery(r,t))})).then(t=>t?new iV(e,null,t.query):null)},"Y",0,tm,"Z",0,function(e,t){let r=new hT(t);return e.asyncQueue.enqueueAndForget(async()=>{var t;return t=await c1(e),void(t.Du.add(r),r.next())}),()=>{r.Va(),e.asyncQueue.enqueueAndForget(async()=>{var t;return t=await c1(e),void t.Du.delete(r)})}},"_",0,sW,"a",0,s1,"a0",0,ai,"a1",0,nu,"a2",0,na,"a3",0,nh,"a4",0,function(e,t){return e.asyncQueue.enqueue(async()=>(async function(e,t){let r=e.indexManager,n=[];return e.persistence.runTransaction("Configure indexes","readwrite",e=>r.getFieldIndexes(e).next(s=>(function(e,t,r,n,s){t=[...t],(e=[...e]).sort(r),t.sort(r);let i=e.length,a=t.length,B=0,o=0;for(;B<a&&o<i;){let i=r(e[o],t[B]);i<0?s(e[o++]):i>0?n(t[B++]):(B++,o++)}for(;B<a;)n(t[B++]);for(;o<i;)s(e[o++])})(s,t,nl,t=>{n.push(r.addFieldIndex(e,t))},t=>{n.push(r.deleteFieldIndex(e,t))})).next(()=>iy.waitFor(n)))})(await cX(e),t))},"a5",0,c9,"a6",0,nN,"a7",0,re,"a8",0,tM,"a9",0,rz,"aI",0,function(...e){return new i8("arrayRemove",e)},"aJ",0,function(...e){return new i3("arrayUnion",e)},"aL",0,function(e,t,...r){if(e=(0,p.getModularInstance)(e),tD("collection","path",t),e instanceof iH){let n=tu.fromString(t,...r);return ty(n),new iJ(e,null,n)}{if(!(e instanceof iU||e instanceof iJ))throw new tB(ta.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let n=e._path.child(tu.fromString(t,...r));
8return ty(n),new iJ(e.firestore,null,n)}},"aM",0,function(e,t){if(e=t_(e,iH),tD("collectionGroup","collection id",t),t.indexOf("/")>=0)throw new tB(ta.INVALID_ARGUMENT,`Invalid collection ID '${t}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);return new iV(e,null,new nv(tu.emptyPath(),t))},"aQ",0,sJ,"aV",0,function(e,t){let r="object"==typeof e?e:(0,C.getApp)(),n=(0,C._getProvider)(r,"firestore").getImmediate({identifier:"string"==typeof e?e:t||tJ});if(!n._initialized){let e=(0,p.getDefaultEmulatorHostnameAndPort)("firestore");e&&function(e,t,r,n={}){e=t_(e,iH);let s=(0,p.isCloudWorkstation)(t),i=e._getSettings(),a={...i,emulatorOptions:e._getEmulatorOptions()},B=`${t}:${r}`;s&&(0,p.pingServer)(`https://${B}`),i.host!==iP&&i.host!==B&&e0("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.");let o={...i,host:B,ssl:s,emulatorOptions:n};if(!(0,p.deepEqual)(o,a)&&(e._setSettings(o),n.mockUserToken)){let t,r;if("string"==typeof n.mockUserToken)t=n.mockUserToken,r=sj.MOCK_USER;else{t=(0,p.createMockUserToken)(n.mockUserToken,e._app?.options.projectId);let s=n.mockUserToken.sub||n.mockUserToken.user_id;if(!s)throw new tB(ta.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");r=new sj(s)}e._authCredentials=new sY(new sz(t,r))}}(n,...e)}return n},"aa",0,nS,"ab",0,tu,"ac",0,tI,"ad",0,Cr,"ae",0,e2,"af",0,function(e){if(n0)throw Error("a TestingHooksSpi instance is already set");n0=e},"ag",0,function(e,t){return e.asyncQueue.enqueue(async()=>{var r;return r=await cX(e),void(r.No.yo=t)})},"ah",0,cH,"ai",0,cJ,"aj",0,cV,"ak",0,class extends cU{constructor(e,t){super(e,t,!1),this.Oc=e,this.cacheSizeBytes=t,this.synchronizeTabs=!0}async initialize(e){await super.initialize(e);let t=this.Oc.syncEngine;this.sharedClientState instanceof hj&&(this.sharedClientState.syncEngine={Au:cF.bind(null,t),Vu:ck.bind(null,t),du:cG.bind(null,t),Ro:cR.bind(null,t),Ru:cA.bind(null,t)},await this.sharedClientState.start()),await this.persistence.eo(async e=>{await cO(this.Oc.syncEngine,e),this.gcScheduler&&(e&&!this.gcScheduler.started?this.gcScheduler.start():e||this.gcScheduler.stop()),this.indexBackfillerScheduler&&(e&&!this.indexBackfillerScheduler.started?this.indexBackfillerScheduler.start():e||this.indexBackfillerScheduler.stop())})}vc(e){let t=hz();if(!hj.Ye(t))throw new tB(ta.UNIMPLEMENTED,"IndexedDB persistence is only available on platforms that support LocalStorage.");let r=uV(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey);return new hj(t,e.asyncQueue,r,e.clientId,e.initialUser)}},"al",0,cU,"am",0,e$,"b",0,tK,"b0",0,function(){return new i2("serverTimestamp")},"c",0,nO,"d",0,CB,"e",0,nk,"f",0,tB,"g",0,i4,"h",0,nL,"i",0,nn,"j",0,nx,"k",0,nR,"l",0,iX,"m",0,Ct,"n",0,iZ,"o",0,sU,"p",0,i5,"q",0,i6,"r",0,rj,"s",0,t_,"t",0,ta,"u",0,Cl,"v",0,iq,"w",0,function(e,t){return e=(0,p.getModularInstance)(e),t=(0,p.getModularInstance)(t),e instanceof iV&&t instanceof iV&&e.firestore===t.firestore&&nG(e._query,t._query)&&e.converter===t.converter},"x",0,Co,"y",0,function(e){return e.asyncQueue.enqueue(async()=>{var t;let r;return r=(t=await cX(e)).indexManager,t.persistence.runTransaction("Delete All Indexes","readwrite",e=>r.deleteAllFieldIndexes(e))})},"z",0,eX],630740);class Cd{constructor(e="count",t){this._internalFieldPath=t,this.type="AggregateField",this.aggregateType=e}}class Cf{constructor(e,t,r){this._userDataWriter=t,this._data=r,this.type="AggregateQuerySnapshot",this.query=e}data(){return this._userDataWriter.convertObjectMap(this._data)}_fieldsProto(){return new rf({mapValue:{fields:this._data}}).clone().value.mapValue.fields}}function Cg(e){if("L"===e.limitType&&0===e.explicitOrderBy.length)throw new tB(ta.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class Cp{}class Cm extends Cp{}class CD extends Cm{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new CD(e,t,r)}_apply(e){let t=this._parse(e);return CS(e._query,t),new iV(e.firestore,e.converter,nO(e._query,t))}_parse(e){let t=iX(e.firestore);return function(e,t,r,n,s,i,a){let B;
8if(s.isKeyField()){if("array-contains"===i||"array-contains-any"===i)throw new tB(ta.INVALID_ARGUMENT,`Invalid Query. You can't perform '${i}' queries on documentId().`);if("in"===i||"not-in"===i){CT(a,i);let t=[];for(let r of a)t.push(Cb(n,e,r));B={arrayValue:{values:t}}}else B=Cb(n,e,a)}else"in"!==i&&"not-in"!==i&&"array-contains-any"!==i||CT(a,i),B=i4(r,t,a,"in"===i||"not-in"===i);return rX.create(s,i,B)}(e._query,"where",t,e.firestore._databaseId,this._field,this._op,this._value)}}class CE extends Cp{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(e,t){return new CE(e,t)}_parse(e){let t=this._queryConstraints.map(t=>t._parse(e)).filter(e=>e.getFilters().length>0);return 1===t.length?t[0]:rZ.create(t,this._getOperator())}_apply(e){let t=this._parse(e);return 0===t.getFilters().length?e:(function(e,t){let r=e;for(let e of t.getFlattenedFilters())CS(r,e),r=nO(r,e)}(e._query,t),new iV(e.firestore,e.converter,nO(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return"and"===this.type?"and":"or"}}class Cy extends Cm{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new Cy(e,t)}_apply(e){let t=function(e,t,r){if(null!==e.startAt)throw new tB(ta.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(null!==e.endAt)throw new tB(ta.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new nn(t,r)}(e._query,this._field,this._direction);return new iV(e.firestore,e.converter,nx(e._query,t))}}class Cw extends Cm{constructor(e,t,r){super(),this.type=e,this._limit=t,this._limitType=r}static _create(e,t,r){return new Cw(e,t,r)}_apply(e){return new iV(e.firestore,e.converter,nL(e._query,this._limit,this._limitType))}}class CI extends Cm{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new CI(e,t,r)}_apply(e){let t=Cv(e,this.type,this._docOrFields,this._inclusive);return new iV(e.firestore,e.converter,nR(e._query,t))}}class C_ extends Cm{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new C_(e,t,r)}_apply(e){let t=Cv(e,this.type,this._docOrFields,this._inclusive);return new iV(e.firestore,e.converter,nk(e._query,t))}}function Cv(e,t,r,n){if(r[0]=(0,p.getModularInstance)(r[0]),r[0]instanceof c9)return function(e,t,r,n,s){if(!n)throw new tB(ta.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${r}().`);let i=[];for(let r of nN(e))if(r.field.isKeyField())i.push(re(t,n.key));else{let e=n.data.field(r.field);if(tM(e))throw new tB(ta.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field "'+r.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=r.field.canonicalString();throw new tB(ta.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.`)}i.push(e)}return new rz(i,s)}(e._query,e.firestore._databaseId,t,r[0]._document,n);{let s=iX(e.firestore);return function(e,t,r,n,s,i){let a=e.explicitOrderBy;if(s.length>a.length)throw new tB(ta.INVALID_ARGUMENT,`Too many arguments provided to ${n}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);let B=[];for(let i=0;i<s.length;i++){let o=s[i];if(a[i].field.isKeyField()){if("string"!=typeof o)throw new tB(ta.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${n}(), but got a ${typeof o}`);if(!nS(e)&&-1!==o.indexOf("/"))throw new tB(ta.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${n}() must be a plain document ID, but '${o}' contains a slash.`);let r=e.path.child(tu.fromString(o));if(!tm.isDocumentKey(r))throw new tB(ta.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${n}() must result in a valid document path, but '${r}
8' is not because it contains an odd number of segments.`);let s=new tm(r);B.push(re(t,s))}else{let e=i4(r,n,o);B.push(e)}}return new rz(B,i)}(e._query,e.firestore._databaseId,s,t,r,n)}}function Cb(e,t,r){if("string"==typeof(r=(0,p.getModularInstance)(r))){if(""===r)throw new tB(ta.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!nS(t)&&-1!==r.indexOf("/"))throw new tB(ta.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${r}' contains a '/' character.`);let n=t.path.child(tu.fromString(r));if(!tm.isDocumentKey(n))throw new tB(ta.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}).`);return re(e,new tm(n))}if(r instanceof iU)return re(e,r._key);throw new tB(ta.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${tI(r)}.`)}function CT(e,t){if(!Array.isArray(e)||0===e.length)throw new tB(ta.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function CS(e,t){let r=function(e,t){for(let r of e)for(let e of r.getFlattenedFilters())if(t.indexOf(e.op)>=0)return e.op;return null}(e.filters,function(e){switch(e){case"!=":return["!=","not-in"];case"array-contains-any":case"in":return["not-in"];case"not-in":return["array-contains-any","in","not-in","!="];default:return[]}}(t.op));if(null!==r)throw r===t.op?new tB(ta.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new tB(ta.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${r.toString()}' filters.`)}function CN(e){if("object"!=typeof e||null===e)return!1;for(let t of["next","error","complete"])if(t in e&&"function"==typeof e[t])return!0;return!1}let CA={maxAttempts:5};class CF{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=iX(e)}set(e,t,r){this._verifyNotCommitted();let n=CO(e,this._firestore),s=Ct(n.converter,t,r),i=iZ(this._dataReader,"WriteBatch.set",n._key,s,null!==n.converter,r);return this._mutations.push(i.toMutation(n._key,rR.none())),this}update(e,t,r,...n){let s;this._verifyNotCommitted();let i=CO(e,this._firestore);return s="string"==typeof(t=(0,p.getModularInstance)(t))||t instanceof sU?i5(this._dataReader,"WriteBatch.update",i._key,t,r,n):i6(this._dataReader,"WriteBatch.update",i._key,t),this._mutations.push(s.toMutation(i._key,rR.exists(!0))),this}delete(e){this._verifyNotCommitted();let t=CO(e,this._firestore);return this._mutations=this._mutations.concat(new rj(t._key,rR.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,this._mutations.length>0?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new tB(ta.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}}function CO(e,t){if((e=(0,p.getModularInstance)(e)).firestore!==t)throw new tB(ta.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return e}let Cx=class{constructor(e,t){this._firestore=e,this._transaction=t,this._dataReader=iX(e)}get(e){let t=CO(e,this._firestore),r=new Cr(this._firestore);return this._transaction.lookup([t._key]).then(e=>{if(!e||1!==e.length)return e2(24041);let n=e[0];if(n.isFoundDocument())return new c9(this._firestore,r,n.key,n,t.converter);if(n.isNoDocument())return new c9(this._firestore,r,t._key,null,t.converter);throw e2(18433,{doc:n})})}set(e,t,r){let n=CO(e,this._firestore),s=Ct(n.converter,t,r),i=iZ(this._dataReader,"Transaction.set",n._key,s,null!==n.converter,r);return this._transaction.set(n._key,i),this}update(e,t,r,...n){let s,i=CO(e,this._firestore);return s="string"==typeof(t=(0,p.getModularInstance)(t))||t instanceof sU?i5(this._dataReader,"Transaction.update",i._key,t,r,n):i6(this._dataReader,"Transaction.update",i._key,t),this._transaction.update(i._key,s),this}delete(e){let t=CO(e,this._firestore);return this._transaction.delete(t._key),this}};class CL extends Cx{constructor(e,t){super(e,t),this._firestore=e}get(e){let t=CO(e,this._firestore),r=new Cl(this._firestore);return super.get(e).then(e=>new Ch(this._firestore,r,t._key,e._document,new Cu(!1,!1),t.converter))}}function CR(e,t){return c5(Co(e),t)}function Ck(e,t,r){let n=r.docs.get(t._key),s=new Cl(e);return new Ch(e,s,t._key,n,new Cu(r.hasPendingWrites,r.fromCache),t.converter)}new WeakMap;let CG="@firebase/firestore",CP="4.17.2";!function(e=!0){e$(C.SDK_VERSION),(0,C._registerComponent)(new d.Component("firestore",(t,{instanceIdentifier:r,options:n})=>{let s=t.getProvider("app").getImmediate(),i=new CB(new sW(t.getProvider("auth-internal")),new s1(s,t.getProvider("app-check-internal")),tK(s,r),s);return n={useFetchStreams:e,...n},i._setSettings(n),i},"PUBLIC").setMultipleInstances(!0)),(0,C.registerVersion)(CG,CP,void 0),(0,C.registerVersion)(CG,CP,"esm2020")}(),e.s(["addDoc",0,function(e,t){let r=t_(e.firestore,CB),n=iq(e),s=Ct(e.converter,t);
8return CR(r,[iZ(iX(e.firestore),"addDoc",n._key,s,null!==e.converter,{}).toMutation(n._key,rR.exists(!1))]).then(()=>n)},"deleteDoc",0,function(e){return CR(t_(e.firestore,CB),[new rj(e._key,rR.none())])},"endBefore",0,function(...e){return C_._create("endBefore",e,!1)},"getCountFromServer",0,function(e){var t,r;let n,s,i;return t=e,r={count:new Cd("count")},s=Co(n=t_(t.firestore,CB)),i=tg(r,(e,t)=>new eQ(t,e.aggregateType,e._internalFieldPath)),c6(s,t._query,i).then(e=>new Cf(t,new Cl(n),e))},"getDoc",0,function(e){e=t_(e,iU);let t=t_(e.firestore,CB);return c3(Co(t),e._key).then(r=>Ck(t,e,r))},"getDocs",0,function(e){e=t_(e,iV);let t=t_(e.firestore,CB),r=Co(t),n=new Cl(t);return Cg(e._query),c8(r,e._query).then(r=>new CC(t,n,e,r))},"limit",0,function(e){return tv("limit",e),Cw._create("limit",e,"F")},"limitToLast",0,function(e){return tv("limitToLast",e),Cw._create("limitToLast",e,"L")},"onSnapshot",0,function(e,...t){let r,n,s;e=(0,p.getModularInstance)(e);let i={includeMetadataChanges:!1,source:"default"},a=0;"object"!=typeof t[0]||CN(t[a])||(i=t[a++]);let B={includeMetadataChanges:i.includeMetadataChanges,source:i.source};if(CN(t[a])){let e=t[a];t[a]=e.next?.bind(e),t[a+1]=e.error?.bind(e),t[a+2]=e.complete?.bind(e)}if(e instanceof iU)n=t_(e.firestore,CB),s=nb(e._key.path),r={next:r=>{t[a]&&t[a](Ck(n,e,r))},error:t[a+1],complete:t[a+2]};else{let i=t_(e,iV);n=t_(i.firestore,CB),s=i._query;let B=new Cl(n);r={next:e=>{t[a]&&t[a](new CC(n,B,i,e))},error:t[a+1],complete:t[a+2]},Cg(e._query)}return c2(Co(n),s,B,r)},"orderBy",0,function(e,t="asc"){let r=an("orderBy",e);return Cy._create(r,t)},"query",0,function(e,t,...r){let n=[];for(let s of(t instanceof Cp&&n.push(t),function(e){let t=e.filter(e=>e instanceof CE).length,r=e.filter(e=>e instanceof CD).length;if(t>1||t>0&&r>0)throw new tB(ta.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(...)))`.")}(n=n.concat(r)),n))e=s._apply(e);return e},"runTransaction",0,function(e,t,r){e=t_(e,CB);let n={...CA,...r};if(n.maxAttempts<1)throw new tB(ta.INVALID_ARGUMENT,"Max attempts must be at least 1");return c4(Co(e),r=>t(new CL(e,r)),n)},"setDoc",0,function(e,t,r){e=t_(e,iU);let n=t_(e.firestore,CB),s=Ct(e.converter,t,r),i=iX(n);return CR(n,[iZ(i,"setDoc",e._key,s,null!==e.converter,r).toMutation(e._key,rR.none())])},"startAfter",0,function(...e){return CI._create("startAfter",e,!1)},"updateDoc",0,function(e,t,r,...n){e=t_(e,iU);let s=t_(e.firestore,CB),i=iX(s);return CR(s,[("string"==typeof(t=(0,p.getModularInstance)(t))||t instanceof sU?i5(i,"updateDoc",e._key,t,r,n):i6(i,"updateDoc",e._key,t)).toMutation(e._key,rR.exists(!0))])},"where",0,function(e,t,r){let n=an("where",e);return CD._create(n,t,r)},"writeBatch",0,function(e){return Co(e=t_(e,CB)),new CF(e,t=>CR(e,t))}],615051),e.s([],436180)},25794,e=>{"use strict";var t,r;let n=[];(r=t||(t={}))[r.DEBUG=0]="DEBUG",r[r.VERBOSE=1]="VERBOSE",r[r.INFO=2]="INFO",r[r.WARN=3]="WARN",r[r.ERROR=4]="ERROR",r[r.SILENT=5]="SILENT";let s={debug:t.DEBUG,verbose:t.VERBOSE,info:t.INFO,warn:t.WARN,error:t.ERROR,silent:t.SILENT},i=t.INFO,a={[t.DEBUG]:"log",[t.VERBOSE]:"log",[t.INFO]:"info",[t.WARN]:"warn",[t.ERROR]:"error"},B=(e,t,...r)=>{if(t<e.logLevel)return;let n=new Date().toISOString(),s=a[t];if(s)console[s](`[${n}] ${e.name}:`,...r);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)};e.s(["LogLevel",0,t,"Logger",0,class{constructor(e){this.name=e,this._logLevel=i,this._logHandler=B,this._userLogHandler=null,n.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in t))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?s[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw 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,t.DEBUG,...e),this._logHandler(this,t.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,t.VERBOSE,...e),this._logHandler(this,t.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,t.INFO,...e),this._logHandler(this,t.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,t.WARN,...e),this._logHandler(this,t.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,t.ERROR,...e),this._logHandler(this,t.ERROR,...e)}}])},836675,e=>{"use strict";var t,r,n="u">typeof globalThis?globalThis:"u">typeof window?window:e.g,s={};(function(){function e(){this.blockSize=-1,this.blockSize=64,this.g=[,,,,],this.C=Array(this.blockSize),this.o=this.h=0,this.u()}var n=function(){this.blockSize=-1};function i(){}function a(e,t,r){r||(r=0);let 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],s=e.g[2];let i=e.g[3],a;a=t+(i^r&(s^i))+n[0]+0xd76aa478|0,a=i+(s^(t=r+(a<<7|a>>>25))&(r^s))+n[1]+0xe8c7b756|0,a=s+(r^(i=t+(a<<12|a>>>20))&(t^r))+n[2]+0x242070db|0,a=r+(t^(s=i+(a<<17|a>>>15))&(i^t))+n[3]+0xc1bdceee|0,a=t+(i^(r=s+(a<<22|a>>>10))&(s^i))+n[4]+0xf57c0faf|0,a=i+(s^(t=r+(a<<7|a>>>25))&(r^s))+n[5]+0x4787c62a|0,a=s+(r^(i=t+(a<<12|a>>>20))&(t^r))+n[6]+0xa8304613|0,a=r+(t^(s=i+(a<<17|a>>>
815))&(i^t))+n[7]+0xfd469501|0,a=t+(i^(r=s+(a<<22|a>>>10))&(s^i))+n[8]+0x698098d8|0,a=i+(s^(t=r+(a<<7|a>>>25))&(r^s))+n[9]+0x8b44f7af|0,a=s+(r^(i=t+(a<<12|a>>>20))&(t^r))+n[10]+0xffff5bb1|0,a=r+(t^(s=i+(a<<17|a>>>15))&(i^t))+n[11]+0x895cd7be|0,a=t+(i^(r=s+(a<<22|a>>>10))&(s^i))+n[12]+0x6b901122|0,a=i+(s^(t=r+(a<<7|a>>>25))&(r^s))+n[13]+0xfd987193|0,a=s+(r^(i=t+(a<<12|a>>>20))&(t^r))+n[14]+0xa679438e|0,a=r+(t^(s=i+(a<<17|a>>>15))&(i^t))+n[15]+0x49b40821|0,r=s+(a<<22|a>>>10),a=t+(s^i&(r^s))+n[1]+0xf61e2562|0,t=r+(a<<5|a>>>27),a=i+(r^s&(t^r))+n[6]+0xc040b340|0,i=t+(a<<9|a>>>23),a=s+(t^r&(i^t))+n[11]+0x265e5a51|0,s=i+(a<<14|a>>>18),a=r+(i^t&(s^i))+n[0]+0xe9b6c7aa|0,r=s+(a<<20|a>>>12),a=t+(s^i&(r^s))+n[5]+0xd62f105d|0,t=r+(a<<5|a>>>27),a=i+(r^s&(t^r))+n[10]+0x2441453|0,i=t+(a<<9|a>>>23),a=s+(t^r&(i^t))+n[15]+0xd8a1e681|0,s=i+(a<<14|a>>>18),a=r+(i^t&(s^i))+n[4]+0xe7d3fbc8|0,r=s+(a<<20|a>>>12),a=t+(s^i&(r^s))+n[9]+0x21e1cde6|0,t=r+(a<<5|a>>>27),a=i+(r^s&(t^r))+n[14]+0xc33707d6|0,i=t+(a<<9|a>>>23),a=s+(t^r&(i^t))+n[3]+0xf4d50d87|0,s=i+(a<<14|a>>>18),a=r+(i^t&(s^i))+n[8]+0x455a14ed|0,r=s+(a<<20|a>>>12),a=t+(s^i&(r^s))+n[13]+0xa9e3e905|0,t=r+(a<<5|a>>>27),a=i+(r^s&(t^r))+n[2]+0xfcefa3f8|0,i=t+(a<<9|a>>>23),a=s+(t^r&(i^t))+n[7]+0x676f02d9|0,s=i+(a<<14|a>>>18),a=r+(i^t&(s^i))+n[12]+0x8d2a4c8a|0,a=t+((r=s+(a<<20|a>>>12))^s^i)+n[5]+0xfffa3942|0,a=i+((t=r+(a<<4|a>>>28))^r^s)+n[8]+0x8771f681|0,a=s+((i=t+(a<<11|a>>>21))^t^r)+n[11]+0x6d9d6122|0,a=r+((s=i+(a<<16|a>>>16))^i^t)+n[14]+0xfde5380c|0,a=t+((r=s+(a<<23|a>>>9))^s^i)+n[1]+0xa4beea44|0,a=i+((t=r+(a<<4|a>>>28))^r^s)+n[4]+0x4bdecfa9|0,a=s+((i=t+(a<<11|a>>>21))^t^r)+n[7]+0xf6bb4b60|0,a=r+((s=i+(a<<16|a>>>16))^i^t)+n[10]+0xbebfbc70|0,a=t+((r=s+(a<<23|a>>>9))^s^i)+n[13]+0x289b7ec6|0,a=i+((t=r+(a<<4|a>>>28))^r^s)+n[0]+0xeaa127fa|0,a=s+((i=t+(a<<11|a>>>21))^t^r)+n[3]+0xd4ef3085|0,a=r+((s=i+(a<<16|a>>>16))^i^t)+n[6]+0x4881d05|0,a=t+((r=s+(a<<23|a>>>9))^s^i)+n[9]+0xd9d4d039|0,a=i+((t=r+(a<<4|a>>>28))^r^s)+n[12]+0xe6db99e5|0,a=s+((i=t+(a<<11|a>>>21))^t^r)+n[15]+0x1fa27cf8|0,a=r+((s=i+(a<<16|a>>>16))^i^t)+n[2]+0xc4ac5665|0,r=s+(a<<23|a>>>9),a=t+(s^(r|~i))+n[0]+0xf4292244|0,t=r+(a<<6|a>>>26),a=i+(r^(t|~s))+n[7]+0x432aff97|0,i=t+(a<<10|a>>>22),a=s+(t^(i|~r))+n[14]+0xab9423a7|0,s=i+(a<<15|a>>>17),a=r+(i^(s|~t))+n[5]+0xfc93a039|0,r=s+(a<<21|a>>>11),a=t+(s^(r|~i))+n[12]+0x655b59c3|0,t=r+(a<<6|a>>>26),a=i+(r^(t|~s))+n[3]+0x8f0ccc92|0,i=t+(a<<10|a>>>22),a=s+(t^(i|~r))+n[10]+0xffeff47d|0,s=i+(a<<15|a>>>17),a=r+(i^(s|~t))+n[1]+0x85845dd1|0,r=s+(a<<21|a>>>11),a=t+(s^(r|~i))+n[8]+0x6fa87e4f|0,t=r+(a<<6|a>>>26),a=i+(r^(t|~s))+n[15]+0xfe2ce6e0|0,i=t+(a<<10|a>>>22),a=s+(t^(i|~r))+n[6]+0xa3014314|0,s=i+(a<<15|a>>>17),a=r+(i^(s|~t))+n[13]+0x4e0811a1|0,r=s+(a<<21|a>>>11),a=t+(s^(r|~i))+n[4]+0xf7537e82|0,t=r+(a<<6|a>>>26),a=i+(r^(t|~s))+n[11]+0xbd3af235|0,i=t+(a<<10|a>>>22),a=s+(t^(i|~r))+n[2]+0x2ad7d2bb|0,s=i+(a<<15|a>>>17),a=r+(i^(s|~t))+n[9]+0xeb86d391|0,e.g[0]=e.g[0]+t|0,e.g[1]=e.g[1]+(s+(a<<21|a>>>11))|0,e.g[2]=e.g[2]+s|0,e.g[3]=e.g[3]+i|0}function B(e,t){this.h=t;let r=[],n=!0;for(let s=e.length-1;s>=0;s--){let i=0|e[s];n&&i==t||(r[s]=i,n=!1)}this.g=r}i.prototype=n.prototype,e.F=n.prototype,e.prototype=new i,e.prototype.constructor=e,e.D=function(e,t,r){for(var s=Array(arguments.length-2),i=2;i<arguments.length;i++)s[i-2]=arguments[i];return n.prototype[t].apply(e,s)},e.prototype.u=function(){this.g[0]=0x67452301,this.g[1]=0xefcdab89,this.g[2]=0x98badcfe,this.g[3]=0x10325476,this.o=this.h=0},e.prototype.v=function(e,t){void 0===t&&(t=e.length);let r=t-this.blockSize,n=this.C,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},e.prototype.A=function(){var e=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);e[0]=128;for(var t=1;t<e.length-8;++t)e[t]=0;t=8*this.o;for(var r=e.length-8;r<e.length;++r)e[r]=255&t,t/=256;for(this.v(e),e=Array(16),t=0,r=0;r<4;++r)for(let n=0;n<32;n+=8)e[t++]=this.g[r]>>>n&255;return e};var o,l={};function u(e){var t;return -128<=e&&e<128?(t=function(e){return new B([0|e],e<0?-1:0)},Object.prototype.hasOwnProperty.call(l,e)?l[e]:l[e]=t(e)):new B([0|e],e<0?-1:0)}function h(e){if(isNaN(e)||!isFinite(e))return c;if(e<0)return p(h(-e));let t=[],r=1;for(let n=0;e>=r;n++)t[n]=e/r|0,r*=0x100000000;return new B(t,0)}var c=u(0),C=u(1),d=u(0x1000000);function f(e){if(0!=e.h)return!1;for(let t=0;t<e.g.length;t++)if(0!=e.g[t])return!1;return!0}function g(e){return -1==e.h}function p(e){let t=e.g.length,r=[];for(let n=0;n<t;n++)r[n]=~e.g[n];return new B(r,~e.h).add(C)}function m(e,t){return e.add(p(t))}function D(e,t){for(;(65535&e[t])!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function E(e,t){this.g=e,this.h=t}function y(e,t){if(f(t))throw Error("division by zero");if(f(e))return new E(c,c);if(g(e))return t=y(p(e),t),new E(p(t.g),p(t.h));if(g(t))return t=y(e,p(t)),new E(p(t.g),t.h);if(e.g.length>
830){if(g(e)||g(t))throw Error("slowDivide_ only works with positive integers.");for(var r=C,n=t;0>=n.l(e);)r=w(r),n=w(n);var s=I(r,1),i=I(n,1);for(n=I(n,2),r=I(r,2);!f(n);){var a=i.add(n);0>=a.l(e)&&(s=s.add(r),i=a),n=I(n,1),r=I(r,1)}return t=m(e,s.j(t)),new E(s,t)}for(s=c;e.l(t)>=0;){for(n=(n=Math.ceil(Math.log(r=Math.max(1,Math.floor(e.m()/t.m())))/Math.LN2))<=48?1:Math.pow(2,n-48),a=(i=h(r)).j(t);g(a)||a.l(e)>0;)r-=n,a=(i=h(r)).j(t);f(i)&&(i=C),s=s.add(i),e=m(e,a)}return new E(s,e)}function w(e){let 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 B(r,e.h)}function I(e,t){let r=t>>5;t%=32;let n=e.g.length-r,s=[];for(let i=0;i<n;i++)s[i]=t>0?e.i(i+r)>>>t|e.i(i+r+1)<<32-t:e.i(i+r);return new B(s,e.h)}(o=B.prototype).m=function(){if(g(this))return-p(this).m();let e=0,t=1;for(let r=0;r<this.g.length;r++){let n=this.i(r);e+=(n>=0?n:0x100000000+n)*t,t*=0x100000000}return e},o.toString=function(e){if((e=e||10)<2||36<e)throw Error("radix out of range: "+e);if(f(this))return"0";if(g(this))return"-"+p(this).toString(e);let t=h(Math.pow(e,6));var r=this;let n="";for(;;){let s=y(r,t).g,i=(((r=m(r,s.j(t))).g.length>0?r.g[0]:r.h)>>>0).toString(e);if(f(r=s))return i+n;for(;i.length<6;)i="0"+i;n=i+n}},o.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},o.l=function(e){return g(e=m(this,e))?-1:+!f(e)},o.abs=function(){return g(this)?p(this):this},o.add=function(e){let t=Math.max(this.g.length,e.g.length),r=[],n=0;for(let s=0;s<=t;s++){let t=n+(65535&this.i(s))+(65535&e.i(s)),i=(t>>>16)+(this.i(s)>>>16)+(e.i(s)>>>16);n=i>>>16,t&=65535,i&=65535,r[s]=i<<16|t}return new B(r,-0x80000000&r[r.length-1]?-1:0)},o.j=function(e){if(f(this)||f(e))return c;if(g(this))return g(e)?p(this).j(p(e)):p(p(this).j(e));if(g(e))return p(this.j(p(e)));if(0>this.l(d)&&0>e.l(d))return h(this.m()*e.m());let t=this.g.length+e.g.length,r=[];for(var n=0;n<2*t;n++)r[n]=0;for(n=0;n<this.g.length;n++)for(let t=0;t<e.g.length;t++){let s=this.i(n)>>>16,i=65535&this.i(n),a=e.i(t)>>>16,B=65535&e.i(t);r[2*n+2*t]+=i*B,D(r,2*n+2*t),r[2*n+2*t+1]+=s*B,D(r,2*n+2*t+1),r[2*n+2*t+1]+=i*a,D(r,2*n+2*t+1),r[2*n+2*t+2]+=s*a,D(r,2*n+2*t+2)}for(e=0;e<t;e++)r[e]=r[2*e+1]<<16|r[2*e];for(e=t;e<2*t;e++)r[e]=0;return new B(r,0)},o.B=function(e){return y(this,e).h},o.and=function(e){let 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 B(r,this.h&e.h)},o.or=function(e){let 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 B(r,this.h|e.h)},o.xor=function(e){let 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 B(r,this.h^e.h)},e.prototype.digest=e.prototype.A,e.prototype.reset=e.prototype.u,e.prototype.update=e.prototype.v,r=s.Md5=e,B.prototype.add=B.prototype.add,B.prototype.multiply=B.prototype.j,B.prototype.modulo=B.prototype.B,B.prototype.compare=B.prototype.l,B.prototype.toNumber=B.prototype.m,B.prototype.toString=B.prototype.toString,B.prototype.getBits=B.prototype.i,B.fromNumber=h,B.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 p(e(t.substring(1),r));if(t.indexOf("-")>=0)throw Error('number format error: interior "-" character');let n=h(Math.pow(r,8)),s=c;for(let e=0;e<t.length;e+=8){var i=Math.min(8,t.length-e);let a=parseInt(t.substring(e,e+i),r);i<8?(i=h(Math.pow(r,i)),s=s.j(i).add(h(a))):s=(s=s.j(n)).add(h(a))}return s},t=s.Integer=B}).apply(void 0!==n?n:"u">typeof self?self:"u">typeof window?window:{}),e.s(["Integer",()=>t,"Md5",()=>r])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.