cyrus-studio 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/dist/assets/AuthDialog-DMFwGmtj.js +1 -0
- package/dist/assets/CanvaSaveModal-BqSV1mos.js +9 -0
- package/dist/assets/CodingWorkspace-DXrWaTKZ.js +6 -0
- package/dist/assets/CreateAppDialog-DrBGyMVl.js +1236 -0
- package/dist/assets/CreateProjectDialog-JxYrZUv2.js +1 -0
- package/dist/assets/HistoryTimelineDialog-CAe6Hwyd.js +1 -0
- package/dist/assets/ImportModal-Cqy4Yhch.js +83 -0
- package/dist/assets/KeyboardShortcutsDialog-DqFAVzC4.js +1 -0
- package/dist/assets/LiveRuntimeWorkspace-yO2gI0_O.js +1 -0
- package/dist/assets/ShareExportDialog-BKmEqa2s.js +1 -0
- package/dist/assets/UserProfileDialog-BbU1jbKF.js +1 -0
- package/dist/assets/WelcomeOnboardingModal-BhTkmyMT.js +1 -0
- package/dist/assets/index-BewtY0Hs.js +793 -0
- package/dist/assets/index-CLJJIBPe.css +2 -0
- package/dist/assets/reactTsGenerator-CkYUg1Bs.js +1330 -0
- package/dist/assets/rolldown-runtime-W7wSyTde.js +1 -0
- package/dist/assets/themes-CNabH9CH.js +1 -0
- package/dist/assets/typechecker-BbGTunMD.js +2 -0
- package/dist/assets/vendor-firebase-DHYCsgNh.js +32 -0
- package/dist/assets/vendor-icons-M_KBtuE-.js +13 -0
- package/dist/assets/vendor-jszip-Cv4gVObP.js +2 -0
- package/dist/assets/vendor-react-BTEcvIpc.js +227 -0
- package/dist/assets/vendor-utils-3OgY5Lif.js +1 -0
- package/dist/favicon.svg +1 -0
- package/dist/icons.svg +24 -0
- package/dist/index.html +50 -0
- package/dist/login-bg.png +0 -0
- package/dist/test-sdk-sandbox.html +125 -0
- package/package.json +65 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var e=()=>void 0,t=function(e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=i&63|128):(i&64512)==55296&&r+1<e.length&&(e.charCodeAt(r+1)&64512)==56320?(i=65536+((i&1023)<<10)+(e.charCodeAt(++r)&1023),t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=i&63|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128)}return t},n=function(e){let t=[],n=0,r=0;for(;n<e.length;){let i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){let a=e[n++];t[r++]=String.fromCharCode((i&31)<<6|a&63)}else if(i>239&&i<365){let a=e[n++],o=e[n++],s=e[n++],c=((i&7)<<18|(a&63)<<12|(o&63)<<6|s&63)-65536;t[r++]=String.fromCharCode(55296+(c>>10)),t[r++]=String.fromCharCode(56320+(c&1023))}else{let a=e[n++],o=e[n++];t[r++]=String.fromCharCode((i&15)<<12|(a&63)<<6|o&63)}}return t.join(``)},r={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:typeof atob==`function`,encodeByteArray(e,t){if(!Array.isArray(e))throw Error(`encodeByteArray takes an array as a parameter`);this.init_();let n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let t=0;t<e.length;t+=3){let i=e[t],a=t+1<e.length,o=a?e[t+1]:0,s=t+2<e.length,c=s?e[t+2]:0,l=i>>2,u=(i&3)<<4|o>>4,d=(o&15)<<2|c>>6,f=c&63;s||(f=64,a||(d=64)),r.push(n[l],n[u],n[d],n[f])}return r.join(``)},encodeString(e,n){return this.HAS_NATIVE_SUPPORT&&!n?btoa(e):this.encodeByteArray(t(e),n)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):n(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t<e.length;){let a=n[e.charAt(t++)],o=t<e.length?n[e.charAt(t)]:0;++t;let s=t<e.length?n[e.charAt(t)]:64;++t;let c=t<e.length?n[e.charAt(t)]:64;if(++t,a==null||o==null||s==null||c==null)throw new i;let l=a<<2|o>>4;if(r.push(l),s!==64){let e=o<<4&240|s>>2;if(r.push(e),c!==64){let e=s<<6&192|c;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},i=class extends Error{constructor(){super(...arguments),this.name=`DecodeBase64StringError`}},a=function(e){let n=t(e);return r.encodeByteArray(n,!0)},o=function(e){return a(e).replace(/\./g,``)},s=function(e){try{return r.decodeString(e,!0)}catch(e){console.error(`base64Decode failed: `,e)}return null};function c(){if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`Unable to locate global object.`)}var l=()=>c().__FIREBASE_DEFAULTS__,u=()=>{if(typeof process>`u`)return;let e={}.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},d=()=>{if(typeof document>`u`)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}let t=e&&s(e[1]);return t&&JSON.parse(t)},f=()=>{try{return e()||l()||u()||d()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},p=e=>f()?.emulatorHosts?.[e],m=e=>{let t=p(e);if(!t)return;let n=t.lastIndexOf(`:`);if(n<=0||n+1===t.length)throw Error(`Invalid host ${t} with no separate hostname and port!`);let r=parseInt(t.substring(n+1),10);return t[0]===`[`?[t.substring(1,n-1),r]:[t.substring(0,n),r]},h=()=>f()?.config,g=e=>f()?.[`_${e}`],ee=class{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,n)=>{t?this.reject(t):this.resolve(n),typeof e==`function`&&(this.promise.catch(()=>{}),e.length===1?e(t):e(t,n))}}};function te(e,t){if(e.uid)throw Error(`The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.`);let n={alg:`none`,type:`JWT`},r=t||`demo-project`,i=e.iat||0,a=e.sub||e.user_id;if(!a)throw Error(`mockUserToken must contain 'sub' or 'user_id' field!`);let s={iss:`https://securetoken.google.com/${r}`,aud:r,iat:i,exp:i+3600,auth_time:i,sub:a,user_id:a,firebase:{sign_in_provider:`custom`,identities:{}},...e};return[o(JSON.stringify(n)),o(JSON.stringify(s)),``].join(`.`)}function _(){return typeof navigator<`u`&&typeof navigator.userAgent==`string`?navigator.userAgent:``}function ne(){return typeof window<`u`&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(_())}function re(){let e=f()?.forceEnvironment;if(e===`node`)return!0;if(e===`browser`)return!1;try{return Object.prototype.toString.call(global.process)===`[object process]`}catch{return!1}}function ie(){return typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`}function ae(){let e=typeof chrome==`object`?chrome.runtime:typeof browser==`object`?browser.runtime:void 0;return typeof e==`object`&&e.id!==void 0}function oe(){return typeof navigator==`object`&&navigator.product===`ReactNative`}function se(){let e=_();return e.indexOf(`MSIE `)>=0||e.indexOf(`Trident/`)>=0}function ce(){return!re()&&!!navigator.userAgent&&navigator.userAgent.includes(`Safari`)&&!navigator.userAgent.includes(`Chrome`)}function le(){try{return typeof indexedDB==`object`}catch{return!1}}function ue(){return new Promise((e,t)=>{try{let n=!0,r=`validate-browser-context-for-indexeddb-analytics-module`,i=self.indexedDB.open(r);i.onsuccess=()=>{i.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},i.onupgradeneeded=()=>{n=!1},i.onerror=()=>{t(i.error?.message||``)}}catch(e){t(e)}})}var de=`FirebaseError`,fe=class e extends Error{constructor(t,n,r){super(n),this.code=t,this.customData=r,this.name=de,Object.setPrototypeOf(this,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,pe.prototype.create)}},pe=class{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){let n=t[0]||{},r=`${this.service}/${e}`,i=this.errors[e],a=i?me(i,n):`Error`;return new fe(r,`${this.serviceName}: ${a} (${r}).`,n)}};function me(e,t){try{let n=0,r=``;for(;n<e.length;){let i=e.indexOf(`{$`,n);if(i===-1){r+=e.substring(n);break}let a=e.indexOf(`}`,i+2);if(a===-1){r+=e.substring(n);break}let o=e.substring(i+2,a),s=t[o];r+=e.substring(n,i)+(s==null?`<${o}?>`:String(s)),n=a+1}return r}catch{return e}}function he(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function ge(e,t){if(e===t)return!0;let n=Object.keys(e),r=Object.keys(t);for(let i of n){if(!r.includes(i))return!1;let n=e[i],a=t[i];if(_e(n)&&_e(a)){if(!ge(n,a))return!1}else if(n!==a)return!1}for(let e of r)if(!n.includes(e))return!1;return!0}function _e(e){return typeof e==`object`&&!!e}function ve(e){let t=[];for(let[n,r]of Object.entries(e))Array.isArray(r)?r.forEach(e=>{t.push(encodeURIComponent(n)+`=`+encodeURIComponent(e))}):t.push(encodeURIComponent(n)+`=`+encodeURIComponent(r));return t.length?`&`+t.join(`&`):``}function ye(e){let t={};return e.replace(/^\?/,``).split(`&`).forEach(e=>{if(e){let[n,r]=e.split(`=`);t[decodeURIComponent(n)]=decodeURIComponent(r)}}),t}function be(e){let t=e.indexOf(`?`);if(!t)return``;let n=e.indexOf(`#`,t);return e.substring(t,n>0?n:void 0)}function xe(e,t){let n=new Se(e,t);return n.subscribe.bind(n)}var Se=class{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,n){let r;if(e===void 0&&t===void 0&&n===void 0)throw Error(`Missing Observer.`);r=Ce(e,[`next`,`error`,`complete`])?e:{next:e,error:t,complete:n},r.next===void 0&&(r.next=we),r.error===void 0&&(r.error=we),r.complete===void 0&&(r.complete=we);let i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?r.error(this.finalError):r.complete()}catch{}}),this.observers.push(r),i}unsubscribeOne(e){this.observers!==void 0&&this.observers[e]!==void 0&&(delete this.observers[e],--this.observerCount,this.observerCount===0&&this.onNoObservers!==void 0&&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(this.observers!==void 0&&this.observers[e]!==void 0)try{t(this.observers[e])}catch(e){typeof console<`u`&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,e!==void 0&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}};function Ce(e,t){if(typeof e!=`object`||!e)return!1;for(let n of t)if(n in e&&typeof e[n]==`function`)return!0;return!1}function we(){}function v(e){return e&&e._delegate?e._delegate:e}function Te(e){try{return(e.startsWith(`http://`)||e.startsWith(`https://`)?new URL(e).hostname:e).endsWith(`.cloudworkstations.dev`)}catch{return!1}}async function Ee(e){return(await fetch(e,{credentials:`include`})).ok}var De=class{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode=`LAZY`,this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}},Oe=`[DEFAULT]`,ke=class{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 ee;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){let t=this.normalizeInstanceIdentifier(e?.identifier),n=e?.optional??!1;if(this.isInitialized(t)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(n)return null;throw e}if(n)return null;throw Error(`Service ${this.name} is not available`)}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(je(e))try{this.getOrInitializeService({instanceIdentifier:Oe})}catch{}for(let[e,t]of this.instancesDeferred.entries()){let n=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:n});t.resolve(e)}catch{}}}}clearInstance(e=Oe){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 this.component!=null}isInitialized(e=Oe){return this.instances.has(e)}getOptions(e=Oe){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let r=this.getOrInitializeService({instanceIdentifier:n,options:t});for(let[e,t]of this.instancesDeferred.entries())n===this.normalizeInstanceIdentifier(e)&&t.resolve(r);return r}onInit(e,t){let n=this.normalizeInstanceIdentifier(t),r=this.onInitCallbacks.get(n)??new Set;r.add(e),this.onInitCallbacks.set(n,r);let i=this.instances.get(n);return i&&e(i,n),()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){let n=this.onInitCallbacks.get(t);if(n)for(let r of n)try{r(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:Ae(e),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=Oe){return this.component?this.component.multipleInstances?e:Oe:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!==`EXPLICIT`}};function Ae(e){return e===Oe?void 0:e}function je(e){return e.instantiationMode===`EAGER`}var Me=class{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 ke(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}},Ne=[],y;(function(e){e[e.DEBUG=0]=`DEBUG`,e[e.VERBOSE=1]=`VERBOSE`,e[e.INFO=2]=`INFO`,e[e.WARN=3]=`WARN`,e[e.ERROR=4]=`ERROR`,e[e.SILENT=5]=`SILENT`})(y||={});var Pe={debug:y.DEBUG,verbose:y.VERBOSE,info:y.INFO,warn:y.WARN,error:y.ERROR,silent:y.SILENT},Fe=y.INFO,Ie={[y.DEBUG]:`log`,[y.VERBOSE]:`log`,[y.INFO]:`info`,[y.WARN]:`warn`,[y.ERROR]:`error`},Le=(e,t,...n)=>{if(t<e.logLevel)return;let r=new Date().toISOString(),i=Ie[t];if(i)console[i](`[${r}] ${e.name}:`,...n);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)},Re=class{constructor(e){this.name=e,this._logLevel=Fe,this._logHandler=Le,this._userLogHandler=null,Ne.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in y))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e==`string`?Pe[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!=`function`)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,y.DEBUG,...e),this._logHandler(this,y.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,y.VERBOSE,...e),this._logHandler(this,y.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,y.INFO,...e),this._logHandler(this,y.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,y.WARN,...e),this._logHandler(this,y.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,y.ERROR,...e),this._logHandler(this,y.ERROR,...e)}},ze=(e,t)=>t.some(t=>e instanceof t),Be,Ve;function He(){return Be||=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function Ue(){return Ve||=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]}var We=new WeakMap,Ge=new WeakMap,Ke=new WeakMap,qe=new WeakMap,Je=new WeakMap;function Ye(e){let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`success`,i),e.removeEventListener(`error`,a)},i=()=>{t(tt(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(`success`,i),e.addEventListener(`error`,a)});return t.then(t=>{t instanceof IDBCursor&&We.set(t,e)}).catch(()=>{}),Je.set(t,e),t}function Xe(e){if(Ge.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`complete`,i),e.removeEventListener(`error`,a),e.removeEventListener(`abort`,a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(`AbortError`,`AbortError`)),r()};e.addEventListener(`complete`,i),e.addEventListener(`error`,a),e.addEventListener(`abort`,a)});Ge.set(e,t)}var Ze={get(e,t,n){if(e instanceof IDBTransaction){if(t===`done`)return Ge.get(e);if(t===`objectStoreNames`)return e.objectStoreNames||Ke.get(e);if(t===`store`)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return tt(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t===`done`||t===`store`)||t in e}};function Qe(e){Ze=e(Ze)}function $e(e){return e===IDBDatabase.prototype.transaction&&!(`objectStoreNames`in IDBTransaction.prototype)?function(t,...n){let r=e.call(nt(this),t,...n);return Ke.set(r,t.sort?t.sort():[t]),tt(r)}:Ue().includes(e)?function(...t){return e.apply(nt(this),t),tt(We.get(this))}:function(...t){return tt(e.apply(nt(this),t))}}function et(e){return typeof e==`function`?$e(e):(e instanceof IDBTransaction&&Xe(e),ze(e,He())?new Proxy(e,Ze):e)}function tt(e){if(e instanceof IDBRequest)return Ye(e);if(qe.has(e))return qe.get(e);let t=et(e);return t!==e&&(qe.set(e,t),Je.set(t,e)),t}var nt=e=>Je.get(e);function rt(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let o=indexedDB.open(e,t),s=tt(o);return r&&o.addEventListener(`upgradeneeded`,e=>{r(tt(o.result),e.oldVersion,e.newVersion,tt(o.transaction),e)}),n&&o.addEventListener(`blocked`,e=>n(e.oldVersion,e.newVersion,e)),s.then(e=>{a&&e.addEventListener(`close`,()=>a()),i&&e.addEventListener(`versionchange`,e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}var it=[`get`,`getKey`,`getAll`,`getAllKeys`,`count`],at=[`put`,`add`,`delete`,`clear`],ot=new Map;function st(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==`string`))return;if(ot.get(t))return ot.get(t);let n=t.replace(/FromIndex$/,``),r=t!==n,i=at.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||it.includes(n)))return;let a=async function(e,...t){let a=this.transaction(e,i?`readwrite`:`readonly`),o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return ot.set(t,a),a}Qe(e=>({...e,get:(t,n,r)=>st(t,n)||e.get(t,n,r),has:(t,n)=>!!st(t,n)||e.has(t,n)}));var ct=class{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(lt(e)){let t=e.getImmediate();return`${t.library}/${t.version}`}return null}).filter(e=>e).join(` `)}};function lt(e){return e.getComponent()?.type===`VERSION`}var ut=`@firebase/app`,dt=`0.16.1`,ft=new Re(`@firebase/app`),pt=`@firebase/app-compat`,mt=`@firebase/analytics-compat`,ht=`@firebase/analytics`,gt=`@firebase/app-check-compat`,_t=`@firebase/app-check`,vt=`@firebase/auth`,yt=`@firebase/auth-compat`,bt=`@firebase/database`,xt=`@firebase/data-connect`,St=`@firebase/database-compat`,Ct=`@firebase/functions`,wt=`@firebase/functions-compat`,Tt=`@firebase/installations`,Et=`@firebase/installations-compat`,Dt=`@firebase/messaging`,Ot=`@firebase/messaging-compat`,kt=`@firebase/performance`,At=`@firebase/performance-compat`,jt=`@firebase/remote-config`,Mt=`@firebase/remote-config-compat`,Nt=`@firebase/storage`,Pt=`@firebase/storage-compat`,Ft=`@firebase/firestore`,It=`@firebase/ai`,Lt=`@firebase/firestore-compat`,Rt=`firebase`,zt=`12.18.0`,Bt=`[DEFAULT]`,Vt={[ut]:`fire-core`,[pt]:`fire-core-compat`,[ht]:`fire-analytics`,[mt]:`fire-analytics-compat`,[_t]:`fire-app-check`,[gt]:`fire-app-check-compat`,[vt]:`fire-auth`,[yt]:`fire-auth-compat`,[bt]:`fire-rtdb`,[xt]:`fire-data-connect`,[St]:`fire-rtdb-compat`,[Ct]:`fire-fn`,[wt]:`fire-fn-compat`,[Tt]:`fire-iid`,[Et]:`fire-iid-compat`,[Dt]:`fire-fcm`,[Ot]:`fire-fcm-compat`,[kt]:`fire-perf`,[At]:`fire-perf-compat`,[jt]:`fire-rc`,[Mt]:`fire-rc-compat`,[Nt]:`fire-gcs`,[Pt]:`fire-gcs-compat`,[Ft]:`fire-fst`,[Lt]:`fire-fst-compat`,[It]:`fire-vertex`,"fire-js":`fire-js`,[Rt]:`fire-js-all`},Ht=new Map,Ut=new Map,Wt=new Map;function Gt(e,t){try{e.container.addComponent(t)}catch(n){ft.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function Kt(e){let t=e.name;if(Wt.has(t))return ft.debug(`There were multiple attempts to register component ${t}.`),!1;Wt.set(t,e);for(let t of Ht.values())Gt(t,e);for(let t of Ut.values())Gt(t,e);return!0}function qt(e,t){let n=e.container.getProvider(`heartbeat`).getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}function Jt(e){return e!=null&&e.settings!==void 0}var b=new pe(`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.`}),Yt=class{constructor(e,t,n){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new De(`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 b.create(`app-deleted`,{appName:this._name})}},Xt=zt;function Zt(e,t={}){let n=e;typeof t!=`object`&&(t={name:t});let r={name:Bt,automaticDataCollectionEnabled:!0,...t},i=r.name;if(typeof i!=`string`||!i)throw b.create(`bad-app-name`,{appName:String(i)});if(n||=h(),!n)throw b.create(`no-options`);let a=Ht.get(i);if(a){if(!ge(n,a.options))throw b.create(`duplicate-app`,{appName:i,mismatchedParam:`options`,oldValue:JSON.stringify(a.options),newValue:JSON.stringify(n)});if(ge(r,a.config))return a;throw b.create(`duplicate-app`,{appName:i,mismatchedParam:`config`,oldValue:JSON.stringify(a.config),newValue:JSON.stringify(r)})}let o=new Me(i);for(let e of Wt.values())o.addComponent(e);let s=new Yt(n,r,o);return Ht.set(i,s),s}function Qt(e=Bt){let t=Ht.get(e);if(!t&&e===`[DEFAULT]`&&h())return Zt();if(!t)throw b.create(`no-app`,{appName:e});return t}function $t(){return Array.from(Ht.values())}function en(e,t,n){let r=Vt[e]??e;n&&(r+=`-${n}`);let i=r.match(/\s|\//),a=t.match(/\s|\//);if(i||a){let e=[`Unable to register library "${r}" with version "${t}":`];i&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),i&&a&&e.push(`and`),a&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),ft.warn(e.join(` `));return}Kt(new De(`${r}-version`,()=>({library:r,version:t}),`VERSION`))}var tn=`firebase-heartbeat-database`,nn=1,rn=`firebase-heartbeat-store`,an=null;function on(){return an||=rt(tn,nn,{upgrade:(e,t)=>{if(t===0)try{e.createObjectStore(rn)}catch(e){console.warn(e)}}}).catch(e=>{throw b.create(`idb-open`,{originalErrorMessage:e.message})}),an}async function sn(e){try{let t=(await on()).transaction(rn),n=await t.objectStore(rn).get(ln(e));return await t.done,n}catch(e){if(e instanceof fe)ft.warn(e.message);else{let t=b.create(`idb-get`,{originalErrorMessage:e?.message});ft.warn(t.message)}}}async function cn(e,t){try{let n=(await on()).transaction(rn,`readwrite`);await n.objectStore(rn).put(t,ln(e)),await n.done}catch(e){if(e instanceof fe)ft.warn(e.message);else{let t=b.create(`idb-set`,{originalErrorMessage:e?.message});ft.warn(t.message)}}}function ln(e){return`${e.name}!${e.options.appId}`}var un=1024,dn=30,fn=class{constructor(e){this.container=e,this._heartbeatsCache=null;let t=this.container.getProvider(`app`).getImmediate();this._storage=new hn(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=pn();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>dn){let e=_n(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){ft.warn(e)}}async getHeartbeatsHeader(){try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||this._heartbeatsCache.heartbeats.length===0)return``;let e=pn(),{heartbeatsToSend:t,unsentEntries:n}=mn(this._heartbeatsCache.heartbeats),r=o(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),r}catch(e){return ft.warn(e),``}}};function pn(){return new Date().toISOString().substring(0,10)}function mn(e,t=un){let n=[],r=e.slice();for(let i of e){let e=n.find(e=>e.agent===i.agent);if(!e){if(n.push({agent:i.agent,dates:[i.date]}),gn(n)>t){n.pop();break}}else if(e.dates.push(i.date),gn(n)>t){e.dates.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}var hn=class{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return le()?ue().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){let e=await sn(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return cn(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return cn(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}};function gn(e){return o(JSON.stringify({version:2,heartbeats:e})).length}function _n(e){if(e.length===0)return-1;let t=0,n=e[0].date;for(let r=1;r<e.length;r++)e[r].date<n&&(n=e[r].date,t=r);return t}function vn(e){Kt(new De(`platform-logger`,e=>new ct(e),`PRIVATE`)),Kt(new De(`heartbeat`,e=>new fn(e),`PRIVATE`)),en(ut,dt,e),en(ut,dt,`esm2020`),en(`fire-js`,``)}vn(``);var yn=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},bn={},xn,Sn;(function(){var e;function t(e,t){function n(){}n.prototype=t.prototype,e.F=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.D=function(e,n,r){for(var i=Array(arguments.length-2),a=2;a<arguments.length;a++)i[a-2]=arguments[a];return t.prototype[n].apply(e,i)}}function n(){this.blockSize=-1}function r(){this.blockSize=-1,this.blockSize=64,this.g=[,,,,],this.C=Array(this.blockSize),this.o=this.h=0,this.u()}t(r,n),r.prototype.u=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0};function i(e,t,n){n||=0;let r=Array(16);if(typeof t==`string`)for(var i=0;i<16;++i)r[i]=t.charCodeAt(n++)|t.charCodeAt(n++)<<8|t.charCodeAt(n++)<<16|t.charCodeAt(n++)<<24;else for(i=0;i<16;++i)r[i]=t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24;t=e.g[0],n=e.g[1],i=e.g[2];let a=e.g[3],o;o=t+(a^n&(i^a))+r[0]+3614090360&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[1]+3905402710&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[2]+606105819&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[3]+3250441966&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(a^n&(i^a))+r[4]+4118548399&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[5]+1200080426&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[6]+2821735955&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[7]+4249261313&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(a^n&(i^a))+r[8]+1770035416&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[9]+2336552879&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[10]+4294925233&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[11]+2304563134&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(a^n&(i^a))+r[12]+1804603682&4294967295,t=n+(o<<7&4294967295|o>>>25),o=a+(i^t&(n^i))+r[13]+4254626195&4294967295,a=t+(o<<12&4294967295|o>>>20),o=i+(n^a&(t^n))+r[14]+2792965006&4294967295,i=a+(o<<17&4294967295|o>>>15),o=n+(t^i&(a^t))+r[15]+1236535329&4294967295,n=i+(o<<22&4294967295|o>>>10),o=t+(i^a&(n^i))+r[1]+4129170786&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[6]+3225465664&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[11]+643717713&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[0]+3921069994&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(i^a&(n^i))+r[5]+3593408605&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[10]+38016083&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[15]+3634488961&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[4]+3889429448&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(i^a&(n^i))+r[9]+568446438&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[14]+3275163606&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[3]+4107603335&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[8]+1163531501&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(i^a&(n^i))+r[13]+2850285829&4294967295,t=n+(o<<5&4294967295|o>>>27),o=a+(n^i&(t^n))+r[2]+4243563512&4294967295,a=t+(o<<9&4294967295|o>>>23),o=i+(t^n&(a^t))+r[7]+1735328473&4294967295,i=a+(o<<14&4294967295|o>>>18),o=n+(a^t&(i^a))+r[12]+2368359562&4294967295,n=i+(o<<20&4294967295|o>>>12),o=t+(n^i^a)+r[5]+4294588738&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[8]+2272392833&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[11]+1839030562&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[14]+4259657740&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(n^i^a)+r[1]+2763975236&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[4]+1272893353&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[7]+4139469664&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[10]+3200236656&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(n^i^a)+r[13]+681279174&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[0]+3936430074&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[3]+3572445317&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[6]+76029189&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(n^i^a)+r[9]+3654602809&4294967295,t=n+(o<<4&4294967295|o>>>28),o=a+(t^n^i)+r[12]+3873151461&4294967295,a=t+(o<<11&4294967295|o>>>21),o=i+(a^t^n)+r[15]+530742520&4294967295,i=a+(o<<16&4294967295|o>>>16),o=n+(i^a^t)+r[2]+3299628645&4294967295,n=i+(o<<23&4294967295|o>>>9),o=t+(i^(n|~a))+r[0]+4096336452&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[7]+1126891415&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[14]+2878612391&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[5]+4237533241&4294967295,n=i+(o<<21&4294967295|o>>>11),o=t+(i^(n|~a))+r[12]+1700485571&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[3]+2399980690&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[10]+4293915773&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[1]+2240044497&4294967295,n=i+(o<<21&4294967295|o>>>11),o=t+(i^(n|~a))+r[8]+1873313359&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[15]+4264355552&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[6]+2734768916&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[13]+1309151649&4294967295,n=i+(o<<21&4294967295|o>>>11),o=t+(i^(n|~a))+r[4]+4149444226&4294967295,t=n+(o<<6&4294967295|o>>>26),o=a+(n^(t|~i))+r[11]+3174756917&4294967295,a=t+(o<<10&4294967295|o>>>22),o=i+(t^(a|~n))+r[2]+718787259&4294967295,i=a+(o<<15&4294967295|o>>>17),o=n+(a^(i|~t))+r[9]+3951481745&4294967295,e.g[0]=e.g[0]+t&4294967295,e.g[1]=e.g[1]+(i+(o<<21&4294967295|o>>>11))&4294967295,e.g[2]=e.g[2]+i&4294967295,e.g[3]=e.g[3]+a&4294967295}r.prototype.v=function(e,t){t===void 0&&(t=e.length);let n=t-this.blockSize,r=this.C,a=this.h,o=0;for(;o<t;){if(a==0)for(;o<=n;)i(this,e,o),o+=this.blockSize;if(typeof e==`string`){for(;o<t;)if(r[a++]=e.charCodeAt(o++),a==this.blockSize){i(this,r),a=0;break}}else for(;o<t;)if(r[a++]=e[o++],a==this.blockSize){i(this,r),a=0;break}}this.h=a,this.o+=t},r.prototype.A=function(){var e=Array((this.h<56?this.blockSize:this.blockSize*2)-this.h);e[0]=128;for(var t=1;t<e.length-8;++t)e[t]=0;t=this.o*8;for(var n=e.length-8;n<e.length;++n)e[n]=t&255,t/=256;for(this.v(e),e=Array(16),t=0,n=0;n<4;++n)for(let r=0;r<32;r+=8)e[t++]=this.g[n]>>>r&255;return e};function a(e,t){var n=s;return Object.prototype.hasOwnProperty.call(n,e)?n[e]:n[e]=t(e)}function o(e,t){this.h=t;let n=[],r=!0;for(let i=e.length-1;i>=0;i--){let a=e[i]|0;r&&a==t||(n[i]=a,r=!1)}this.g=n}var s={};function c(e){return-128<=e&&e<128?a(e,function(e){return new o([e|0],e<0?-1:0)}):new o([e|0],e<0?-1:0)}function l(e){if(isNaN(e)||!isFinite(e))return d;if(e<0)return g(l(-e));let t=[],n=1;for(let r=0;e>=n;r++)t[r]=e/n|0,n*=4294967296;return new o(t,0)}function u(e,t){if(e.length==0)throw Error(`number format error: empty string`);if(t||=10,t<2||36<t)throw Error(`radix out of range: `+t);if(e.charAt(0)==`-`)return g(u(e.substring(1),t));if(e.indexOf(`-`)>=0)throw Error(`number format error: interior "-" character`);let n=l(t**8),r=d;for(let a=0;a<e.length;a+=8){var i=Math.min(8,e.length-a);let o=parseInt(e.substring(a,a+i),t);i<8?(i=l(t**+i),r=r.j(i).add(l(o))):(r=r.j(n),r=r.add(l(o)))}return r}var d=c(0),f=c(1),p=c(16777216);e=o.prototype,e.m=function(){if(h(this))return-g(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){let r=this.i(n);e+=(r>=0?r:4294967296+r)*t,t*=4294967296}return e},e.toString=function(e){if(e||=10,e<2||36<e)throw Error(`radix out of range: `+e);if(m(this))return`0`;if(h(this))return`-`+g(this).toString(e);let t=l(e**6);var n=this;let r=``;for(;;){let i=ne(n,t).g;n=ee(n,i.j(t));let a=((n.g.length>0?n.g[0]:n.h)>>>0).toString(e);if(n=i,m(n))return a+r;for(;a.length<6;)a=`0`+a;r=a+r}},e.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h};function m(e){if(e.h!=0)return!1;for(let t=0;t<e.g.length;t++)if(e.g[t]!=0)return!1;return!0}function h(e){return e.h==-1}e.l=function(e){return e=ee(this,e),h(e)?-1:+!m(e)};function g(e){let t=e.g.length,n=[];for(let r=0;r<t;r++)n[r]=~e.g[r];return new o(n,~e.h).add(f)}e.abs=function(){return h(this)?g(this):this},e.add=function(e){let t=Math.max(this.g.length,e.g.length),n=[],r=0;for(let i=0;i<=t;i++){let t=r+(this.i(i)&65535)+(e.i(i)&65535),a=(t>>>16)+(this.i(i)>>>16)+(e.i(i)>>>16);r=a>>>16,t&=65535,a&=65535,n[i]=a<<16|t}return new o(n,n[n.length-1]&-2147483648?-1:0)};function ee(e,t){return e.add(g(t))}e.j=function(e){if(m(this)||m(e))return d;if(h(this))return h(e)?g(this).j(g(e)):g(g(this).j(e));if(h(e))return g(this.j(g(e)));if(this.l(p)<0&&e.l(p)<0)return l(this.m()*e.m());let t=this.g.length+e.g.length,n=[];for(var r=0;r<2*t;r++)n[r]=0;for(r=0;r<this.g.length;r++)for(let t=0;t<e.g.length;t++){let i=this.i(r)>>>16,a=this.i(r)&65535,o=e.i(t)>>>16,s=e.i(t)&65535;n[2*r+2*t]+=a*s,te(n,2*r+2*t),n[2*r+2*t+1]+=i*s,te(n,2*r+2*t+1),n[2*r+2*t+1]+=a*o,te(n,2*r+2*t+1),n[2*r+2*t+2]+=i*o,te(n,2*r+2*t+2)}for(e=0;e<t;e++)n[e]=n[2*e+1]<<16|n[2*e];for(e=t;e<2*t;e++)n[e]=0;return new o(n,0)};function te(e,t){for(;(e[t]&65535)!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function _(e,t){this.g=e,this.h=t}function ne(e,t){if(m(t))throw Error(`division by zero`);if(m(e))return new _(d,d);if(h(e))return t=ne(g(e),t),new _(g(t.g),g(t.h));if(h(t))return t=ne(e,g(t)),new _(g(t.g),t.h);if(e.g.length>30){if(h(e)||h(t))throw Error(`slowDivide_ only works with positive integers.`);for(var n=f,r=t;r.l(e)<=0;)n=re(n),r=re(r);var i=ie(n,1),a=ie(r,1);for(r=ie(r,2),n=ie(n,2);!m(r);){var o=a.add(r);o.l(e)<=0&&(i=i.add(n),a=o),r=ie(r,1),n=ie(n,1)}return t=ee(e,i.j(t)),new _(i,t)}for(i=d;e.l(t)>=0;){for(n=Math.max(1,Math.floor(e.m()/t.m())),r=Math.ceil(Math.log(n)/Math.LN2),r=r<=48?1:2**(r-48),a=l(n),o=a.j(t);h(o)||o.l(e)>0;)n-=r,a=l(n),o=a.j(t);m(a)&&(a=f),i=i.add(a),e=ee(e,o)}return new _(i,e)}e.B=function(e){return ne(this,e).h},e.and=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)&e.i(r);return new o(n,this.h&e.h)},e.or=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)|e.i(r);return new o(n,this.h|e.h)},e.xor=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)^e.i(r);return new o(n,this.h^e.h)};function re(e){let t=e.g.length+1,n=[];for(let r=0;r<t;r++)n[r]=e.i(r)<<1|e.i(r-1)>>>31;return new o(n,e.h)}function ie(e,t){let n=t>>5;t%=32;let r=e.g.length-n,i=[];for(let a=0;a<r;a++)i[a]=t>0?e.i(a+n)>>>t|e.i(a+n+1)<<32-t:e.i(a+n);return new o(i,e.h)}r.prototype.digest=r.prototype.A,r.prototype.reset=r.prototype.u,r.prototype.update=r.prototype.v,Sn=bn.Md5=r,o.prototype.add=o.prototype.add,o.prototype.multiply=o.prototype.j,o.prototype.modulo=o.prototype.B,o.prototype.compare=o.prototype.l,o.prototype.toNumber=o.prototype.m,o.prototype.toString=o.prototype.toString,o.prototype.getBits=o.prototype.i,o.fromNumber=l,o.fromString=u,xn=bn.Integer=o}).apply(yn===void 0?typeof self<`u`?self:typeof window<`u`?window:{}:yn);var Cn=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},wn={},Tn,En,Dn,On,kn,An,jn,Mn;(function(){var e,t=Object.defineProperty;function n(e){e=[typeof globalThis==`object`&&globalThis,e,typeof window==`object`&&window,typeof self==`object`&&self,typeof Cn==`object`&&Cn];for(var t=0;t<e.length;++t){var n=e[t];if(n&&n.Math==Math)return n}throw Error(`Cannot find global object`)}var r=n(this);function i(e,n){if(n)a:{var i=r;e=e.split(`.`);for(var a=0;a<e.length-1;a++){var o=e[a];if(!(o in i))break a;i=i[o]}e=e[e.length-1],a=i[e],n=n(a),n!=a&&n!=null&&t(i,e,{configurable:!0,writable:!0,value:n})}}i(`Symbol.dispose`,function(e){return e||Symbol(`Symbol.dispose`)}),i(`Array.prototype.values`,function(e){return e||function(){return this[Symbol.iterator]()}}),i(`Object.entries`,function(e){return e||function(e){var t=[],n;for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push([n,e[n]]);return t}});var a=a||{},o=this||self;function s(e){var t=typeof e;return t==`object`&&e!=null||t==`function`}function c(e,t,n){return e.call.apply(e.bind,arguments)}function l(e,t,n){return l=c,l.apply(null,arguments)}function u(e,t){var n=Array.prototype.slice.call(arguments,1);return function(){var t=n.slice();return t.push.apply(t,arguments),e.apply(this,t)}}function d(e,t){function n(){}n.prototype=t.prototype,e.Z=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.Ob=function(e,n,r){for(var i=Array(arguments.length-2),a=2;a<arguments.length;a++)i[a-2]=arguments[a];return t.prototype[n].apply(e,i)}}var f=typeof AsyncContext<`u`&&typeof AsyncContext.Snapshot==`function`?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function p(e){let t=e.length;if(t>0){let n=Array(t);for(let r=0;r<t;r++)n[r]=e[r];return n}return[]}function m(e,t){for(let t=1;t<arguments.length;t++){let r=arguments[t];var n=typeof r;if(n=n==`object`?r?Array.isArray(r)?`array`:n:`null`:n,n==`array`||n==`object`&&typeof r.length==`number`){n=e.length||0;let t=r.length||0;e.length=n+t;for(let i=0;i<t;i++)e[n+i]=r[i]}else e.push(r)}}class h{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}}function g(e){o.setTimeout(()=>{throw e},0)}function ee(){var e=ae;let t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t}class te{constructor(){this.h=this.g=null}add(e,t){let n=_.get();n.set(e,t),this.h?this.h.next=n:this.g=n,this.h=n}}var _=new h(()=>new ne,e=>e.reset());class ne{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 re,ie=!1,ae=new te,oe=()=>{let e=Promise.resolve(void 0);re=()=>{e.then(se)}};function se(){for(var e;e=ee();){try{e.h.call(e.g)}catch(e){g(e)}var t=_;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}ie=!1}function ce(){this.u=this.u,this.C=this.C}ce.prototype.u=!1,ce.prototype.dispose=function(){this.u||(this.u=!0,this.N())},ce.prototype[Symbol.dispose]=function(){this.dispose()},ce.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function le(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}le.prototype.h=function(){this.defaultPrevented=!0};var ue=function(){if(!o.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{let e=()=>{};o.addEventListener(`test`,e,t),o.removeEventListener(`test`,e,t)}catch{}return e}();function de(e){return/^[\s\xa0]*$/.test(e)}function fe(e,t){le.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)}d(fe,le),fe.prototype.init=function(e,t){let n=this.type=e.type,r=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,t=e.relatedTarget,t||(n==`mouseover`?t=e.fromElement:n==`mouseout`&&(t=e.toElement)),this.relatedTarget=t,r?(this.clientX=r.clientX===void 0?r.pageX:r.clientX,this.clientY=r.clientY===void 0?r.pageY:r.clientY,this.screenX=r.screenX||0,this.screenY=r.screenY||0):(this.clientX=e.clientX===void 0?e.pageX:e.clientX,this.clientY=e.clientY===void 0?e.pageY:e.clientY,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&&fe.Z.h.call(this)},fe.prototype.h=function(){fe.Z.h.call(this);let e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var pe=`closure_listenable_`+(Math.random()*1e6|0),me=0;function he(e,t,n,r,i){this.listener=e,this.proxy=null,this.src=t,this.type=n,this.capture=!!r,this.ha=i,this.key=++me,this.da=this.fa=!1}function ge(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function _e(e,t,n){for(let r in e)t.call(n,e[r],r,e)}function ve(e,t){for(let n in e)t.call(void 0,e[n],n,e)}function ye(e){let t={};for(let n in e)t[n]=e[n];return t}let be=`constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf`.split(` `);function xe(e,t){let n,r;for(let t=1;t<arguments.length;t++){for(n in r=arguments[t],r)e[n]=r[n];for(let t=0;t<be.length;t++)n=be[t],Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}}function Se(e){this.src=e,this.g={},this.h=0}Se.prototype.add=function(e,t,n,r,i){let a=e.toString();e=this.g[a],e||(e=this.g[a]=[],this.h++);let o=we(e,t,r,i);return o>-1?(t=e[o],n||(t.fa=!1)):(t=new he(t,this.src,a,!!r,i),t.fa=n,e.push(t)),t};function Ce(e,t){let n=t.type;if(n in e.g){var r=e.g[n],i=Array.prototype.indexOf.call(r,t,void 0),a;(a=i>=0)&&Array.prototype.splice.call(r,i,1),a&&(ge(t),e.g[n].length==0&&(delete e.g[n],e.h--))}}function we(e,t,n,r){for(let i=0;i<e.length;++i){let a=e[i];if(!a.da&&a.listener==t&&a.capture==!!n&&a.ha==r)return i}return-1}var v=`closure_lm_`+(Math.random()*1e6|0),Te={};function Ee(e,t,n,r,i){if(Array.isArray(t)){for(let a=0;a<t.length;a++)Ee(e,t[a],n,r,i);return null}return n=Pe(n),e&&e[pe]?e.J(t,n,s(r)?!!r.capture:!1,i):De(e,t,n,!1,r,i)}function De(e,t,n,r,i,a){if(!t)throw Error(`Invalid event type`);let o=s(i)?!!i.capture:!!i,c=Ne(e);if(c||(e[v]=c=new Se(e)),n=c.add(t,n,r,o,a),n.proxy)return n;if(r=Oe(),n.proxy=r,r.src=e,r.listener=n,e.addEventListener)ue||(i=o),i===void 0&&(i=!1),e.addEventListener(t.toString(),r,i);else if(e.attachEvent)e.attachEvent(je(t.toString()),r);else if(e.addListener&&e.removeListener)e.addListener(r);else throw Error(`addEventListener and attachEvent are unavailable.`);return n}function Oe(){function e(n){return t.call(e.src,e.listener,n)}let t=Me;return e}function ke(e,t,n,r,i){if(Array.isArray(t))for(var a=0;a<t.length;a++)ke(e,t[a],n,r,i);else r=s(r)?!!r.capture:!!r,n=Pe(n),e&&e[pe]?(e=e.i,a=String(t).toString(),a in e.g&&(t=e.g[a],n=we(t,n,r,i),n>-1&&(ge(t[n]),Array.prototype.splice.call(t,n,1),t.length==0&&(delete e.g[a],e.h--)))):(e&&=Ne(e))&&(t=e.g[t.toString()],e=-1,t&&(e=we(t,n,r,i)),(n=e>-1?t[e]:null)&&Ae(n))}function Ae(e){if(typeof e!=`number`&&e&&!e.da){var t=e.src;if(t&&t[pe])Ce(t.i,e);else{var n=e.type,r=e.proxy;t.removeEventListener?t.removeEventListener(n,r,e.capture):t.detachEvent?t.detachEvent(je(n),r):t.addListener&&t.removeListener&&t.removeListener(r),(n=Ne(t))?(Ce(n,e),n.h==0&&(n.src=null,t[v]=null)):ge(e)}}}function je(e){return e in Te?Te[e]:Te[e]=`on`+e}function Me(e,t){if(e.da)e=!0;else{t=new fe(t,this);let n=e.listener,r=e.ha||e.src;e.fa&&Ae(e),e=n.call(r,t)}return e}function Ne(e){return e=e[v],e instanceof Se?e:null}var y=`__closure_events_fn_`+(Math.random()*1e9>>>0);function Pe(e){return typeof e==`function`?e:(e[y]||(e[y]=function(t){return e.handleEvent(t)}),e[y])}function Fe(){ce.call(this),this.i=new Se(this),this.M=this,this.G=null}d(Fe,ce),Fe.prototype[pe]=!0,Fe.prototype.removeEventListener=function(e,t,n,r){ke(this,e,t,n,r)};function Ie(e,t){var n,r=e.G;if(r)for(n=[];r;r=r.G)n.push(r);if(e=e.M,r=t.type||t,typeof t==`string`)t=new le(t,e);else if(t instanceof le)t.target=t.target||e;else{var i=t;t=new le(r,e),xe(t,i)}i=!0;let a,o;if(n)for(o=n.length-1;o>=0;o--)a=t.g=n[o],i=Le(a,r,!0,t)&&i;if(a=t.g=e,i=Le(a,r,!0,t)&&i,i=Le(a,r,!1,t)&&i,n)for(o=0;o<n.length;o++)a=t.g=n[o],i=Le(a,r,!1,t)&&i}Fe.prototype.N=function(){if(Fe.Z.N.call(this),this.i){var e=this.i;for(let t in e.g){let n=e.g[t];for(let e=0;e<n.length;e++)ge(n[e]);delete e.g[t],e.h--}}this.G=null},Fe.prototype.J=function(e,t,n,r){return this.i.add(String(e),t,!1,n,r)},Fe.prototype.K=function(e,t,n,r){return this.i.add(String(e),t,!0,n,r)};function Le(e,t,n,r){if(t=e.i.g[String(t)],!t)return!0;t=t.concat();let i=!0;for(let a=0;a<t.length;++a){let o=t[a];if(o&&!o.da&&o.capture==n){let t=o.listener,n=o.ha||o.src;o.fa&&Ce(e.i,o),i=t.call(n,r)!==!1&&i}}return i&&!r.defaultPrevented}function Re(e,t){if(typeof e!=`function`){if(e&&typeof e.handleEvent==`function`)e=l(e.handleEvent,e);else throw Error(`Invalid listener argument`)}return Number(t)>2147483647?-1:o.setTimeout(e,t||0)}function ze(e){e.g=Re(()=>{e.g=null,e.i&&(e.i=!1,ze(e))},e.l);let t=e.h;e.h=null,e.m.apply(null,t)}class Be extends ce{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:ze(this)}N(){super.N(),this.g&&(o.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function Ve(e){ce.call(this),this.h=e,this.g={}}d(Ve,ce);var He=[];function Ue(e){_e(e.g,function(e,t){this.g.hasOwnProperty(t)&&Ae(e)},e),e.g={}}Ve.prototype.N=function(){Ve.Z.N.call(this),Ue(this)},Ve.prototype.handleEvent=function(){throw Error(`EventHandler.handleEvent not implemented`)};var We=o.JSON.stringify,Ge=o.JSON.parse,Ke=class{stringify(e){return o.JSON.stringify(e,void 0)}parse(e){return o.JSON.parse(e,void 0)}};function qe(){}function Je(){}var Ye={OPEN:`a`,hb:`b`,ERROR:`c`,tb:`d`};function Xe(){le.call(this,`d`)}d(Xe,le);function Ze(){le.call(this,`c`)}d(Ze,le);var Qe={},$e=null;function et(){return $e||=new Fe}Qe.Ia=`serverreachability`;function tt(e){le.call(this,Qe.Ia,e)}d(tt,le);function nt(e){let t=et();Ie(t,new tt(t))}Qe.STAT_EVENT=`statevent`;function rt(e,t){le.call(this,Qe.STAT_EVENT,e),this.stat=t}d(rt,le);function it(e){let t=et();Ie(t,new rt(t,e))}Qe.Ja=`timingevent`;function at(e,t){le.call(this,Qe.Ja,e),this.size=t}d(at,le);function ot(e,t){if(typeof e!=`function`)throw Error(`Fn must not be null and must be a function`);return o.setTimeout(function(){e()},t)}function st(){this.g=!0}st.prototype.ua=function(){this.g=!1};function ct(e,t,n,r,i,a){e.info(function(){if(e.g){if(a){var o=``,s=a.split(`&`);for(let e=0;e<s.length;e++){var c=s[e].split(`=`);if(c.length>1){let e=c[0];c=c[1];let t=e.split(`_`);o=t.length>=2&&t[1]==`type`?o+(e+`=`+c+`&`):o+(e+`=redacted&`)}}}else o=null}else o=a;return`XMLHTTP REQ (`+r+`) [attempt `+i+`]: `+t+`
|
|
2
|
+
`+n+`
|
|
3
|
+
`+o})}function lt(e,t,n,r,i,a,o){e.info(function(){return`XMLHTTP RESP (`+r+`) [ attempt `+i+`]: `+t+`
|
|
4
|
+
`+n+`
|
|
5
|
+
`+a+` `+o})}function ut(e,t,n,r){e.info(function(){return`XMLHTTP TEXT (`+t+`): `+ft(e,n)+(r?` `+r:``)})}function dt(e,t){e.info(function(){return`TIMEOUT: `+t})}st.prototype.info=function(){};function ft(e,t){if(!e.g)return t;if(!t)return null;try{let a=JSON.parse(t);if(a){for(e=0;e<a.length;e++)if(Array.isArray(a[e])){var n=a[e];if(!(n.length<2)){var r=n[1];if(Array.isArray(r)&&!(r.length<1)){var i=r[0];if(i!=`noop`&&i!=`stop`&&i!=`close`)for(let e=1;e<r.length;e++)r[e]=``}}}}return We(a)}catch{return t}}var pt={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},mt={ib:`complete`,Fb:`success`,ERROR:`error`,Ga:`abort`,xb:`ready`,yb:`readystatechange`,TIMEOUT:`timeout`,sb:`incrementaldata`,wb:`progress`,lb:`downloadprogress`,Nb:`uploadprogress`},ht;function gt(){}d(gt,qe),gt.prototype.g=function(){return new XMLHttpRequest},ht=new gt;function _t(e){return encodeURIComponent(String(e))}function vt(e){var t=1;e=e.split(`:`);let n=[];for(;t>0&&e.length;)n.push(e.shift()),t--;return e.length&&n.push(e.join(`:`)),n}function yt(e,t,n,r){this.j=e,this.i=t,this.l=n,this.S=r||1,this.V=new Ve(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 bt}function bt(){this.i=null,this.g=``,this.h=!1}var xt={},St={};function Ct(e,t,n){e.M=1,e.A=Yt(Gt(t)),e.u=n,e.R=!0,wt(e,null)}function wt(e,t){e.F=Date.now(),Ot(e),e.B=Gt(e.A);var n=e.B,r=e.S;Array.isArray(r)||(r=[String(r)]),un(n.i,`t`,r),e.C=0,n=e.j.L,e.h=new bt,e.g=nr(e.j,n?t:null,!e.u),e.P>0&&(e.O=new Be(l(e.Y,e,e.g),e.P)),t=e.V,n=e.g,r=e.ba;var i=`readystatechange`;Array.isArray(i)||(i&&(He[0]=i.toString()),i=He);for(let e=0;e<i.length;e++){let a=Ee(n,i[e],r||t.handleEvent,!1,t.h||t);if(!a)break;t.g[a.key]=a}t=e.J?ye(e.J):{},e.u?(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)),nt(),ct(e.i,e.v,e.B,e.l,e.S,e.u)}yt.prototype.ba=function(e){e=e.target;let t=this.O;t&&Rn(e)==3?t.j():this.Y(e)},yt.prototype.Y=function(e){try{if(e==this.g)a:{let s=Rn(this.g),c=this.g.ya(),l=this.g.ca();if(!(s<3)&&(s!=3||this.g&&(this.h.h||this.g.la()||T(this.g)))){this.K||s!=4||c==7||nt(c==8||l<=0?3:2),At(this);var t=this.g.ca();this.X=t;var n=Tt(this);if(this.o=t==200,lt(this.i,this.v,this.B,this.l,this.S,s,t),this.o){if(this.U&&!this.L){b:{if(this.g){var r,i=this.g;if((r=i.g?i.g.getResponseHeader(`X-HTTP-Initial-Response`):null)&&!de(r)){var a=r;break b}}a=null}if(e=a)ut(this.i,this.l,e,`Initial handshake response via X-HTTP-Initial-Response`),this.L=!0,Nt(this,e);else{this.o=!1,this.m=3,it(12),Mt(this),jt(this);break a}}if(this.R){e=!0;let t;for(;!this.K&&this.C<n.length;)if(t=Dt(this,n),t==St){s==4&&(this.m=4,it(14),e=!1),ut(this.i,this.l,null,`[Incomplete Response]`);break}else if(t==xt){this.m=4,it(15),ut(this.i,this.l,n,`[Invalid Chunk]`),e=!1;break}else ut(this.i,this.l,t,null),Nt(this,t);if(Et(this)&&this.C!=0&&(this.h.g=this.h.g.slice(this.C),this.C=0),s!=4||n.length!=0||this.h.h||(this.m=1,it(16),e=!1),this.o=this.o&&e,!e)ut(this.i,this.l,n,`[Invalid Chunked Response]`),Mt(this),jt(this);else if(n.length>0&&!this.W){this.W=!0;var o=this.j;o.g==this&&o.aa&&!o.P&&(o.j.info(`Great, no buffering proxy detected. Bytes received: `+n.length),Xn(o),o.P=!0,it(11))}}else ut(this.i,this.l,n,null),Nt(this,n);s==4&&Mt(this),this.o&&!this.K&&(s==4?$n(this.j,this):(this.o=!1,Ot(this)))}else zn(this.g),t==400&&n.indexOf(`Unknown SID`)>0?(this.m=3,it(12)):(this.m=0,it(13)),Mt(this),jt(this)}}}catch{}};function Tt(e){if(!Et(e))return e.g.la();let t=T(e.g);if(t===``)return``;let n=``,r=t.length,i=Rn(e.g)==4;if(!e.h.i){if(typeof TextDecoder>`u`)return Mt(e),jt(e),``;e.h.i=new o.TextDecoder}for(let a=0;a<r;a++)e.h.h=!0,n+=e.h.i.decode(t[a],{stream:!(i&&a==r-1)});return t.length=0,e.h.g+=n,e.C=0,e.h.g}function Et(e){return e.g?e.v==`GET`&&e.M!=2&&e.j.Aa:!1}function Dt(e,t){var n=e.C,r=t.indexOf(`
|
|
6
|
+
`,n);return r==-1?St:(n=Number(t.substring(n,r)),isNaN(n)?xt:(r+=1,r+n>t.length?St:(t=t.slice(r,r+n),e.C=r+n,t)))}yt.prototype.cancel=function(){this.K=!0,Mt(this)};function Ot(e){e.T=Date.now()+e.H,kt(e,e.H)}function kt(e,t){if(e.D!=null)throw Error(`WatchDog timer not null`);e.D=ot(l(e.aa,e),t)}function At(e){e.D&&=(o.clearTimeout(e.D),null)}yt.prototype.aa=function(){this.D=null;let e=Date.now();e-this.T>=0?(dt(this.i,this.B),this.M!=2&&(nt(),it(17)),Mt(this),this.m=2,jt(this)):kt(this,this.T-e)};function jt(e){e.j.I==0||e.K||$n(e.j,e)}function Mt(e){At(e);var t=e.O;t&&typeof t.dispose==`function`&&t.dispose(),e.O=null,Ue(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dispose())}function Nt(e,t){try{var n=e.j;if(n.I!=0&&(n.g==e||Rt(n.h,e))){if(!e.L&&Rt(n.h,e)&&n.I==3){try{var r=n.Ba.g.parse(t)}catch{r=null}if(Array.isArray(r)&&r.length==3){var i=r;if(i[0]==0){a:if(!n.v){if(n.g){if(n.g.F+3e3<e.F)Qn(n),Hn(n);else break a}Yn(n),it(18)}}else n.xa=i[1],0<n.xa-n.K&&i[2]<37500&&n.F&&n.A==0&&!n.C&&(n.C=ot(l(n.Va,n),6e3));Lt(n.h)<=1&&n.ta&&(n.ta=void 0)}else er(n,11)}else if((e.L||n.g==e)&&Qn(n),!de(t))for(i=n.Ba.g.parse(t),t=0;t<i.length;t++){let l=i[t],u=l[0];if(!(u<=n.K)){if(n.K=u,l=l[1],n.I==2){if(l[0]==`c`){n.M=l[1],n.ba=l[2];let t=l[3];t!=null&&(n.ka=t,n.j.info(`VER=`+n.ka));let i=l[4];i!=null&&(n.za=i,n.j.info(`SVER=`+n.za));let u=l[5];u!=null&&typeof u==`number`&&u>0&&(r=1.5*u,n.O=r,n.j.info(`backChannelRequestTimeoutMs_=`+r)),r=n;let d=e.g;if(d){let e=d.g?d.g.getResponseHeader(`X-Client-Wire-Protocol`):null;if(e){var a=r.h;a.g||e.indexOf(`spdy`)==-1&&e.indexOf(`quic`)==-1&&e.indexOf(`h2`)==-1||(a.j=a.l,a.g=new Set,a.h&&=(zt(a,a.h),null))}if(r.G){let e=d.g?d.g.getResponseHeader(`X-HTTP-Session-Id`):null;e&&(r.wa=e,b(r.J,r.G,e))}}n.I=3,n.l&&n.l.ra(),n.aa&&(n.T=Date.now()-e.F,n.j.info(`Handshake RTT: `+n.T+`ms`)),r=n;var o=e;if(r.na=tr(r,r.L?r.ba:null,r.W),o.L){Bt(r.h,o);var s=o,c=r.O;c&&(s.H=c),s.D&&(At(s),Ot(s)),r.g=o}else Jn(r);n.i.length>0&&Wn(n)}else l[0]!=`stop`&&l[0]!=`close`||er(n,7)}else n.I==3&&(l[0]==`stop`||l[0]==`close`?l[0]==`stop`?er(n,7):E(n):l[0]!=`noop`&&n.l&&n.l.qa(l),n.A=0)}}}nt(4)}catch{}}var Pt=class{constructor(e,t){this.g=e,this.map=t}};function Ft(e){this.l=e||10,o.PerformanceNavigationTiming?(e=o.performance.getEntriesByType(`navigation`),e=e.length>0&&(e[0].nextHopProtocol==`hq`||e[0].nextHopProtocol==`h2`)):e=!!(o.chrome&&o.chrome.loadTimes&&o.chrome.loadTimes()&&o.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 It(e){return e.h?!0:e.g?e.g.size>=e.j:!1}function Lt(e){return e.h?1:e.g?e.g.size:0}function Rt(e,t){return e.h?e.h==t:e.g?e.g.has(t):!1}function zt(e,t){e.g?e.g.add(t):e.h=t}function Bt(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}Ft.prototype.cancel=function(){if(this.i=Vt(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){for(let e of this.g.values())e.cancel();this.g.clear()}};function Vt(e){if(e.h!=null)return e.i.concat(e.h.G);if(e.g!=null&&e.g.size!==0){let t=e.i;for(let n of e.g.values())t=t.concat(n.G);return t}return p(e.i)}var Ht=RegExp(`^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$`);function Ut(e,t){if(e){e=e.split(`&`);for(let n=0;n<e.length;n++){let r=e[n].indexOf(`=`),i,a=null;r>=0?(i=e[n].substring(0,r),a=e[n].substring(r+1)):i=e[n],t(i,a?decodeURIComponent(a.replace(/\+/g,` `)):``)}}}function Wt(e){this.g=this.o=this.j=``,this.u=null,this.m=this.h=``,this.l=!1;let t;e instanceof Wt?(this.l=e.l,Kt(this,e.j),this.o=e.o,this.g=e.g,qt(this,e.u),this.h=e.h,Jt(this,dn(e.i)),this.m=e.m):e&&(t=String(e).match(Ht))?(this.l=!1,Kt(this,t[1]||``,!0),this.o=Xt(t[2]||``),this.g=Xt(t[3]||``,!0),qt(this,t[4]),this.h=Xt(t[5]||``,!0),Jt(this,t[6]||``,!0),this.m=Xt(t[7]||``)):(this.l=!1,this.i=new an(null,this.l))}Wt.prototype.toString=function(){let e=[];var t=this.j;t&&e.push(Zt(t,$t,!0),`:`);var n=this.g;return(n||t==`file`)&&(e.push(`//`),(t=this.o)&&e.push(Zt(t,$t,!0),`@`),e.push(_t(n).replace(/%25([0-9a-fA-F]{2})/g,`%$1`)),n=this.u,n!=null&&e.push(`:`,String(n))),(n=this.h)&&(this.g&&n.charAt(0)!=`/`&&e.push(`/`),e.push(Zt(n,n.charAt(0)==`/`?tn:en,!0))),(n=this.i.toString())&&e.push(`?`,n),(n=this.m)&&e.push(`#`,Zt(n,rn)),e.join(``)},Wt.prototype.resolve=function(e){let t=Gt(this),n=!!e.j;n?Kt(t,e.j):n=!!e.o,n?t.o=e.o:n=!!e.g,n?t.g=e.g:n=e.u!=null;var r=e.h;if(n)qt(t,e.u);else if(n=!!e.h){if(r.charAt(0)!=`/`){if(this.g&&!this.h)r=`/`+r;else{var i=t.h.lastIndexOf(`/`);i!=-1&&(r=t.h.slice(0,i+1)+r)}}if(i=r,i==`..`||i==`.`)r=``;else if(i.indexOf(`./`)!=-1||i.indexOf(`/.`)!=-1){r=i.lastIndexOf(`/`,0)==0,i=i.split(`/`);let e=[];for(let t=0;t<i.length;){let n=i[t++];n==`.`?r&&t==i.length&&e.push(``):n==`..`?((e.length>1||e.length==1&&e[0]!=``)&&e.pop(),r&&t==i.length&&e.push(``)):(e.push(n),r=!0)}r=e.join(`/`)}else r=i}return n?t.h=r:n=e.i.toString()!==``,n?Jt(t,dn(e.i)):n=!!e.m,n&&(t.m=e.m),t};function Gt(e){return new Wt(e)}function Kt(e,t,n){e.j=n?Xt(t,!0):t,e.j&&=e.j.replace(/:$/,``)}function qt(e,t){if(t){if(t=Number(t),isNaN(t)||t<0)throw Error(`Bad port number `+t);e.u=t}else e.u=null}function Jt(e,t,n){t instanceof an?(e.i=t,pn(e.i,e.l)):(n||(t=Zt(t,nn)),e.i=new an(t,e.l))}function b(e,t,n){e.i.set(t,n)}function Yt(e){return b(e,`zx`,Math.floor(Math.random()*2147483648).toString(36)+Math.abs(Math.floor(Math.random()*2147483648)^Date.now()).toString(36)),e}function Xt(e,t){return e?t?decodeURI(e.replace(/%25/g,`%2525`)):decodeURIComponent(e):``}function Zt(e,t,n){return typeof e==`string`?(e=encodeURI(e).replace(t,Qt),n&&(e=e.replace(/%25([0-9a-fA-F]{2})/g,`%$1`)),e):null}function Qt(e){return e=e.charCodeAt(0),`%`+(e>>4&15).toString(16)+(e&15).toString(16)}var $t=/[#\/\?@]/g,en=/[#\?:]/g,tn=/[#\?]/g,nn=/[#\?@]/g,rn=/#/g;function an(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function on(e){e.g||(e.g=new Map,e.h=0,e.i&&Ut(e.i,function(t,n){e.add(decodeURIComponent(t.replace(/\+/g,` `)),n)}))}e=an.prototype,e.add=function(e,t){on(this),this.i=null,e=fn(this,e);let n=this.g.get(e);return n||this.g.set(e,n=[]),n.push(t),this.h+=1,this};function sn(e,t){on(e),t=fn(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function cn(e,t){return on(e),t=fn(e,t),e.g.has(t)}e.forEach=function(e,t){on(this),this.g.forEach(function(n,r){n.forEach(function(n){e.call(t,n,r,this)},this)},this)};function ln(e,t){on(e);let n=[];if(typeof t==`string`)cn(e,t)&&(n=n.concat(e.g.get(fn(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)n=n.concat(e[t]);return n}e.set=function(e,t){return on(this),this.i=null,e=fn(this,e),cn(this,e)&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},e.get=function(e,t){return e?(e=ln(this,e),e.length>0?String(e[0]):t):t};function un(e,t,n){sn(e,t),n.length>0&&(e.i=null,e.g.set(fn(e,t),p(n)),e.h+=n.length)}e.toString=function(){if(this.i)return this.i;if(!this.g)return``;let e=[],t=Array.from(this.g.keys());for(let r=0;r<t.length;r++){var n=t[r];let i=_t(n);n=ln(this,n);for(let t=0;t<n.length;t++){let r=i;n[t]!==``&&(r+=`=`+_t(n[t])),e.push(r)}}return this.i=e.join(`&`)};function dn(e){let t=new an;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function fn(e,t){return t=String(t),e.j&&(t=t.toLowerCase()),t}function pn(e,t){t&&!e.j&&(on(e),e.i=null,e.g.forEach(function(e,t){let n=t.toLowerCase();t!=n&&(sn(this,t),un(this,n,e))},e)),e.j=t}function mn(e,t){let n=new st;if(o.Image){let r=new Image;r.onload=u(gn,n,`TestLoadImage: loaded`,!0,t,r),r.onerror=u(gn,n,`TestLoadImage: error`,!1,t,r),r.onabort=u(gn,n,`TestLoadImage: abort`,!1,t,r),r.ontimeout=u(gn,n,`TestLoadImage: timeout`,!1,t,r),o.setTimeout(function(){r.ontimeout&&r.ontimeout()},1e4),r.src=e}else t(!1)}function hn(e,t){let n=new st,r=new AbortController,i=setTimeout(()=>{r.abort(),gn(n,`TestPingServer: timeout`,!1,t)},1e4);fetch(e,{signal:r.signal}).then(e=>{clearTimeout(i),e.ok?gn(n,`TestPingServer: ok`,!0,t):gn(n,`TestPingServer: server error`,!1,t)}).catch(()=>{clearTimeout(i),gn(n,`TestPingServer: error`,!1,t)})}function gn(e,t,n,r,i){try{i&&(i.onload=null,i.onerror=null,i.onabort=null,i.ontimeout=null),r(n)}catch{}}function _n(){this.g=new Ke}function vn(e){this.i=e.Sb||null,this.h=e.ab||!1}d(vn,qe),vn.prototype.g=function(){return new yn(this.i,this.h)};function yn(e,t){Fe.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}d(yn,Fe),e=yn.prototype,e.open=function(e,t){if(this.readyState!=0)throw this.abort(),Error(`Error reopening a connection`);this.F=e,this.D=t,this.readyState=1,Sn(this)},e.send=function(e){if(this.readyState!=1)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||o).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},e.abort=function(){this.response=this.responseText=``,this.A=new Headers,this.status=0,this.v.abort(),this.j&&this.j.cancel(`Request was aborted.`).catch(()=>{}),this.readyState>=1&&this.g&&this.readyState!=4&&(this.g=!1,xn(this)),this.readyState=0},e.Pa=function(e){if(this.g&&(this.l=e,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=e.headers,this.readyState=2,Sn(this)),this.g&&(this.readyState=3,Sn(this),this.g))){if(this.responseType===`arraybuffer`)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(o.ReadableStream!==void 0&&`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;bn(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))}};function bn(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}e.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;(t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t)}e.done?xn(this):Sn(this),this.readyState==3&&bn(this)}},e.Oa=function(e){this.g&&(this.response=this.responseText=e,xn(this))},e.Na=function(e){this.g&&(this.response=e,xn(this))},e.ga=function(){this.g&&xn(this)};function xn(e){e.readyState=4,e.l=null,e.j=null,e.B=null,Sn(e)}e.setRequestHeader=function(e,t){this.A.append(e,t)},e.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||``},e.getAllResponseHeaders=function(){if(!this.h)return``;let e=[],t=this.h.entries();for(var n=t.next();!n.done;)n=n.value,e.push(n[0]+`: `+n[1]),n=t.next();return e.join(`\r
|
|
7
|
+
`)};function Sn(e){e.onreadystatechange&&e.onreadystatechange.call(e)}Object.defineProperty(yn.prototype,"withCredentials",{get:function(){return this.m===`include`},set:function(e){this.m=e?`include`:`same-origin`}});function x(e){let t=``;return _e(e,function(e,n){t+=n,t+=`:`,t+=e,t+=`\r
|
|
8
|
+
`}),t}function Nn(e,t,n){a:{for(r in n){var r=!1;break a}r=!0}r||(n=x(n),typeof e==`string`||b(e,t,n))}function S(e){Fe.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}d(S,Fe);var Pn=/^https?$/i,Fn=[`POST`,`PUT`];e=S.prototype,e.Fa=function(e){this.H=e},e.ea=function(e,t,n,r){if(this.g)throw Error(`[goog.net.XhrIo] Object is active with another request=`+this.D+`; newUri=`+e);t=t?t.toUpperCase():`GET`,this.D=e,this.l=``,this.o=0,this.A=!1,this.h=!0,this.g=this.L?this.L.g():ht.g(),this.g.onreadystatechange=f(l(this.Ca,this));try{this.B=!0,this.g.open(t,String(e),!0),this.B=!1}catch(e){In(this,e);return}if(e=n||``,n=new Map(this.headers),r){if(Object.getPrototypeOf(r)===Object.prototype)for(var i in r)n.set(i,r[i]);else if(typeof r.keys==`function`&&typeof r.get==`function`)for(let e of r.keys())n.set(e,r.get(e));else throw Error(`Unknown input type for opt_headers: `+String(r))}r=Array.from(n.keys()).find(e=>e.toLowerCase()==`content-type`),i=o.FormData&&e instanceof o.FormData,!(Array.prototype.indexOf.call(Fn,t,void 0)>=0)||r||i||n.set(`Content-Type`,`application/x-www-form-urlencoded;charset=utf-8`);for(let[e,t]of n)this.g.setRequestHeader(e,t);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),null),this.v=!0,this.g.send(e),this.v=!1}catch(e){In(this,e)}};function In(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,C(e),Ln(e)}function C(e){e.A||(e.A=!0,Ie(e,`complete`),Ie(e,`error`))}e.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,Ie(this,`complete`),Ie(this,`abort`),Ln(this))},e.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Ln(this,!0)),S.Z.N.call(this)},e.Ca=function(){this.u||(this.B||this.v||this.j?w(this):this.Xa())},e.Xa=function(){w(this)};function w(e){if(e.h&&a!==void 0){if(e.v&&Rn(e)==4)setTimeout(e.Ca.bind(e),0);else if(Ie(e,`readystatechange`),Rn(e)==4){e.h=!1;try{let a=e.ca();a:switch(a){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var t=!0;break a;default:t=!1}var n;if(!(n=t)){var r;if(r=a===0){let t=String(e.D).match(Ht)[1]||null;!t&&o.self&&o.self.location&&(t=o.self.location.protocol.slice(0,-1)),r=!Pn.test(t?t.toLowerCase():``)}n=r}if(n)Ie(e,`complete`),Ie(e,`success`);else{e.o=6;try{var i=Rn(e)>2?e.g.statusText:``}catch{i=``}e.l=i+` [`+e.ca()+`]`,C(e)}}finally{Ln(e)}}}}function Ln(e,t){if(e.g){e.m&&=(clearTimeout(e.m),null);let n=e.g;e.g=null,t||Ie(e,`ready`);try{n.onreadystatechange=null}catch{}}}e.isActive=function(){return!!this.g};function Rn(e){return e.g?e.g.readyState:0}e.ca=function(){try{return Rn(this)>2?this.g.status:-1}catch{return-1}},e.la=function(){try{return this.g?this.g.responseText:``}catch{return``}},e.La=function(e){if(this.g){var t=this.g.responseText;return e&&t.indexOf(e)==0&&(t=t.substring(e.length)),Ge(t)}};function T(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{return null}}function zn(e){let t={};e=(e.g&&Rn(e)>=2&&e.g.getAllResponseHeaders()||``).split(`\r
|
|
9
|
+
`);for(let r=0;r<e.length;r++){if(de(e[r]))continue;var n=vt(e[r]);let i=n[0];if(n=n[1],typeof n!=`string`)continue;n=n.trim();let a=t[i]||[];t[i]=a,a.push(n)}ve(t,function(e){return e.join(`, `)})}e.ya=function(){return this.o},e.Ha=function(){return typeof this.l==`string`?this.l:String(this.l)};function Bn(e,t,n){return n&&n.internalChannelParams&&n.internalChannelParams[e]||t}function Vn(e){this.za=0,this.i=[],this.j=new st,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=Bn(`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=Bn(`baseRetryDelayMs`,5e3,e),this.Za=Bn(`retryDelaySeedMs`,1e4,e),this.Ta=Bn(`forwardChannelMaxRetries`,2,e),this.va=Bn(`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 Ft(e&&e.concurrentRequestLimit),this.Ba=new _n,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}e=Vn.prototype,e.ka=8,e.I=1,e.connect=function(e,t,n,r){it(0),this.W=e,this.H=t||{},n&&r!==void 0&&(this.H.OSID=n,this.H.OAID=r),this.F=this.X,this.J=tr(this,null,this.W),Wn(this)};function E(e){if(Un(e),e.I==3){var t=e.V++,n=Gt(e.J);if(b(n,`SID`,e.M),b(n,`RID`,t),b(n,`TYPE`,`terminate`),Kn(e,n),t=new yt(e,e.j,t),t.M=2,t.A=Yt(Gt(n)),n=!1,o.navigator&&o.navigator.sendBeacon)try{n=o.navigator.sendBeacon(t.A.toString(),``)}catch{}!n&&o.Image&&(new Image().src=t.A,n=!0),n||(t.g=nr(t.j,null),t.g.ea(t.A)),t.F=Date.now(),Ot(t)}k(e)}function Hn(e){e.g&&=(Xn(e),e.g.cancel(),null)}function Un(e){Hn(e),e.v&&=(o.clearTimeout(e.v),null),Qn(e),e.h.cancel(),e.m&&=(typeof e.m==`number`&&o.clearTimeout(e.m),null)}function Wn(e){if(!It(e.h)&&!e.m){e.m=!0;var t=e.Ea;re||oe(),ie||=(re(),!0),ae.add(t,e),e.D=0}}function Gn(e,t){return Lt(e.h)>=e.h.j-+!!e.m?!1:e.m?(e.i=t.G.concat(e.i),!0):e.I==1||e.I==2||e.D>=(e.Sa?0:e.Ta)?!1:(e.m=ot(l(e.Ea,e,t),O(e,e.D)),e.D++,!0)}e.Ea=function(e){if(this.m){if(this.m=null,this.I==1){if(!e){this.V=Math.floor(Math.random()*1e5),e=this.V++;let i=new yt(this,this.j,e),a=this.o;if(this.U&&(a?(a=ye(a),xe(a,this.U)):a=this.U),this.u!==null||this.R||(i.J=a,a=null),this.S)a:{for(var t=0,n=0;n<this.i.length;n++){b:{var r=this.i[n];if(`__data__`in r.map&&(r=r.map.__data__,typeof r==`string`)){r=r.length;break b}r=void 0}if(r===void 0)break;if(t+=r,t>4096){t=n;break a}if(t===4096||n===this.i.length-1){t=n+1;break a}}t=1e3}else t=1e3;t=qn(this,i,t),n=Gt(this.J),b(n,`RID`,e),b(n,`CVER`,22),this.G&&b(n,`X-HTTP-Session-Id`,this.G),Kn(this,n),a&&(this.R?t=`headers=`+_t(x(a))+`&`+t:this.u&&Nn(n,this.u,a)),zt(this.h,i),this.Ra&&b(n,`TYPE`,`init`),this.S?(b(n,`$req`,t),b(n,`SID`,`null`),i.U=!0,Ct(i,n,null)):Ct(i,n,t),this.I=2}}else this.I==3&&(e?D(this,e):this.i.length==0||It(this.h)||D(this))}};function D(e,t){var n=t?t.l:e.V++;let r=Gt(e.J);b(r,`SID`,e.M),b(r,`RID`,n),b(r,`AID`,e.K),Kn(e,r),e.u&&e.o&&Nn(r,e.u,e.o),n=new yt(e,e.j,n,e.D+1),e.u===null&&(n.J=e.o),t&&(e.i=t.G.concat(e.i)),t=qn(e,n,1e3),n.H=Math.round(e.va*.5)+Math.round(e.va*.5*Math.random()),zt(e.h,n),Ct(n,r,t)}function Kn(e,t){e.H&&_e(e.H,function(e,n){b(t,n,e)}),e.l&&_e({},function(e,n){b(t,n,e)})}function qn(e,t,n){n=Math.min(e.i.length,n);let r=e.l?l(e.l.Ka,e.l,e):null;a:{var i=e.i;let t=-1;for(;;){let e=[`count=`+n];t==-1?n>0?(t=i[0].g,e.push(`ofs=`+t)):t=0:e.push(`ofs=`+t);let c=!0;for(let l=0;l<n;l++){var a=i[l].g;let n=i[l].map;if(a-=t,a<0)t=Math.max(0,i[l].g-100),c=!1;else try{a=`req`+a+`_`||``;try{var o=n instanceof Map?n:Object.entries(n);for(let[t,n]of o){let r=n;s(n)&&(r=We(n)),e.push(a+t+`=`+encodeURIComponent(r))}}catch(t){throw e.push(a+`type=_badmap`),t}}catch{r&&r(n)}}if(c){o=e.join(`&`);break a}}o=void 0}return e=e.i.splice(0,n),t.G=e,o}function Jn(e){if(!e.g&&!e.v){e.Y=1;var t=e.Da;re||oe(),ie||=(re(),!0),ae.add(t,e),e.A=0}}function Yn(e){return e.g||e.v||e.A>=3?!1:(e.Y++,e.v=ot(l(e.Da,e),O(e,e.A)),e.A++,!0)}e.Da=function(){if(this.v=null,Zn(this),this.aa&&!(this.P||this.g==null||this.T<=0)){var e=4*this.T;this.j.info(`BP detection timer enabled: `+e),this.B=ot(l(this.Wa,this),e)}},e.Wa=function(){this.B&&(this.B=null,this.j.info(`BP detection timeout reached.`),this.j.info(`Buffering proxy detected and switch to long-polling!`),this.F=!1,this.P=!0,it(10),Hn(this),Zn(this))};function Xn(e){e.B!=null&&(o.clearTimeout(e.B),e.B=null)}function Zn(e){e.g=new yt(e,e.j,`rpc`,e.Y),e.u===null&&(e.g.J=e.o),e.g.P=0;var t=Gt(e.na);b(t,`RID`,`rpc`),b(t,`SID`,e.M),b(t,`AID`,e.K),b(t,`CI`,e.F?`0`:`1`),!e.F&&e.ia&&b(t,`TO`,e.ia),b(t,`TYPE`,`xmlhttp`),Kn(e,t),e.u&&e.o&&Nn(t,e.u,e.o),e.O&&(e.g.H=e.O);var n=e.g;e=e.ba,n.M=1,n.A=Yt(Gt(t)),n.u=null,n.R=!0,wt(n,e)}e.Va=function(){this.C!=null&&(this.C=null,Hn(this),Yn(this),it(19))};function Qn(e){e.C!=null&&(o.clearTimeout(e.C),e.C=null)}function $n(e,t){var n=null;if(e.g==t){Qn(e),Xn(e),e.g=null;var r=2}else if(Rt(e.h,t))n=t.G,Bt(e.h,t),r=1;else return;if(e.I!=0){if(t.o){if(r==1){n=t.u?t.u.length:0,t=Date.now()-t.F;var i=e.D;r=et(),Ie(r,new at(r,n)),Wn(e)}else Jn(e)}else if(i=t.m,i==3||i==0&&t.X>0||!(r==1&&Gn(e,t)||r==2&&Yn(e)))switch(n&&n.length>0&&(t=e.h,t.i=t.i.concat(n)),i){case 1:er(e,5);break;case 4:er(e,10);break;case 3:er(e,6);break;default:er(e,2)}}}function O(e,t){let n=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(n*=2),n*t}function er(e,t){if(e.j.info(`Error code `+t),t==2){var n=l(e.bb,e),r=e.Ua;let t=!r;r=new Wt(r||`//www.google.com/images/cleardot.gif`),o.location&&o.location.protocol==`http`||Kt(r,`https`),Yt(r),t?mn(r.toString(),n):hn(r.toString(),n)}else it(2);e.I=0,e.l&&e.l.pa(t),k(e),Un(e)}e.bb=function(e){e?(this.j.info(`Successfully pinged google.com`),it(2)):(this.j.info(`Failed to ping google.com`),it(1))};function k(e){if(e.I=0,e.ja=[],e.l){let t=Vt(e.h);(t.length!=0||e.i.length!=0)&&(m(e.ja,t),m(e.ja,e.i),e.h.i.length=0,p(e.i),e.i.length=0),e.l.oa()}}function tr(e,t,n){var r=n instanceof Wt?Gt(n):new Wt(n);if(r.g!=``)t&&(r.g=t+`.`+r.g),qt(r,r.u);else{var i=o.location;r=i.protocol,t=t?t+`.`+i.hostname:i.hostname,i=+i.port;let e=new Wt(null);r&&Kt(e,r),t&&(e.g=t),i&&qt(e,i),n&&(e.h=n),r=e}return n=e.G,t=e.wa,n&&t&&b(r,n,t),b(r,`VER`,e.ka),Kn(e,r),r}function nr(e,t,n){if(t&&!e.L)throw Error(`Can't create secondary domain capable XhrIo object.`);return t=e.Aa&&!e.ma?new S(new vn({ab:n})):new S(e.ma),t.Fa(e.L),t}e.isActive=function(){return!!this.l&&this.l.isActive(this)};function rr(){}e=rr.prototype,e.ra=function(){},e.qa=function(){},e.pa=function(){},e.oa=function(){},e.isActive=function(){return!0},e.Ka=function(){};function ir(){}ir.prototype.g=function(e,t){return new ar(e,t)};function ar(e,t){Fe.call(this),this.g=new Vn(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)&&!de(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t&&=t.httpSessionIdParam)&&!de(t)&&(this.g.G=t,e=this.h,e!==null&&t in e&&(e=this.h,t in e&&delete e[t])),this.j=new sr(this)}d(ar,Fe),ar.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},ar.prototype.close=function(){E(this.g)},ar.prototype.o=function(e){var t=this.g;if(typeof e==`string`){var n={};n.__data__=e,e=n}else this.v&&(n={},n.__data__=We(e),e=n);t.i.push(new Pt(t.Ya++,e)),t.I==3&&Wn(t)},ar.prototype.N=function(){this.g.l=null,delete this.j,E(this.g),delete this.g,ar.Z.N.call(this)};function A(e){Xe.call(this),e.__headers__&&(this.headers=e.__headers__,this.statusCode=e.__status__,delete e.__headers__,delete e.__status__);var t=e.__sm__;if(t){a:{for(let n in t){e=n;break a}e=void 0}(this.i=e)&&(e=this.i,t=t!==null&&e in t?t[e]:void 0),this.data=t}else this.data=e}d(A,Xe);function or(){Ze.call(this),this.status=1}d(or,Ze);function sr(e){this.g=e}d(sr,rr),sr.prototype.ra=function(){Ie(this.g,`a`)},sr.prototype.qa=function(e){Ie(this.g,new A(e))},sr.prototype.pa=function(e){Ie(this.g,new or)},sr.prototype.oa=function(){Ie(this.g,`b`)},ir.prototype.createWebChannel=ir.prototype.g,ar.prototype.send=ar.prototype.o,ar.prototype.open=ar.prototype.m,ar.prototype.close=ar.prototype.close,Mn=wn.createWebChannelTransport=function(){return new ir},jn=wn.getStatEventTarget=function(){return et()},An=wn.Event=Qe,kn=wn.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},pt.NO_ERROR=0,pt.TIMEOUT=8,pt.HTTP_ERROR=6,On=wn.ErrorCode=pt,mt.COMPLETE=`complete`,Dn=wn.EventType=mt,Je.EventType=Ye,Ye.OPEN=`a`,Ye.CLOSE=`b`,Ye.ERROR=`c`,Ye.MESSAGE=`d`,Fe.prototype.listen=Fe.prototype.J,En=wn.WebChannel=Je,S.prototype.listenOnce=S.prototype.K,S.prototype.getLastError=S.prototype.Ha,S.prototype.getLastErrorCode=S.prototype.ya,S.prototype.getStatus=S.prototype.ca,S.prototype.getResponseJson=S.prototype.La,S.prototype.getResponseText=S.prototype.la,S.prototype.send=S.prototype.ea,S.prototype.setWithCredentials=S.prototype.Fa,Tn=wn.XhrIo=S}).apply(Cn===void 0?typeof self<`u`?self:typeof window<`u`?window:{}:Cn);var x=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},Nn={CASE_INSENSITIVE:1,DOTALL:2,MULTILINE:4,DISABLE_UNICODE_GROUPS:8,LONGEST_MATCH:16,LOOKBEHINDS:512},S=128,Pn=new Int32Array(S),Fn=new Int32Array(S),In=65535;for(let e=0;e<S;e++)e>=97&&e<=122?Pn[e]=e-32:Pn[e]=e,e>=65&&e<=90?Fn[e]=e+32:Fn[e]=e;var C=class{static CODES=new Map([[`\x07`,7],[`\b`,8],[` `,9],[`
|
|
10
|
+
`,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<S)return Pn[e];let t=String.fromCodePoint(e).toUpperCase(),n=t.codePointAt(0)>In?2:1;if(t.length>n)return e;let r=String.fromCodePoint(t.codePointAt(0)).toLowerCase(),i=r.codePointAt(0)>In?2:1;return r.length>i||r.codePointAt(0)!==e?e:t.codePointAt(0)}static toLowerCase(e){if(e<S)return Fn[e];let t=String.fromCodePoint(e).toLowerCase(),n=t.codePointAt(0)>In?2:1;if(t.length>n)return e;let r=String.fromCodePoint(t.codePointAt(0)).toUpperCase(),i=r.codePointAt(0)>In?2:1;return r.length>i||r.codePointAt(0)!==e?e:t.codePointAt(0)}},w=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}},Ln=new Uint8Array(256);for(let e=0;e<64;e++)Ln[`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-`.charCodeAt(e)]=e;var Rn=e=>{let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=Ln[e.charCodeAt(i)];n|=(a&31)<<r,a&32?r+=5:(t.push(n),n=0,r=0)}return t},T=(e,t)=>{let n=Rn(e),r=t?n.length/2:n.length/3,i=new Uint32Array(r*3),a=0,o=0;for(let e=0;e<r;e++)a+=n[o++],i[e*3]=a,a+=n[o++],i[e*3+1]=a,i[e*3+2]=t?1:n[o++];return i},zn=e=>{let t=Rn(e),n=new Map,r=0;for(let e=0;e<t.length;e+=2){r+=t[e];let i=t[e+1],a=i>>>1^-(i&1);n.set(r,r+a)}return n},Bn=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],n=t?t():null;return this.cache.set(e,n),n}},Vn=class{static _CASE_ORBIT=null;static get CASE_ORBIT(){return this._CASE_ORBIT||=zn(`rCgCIgCY+rQI4QiCuuBLgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCCgCBgCBgCBgCBgCBgCBgCB+7OB-BB-BB-BB-BB-BBskQB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BC-BB-BB-BB-BB-BB-BB-BByHBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBxHBCBBBCBBBCBBB3SBmMBkNBCBBBCBBB8MBCBBB6MB6MBCBBC+EB0MB2MBCBBB6MB+MBiGBmNBiNBCBBBmKBikzCBmNBqNBkIBsNBCBBBCBBBCBBB0NBCBBB0NDCBBB0NBCBBByNByNBCBBBCBBB2NBCBBDCBBCwDFCBCBDBCBCBDBCBCBDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB9EBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBCBDBCBBBhGBvDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBjICCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBH2iVBCBBBlKBwiVB+jVB+jVBCBBBlMBqEBuEBCBBBCBBBCBBBCBBBCBBB+hVB4hVB8hVBjNB7MC5MB5MCzMC1MB+0yCE5MB20yCC9MBu2yCBwyyCBo0yCChNBlNBo0yCBu-UBi0yCDlNC6-UBpNDrNIu+UDzNCm0yCBzNE0yyCBzNBpEBxNBxNBtEG1NLqxyCBkxyCnFoFrBCBBBCBBDCBBEkIBkIBkICoHHsCCqCBqCBqCCgEC+DB+DBmkOBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCC+BBgCBgCBgCBgCBgCBgCBgCBgCBrCBpCBpCBpCBmjOB-BB8BB-BB-BBgEB-BB-BByBBqgOBsDB-BBtwBB-BB-BB-BBsBBgDBCB-BB-BB-BBeB-BB-BB61OB-BB-BB-DB9DB9DBQB7DBmCE9CBrDBPBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBrFB-EBOBnHB3FB-FCCBBBNBCBBCjIBjIBjIBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB8kMB-BB6kMB-BB-BB-BB-BB-BB-BB-BB-BB-BBokMB-BB-BBkkMBkkMB-BB-BB-BB-BB-BB-BB-BB4jMB-BB-BB-BB-BB-BB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EBCBBBCBoiMBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBJCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBeBCBBBCBBBCBBBCBBBCBBBCBBBCBBBdBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDL-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-C64CgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOCgmOGgmODg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FDg8FBg8FBg8FhVg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBQBQBQBQBQBQDPBPBPBPBPBPjkC7mMB5mMBnmMBjmMBCBlmMB3lMBpiMBk8kCBCBBG-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FD-7FB-7FB-7F6FoglCEsuHRwjlCyDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCB0DBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBG1DD97OCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPEQCQCQCQCPCPCPCPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPB0EB0EBsFBsFBsFBsFBoGBoGBgIBgIBgHBgHB8HB8HDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQCSFPBPBzEBzEBRCxnOFSFrFBrFBrFBrFBREQBQClkOFPBPBnGBnGFQBQCljOCODPBPB-GB-GBNHSF-HB-HB7HB7HBRqJ53OE9tQBrmQH4Bc3BSgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfECBByZ0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzB34BgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CBCBBBt-UBruHBt+UB1iVBviVBCBBBCBBBCBBB3hVB5-UB9hVB7hVCCBBCCBBI9jVB9jVBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBICBBBCBBECBBN-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOC-lOG-lOzoeCBBBCBBBCBBBCBBBCBBBCBl8kCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBTCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBnECBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBKCBBBCBBBnglCBCBBBCBBBCBBBCBBBCBBECBBBvyyCDCBBBCBBBgDCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBn0yCB90yCB10yCBh0yCBn0yCCjxyCBzyyCBpxyCBg6BBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB-CBl0yCBvjlCBCBBBCBBBt2yCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBhkzCZCBB9a-5Bd-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCm6TCBB7gBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCH-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BmlBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvChDwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCFvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvC1DuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCCuCBuCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCCtCBtCk2BgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEO-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-D+CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCL-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-B74CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhrVgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BD1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BtxekCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjC`),this._CASE_ORBIT}static _Print=null;static get Print(){return this._Print||=new w(T(`hB9CBjBLBCpWBDFBFGBCCCBSBCsMBClBBDxBBDCBC2BBJaBFFBSVBC-FBCvBBD6BBDkDBP6BBDwBBDOBCbBDCCBJBGfBIqCBCgFBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYBDCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPBLCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGBCCBCHBDBBDVBCGBCBBCEBDIBDBBDCBICBFBBCEBDRBLBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBGMBCCBCWBCPBDIBCCBCDBIBBCCBCBBDDBDJBIVBCCBCWBCJBCEBDIBCCBCDBIBBGCBCDBDJBCCBNMBCCBCyBBCCBCFBFPBDZBCCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBN5BBFcBmBBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDBhBnCBCjBBFmBBCjBBCOBCMBmBlGBCGGD4LBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBH1CBDFBD-TBCbBE4CBIVBKXBKTBNMBCCBCBBN9CBDJBHJBHNBCKBH4CBIqBBGlCBLeBCLBFLBFEEBoBBDEBMrBBFZBHKBE9BBDgCBCcBDKBHJBHNBDtBBDLBVsCBClFBJ7BBEOBE9BBGqBBDKBJqBBG1QBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBSXBJuBBSBBDaBCMBEhBBPgBBQrEBF5UBXKBWz4BBD9LBGsBBCGGD3BBIBBPXBKGBCGBCGBCGBCGBCGBCGBCGBC9DBjBZBC4CBN1GBbPBC+BBC1CBDmDBGqBBC9CBC1CBKvBBCszcBE2BBK7KBV3FBJ8GBV7BBEJBH3BBJlCBJLBHzDBMdBEtCBCKBFgBBC2BBKNBDJBDmDBZbBLFBDFBDFBKGBCGBC7BBF9DBDJBHj9KBNWBFwBBloItLBDpDBnBGBNEBGZBCEBCCCBCCBCCBoUBhBpBBHyBBCSBCDBFEBCmEBF9FBEFBDFBDFBDCBEGBCGBOBBDLBCZBCSBCBBCOBDNBjB6DBGCBFsBBE3CBCMBEwBwBBsBBjEcBEwBBQbBFjBBKdBGqBBGdBCkBBFNBrB9EBDJBHjBBFjBBFnBBJzBBMLBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBCnCBJIBxBSBCBBGgBBEaBGaBnB3BBFTBDxBBCBBGHBCCBCcBDCBFJBIIBI-BBhBmBBFLBK1BBEcBDaBGZBIDBNGBxCoCB4ByBBOyBBItBBJJBHlBBEcBJBBxGeBCpBBCCBDBBRFBJIBiBtBBJpBBXZBnBbBVWBKtCBFjBBK9BBCEBOYBIJBH0BBCRBJmBBK-CBCTBMRBCuBB-BGBCCCBCBCOBCKBH6BBGJBHDBCHBDBBDVBCGBCBBCEBCJBDBBDCBDHHGGBDGBEEBMJBCDDClBBCJBCDDCDBCJBCBBJBBe7CBCEBfnCBJJBnF1BBDlBBjBkCBMJBHMBU5BBHJBHTBdaBDOBFWB6F7BBlDyCBNHBDDDBGBCBBCdBCBBDLBKJBnCHBDtBBDKBcnCBJyCBOoCBIJB3CHB5ChBBPJBHIBCsBBCNBLcBEfBDVBCNBqCGBCBBCrBBECCBCCBHBJJBHFBCBBCkBBCBBCFBIJBHrBBFJB3HYBIQBCoBBEcB2CQQBwBBO6cBnDuDBCEBMjGBtyCiDBOvhBBRVBL68DBGmSB61G5BBn2B4RBIeBCJBFwCBCJBHdBDFBLlCBLJBCGBCUBGSBxN5BBnG6CBGYBDYBtBqCBF4BBIQBhCEBMGBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBDDBh7D8HBEzNBHWBQQBQtBBDWBKzDB9B1HBLmBBDpCBJvDBWlCB7DTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBD9VBQEBCOBxiBeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBENBDJBFBBhKeBS5BBGxOxOBoBB3GqBBFhGhGBdBCVBJBBhHGBCDBCBBCOBCkGBDPBqBrCBFJBFBByYjCBtC8BBjGDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBBvIrBBFjDBNOBDOBCOBCkBBLtFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBmgB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIBnkzVvHB`,!1)),this._Print}static CATEGORIES=new Bn({C:()=>new w(T(`AfBgDgBBOrWrWBHHBCBICCVuMuMnBBBzBBBE4B4BBGBcDBHQBXhGhGxBBB8BBBmDNB8BBByBBBQddBCCMEBhBGBsCiFiFJBBDBBXIICCBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBPMMBEB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKMMBDBbEByBPBDBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCB-FCBHBBHBBHBBECBIIIBLBDBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIB-BGGBLBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMBxhBPBXJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBF-6DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBrCHBxDUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBNDBLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIlkzVBxHvw-FB`,!1)),Cc:()=>new w(T(`AfgDgB`,!0)),Cf:()=>new w(T(`tFzqBzqBBEBXhGhGyBhMhMBxCxCs5D9-B9-BBDBbEByBEBCJBw03B6H6HBBBimEQQj7IPBhjiBDBwmFHBn0rYffB+CB`,!1)),Cn:()=>new w(T(`4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBDBvzIBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBNDBLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-BB---BBB---BBB`,!1)),Co:()=>new w(T(`gg4B-nGh4hc9--BD9--B`,!0)),Cs:()=>new w(T(`gg2B--B`,!0)),L:()=>new w(T(`hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICCiEEBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoCaBFDBuBqBBkBBBCiDBCQQBIIBLLBBBDRRCdBe4CBMZZBfBKBBFGGBUBFKKEYYBXBIKBGXBCGBRpBB7B1BBETTIJBQPBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNGB7BBBCCCBDBCXBCCCBIBCBBKDDBDBCWWBCBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNSSBkBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBkBFFkC4CBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBzC+C+CBtBBSHB3BdBOBBLrBBbjBBqBCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBhC1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBF1B1BB8zC8zCBjHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBxC2O2OBrBrBBDBGBBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBReBDlCByBIBDmDBDxCBVQBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBdRRBDBCJBLEBCoBBYCBCHBVWBEEEBwBBCEEBDDBDBDCCZCBDKBICBNFBDFBDFBKGBCGBCqBBCNBHyDBej9KBNWBFwBBloItLBDpDBnBGBNEBGCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBxB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOjBBnBbBKWB7HpBBHBBRFB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB1D-BBgBHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBqBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBGjCjCBLBhCBBCPPBNNB0mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBn7F0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFBmI9BBzEsBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCCBCBBCGBDEBKBBhHGBCDBCBBCOBCkGB8BjCBI1lB1lBBCBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB`,!1)),LC:()=>new w(T(`hCZBHZB7BLLBVBCeBCiGBCDBFvGBDZBhGDBDBBECBCHHCCBCCCBSBCyCBCqEBJlFBClBBKoBB44ClBBCGGDqBBDCBhV1CBDFBjkCKBGqBBDCBhCrBBgCMBChBBmD1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGBmIFFDJBCEEBDBHGCBCBCFBFDDBCBGEBF1B1BB8zC8zCB6DBDmDBHDBEBBNlBBCGGzoetBBTbBnEtCBCWBEDBCsCBZBBE2Z2ZBpBBGIBIvCBh6TGBNEBqgBZBHZBmlBvCBhDjBBFjBB1DKBCOBCGBCBBCKBCOBCGBCBBk2ByBBOyBB+CVBLVB74C-BBhrV-BBhBYBDYBtpZ0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BJBCTBHFB2uCjCB`,!1)),Ll:()=>new w(T(`hDZB7BqBqBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDZBiGCCEEEBBBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBDCB5XFBjkCIBC2D2DBqBBgCMBChBBnD0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBBzIEEBEEcKFDBBJDBF2B2Bs1CvBBCEEBGCFCCBCCBEBGiDCBIICFFNlBBCGG0oesBCUaCoEMCBBBC+BCBGBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCbEE2ZqBBGIBIvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFB4vChBB`,!1)),Lm:()=>new w(T(`wVRBFLBPEBICCmEGG-OnHnHlFBBuIBBFgBgBKEEhFoFoF1mBgEgE2R72B72BsDkTkTxOFBvF+BBOjBjBBjBByVOORMBg-CBByHgGgG2OsBsBBDBGiDiDB+C+CBBB34bjnBjnBBEBvIzDzDdBB6DIBxCYYpDDBEBB2OXXqEtDtDWBBoDDBKngVngVuBBBh-BFBCpBBCIB0sBhBhB2K04D04DnrTDB9PCBpBBBnRMBhCBBCPPB9-P9-PBCBCGBCBByhM9BBqGGBud0Q0QsSAB`,!1)),Lo:()=>new w(T(`qFQQhIFFBCBxGBB7ZaBFDBuBfBCJBkBBBCiDBCZZBLLBBBDRRCdBe4CBMZZBfBWVBrBYBIKBGXBCGBRoBB8B1BBETTIJBROBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNFB8BBBCCCBDBCXBCCCBIBCBBKDDBDBYDBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNyDyDBnKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPByDrTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBpBkCkCBhBBC0BBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBxFuBBSHB3BdBOBBLrBBbjBBqBCBLdByDDBCFBCBBE7hB7hBBCB4-C3BBZWBKGBCGBCGBCGBCGBCGBCGBCGBoR2B2BF1CBJCCB4CBFGGBpBBC9CBSfBxBPBhQ-tGBhC0wUBC2jBBkCnBBJrIBFPBLBBjCyByBBkCBqFoDoDEGBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBuBEBDIBLEBCoBBYCBCHBVPBCFBEEEBwBBCEEBDDBDBDCCZBBEKBIPPBEBDFBDFBKGBCGByEiBBej9KBNWBFwBBloItLBDpDBkCCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBqDJBCsBBDeBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBhEtCBjDnBBJzBB9CzBBN2JBKVBLHB5EFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4FjBBnBDBCxJxJBoBBHBBRCBCBB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB0GHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBnBBCBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBB0BUBGSB0NnBB2MqCBGwFwFB0mHBqBfBiDyDBuwIiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBxzI2P2PBrBBiBiKiKBcBTrBBlPaBmHdBDwGwGBdBCCBCBBCGBDEBKiHiHBFBCDBCBBCOBCkGB8pBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB`,!1)),Lt:()=>new w(T(`lOGDnB2sH2sHBGBJHBJHBNQQwBAB`,!1)),Lu:()=>new w(T(`hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBG+B+B9zCvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBB`,!1)),M:()=>new w(T(`gYvDB0IGBoIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCgBB3BCBCRBCGBLBBeCB5BCCBFBDBBDCBKLLBbbDCB5BCCBDBFBBDCBEffBEEMCB5BCCBGBCCBCCBVBBXFBCCB5BCCBFBDBBDCBICBLBBf8B8BBDBECBCDBKpBpBBDB4BCCBFBCCBCDBIBBMBBeCB5BCCBFBCCBCDBIBBMBBQNNBCB4BBBCGBCCBCDBKLLBeeBBBnCFFBEBCCCBGBTBB+BDDBFBNHBjDDDBHBMGBqCBBcECFBByBTBCBBGKBCjBBKlDlDBSBYDBFCBCCBDGBEDBOLBCLLBCBgWCBzdDBdCBeBBfBBhCfBKuBuBBBBC2D2DBjBjB3DLBFLB8GEB6BJBCcBDxBxBBsBBDLBVEBwBQBnBIBNCBfMB5BNBxBTB5ECBCUBFHHDCBnG-BBxWgBB--CCBuEhDhDBeBrRFBqDBB1udDBCJBhBBBxCBBxIEEFYYBDBF0C0CBzBzBBQBbRBOnBnBBGBaMBtBDBwBNBlBkCkCBMBNJJBuBuBBBBzBCCBBBDBBGBBCqBqBBDBGBBtHHBCBBx5TiXiXBOBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB7DCB2BOBqBDDBLLBCBuBKBI+B+BBBBlBNBRBBtBNNBBBxBNBJDBCBB9CLBHDD+ELBWDB4BBBCGBDBBDCBKLLBDDBFBEEBkCIBCDDCDBCEBCPPBzCzCBQBYyCyCBSBsHGBDIBcBBzCQBrDMBmDOBhIOB2HFBCBBDDBCCCBuEuEBFBDGBEddBIBpBGBCDBJKKBJBvBPBnGHBoGHBCHBzCVBCNB7DFBECCBCCBFBCjCjCBDBCBBCEB8KDBKBBCxBxBBFBEEBYmnFmnFHOBpmLRBhuCEB8BGB5gBCCB1BBIDByCMMBslTslTBizEizEBsBBDWB-QEBEFBJHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB`,!1)),Mc:()=>new w(T(`joC4B4BDCBJDBCBBzBBB7BCBHBBDBBLsBsB7BCBjC7B7BBBBJCCB2B2BB7B7BCHHBDDBLLnDBBCBBECBCCBLqBqBBBB+BDB+BBB7BCCBDBDBBCBBKBBdPPB7B7BBBBGCBCCBLrBrBBsCsCBBBHHBTBBrKBBgCsFsFBFFHDDBaaBLLBBBDGBWBBDFBDLLBBB5zBffiEIIBGBCBB7KDBDCBFBBCFBhHBB7BCCKCCBJJBEByExBxBGCCBDBCBB+BffFBBD9B9BDCBCEEBxBxBBGBJBBsFWW35EBB0-dBBD5C5CBzBzBBOBvEBBwBxBxBBFFBDDBBBvDBBDBBZuBuBCuDuDDBBGuHuHBCCBCCBCC0gZCCgEuBuBBBBFBB0DZZB8B8BxBCBKBBO+C+CBBBEBBCrFrFBBBgBBB7BBBCDBDBBDCBKLLB1C1CBBBIDDCDBCBBCmDmDBBBJBBErDrDBBBHCCBCBDuHuHBBBHDBDyDyDBBBJBBCuDuDCBBHoDoDCBBFmImIBBBK4H4HBEBCBBFDDCvEvEBBBJDBF1C1CeBB-BqGqGECCoGPPrDIID2G2GBDBFBBC-K-KBNNxBBBJBBCpvQpvQBBBlxD2BBpDBB0rYBBHFB`,!1)),Me:()=>new w(T(`okBBB1xF-wB-wBBCBCCBsshBCB`,!1)),Mn:()=>new w(T(`gYvDB0IEBqIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCfB4BCCFHBFEEBFBLBBe7B7BFDBJVVBbbDBB6BFFBFFBDDBBBEffBEEMBB6BFFBDBCBBFVVBXXBEBC7B7BDCCBCBJIIBMMBff+BNNzBEE4BCCBBBGCBCDBIBBMBBe7B7BDHHGBBVBBdBB6BBBFDBJVVBeepCIIBBBC7C7CDGBNHBjDDDBHBMGBqCBBcEC4BNBCEBCBBGKBCjBBKnDnDBCBCFBCBBDBBaBBFCBRDBODDBHHQgWgWBBBzdCBeBBfBBfBBhCBBCGBJDDBJBKuBuBBBBC2D2DBjBjB3DCBFBBKHHBBB8GBBD7B7BCGBCCCDHBHJBDxBxBBMBCeBDLBVDBxBCCBDBCGGpBIBNBBhBDBDBBCCB5BCCBEECCB7BHBDBB5ECBCMBCGBFHHEBBnG-BBxWMBFEEBKB--CCBuEhDhDBeBrRDBsDBB1udFFBIBhBBBxCBBxIEEFaaBGG4EBBbRBOnBnBBGBaKBvBCBxBDDBCBDBBoBkCkCBEBDBBDBBNJJwB0B0BCCBDBBGBBCrBrBBJJvHDDFx5Tx5TiXPBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB8D3B3BBNBqBDDBLLBBByBDBDBBI+B+BBBBlBEBCHB-BNNB1B1BBHBLDBDgDgDBBBDCCBHHD+E+EEHBWBB6BBBEmBmBBFBEEBnCFBOECPBB2CHBDCBCYY1CFBCFFBCCBvHvHBCBHBBCBBcBB2CHBDCCBrDrDCDDBEBCmDmDCDDBCBCEBkIIBCBBhIBBCFFxEDBDBBFhBhBBIBpBFBDDBJKKBEBDCBvBMBCBBnGCCBBBCqGqGBFBCFBCzCzCBUBDGBCBBCBB7DFBECCBCCBFBCpCpCBEEC8K8KBMMB1B1BBDBGCCYmnFmnFHOBpmLLBECBhuCEB8BGB5gBgCgCBCByC5lT5lTBizEizEBsBBDWBhRCBSHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB`,!1)),N:()=>new w(T(`wBJB5DBBGDDBBBitBJBnEJBnGJB9MJB3DJBFFBtDJB3DJB3DJBDFBvDMB0DJBJGBoDJBpDGBISBuDJBhDJB3DJBnCTBtIJBnCJBwWTBybCBwHJBHJBXJBtJJBhEKBmFJBHJB3FJB3CJBnEJBHJB3gBEEBEBHJBnGyBBDEB3W7BBvCVB3TdBqrBqYqYaIBPCB4KDBrEJBfHBCOBhBJBoBOBh7cJB9FJBhKFB7EJBnBJBnGJBXJB3CJB3MJB34UJBuPsBBN4BBSBB2KaBlBDBeJJnEEBrGJBvdHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBxBJBHJB3IeB-EJBrBDBxDGBnEdBhEJB9BJBxEJBITB8HJB3KJB3DJB3LJBnDJBHTBtCLBlNSB+CJB3UJB3CcBkHJBnCJB3BJBnLJBnDUBshBuDBimPJBnpCJB3CJBnEJBCGBvQJBnIWB+KCB6nXJBnuBTBNTBtDYB2iBxBBhqCJBnNJB3PJB4HJBtWIBhEJB4Y6BBCCBCDBtCsBBCOBjeMBk3CJB`,!1)),Nd:()=>new w(T(`wBJnxBJnEJnGJ9MJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJhDJ3DJnCJ3IJnCJn6BJnBJtJJhEJnFJHJ3FJ3CJnEJHJnuiBJnVJnBJnGJXJ3CJ3MJ34UJnsBJnkCJHJ9YJhEJ9BJxEJ3IJ3KJ3DJ3LJnDJHTtCJnNJnDJ3UJ3CJ3HJnCJ3BJnLJ3uQJnpCJ3CJnEJ3QJ37XJ12CxBhqCJnNJ3PJ4HJ2aJ30EJ`,!0)),Nl:()=>new w(T(`u3FCBwzCiBBDDB-zDaaBHBPCBs1dJBxyW0BBtOJJnEEBrhIuDBm8SCB`,!1)),No:()=>new w(T(`yFBBGDDBBB2pCFB5LFB5DCBmEGB6GGBSIByNJB2hBTB0jBJBhP20B20BEFBHJBnGPBqB3W3WB6BBvCVB3TdBqrB1kB1kBBCBrEJBfHBCOBhBJBoBOBxrdFBymWsBBiCDBSBB2KaBlBDB1pBHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBhLeB-EJBrBDBxDGBnETB8LTBmqBBBvNIBobSB0aUBn8SGB-YWBqhZTBNTBtDYBvqFIBid6BBCCBCDBtCsBBCOBjeMB`,!1)),P:()=>new w(T(`hBCBCFBCDBLBBEBBbCBCccCkBkBGEELBBEEE-VJJzOFBqBBB0BCCDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCmBmBBCBoCrCrCBDBFBBwDFBsFlTlTBHB4EuTuTtBBBvCCBoCBB+ECBCCBmBKB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBM9Z9ZBWBJTBCMBCLBfBBPBB6TDBeBB+hBNBwCBBgBJB0MVBgCDBhBBB8XDBCBBxDwEwEBtBBCfBDLBkNCBFJBDLBRNNjD7C7CjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HzqUzqUBxGxGBIBXiBBCNBCFFCBB2ECBCFBCDBLBBEBBbCBCccCCCBFB7MCB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDByO-J-JjBlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB`,!1)),Pc:()=>new w(T(`-Cg-Hg-HBUU-u3BBBZCBwHAB`,!1)),Pd:()=>new w(T(`tB9qB9qB0BiyDiyDmgBqgCqgCBEBiwDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J`,!1)),Pe:()=>new w(T(`pB0B0BgB+1D+1DC-6B-6BqtC4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECtBGCtNICEGCDBB-ozB6G6GeOCESSCCCrF0B0BgBGD`,!1)),Pf:()=>new w(T(`7F+6H+6HEddpuDCCFDDQEE`,!1)),Pi:()=>new w(T(`rFt7Ht7HDBBDaapuDCCFDDQEE`,!1)),Po:()=>new w(T(`hBCBCCBDECBLLBEEBcclCGGPBBI-V-VJzOzOBEBqB3B3BDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCxDxDrCEBFBBwDFBsFlTlTBHBmY9D9DBBBoCBB+ECBCCBmBFBCDB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBMjajaBJJBGBJIBDDBDCBEKBCCCBIB7kDDBCBBxDwEwEBFFBBBDDDBHBCBBCDDBLLBDBCJBDDBCCCBLBDCBtNCB6B+F+FjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HlxUlxUBFBDXXVBBDDBECBCDBICBHCCB2E2EBBBCCBDECBLLBEEBcclBDDB7M7MBBB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDB0ZlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB`,!1)),Ps:()=>new w(T(`oBzBzBgB-1D-1DC-6B-6B-rCEEnB4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECaTTCECtNICEGCDipzBipzB4GeeCMCESSCCCrFzBzBgBEEDAB`,!1)),S:()=>new w(T(`kBHHRCBgBCCcCCkBEBCBBDCCBCBDEEfgBgBrODBNNBGGBCCCBPB2DPPBxDxDsErIrIBBB3DCBDDDBvGvGLUUB4H4HIBBpEqLqLBHHB2H2H-DjEjEBGBlEwGwGqBmGmGiGCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WuLuLlL+E+EBgBBiLJBKIBhiBCCBBBMCBOCBOCBOBBmCOOoBCBOCBUhBB-BBBCDBCBBLCCBBBGFBCECFMMBFFBDBGDBC7B7BBFFB2LBFcBD+HBXKByCtCBXnTBtBwBBDeBLyMBX+BBFfBD1LBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBB8CBB0HBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BB6RWBKBBoDBB+EDBLDB+RCBiHPPB+9T+9TpEgBBuLPBhCBB3BHBtBDBjDCCBBBD7E7EHRRBBBgBCCcCCiEGBCGBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSmWmWBiKiKBGBnjC2kC2kCBbBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQQBgDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBrbaagBaagBaagBaagBaa9B-PB4BDBzBHBCNBCBBp2BwNwNttCEE+DiOiOBvIvIBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB`,!1)),Sc:()=>new w(T(`kB+D+DBCBqnB8D8DzPBBzPBBI2H2HoImSmS8sClmClmCBgBB37hBkuVkuVtD7E7E8GBBEBB3-HDB-4wBxtCxtC`,!1)),Sk:()=>new w(T(`+CCCoCHHFEEqQDBNNBGGBCCCBPB2DPPBjoBjoB15FCCBBBMCBOCBOCBOBB9kEBBkzdWBKBBoDBBxePPBniUniUBPB8bCCjF4g9B4g9BBDB`,!1)),Sm:()=>new w(T(`rBRRBBB+BCCuBFFmBgBgB-XwQwQBBB8xGOOoBCBOCBsEoBoBBDBHlClCBDBGBBFGDIgBgBBDDCgBgBBqIBhBBB7CffBXBpBFB2OKK3BHBwDxKxKBDBDeBLPBhIiEBX+BBFfBDhIBxBUBDFB9+zB5Z5ZCCBlFRRBBB+BCCkEHHBCBitDBBhrwBx+Bx+BagBgBagBgBagBgBagBgBat5Ft5FB-uC-uCBHB`,!1)),So:()=>new w(T(`mFDDFCCyerIrIBgEgEBvGvGLUUB4H4HkQ2L2LjEFBClElEwGqBqBoMCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WzWzW+EhBBiLJBKIBksBBBCDBCBBLCCBHHBEBCECFMMBPPCBBC7B7BBKKBDBDDBCBBCBBCGBCeBDBBCCCBdBtIHBFTBDGBDwCBCdBanBBHnCBXKByCtCBX2FBCIBC1BBJuDBC3HBtBrBBhC-HBhQvBBWBBHmBBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBBxKBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BBibDBLBBC+R+RBBBqqUPBuLPBhCBB3BHBuBCBlPEEFBBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSpgBpgBBGBnjC2kC2kCBGBFQBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQPBhDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBqlB-PB4BDBzBHBCNBCBBp2B96C96CiEyWyWBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E6HBG4WBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBB-B3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB`,!1)),Z:()=>new w(T(`gBgEgEgvFgsCgsCBJBeBBGwBwBh9DAB`,!1)),Zl:()=>new w(T(`ohIA`,!0)),Zp:()=>new w(T(`phIA`,!0)),Zs:()=>new w(T(`gBgEgEgvFgsCgsCBJBlBwBwBh9DAB`,!1)),ASCII_Hex_Digit:()=>new w(T(`wBJIFbF`,!0)),Alphabetic:()=>new w(T(`hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICC3CeeBQBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoBNBCCCBCCBCCJaBFDBeKBG3BBCGBPlDBCHBFHBFCBLCBDRRBuBBOkDBZgBBKBBFGGBWBDSBUYBIKBGXBCGBIJJBoBBLLBEGBHrCBCPBCCBFOBOSBCHBDBBDVBCGBCEEBCBEHBDBBDBBCJJFBBCEBNBBLFFBBBCFBFBBDVBCGBCBBCBBCBBFEBFBBDBBFIIBCBCSSBEBMCBCIBCCBCVBCGBCBBCEBEIBCCBCBBEQQBCBWDBFCBCHBDBBDVBCGBCBBCEBEHBDBBDBBKBBFBBCEBORRBCCBEBECBCDBEBBCCCBEEBEEBBBELBFEBECBCCBEHHpBMBCCBCWBCPBEHBCCBCCBJBBCCBCBBDDBdDBCHBCCBCWBCJBCEBEHBCCBCCBJBBGCBCDBOCBNMBCCBCoBBDHBCCBCCBCGGBCBIEBXFBCCBCRBEXBCIBCDDBFBJFBCCCBGBTBBO5BBGGBH0B0BBECBDBCXBCCCBRBCCBDEBCHHPDBhBgCgCBGBCjBBFSBFPBCjBBkC2BBCDDBDBR-BBLDBDlBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBEKBITBMUBNTBNMBCCBCBBNzBBDSBPFFkC4CBIqBBGlCBLeBCLBFIBYdBDEBMrBBFZB3BbBF+BBDTBzBYYBMMBBByBzBBCOBCHB0BpBBDDBLrBBCKBP2BBXCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBUhBBM1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBFSSBnBBuZzBB34BkHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBCfBwB2O2OBBBaIBIEBDEBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBGHBEwDBoBIBDmDBDxCBVUBCgBBZzBBNjCBCtBtBBEBECCBBBLgBBGiBBOcBEyBBCLBQRRBOBLEBC2BBKNBTWBEkCBCCCZCBDPBDDBMFBDFBDFBKGBCGBCqBBCNBH6DBWj9KBNWBFwBBloItLBDpDBnBGBNEBGLBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmC0BBsIcBEwBBwBfBOdBGqBBGdBDjBBFHBCEBrB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCDBCBBGHBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOnBBjBbBEGGBVB7HpBBCBBEBBRFBzBCBEcBLJJBUBrBRBvBUBcWBKlCBsBEBL4BBKOOBXBYyBBSDBJiBBEKKB+BBCDBKBBLCCkBRBChBBDHHBCB-BGBCCCBCBCOBCJBI4BBYDBCHBDBBDVBCGBCBBCEBEHBDBBDBBEHHGGBdJBCDDClBBCJBCDDCDBCBBECCtBhCBCCBCDBVCBfhCBDBBC5F5FB0BBDGBaFBjB+BBCEE8B1BBDoCoCBZBDNBWGB6F4BBoD-BBgBHBDDDBGBCBBCdBCBBDBBDDB+CHBDtBBDFBCCCBccBxBBDJBSnCBGTTBnCBoDHB5CgBBgBIBCsBBCGBCyByBBcBDVBCNBqCGBCBBCrBBECCBCCBBBCDDBZZBEBCBBCkBBCBBCDBCYYBqBBlIWBKQBCoBBECBwDwCwCB4cBnDuDBSjGBtyCgDBQvhBBSFBa68DBGmSB61GuBBy2B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBF4BBIQBhCBBCNNBFBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBFi7Fi7FBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCVBJBBhHGBCDBCBBCOBCkGB8BjCBEEE1lBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1TZBHZBHZB3zD-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB`,!1)),Dash:()=>new w(T(`tB9qB9qB0BiyDiyDmgBqgCqgCBEB+BoBoBQnMnMlgDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J`,!1)),Emoji:()=>new w(T(`jBHHGJBwDFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDrGrGhFBBNBBPDDBIBsCZBCBBYVVDIBWBBvFhBBDvDBDBBCCBDyCBDCBCmIBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDDBEJBECCBEEDJBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB`,!1)),Emoji_Component:()=>new w(T(`jBHHGJB0+H2G2Gsp3B3+8B3+8BBYB8PEBxtBDBtzhY-CB`,!1)),Emoji_Modifier:()=>new w(T(`7-8DE`,!0)),Emoji_Modifier_Base:()=>new w(T(`9wJ8G8GRDB4jzD9B9BBBBDDDBBB2DBBDKBWSBEFFBBBCCBICCZqGqGBFFWFFBvFvFBBBEEB0CRRBBBKMMgSDDJHBHKKBIBDCB5B+B+BBCCBCCSCBCMBmHCBrBIB`,!1)),Emoji_Presentation:()=>new w(T(`64IBBuGDBEDDqQBBWBBzBLBsBUUOJJBSSBGGBJJGWWIBBCFFDIIFBBdkBkBCFFBBBC+B+BBBBZPP8aBB0BFFvlxDrGrG-FDDBIBsCZBCZZVDDBDBCCBWBBvFgBBNIBClCBCVBNqBBFEBNQBEEEBlCBCCCB5FBD+BBODBCXBTbbBOO3C0CBxBlCBHEEBBBDDBEDBMBBIIBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB`,!1)),Extended_Pictographic:()=>new w(T(`pFFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDoBoBBCBlDLBQBBQPPBmBmBBIBxDBBNBBPDDBIBU3BBcOBLVVDIBCDBKWBH7FBDvDBDBBCCBDyCBDCBCDBG9HBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDQBECCBEBDMB7GlBBNDB5BHBLFBpBHBfBBNDBDNBKmBBNuBBCJBC4FB5CHBPxEBhI9fB`,!1)),Hex_Digit:()=>new w(T(`wBJIFbFq1-BJIFbF`,!0)),Lowercase:()=>new w(T(`hDZBwBLLFlBlBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDiBBIBBfEBhDsBsBCEEDDBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBCDB5XFBjkCIBC2D2DB+FBiC0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBB6DOORMBuDEEBEEcKFDBBJDBFiBiBBOBFsasaBYBn6BvBBCEEBGCFCCBCCBGBEiDCBIICFFNlBBCGG0oesBCUaCBBBmEMCBBBC8BCBIBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCWDBCCCBBB2ZqBBCNBHvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBkODDBBBCpBBCIBmoByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFBmI9BB1lChBB`,!1)),Math:()=>new w(T(`rBRRBBBgBeeCuBuBFmBmBgB5W5WBBBDbbBDDBBBwQCBuwGccBBBMEEOPPBCBWEBMEBiCMBFEEBFFBDBTFFDJBCDDBEBHEEBDDBCCBBBCFBENBClClCBWBCFBCBBFBBFfBCHHBPPBqIBJDBVBB7CffBZBCZZMGB+NBBNJBFFBFBBDBBEEBPCCDFBMHBGBB6BCCeDBKCBxK-BBhI-PBxBUBDFB9+zB4Z4ZBEBCjFjFRCBeCCeCCkEHHBCBitDBBhrwBwoBwoBBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBBhwFDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB-uCIB`,!1)),Quotation_Mark:()=>new w(T(`iBFFkEQQ96HHBaBBowDqOqOBCBOCBixzBDB+FFF7CBB`,!1)),Terminal_Punctuation:()=>new w(T(`hBLLCMMBEE-ZJJiQ6B6BpCPPCCB1FsBsBBJBCsHsHB3B3BBEBCHBgBmImIB1nB1nBBtFtFFFB4JBB2YHBmY9D9DBBBoCBB+ECBEoBoBBCBDBB7JBBjLDBjFBBLBBCCBeCB8FEB-BBBldYYBKKBBBwlDCBzJOOFLLCBBEBBtNBB8ndBBuICBkHEB-LBB3CBBgD4E4EBBB0ECBgERRB6H6HnxUDDB6B6BBBBCDBqFLLCMMBEEiCDD7hBxBxBnkBoGoG3JBB5EFBlCFB6CDB5dEBtBDB+FGBxDDBgECBiEBBHRRB5C5CBDBtDrJrJB2D2DBBBNBBnLDBEOBqDBB6HCBmQCC8HBB4CBBFBB-MCBuBmUmUBrCrCBspBspBBDB6vRBBmEiCiCBBBLqRqRBoJoJBnwTnwTovHDB`,!1)),Uppercase:()=>new w(T(`hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBGbbBOBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBBvgCZBHZBHZB`,!1)),White_Space:()=>new w(T(`JEBTlDlDbgvFgvFgsCKBeBBGwBwBh9DAB`,!1))});static get Upper(){return this.CATEGORIES.get(`Lu`)}static SCRIPTS=new Bn({Adlam:()=>new w(T(`go6DrCFJFB`,!0)),Ahom:()=>new w(T(`g4lCaDOFW`,!0)),Anatolian_Hieroglyphs:()=>new w(T(`ggxCmS`,!0)),Arabic:()=>new w(T(`gwBEBCFBCNBCCBCfBCJBMZBCrDBChBBxCvBBxHhBBGqCBCcBxy8BtPBDvEBhBPBxDEBCmEBk7DeBkCFBJIBiBFBh43BDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB`,!1)),Armenian:()=>new w(T(`xpBlBDxBDCks9BE`,!0)),Avestan:()=>new w(T(`g4iC1BEG`,!0)),Balinese:()=>new w(T(`g4GsCCxB`,!0)),Bamum:()=>new w(T(`g1pB3CpowB4R`,!0)),Bassa_Vah:()=>new w(T(`w26CdDF`,!0)),Batak:()=>new w(T(`g+GzBJD`,!0)),Bengali:()=>new w(T(`gsCDBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYB`,!1)),Beria_Erfe:()=>new w(T(`g17CYDY`,!0)),Bhaiksuki:()=>new w(T(`ggnCICsBCNLc`,!0)),Bopomofo:()=>new w(T(`qXB6wLqBxDf`,!0)),Brahmi:()=>new w(T(`ggkCtCFjBKA`,!0)),Braille:()=>new w(T(`ggK-H`,!0)),Buginese:()=>new w(T(`gwGbDB`,!0)),Buhid:()=>new w(T(`g6FT`,!0)),Canadian_Aboriginal:()=>new w(T(`ggF-TxRlC7tgCP`,!0)),Carian:()=>new w(T(`g1gCwB`,!0)),Caucasian_Albanian:()=>new w(T(`wphCzBMA`,!0)),Chakma:()=>new w(T(`gokC0BCR`,!0)),Cham:()=>new w(T(`gwqB2BKNDJDD`,!0)),Cherokee:()=>new w(T(`g9E1CDFz7lBvC`,!0)),Chorasmian:()=>new w(T(`w9jCb`,!0)),Common:()=>new w(T(`AgCBbFBbuBBCOBCEBYgBgBiOmBBGEBDTB1DKKHCC+THHPEEhB9E9ElQiEiEB6mB6mB2MDBjJwvBwvBBBBoCBBsGBBCumBumBOIIBCBCFBCCBDmYmYBKBD2CBCKBEKBCOBShBB-BlBBCCBDFBCaBCQBqBCBF5UBXKBW-cBhIzTBDpEBhQ9CBzMUBCCCBXBQHBFDB8CBBE7C7CB0E0EBOBhBlBBKxBxBB+BBgBwCBwB5C5CBmFBhuG-BBhoWhBBnDCBmFJB1HhFhFsMPPBzuUzuUBxGxGBIBXiBBCSBCDB0ECCBeBbFBbKBLuBuBBhChCBFBCGBLEBjICBFsBBEIBxCMB0BsBBlHaBltuBDB96D8HBEzNBHWBQQBgDzDB9B1HBLmBBD9BBEQBJBBIdBF8BB2GTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBByjFjCBtC8BBjWrBBFjDBNOBDOBCOBCkBBLtFB5BZBCBBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBnghYffB+CB`,!1)),Coptic:()=>new w(T(`ifNxkKzDGG`,!0)),Cuneiform:()=>new w(T(`ggoC5cnDuDCEMjG`,!0)),Cypriot:()=>new w(T(`ggiCFBDCCBqBBCBBEDD`,!1)),Cypro_Minoan:()=>new w(T(`w8rCiD`,!0)),Cyrillic:()=>new w(T(`ggBkEBDoFBx6FKBhFtCtCojEfBhie-CBv8VBBhw4B9BBiBAB`,!1)),Deseret:()=>new w(T(`gghCvC`,!0)),Devanagari:()=>new w(T(`goCwCFODZh7nBfhwcJ`,!0)),Dives_Akuru:()=>new w(T(`gomCGBDDDBGBCBBCdBCBBDLBKJB`,!1)),Dogra:()=>new w(T(`ggmC7B`,!0)),Duployan:()=>new w(T(`ggvDqDGMEIIJDD`,!0)),Egyptian_Hieroglyphs:()=>new w(T(`ggsC1iBL68D`,!0)),Elbasan:()=>new w(T(`gohCnB`,!0)),Elymaic:()=>new w(T(`g-jCW`,!0)),Ethiopic:()=>new w(T(`gwEoCBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBnvGWBKGBCGBCGBCGBCGBCGBCGBCGBjpfFBDFBDFBKGBCGBylvCGBCDBCBBCOB`,!1)),Garay:()=>new w(T(`gqjClBEcJB`,!0)),Georgian:()=>new w(T(`glElBBCGGDqBBCDBx8CqBBDCBhiElBBCGG`,!1)),Glagolitic:()=>new w(T(`ggL-Ch9sDGCQDGCBCE`,!0)),Gothic:()=>new w(T(`w5gCa`,!0)),Grantha:()=>new w(T(`g4kCDBCHBDBBDVBCGBCBBCEBDIBDBBDCBDHHGGBDGBEEB`,!1)),Greek:()=>new w(T(`wbDBCCBDDBCFFCCCBBBCCCBSBC+BBPPBnpGEBzBEBFEB1ChKhKBUBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBoJ-xiB-xiB7uVuCBSgj0Bgj0BBkCB`,!1)),Gujarati:()=>new w(T(`h0CCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGB`,!1)),Gunjala_Gondi:()=>new w(T(`grnCFCBCkBCBCFIJ`,!0)),Gurmukhi:()=>new w(T(`hwCCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPB`,!1)),Gurung_Khema:()=>new w(T(`go4C5B`,!0)),Han:()=>new w(T(`g0LZBC4CBN1GBwBCCaIBPDBle-tGBhC-vUBhoWtLBDpDBpodBBNGBqgkB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB`,!1)),Hangul:()=>new w(T(`goE-HvxHBiI9CyDeiCei3dckUj9KNWFwBl9JeEFDFDFDC`,!0)),Hanifi_Rohingya:()=>new w(T(`gojCnBJJ`,!0)),Hanunoo:()=>new w(T(`g5FU`,!0)),Hatran:()=>new w(T(`gniCSCBGE`,!0)),Hebrew:()=>new w(T(`xsB2BBJaBFFBpp9BZBCEBCCCBCCBCCBIB`,!1)),Hiragana:()=>new w(T(`hiM1CBHCBi7-C+IBTeeBBBulQAB`,!1)),Imperial_Aramaic:()=>new w(T(`giiCVCI`,!0)),Inherited:()=>new w(T(`gYvDB2IBBlOKBbhXhXBCB8qEtBBDLBlPCBCMBCGBFHHEBBnG-BBtQBBjGgBB65DDBsDBBmrzBPBRNBwejHjH7iEl+uBl+uBBsBBDWBhRCBSHBDGBfDBz6rYvHB`,!1)),Inscriptional_Pahlavi:()=>new w(T(`g7iCSGH`,!0)),Inscriptional_Parthian:()=>new w(T(`g6iCVDH`,!0)),Javanese:()=>new w(T(`gsqBtCDJFB`,!0)),Kaithi:()=>new w(T(`gkkCiCLA`,!0)),Kannada:()=>new w(T(`gkDMCCCWCJCEDICCCDIBGCCDDJCC`,!0)),Katakana:()=>new w(T(`hlM5CBDCBxHPBxGuBBC3CBvgzBJBCsBBzisBDBCGBCBBCgJgJBBBzBPPBCB`,!1)),Kawi:()=>new w(T(`g4nCQCoBEc`,!0)),Kayah_Li:()=>new w(T(`goqBtBCA`,!0)),Kharoshthi:()=>new w(T(`gwiCDCBGHCCCcDCFJII`,!0)),Khitan_Small_Script:()=>new w(T(`k-7C84G84GB0OBqBAB`,!1)),Khmer:()=>new w(T(`g8F9CDJHJnPf`,!0)),Khojki:()=>new w(T(`gwkCRCuB`,!0)),Khudawadi:()=>new w(T(`w1kC6BGJ`,!0)),Kirat_Rai:()=>new w(T(`gq7C5B`,!0)),Lao:()=>new w(T(`h0DBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDB`,!1)),Latin:()=>new w(T(`hCZBHZBwBQQGWBCeBCgOBoBEB8wGlBBHwBBGDBGMBClCBiC-HByLOORMBuEBBHccSoBB42CfBj1elDBExCBVOBxZqBBCIBCDB38TGB7gBZBHZBmhCFBCpBBCIBm61BeBHFB`,!1)),Lepcha:()=>new w(T(`ggH3BEOEC`,!0)),Limbu:()=>new w(T(`goGeBCLBFLBFEEBKB`,!1)),Linear_A:()=>new w(T(`gwhC2JKVLH`,!0)),Linear_B:()=>new w(T(`gggCLCZCSCBCODNjB6D`,!0)),Lisu:()=>new w(T(`wmpBvBx1eA`,!0)),Lycian:()=>new w(T(`g0gCc`,!0)),Lydian:()=>new w(T(`gpiCZGA`,!0)),Mahajani:()=>new w(T(`wqkCmB`,!0)),Makasar:()=>new w(T(`g3nCY`,!0)),Malayalam:()=>new w(T(`goDMCCCyBCCCFFPDZ`,!0)),Mandaic:()=>new w(T(`giCbDA`,!0)),Manichaean:()=>new w(T(`g2iCmBFL`,!0)),Marchen:()=>new w(T(`wjnCfDVCN`,!0)),Masaram_Gondi:()=>new w(T(`gonCGBCBBCrBBECCBCCBHBJJB`,!1)),Medefaidrin:()=>new w(T(`gy7C6C`,!0)),Meetei_Mayek:()=>new w(T(`g3qBWqGtBDJ`,!0)),Mende_Kikakui:()=>new w(T(`gg6DkGDP`,!0)),Meroitic_Cursive:()=>new w(T(`gtiCXFTDtB`,!0)),Meroitic_Hieroglyphs:()=>new w(T(`gsiCf`,!0)),Miao:()=>new w(T(`g47CqCF4BIQ`,!0)),Modi:()=>new w(T(`gwlCkCMJ`,!0)),Mongolian:()=>new w(T(`ggGBBDCCBSBH4CBIqBB2t-BMB`,!1)),Mro:()=>new w(T(`gy6CeCJFB`,!0)),Multani:()=>new w(T(`g0kCGBCCCBCBCOBCKB`,!1)),Myanmar:()=>new w(T(`ggE-EhqmBeiDfxibT`,!0)),Nabataean:()=>new w(T(`gkiCeJI`,!0)),Nag_Mundari:()=>new w(T(`wm5DpB`,!0)),Nandinagari:()=>new w(T(`gtmCHDtBDK`,!0)),New_Tai_Lue:()=>new w(T(`gsGrBFZHKEB`,!0)),Newa:()=>new w(T(`gglC7CCE`,!0)),Nko:()=>new w(T(`g+B6BDC`,!0)),Nushu:()=>new w(T(`h-7CvsQvsQBqMB`,!1)),Nyiakeng_Puachue_Hmong:()=>new w(T(`go4DsBENDJFB`,!0)),Ogham:()=>new w(T(`g0Fc`,!0)),Ol_Chiki:()=>new w(T(`wiHvB`,!0)),Ol_Onal:()=>new w(T(`wu5DqBFA`,!0)),Old_Hungarian:()=>new w(T(`gkjCyBOyBIF`,!0)),Old_Italic:()=>new w(T(`g4gCjBKC`,!0)),Old_North_Arabian:()=>new w(T(`g0iCf`,!0)),Old_Permic:()=>new w(T(`w6gCqB`,!0)),Old_Persian:()=>new w(T(`g9gCjBFN`,!0)),Old_Sogdian:()=>new w(T(`g4jCnB`,!0)),Old_South_Arabian:()=>new w(T(`gziCf`,!0)),Old_Turkic:()=>new w(T(`ggjCoC`,!0)),Old_Uyghur:()=>new w(T(`w7jCZ`,!0)),Oriya:()=>new w(T(`h4CCCHDBDVCGCBCEDIDBDCICFBCEDR`,!0)),Osage:()=>new w(T(`wlhCjBFjB`,!0)),Osmanya:()=>new w(T(`gkhCdDJ`,!0)),Pahawh_Hmong:()=>new w(T(`g46ClCLJCGCUGS`,!0)),Palmyrene:()=>new w(T(`gjiCf`,!0)),Pau_Cin_Hau:()=>new w(T(`g2mC4B`,!0)),Phags_Pa:()=>new w(T(`giqB3B`,!0)),Phoenician:()=>new w(T(`goiCbEA`,!0)),Psalter_Pahlavi:()=>new w(T(`g8iCRIDNG`,!0)),Rejang:()=>new w(T(`wpqBjBMA`,!0)),Runic:()=>new w(T(`g1FqCEK`,!0)),Samaritan:()=>new w(T(`ggCtBDO`,!0)),Saurashtra:()=>new w(T(`gkqBlCJL`,!0)),Sharada:()=>new w(T(`gskC-ChsCH`,!0)),Shavian:()=>new w(T(`wihCvB`,!0)),Siddham:()=>new w(T(`gslC1BDlB`,!0)),Sidetic:()=>new w(T(`gqiCZ`,!0)),SignWriting:()=>new w(T(`gg2DrUQECO`,!0)),Sinhala:()=>new w(T(`hsDCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBt-gCTB`,!1)),Sogdian:()=>new w(T(`w5jCpB`,!0)),Sora_Sompeng:()=>new w(T(`wmkCYIJ`,!0)),Soyombo:()=>new w(T(`wymCyC`,!0)),Sundanese:()=>new w(T(`g8G-BhIH`,!0)),Sunuwar:()=>new w(T(`g+mChBPJ`,!0)),Syloti_Nagri:()=>new w(T(`ggqBsB`,!0)),Syriac:()=>new w(T(`g4BNC7BDCxIK`,!0)),Tagalog:()=>new w(T(`g4FVKA`,!0)),Tagbanwa:()=>new w(T(`g7FMCCCB`,!0)),Tai_Le:()=>new w(T(`wqGdDE`,!0)),Tai_Tham:()=>new w(T(`gxG+BCcDKHJHN`,!0)),Tai_Viet:()=>new w(T(`g0qBiCZE`,!0)),Tai_Yo:()=>new w(T(`g25DeCVJB`,!0)),Takri:()=>new w(T(`g0lC5BHJ`,!0)),Tamil:()=>new w(T(`i8CBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBm+kCxBBOAB`,!1)),Tangsa:()=>new w(T(`wz6CuCCJ`,!0)),Tangut:()=>new w(T(`g-7CgBgBB+3GBhQeBiDyDB`,!1)),Telugu:()=>new w(T(`ggDMCCCWCPDICCCDIBCCCBDDDJII`,!0)),Thaana:()=>new w(T(`g8BxB`,!0)),Thai:()=>new w(T(`hwD5BGb`,!0)),Tibetan:()=>new w(T(`g4DnCCjBFmBCjBCOCGFB`,!0)),Tifinagh:()=>new w(T(`wpL3BIBPA`,!0)),Tirhuta:()=>new w(T(`gklCnCJJ`,!0)),Todhri:()=>new w(T(`guhCzB`,!0)),Tolong_Siki:()=>new w(T(`wtnCrBFJ`,!0)),Toto:()=>new w(T(`w04De`,!0)),Tulu_Tigalari:()=>new w(T(`g8kCJBCDDClBBCJBCDDCDBCJBCBBJBB`,!1)),Ugaritic:()=>new w(T(`g8gCdCA`,!0)),Unknown:()=>new w(T(`4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBNDBLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-FB`,!1)),Vai:()=>new w(T(`gopBrJ`,!0)),Vithkuqi:()=>new w(T(`wrhCKCOCGCBCKCOCGCB`,!0)),Wancho:()=>new w(T(`g24D5BGA`,!0)),Warang_Citi:()=>new w(T(`glmCyCNA`,!0)),Yezidi:()=>new w(T(`g0jCpBCCDB`,!0)),Yi:()=>new w(T(`ggoBskBE2B`,!0)),Zanabazar_Square:()=>new w(T(`gwmCnC`,!0))});static FOLD_CATEGORIES=new Bn({L:()=>new w(T(`laA`,!0)),LC:()=>new w(T(`laA`,!0)),Ll:()=>new w(T(`hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGC3HrBrBCEEJHHCCBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHxC9zC9zCBuBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB`,!1)),Lt:()=>new w(T(`kOCCBCCBCClBCCtsHHBJHBJHBMQQwBAB`,!1)),Lu:()=>new w(T(`hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpL2B2Bs1CvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB`,!1)),M:()=>new w(T(`5cgBgBlgHAB`,!1)),Mn:()=>new w(T(`5cgBgBlgHAB`,!1)),Emoji:()=>new w(T(`8mJA`,!0)),Extended_Pictographic:()=>new w(T(`8mJA`,!0)),Lowercase:()=>new w(T(`hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHuBPBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB`,!1)),Math:()=>new w(T(`ycGDCHHFMMDDDCHHFAB`,!1)),Uppercase:()=>new w(T(`hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpLiBiBBOBFsasaBYBn6BvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB`,!1))});static FOLD_SCRIPT=new Bn({Common:()=>new w(T(`8cgBgB`,!1)),Greek:()=>new w(T(`1FwUwU`,!1)),Inherited:()=>new w(T(`5cgBgBlgHAB`,!1))})},E=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 n=0,r=e.length;for(;n<r;){let i=n+Math.floor((r-n)/2),a=e.getLo(i),o=e.getHi(i);if(a<=t&&t<=o){let n=e.getStride(i);return(t-a)%n===0}t<a?r=i:n=i+1}return!1}static is(t,n){if(n<=e.MAX_LATIN1){for(let e=0;e<t.length;e++){if(n>t.getHi(e))continue;let r=t.getLo(e);if(n<r)return!1;let i=t.getStride(e);return(n-r)%i===0}return!1}return t.length>0&&n>=t.getLo(0)&&e.is32(t,n)}static isUpper(t){if(t<=e.MAX_LATIN1){let e=String.fromCodePoint(t);return e.toUpperCase()===e&&e.toLowerCase()!==e}return e.is(Vn.Upper,t)}static isPrint(t){return t<=e.MAX_LATIN1?t>=32&&t<e.MAX_ASCII||t>=161&&t!==173:e.is(Vn.Print,t)}static simpleFold(e){if(Vn.CASE_ORBIT.has(e))return Vn.CASE_ORBIT.get(e);let t=C.toLowerCase(e);return t===e?C.toUpperCase(e):t}static equalsIgnoreCase(t,n){if(t===n)return!0;if(t<0||n<0)return!1;if(t<=e.MAX_ASCII&&n<=e.MAX_ASCII)return 65<=t&&t<=90&&(t|=32),65<=n&&n<=90&&(n|=32),t===n;for(let r=e.simpleFold(t);r!==t;r=e.simpleFold(r))if(r===n)return!0;return!1}},Hn=256,Un=new Uint8Array(Hn);for(let e=0;e<Hn;e++)Un[e]=+(97<=e&&e<=122||65<=e&&e<=90||48<=e&&e<=57||e===95);var Wn=null,Gn=null,D=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 C.CODES.get(`0`)<=e&&e<=C.CODES.get(`9`)||C.CODES.get(`a`)<=e&&e<=C.CODES.get(`z`)||C.CODES.get(`A`)<=e&&e<=C.CODES.get(`Z`)}static unhex(e){return C.CODES.get(`0`)<=e&&e<=C.CODES.get(`9`)?e-C.CODES.get(`0`):C.CODES.get(`a`)<=e&&e<=C.CODES.get(`f`)?e-C.CODES.get(`a`)+10:C.CODES.get(`A`)<=e&&e<=C.CODES.get(`F`)?e-C.CODES.get(`A`)+10:-1}static escapeRune(t){let n=``;if(E.isPrint(t))e.METACHARACTERS.indexOf(String.fromCodePoint(t))>=0&&(n+=`\\`),n+=String.fromCodePoint(t);else switch(t){case C.CODES.get(`"`):n+=`\\"`;break;case C.CODES.get(`\\`):n+=`\\\\`;break;case C.CODES.get(` `):n+=`\\t`;break;case C.CODES.get(`
|
|
11
|
+
`):n+=`\\n`;break;case C.CODES.get(`\r`):n+=`\\r`;break;case C.CODES.get(`\b`):n+=`\\b`;break;case C.CODES.get(`\f`):n+=`\\f`;break;default:{let e=t.toString(16);t<256?(n+=`\\x`,e.length===1&&(n+=`0`),n+=e):n+=`\\x{${e}}`;break}}return n}static stringToRunes(e){let t=String(e),n=[],r=0;for(;r<t.length;){let e=t.codePointAt(r);n.push(e),r+=e>E.MAX_BMP?2:1}return n}static runeToString(e){return String.fromCodePoint(e)}static isWordRune(e){return e<Hn&&Un[e]===1}static emptyOpContext(t,n){let r=0;return t<0&&(r|=e.EMPTY_BEGIN_TEXT|e.EMPTY_BEGIN_LINE),t===10&&(r|=e.EMPTY_BEGIN_LINE),n<0&&(r|=e.EMPTY_END_TEXT|e.EMPTY_END_LINE),n===10&&(r|=e.EMPTY_END_LINE),e.isWordRune(t)===e.isWordRune(n)?r|=e.EMPTY_NO_WORD_BOUNDARY:r|=e.EMPTY_WORD_BOUNDARY,r}static quoteMeta(t){return t.split(``).map(t=>e.METACHARACTERS.indexOf(t)>=0?`\\${t}`:t).join(``)}static charCount(e){return e>E.MAX_BMP?2:1}static toArray(e){let t=e.length,n=Array(t);for(let r=0;r<t;r++)n[r]=e[r];return n}static stringToUtf8ByteArray(e){if(globalThis.TextEncoder)return Wn||=new TextEncoder,Wn.encode(e);{let t=[],n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=i&63|128):(i&64512)===E.MIN_HIGH_SURROGATE&&r+1<e.length&&(e.charCodeAt(r+1)&64512)===E.MIN_LOW_SURROGATE?(i=E.MIN_SUPPLEMENTARY_CODE_POINT+((i&1023)<<10)+(e.charCodeAt(++r)&1023),t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=i&63|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128)}return t}}static utf8ByteArrayToString(e){if(globalThis.TextDecoder){Gn||=new TextDecoder(`utf-8`);let t=e instanceof Uint8Array?e:new Uint8Array(e);return Gn.decode(t)}{let t=[],n=0,r=0;for(;n<e.length;){let i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){let a=e[n++];t[r++]=String.fromCharCode((i&31)<<6|a&63)}else if(i>239&&i<365){let a=e[n++],o=e[n++],s=e[n++],c=((i&7)<<18|(a&63)<<12|(o&63)<<6|s&63)-E.MIN_SUPPLEMENTARY_CODE_POINT;t[r++]=String.fromCharCode(E.MIN_HIGH_SURROGATE+(c>>10)),t[r++]=String.fromCharCode(E.MIN_LOW_SURROGATE+(c&1023))}else{let a=e[n++],o=e[n++];t[r++]=String.fromCharCode((i&15)<<12|(a&63)<<6|o&63)}}return t.join(``)}}},Kn=(e=[],t=0)=>{let n=Object.create(null);for(let r=0;r<e.length;r++){let i=e[r],a=t+r;n[i]=a,n[a]=i}return Object.freeze(n)},qn=class e{static Encoding=Kn([`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}},Jn=class extends qn{constructor(e=null){super(),this.bytes=e}getEncoding(){return qn.Encoding.UTF_8}asCharSequence(){return D.utf8ByteArrayToString(this.bytes)}asBytes(){return this.bytes}length(){return this.bytes.length}},Yn=class extends qn{constructor(e=null){super(),this.charSequence=e}getEncoding(){return qn.Encoding.UTF_16}asCharSequence(){return this.charSequence}asBytes(){return D.stringToUtf8ByteArray(this.charSequence.toString())}length(){return this.charSequence.length}},Xn=class{static utf16(e){return new Yn(e)}static utf8(e){return D.isByteArray(e)?new Jn(e):new Jn(D.stringToUtf8ByteArray(e))}},Zn=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}},Qn=class extends Zn{constructor(e,t=0,n=e.length){super(),this.bytes=e,this.start=t,this.end=n}hasString(e,t){let n=e.bytes;if(n.length===0)return!0;let r=this.indexOf(this.bytes,n,this.start+t);return r!==-1&&r<=this.end-n.length}hasAnyString(e,t){return e.ac8?e.ac8.searchUTF8(this.bytes,this.start+t,this.end):!1}step(e){if(e+=this.start,e>=this.end)return Zn.EOF();let t=this.bytes[e]&255;if(t<128)return t<<3|1;if(t>=194&&t<=223&&e+1<this.end){let n=this.bytes[e+1]&255;return(n&192)==128?((t&31)<<6|n&63)<<3|2:t<<3|1}if(t>=224&&t<=239&&e+2<this.end){let n=this.bytes[e+1]&255;if((n&192)!=128)return t<<3|1;let r=this.bytes[e+2]&255;return(r&192)==128?((t&15)<<12|(n&63)<<6|r&63)<<3|3:t<<3|1}if(t>=240&&t<=244&&e+3<this.end){let n=this.bytes[e+1]&255;if((n&192)!=128)return t<<3|1;let r=this.bytes[e+2]&255;if((r&192)!=128)return t<<3|1;let i=this.bytes[e+3]&255;return(i&192)==128?((t&7)<<18|(n&63)<<12|(r&63)<<6|i&63)<<3|4:t<<3|1}return t<<3|1}index(e,t){t+=this.start;let n=this.indexOf(this.bytes,e.prefixUTF8,t);return n<0?n:n-t}context(e){e+=this.start;let t=-1;if(e>this.start&&e<=this.end){let n=e-1;if(t=this.bytes[n--],t>=128){let r=e-4;for(r<this.start&&(r=this.start);n>=r&&(this.bytes[n]&192)==128;)n--;n<this.start&&(n=this.start),t=this.step(n-this.start)>>3}}let n=e<this.end?this.step(e-this.start)>>3:-1;return D.emptyOpContext(t,n)}indexOf(e,t,n=0){let r=t.length;if(r===0)return n<=this.end?n:-1;let i=t[0],a=this.end-r,o=typeof e.indexOf==`function`,s=n;for(;s<=a;){if(o){if(s=e.indexOf(i,s),s===-1||s>a)return-1}else{for(;s<=a&&e[s]!==i;)s++;if(s>a)return-1}let n=!0;for(let i=1;i<r;i++)if(e[s+i]!==t[i]){n=!1;break}if(n)return s;s++}return-1}prefixLength(e){return e.prefixUTF8.length}},$n=class extends Zn{constructor(e,t=0,n=e.length){super(),this.charSequence=e,this.start=t,this.end=n}hasString(e,t){let n=this.charSequence.indexOf(e.str,this.start+t);return n!==-1&&n<=this.end-e.str.length}hasAnyString(e,t){return e.ac16?e.ac16.searchUTF16(this.charSequence,this.start+t,this.end):!1}step(e){if(e+=this.start,e>=this.end)return Zn.EOF();let t=this.charSequence.charCodeAt(e);if(t<E.MIN_HIGH_SURROGATE||t>E.MAX_HIGH_SURROGATE||e+1>=this.end)return t<<3|1;let n=this.charSequence.charCodeAt(e+1);return n>=E.MIN_LOW_SURROGATE&&n<=E.MAX_LOW_SURROGATE?(t-E.MIN_HIGH_SURROGATE)*1024+(n-E.MIN_LOW_SURROGATE)+E.MIN_SUPPLEMENTARY_CODE_POINT<<3|2:t<<3|1}index(e,t){t+=this.start;let n=this.charSequence.indexOf(e.prefix,t);return n<0||n>this.end-e.prefix.length?-1:n-t}context(e){e+=this.start;let t=e>this.start&&e<=this.end?this.charSequence.charCodeAt(e-1):-1,n=e<this.end?this.charSequence.charCodeAt(e):-1;return D.emptyOpContext(t,n)}prefixLength(e){return e.prefix.length}},O=class{static fromUTF8(e,t=0,n=e.length){return new Qn(e,t,n)}static fromUTF16(e,t=0,n=e.length){return new $n(e,t,n)}},er=class extends Error{constructor(e){super(e),this.name=`RE2JSException`}},k=class extends er{constructor(e,t=null){let n=`error parsing regexp: ${e}`;t&&(n+=`: \`${t}\``),super(n),this.name=`RE2JSSyntaxException`,this.message=n,this.error=e,this.input=t}getDescription(){return this.error}getPattern(){return this.input}},tr=class extends er{constructor(e){super(e),this.name=`RE2JSCompileException`}},nr=class extends er{constructor(e){super(e),this.name=`RE2JSGroupException`}},rr=class extends er{constructor(e){super(e),this.name=`RE2JSFlagsException`}},ir=class extends er{constructor(e){super(e),this.name=`RE2JSInternalException`}},ar=class e{static MAX_REPLACER_ARGS=65535;static quoteReplacement(e,t=!1){return t?e.indexOf(`\\`)<0&&e.indexOf(`$`)<0?e:e.split(``).map(e=>{let t=e.codePointAt(0);return t===C.CODES.get(`\\`)||t===C.CODES.get(`$`)?`\\${e}`:e}).join(``):e.indexOf(`$`)<0?e:e.split(``).map(e=>e.codePointAt(0)===C.CODES.get(`$`)?`$$`:e).join(``)}constructor(e,t){if(e===null)throw Error(`pattern is null`);this.patternInput=e;let n=this.patternInput.re2();this.patternGroupCount=n.numberOfCapturingGroups(),this.groups=[],this.namedGroups=n.namedGroups,this.numberOfInstructions=n.numberOfInstructions(),t instanceof qn?this.resetMatcherInput(t):D.isByteArray(t)?this.resetMatcherInput(Xn.utf8(t)):this.resetMatcherInput(Xn.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(e===null)throw Error(`input is null`);return e instanceof qn||(e=D.isByteArray(e)?Xn.utf8(e):Xn.utf16(e)),this.matcherInput=e,this.reset(),this}start(e=0){if(typeof e==`string`){let t=this.namedGroups[e];if(!Number.isFinite(t))throw new nr(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e]}end(e=0){if(typeof e==`string`){let t=this.namedGroups[e];if(!Number.isFinite(t))throw new nr(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e+1]}programSize(){return this.numberOfInstructions}group(e=0){if(typeof e==`string`){let t=this.namedGroups[e];if(!Number.isFinite(t))throw new nr(`group '${e}' not found`);e=t}let t=this.start(e),n=this.end(e);return t<0&&n<0?null:this.substring(t,n)}getNamedGroups(){if(!this.hasMatch)throw new nr(`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 nr(`Group index out of bounds: ${e}`);if(!this.hasMatch)throw new nr(`perhaps no match attempted`);if(e===0||this.hasGroups)return;let t=this.matcherInputLength,n=this.patternInput.re2().matchMachineInput(this.matcherInput,this.groups[0],t,this.anchorFlag,1+this.patternGroupCount);if(!n[0])throw new nr(`inconsistency in matching group data`);this.groups=n[1],this.hasGroups=!0}matches(){return this.genMatch(0,x.ANCHOR_BOTH)}lookingAt(){return this.genMatch(0,x.ANCHOR_START)}find(e=null){if(e!==null){if(e<0||e>this.matcherInputLength)throw new nr(`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()?O.fromUTF16(this.matcherInput.asCharSequence(),0,this.matcherInputLength):O.fromUTF8(this.matcherInput.asBytes(),0,this.matcherInputLength)).step(e);t<0?e++:e+=t&7}return this.genMatch(e,x.UNANCHORED)}genMatch(e,t){let n=this.patternInput.re2().matchMachineInput(this.matcherInput,e,this.matcherInputLength,t,1);return n[0]?(this.groups=n[1],this.hasMatch=!0,this.hasGroups=this.patternGroupCount===0,this.anchorFlag=t,!0):(this.hasMatch=!1,!1)}substring(e,t){return this.matcherInput.isUTF8Encoding()?D.utf8ByteArrayToString(this.matcherInput.asBytes().slice(e,t)):this.matcherInput.asCharSequence().substring(e,t).toString()}inputLength(){return this.matcherInputLength}appendReplacement(e,t=!1){let n=``,r=this.start(),i=this.end();return this.appendPos<r&&(n+=this.substring(this.appendPos,r)),this.appendPos=i,n+=t?this.appendReplacementInternalJava(e):this.appendReplacementInternalJs(e),n}appendReplacementInternalJava(e){let t=``,n=0,r=e.length,i=0;for(;i<r;){let a=e.codePointAt(i);if(a===C.CODES.get(`\\`)){if(n<i&&(t+=e.substring(n,i)),i++,i>=r)throw new nr(`character to be escaped is missing`);n=i,i++;continue}if(a===C.CODES.get(`$`)){if(n<i&&(t+=e.substring(n,i)),i+1>=r)throw new nr(`Illegal group reference: group index is missing`);let a=e.codePointAt(i+1);if(C.CODES.get(`0`)<=a&&a<=C.CODES.get(`9`)){let o=a-C.CODES.get(`0`),s=i+2;for(;s<r;s++){let t=e.codePointAt(s);if(t<C.CODES.get(`0`)||t>C.CODES.get(`9`)||o*10+t-C.CODES.get(`0`)>this.patternGroupCount)break;o=o*10+t-C.CODES.get(`0`)}if(o>this.patternGroupCount)throw new nr(`n > number of groups: ${o}`);let c=this.group(o);c!==null&&(t+=c),i=s,n=i}else if(a===C.CODES.get(`{`)){let a=i+2;for(;a<r&&e.codePointAt(a)!==C.CODES.get(`}`);)a++;if(a>=r)throw new nr(`named capture group is missing trailing '}'`);let o=e.substring(i+2,a),s=this.group(o);s!==null&&(t+=s),i=a+1,n=i}else throw new nr(`Illegal group reference`);continue}i++}return n<r&&(t+=e.substring(n,r)),t}appendReplacementInternalJs(e){let t=``,n=0,r=e.length;for(let i=0;i<r-1;i++)if(e.codePointAt(i)===C.CODES.get(`$`)){let a=e.codePointAt(i+1);if(C.CODES.get(`$`)===a){n<i&&(t+=e.substring(n,i)),t+=`$`,i++,n=i+1;continue}if(C.CODES.get(`&`)===a){n<i&&(t+=e.substring(n,i));let r=this.group(0);t+=r===null?`$&`:r,i++,n=i+1;continue}if(C.CODES.get("`")===a){n<i&&(t+=e.substring(n,i)),t+=this.substring(0,this.start(0)),i++,n=i+1;continue}if(C.CODES.get(`'`)===a){n<i&&(t+=e.substring(n,i)),t+=this.substring(this.end(0),this.matcherInputLength),i++,n=i+1;continue}if(C.CODES.get(`1`)<=a&&a<=C.CODES.get(`9`)){let o=a-C.CODES.get(`0`);for(n<i&&(t+=e.substring(n,i)),i+=2;i<r&&(a=e.codePointAt(i),!(a<C.CODES.get(`0`)||a>C.CODES.get(`9`)||o*10+a-C.CODES.get(`0`)>this.patternGroupCount));i++)o=o*10+a-C.CODES.get(`0`);if(o>this.patternGroupCount){t+=`$${o}`,n=i,i--;continue}let s=this.group(o);s!==null&&(t+=s),n=i,i--;continue}if(a===C.CODES.get(`<`)){n<i&&(t+=e.substring(n,i)),i++;let r=i+1;for(;r<e.length&&e.codePointAt(r)!==C.CODES.get(`>`)&&e.codePointAt(r)!==C.CODES.get(` `);)r++;if(r===e.length||e.codePointAt(r)!==C.CODES.get(`>`)){t+=e.substring(i-1,r+1),n=r+1,i=r;continue}let a=e.substring(i+1,r);if(Object.prototype.hasOwnProperty.call(this.namedGroups,a)){let e=this.group(a);e!==null&&(t+=e)}else t+=`$<${a}>`;n=r+1,i=r;continue}}return n<r&&(t+=e.substring(n,r)),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,n=!0,r=!1){let i=``;this.reset();let a=typeof t==`function`,o=Object.keys(this.namedGroups).length>0,s=null;if(a){if(this.groupCount()>=e.MAX_REPLACER_ARGS)throw new nr(`Too many capture groups to safely invoke replacer function`);s=this.matcherInput.isUTF8Encoding()?this.matcherInput.asBytes():this.matcherInput.asCharSequence()}for(;this.find()&&(i+=a?this.appendReplacementFunc(t,o,s):this.appendReplacement(t,r),n););return i+=this.appendTail(),i}appendReplacementFunc(e,t,n){let r=``,i=this.start(),a=this.end();this.appendPos<i&&(r+=this.substring(this.appendPos,i)),this.appendPos=a;let o=this.buildReplacerArgs(i,t,n);return r+=String(e(...o)),r}buildReplacerArgs(e,t,n){let r=[this.group(0)],i=this.groupCount();for(let e=1;e<=i;e++){let t=this.start(e);t<0?r.push(void 0):r.push(this.substring(t,this.end(e)))}if(r.push(e),r.push(n),t){let e=this.getNamedGroups();for(let t in e)e[t]===null&&(e[t]=void 0);r.push(e)}return r}},A=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 n of e)t+=D.escapeRune(n);return t+=`"`,t}constructor(e){this.op=e,this.out=0,this.arg=0,this.runes=[],this.next=null}matchRune(e){if(this.runes.length===1){let t=this.runes[0];return(this.arg&x.FOLD_CASE)===0?e===t:E.equalsIgnoreCase(t,e)}let t=this.runes.length;if(t===0)return!1;if(t===2||t===4||t===6||t===8){for(let n=0;n<t;n+=2){if(e<this.runes[n])return!1;if(e<=this.runes[n+1])return!0}return!1}let n=0,r=t>>1;for(;r>1;){let t=r>>1;n+=this.runes[n+t<<1]<=e?t:0,r-=t}n+=+(this.runes[n<<1]<=e);let i=n-1;return i>=0&&e<=this.runes[i<<1|1]}matchRunePos(e){if(this.runes.length===1){let t=this.runes[0];return(this.arg&x.FOLD_CASE)===0?e===t?0:-1:E.equalsIgnoreCase(t,e)?0:-1}let t=this.runes.length;if(t===0)return-1;if(t===2||t===4||t===6||t===8){for(let n=0;n<t;n+=2){if(e<this.runes[n])return-1;if(e<=this.runes[n+1])return Math.floor(n/2)}return-1}let n=0,r=t>>1;for(;r>1;){let t=r>>1;n+=this.runes[n+t<<1]<=e?t:0,r-=t}n+=+(this.runes[n<<1]<=e);let i=n-1;return i>=0&&e<=this.runes[i<<1|1]?i:-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${this.arg===0?``:` ${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:return this.runes===null?`rune <null>`:[`rune `,e.escapeRunes(this.runes),(this.arg&x.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`)}}},or=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 this.size===0}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++)t!==0&&(e+=`, `),e+=this.densePcs[t];return e+=`}`,e}},sr=class e{static fromRE2(t){let n=new e;return n.prog=t.prog,n.re2=t,n.q0=new or(n.prog.numInst()),n.q1=new or(n.prog.numInst()),n.matched=!1,n.matchcap=new Int32Array(n.prog.numCap<2?2:n.prog.numCap),n.ncap=0,n}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 this.ncap===0?D.emptyInts():D.toArray(this.matchcap.subarray(0,this.ncap))}match(e,t,n){let r=this.re2.cond;if(r===D.EMPTY_ALL||(n===x.ANCHOR_START||n===x.ANCHOR_BOTH)&&t!==0)return!1;this.matched=!1,this.matchcap.fill(-1);let i=this.prog.numLb>0?0:t,a=t,o=this.q0,s=this.q1,c=e.step(i),l=c>>3,u=c&7,d=-1,f=0;c!==Zn.EOF()&&(c=e.step(i+u),d=c>>3,f=c&7);let p;for(p=i===0?D.emptyOpContext(-1,l):e.context(i);;){if(o.isEmpty()){if((r&D.EMPTY_BEGIN_TEXT)!==0&&i!==0||(n===x.ANCHOR_START||n===x.ANCHOR_BOTH)&&i!==0||this.matched)break;if(this.prog.numLb===0&&this.re2.prefix.length!==0&&d!==this.re2.prefixRune&&e.canCheckPrefix()){let t=e.index(this.re2,i);if(t<0)break;i+=t,c=e.step(i),l=c>>3,u=c&7,c=e.step(i+u),d=c>>3,f=c&7,p=e.context(i)}}if(i===0&&this.prog.numLb>0)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(o,this.prog.lbStarts[e],i,this.matchcap,0,p);!this.matched&&(i===0||n===x.UNANCHORED)&&i>=a&&(this.ncap>0&&(this.matchcap[0]=i),this.add(o,this.prog.start,i,this.matchcap,0,p));let t=i+u;if(p=e.context(t),this.step(o,s,i,t,l,p,n,i===e.endPos()),u===0||this.ncap===0&&this.matched)break;i+=u,l=d,u=f,l!==-1&&(c=e.step(i+u),d=c>>3,f=c&7);let m=o;o=s,s=m}return s.clear(),this.matched}matchSet(e,t,n){let r=this.re2.cond;if(r===D.EMPTY_ALL||(n===x.ANCHOR_START||n===x.ANCHOR_BOTH)&&t!==0)return[];let i=this.prog.numLb>0?0:t,a=t,o=this.q0,s=this.q1,c=e.step(i),l=c>>3,u=c&7,d=-1,f=0;c!==Zn.EOF()&&(c=e.step(i+u),d=c>>3,f=c&7);let p=i===0?D.emptyOpContext(-1,l):e.context(i),m=new Set;for(;!(o.isEmpty()&&((r&D.EMPTY_BEGIN_TEXT)!==0&&i!==0||(n===x.ANCHOR_START||n===x.ANCHOR_BOTH)&&i!==0));){if(i===0&&this.prog.numLb>0)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(o,this.prog.lbStarts[e],i,this.matchcap,0,p);(i===0||n===x.UNANCHORED)&&i>=a&&this.add(o,this.prog.start,i,this.matchcap,0,p);let t=i+u;p=e.context(t);for(let r=0;r<o.size;r++){let a=o.densePcs[r],c=this.prog.inst[a],u=r*this.ncap,d=!1;switch(c.op){case A.MATCH:if(n===x.ANCHOR_BOTH&&i!==e.endPos())break;m.add(c.arg);break;case A.RUNE:d=c.matchRune(l);break;case A.RUNE1:d=l===c.runes[0];break;case A.RUNE_ANY:d=!0;break;case A.RUNE_ANY_NOT_NL:d=l!==10;break;default:continue}d&&this.add(s,c.out,t,o.denseCaps,u,p)}if(o.clear(),u===0)break;i+=u,l=d,u=f,l!==-1&&(c=e.step(i+u),d=c>>3,f=c&7);let r=o;o=s,s=r}return s.clear(),Array.from(m).sort((e,t)=>e-t)}step(e,t,n,r,i,a,o,s){let c=this.re2.longest;for(let l=0;l<e.size;l++){let u=e.densePcs[l],d=l*this.ncap;if(c&&this.matched&&this.ncap>0&&this.matchcap[0]<e.denseCaps[d])continue;let f=this.prog.inst[u],p=!1;switch(f.op){case A.MATCH:if(o===x.ANCHOR_BOTH&&!s)break;if(this.ncap>0&&(!c||!this.matched||this.matchcap[1]<n)){e.denseCaps[d+1]=n;for(let t=0;t<this.ncap;t++)this.matchcap[t]=e.denseCaps[d+t]}c||(e.size=0),this.matched=!0;break;case A.RUNE:p=f.matchRune(i);break;case A.RUNE1:p=i===f.runes[0];break;case A.RUNE_ANY:p=!0;break;case A.RUNE_ANY_NOT_NL:p=i!==10;break;default:continue}p&&this.add(t,f.out,r,e.denseCaps,d,a)}e.clear()}add(e,t,n,r,i,a){for(;;){if(t===0||e.contains(t))return;let o=e.add(t),s=this.prog.inst[t];switch(s.op){case A.FAIL:return;case A.ALT:case A.ALT_MATCH:this.add(e,s.out,n,r,i,a),t=s.arg;continue;case A.EMPTY_WIDTH:if((s.arg&~a)===0){t=s.out;continue}return;case A.NOP:t=s.out;continue;case A.CAPTURE:if(s.arg<this.ncap){let t=r[i+s.arg];r[i+s.arg]=n,this.add(e,s.out,n,r,i,a),r[i+s.arg]=t;return}t=s.out;continue;case A.LB_WRITE:this.lbTable[Math.abs(s.arg)]=n,t=s.out;continue;case A.LB_CHECK:if(s.arg>0){if(this.lbTable[s.arg]===n){t=s.out;continue}}else if(this.lbTable[-s.arg]!==n){t=s.out;continue}return;case A.MATCH:case A.RUNE:case A.RUNE1:case A.RUNE_ANY:case A.RUNE_ANY_NOT_NL:if(this.ncap>0){let t=o*this.ncap;for(let n=0;n<this.ncap;n++)e.denseCaps[t+n]=r[i+n]}return;default:throw new ir(`unhandled`)}}}},cr=e=>{let t=-2128831035;for(let n=0;n<e.length;n++)t^=e[n],t=Math.imul(t,16777619);return t},lr=(e,t)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},ur=class{constructor(e,t,n=[]){this.nfaStates=e,this.isMatch=t,this.matchIDs=n,this.nextLatin1=Array(E.MAX_LATIN1+1).fill(null),this.nextLatin1Anchored=Array(E.MAX_LATIN1+1).fill(null),this.transKeys=[],this.transVals=[],this.lastSeen=0}},dr=class e{static MAX_CACHE_CLEARS=5;static STATE_MEMORY_ESTIMATE=838;constructor(t,n=8388608){this.prog=t,this.stateCache=new Map,this.stateCount=0,this.startState=null,this.stateLimit=Math.max(1,Math.floor(n/e.STATE_MEMORY_ESTIMATE)),this.cacheClears=0,this.failed=!1,this.clock=0}computeClosure(e){let t=new Set,n=[...e],r=!1,i=[];for(;n.length>0;){let e=n.pop();if(t.has(e))continue;t.add(e);let a=this.prog.getInst(e);switch(a.op){case A.MATCH:r=!0,i.includes(a.arg)||i.push(a.arg);break;case A.ALT:case A.ALT_MATCH:n.push(a.out),n.push(a.arg);break;case A.NOP:case A.CAPTURE:n.push(a.out);break;case A.EMPTY_WIDTH:case A.LB_WRITE:case A.LB_CHECK:return null}}let a=Int32Array.from(t).sort();return i.sort((e,t)=>e-t),{pcs:a,isMatch:r,matchIDs:i}}getState(t){let n=this.computeClosure(t);if(!n)return null;let r=n.pcs,i=cr(r),a=this.stateCache.get(i);if(a)for(let e=0;e<a.length;e++){let t=a[e];if(lr(t.nfaStates,r))return t.lastSeen=++this.clock,t}else a=[],this.stateCache.set(i,a);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(),a=this.stateCache.get(i),a||(a=[],this.stateCache.set(i,a))}let o=new ur(r,n.isMatch,n.matchIDs);return o.lastSeen=++this.clock,a.push(o),this.stateCount++,o}evictCache(){let e=[];for(let t of this.stateCache.values())for(let n=0;n<t.length;n++)e.push(t[n]);e.sort((e,t)=>e.lastSeen-t.lastSeen);let t=Math.max(1,Math.floor(this.stateLimit/2)),n=e.length-t,r=e.slice(n),i=new Set(r);this.stateCache.clear(),this.stateCount=0;for(let e=0;e<r.length;e++){let t=r[e];t.nextLatin1.fill(null),t.nextLatin1Anchored.fill(null),t.transKeys.length=0,t.transVals.length=0;let n=cr(t.nfaStates),i=this.stateCache.get(n);i||(i=[],this.stateCache.set(n,i)),i.push(t),this.stateCount++}this.startState&&!i.has(this.startState)&&(this.startState=null)}step(e,t,n){if(t<=E.MAX_LATIN1){if(n===x.UNANCHORED){let n=e.nextLatin1[t];if(n!==null)return n}else{let n=e.nextLatin1Anchored[t];if(n!==null)return n}}else{let r=t+(n===x.UNANCHORED?0:E.MAX_RUNE+1),i=e.transKeys,a=i.length;for(let t=0;t<a;t++)if(i[t]===r)return e.transVals[t]}let r=[];for(let n=0;n<e.nfaStates.length;n++){let i=e.nfaStates[n],a=this.prog.getInst(i);A.isRuneOp(a.op)&&a.matchRune(t)&&r.push(a.out)}n===x.UNANCHORED&&r.push(this.prog.start);let i=this.getState(r);if(t<=E.MAX_LATIN1)n===x.UNANCHORED?e.nextLatin1[t]=i:e.nextLatin1Anchored[t]=i;else{let r=t+(n===x.UNANCHORED?0:E.MAX_RUNE+1);e.transKeys.push(r),e.transVals.push(i)}return i}match(e,t,n){if((n===x.ANCHOR_START||n===x.ANCHOR_BOTH)&&t!==0)return!1;if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;let r=e.endPos(),i=this.startState;if(i.isMatch){if(n===x.ANCHOR_BOTH){if(t===r)return!0}else return!0}let a=t;for(;a<r;){let t=e.step(a),o=t>>3,s=t&7;if(s===0)break;if(i=n===x.UNANCHORED&&o<=E.MAX_LATIN1&&i.nextLatin1[o]||this.step(i,o,n),i===null)return null;if(i.lastSeen=++this.clock,i.isMatch){if(n===x.ANCHOR_BOTH){if(a+s===r)return!0}else return!0}if(i.nfaStates.length===0&&n!==x.UNANCHORED)return!1;a+=s}return!1}matchSet(e,t,n){if((n===x.ANCHOR_START||n===x.ANCHOR_BOTH)&&t!==0)return[];if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;let r=e.endPos(),i=this.startState,a=new Set,o=(e,t)=>{e.isMatch&&(n===x.ANCHOR_BOTH?t===r&&e.matchIDs.forEach(e=>a.add(e)):e.matchIDs.forEach(e=>a.add(e)))};o(i,t);let s=t;for(;s<r;){let t=e.step(s),r=t>>3,a=t&7;if(a===0)break;if(i=n===x.UNANCHORED&&r<=E.MAX_LATIN1&&i.nextLatin1[r]||this.step(i,r,n),i===null)return null;if(i.lastSeen=++this.clock,s+=a,o(i,s),i.nfaStates.length===0&&n!==x.UNANCHORED)break}return Array.from(a).sort((e,t)=>e-t)}},fr=32,pr=500,mr=256,hr=262144,gr=class{constructor(){this.end=0,this.cap=new Int32Array,this.matchcap=new Int32Array,this.ncap=0,this.jobPc=new Int32Array(mr),this.jobArg=new Uint8Array(mr),this.jobPos=new Int32Array(mr),this.jobLen=0,this.visited=new Uint32Array}reset(e,t,n){this.end=t,this.jobLen=0,this.ncap=n;let r=e.numInst()*(t+1)+fr-1>>>5;this.visited.length<r?this.visited=new Uint32Array(r):this.visited.fill(0,0,r),this.cap.length<n?this.cap=new Int32Array(n).fill(-1):this.cap.fill(-1,0,n),this.matchcap.length<n?this.matchcap=new Int32Array(n).fill(-1):this.matchcap.fill(-1,0,n)}shouldVisit(e,t){let n=e*(this.end+1)+t,r=n>>>5,i=1<<(n&31);return(this.visited[r]&i)===0&&(this.visited[r]|=i,!0)}push(e,t,n,r){if(e.prog.getInst(t).op!==A.FAIL&&(r||this.shouldVisit(t,n))){if(this.jobLen>=this.jobPc.length){let e=this.jobPc.length*2,t=new Int32Array(e);t.set(this.jobPc),this.jobPc=t;let n=new Uint8Array(e);n.set(this.jobArg),this.jobArg=n;let r=new Int32Array(e);r.set(this.jobPos),this.jobPos=r}this.jobPc[this.jobLen]=t,this.jobArg[this.jobLen]=+!!r,this.jobPos[this.jobLen]=n,this.jobLen++}}tryBacktrack(e,t,n,r,i){let a=e.longest;for(this.push(e,n,r,!1);this.jobLen>0;){this.jobLen--;let n=this.jobPc[this.jobLen],r=this.jobArg[this.jobLen]===1,o=this.jobPos[this.jobLen],s=!0;for(;!(!s&&!this.shouldVisit(n,o));){s=!1;let c=e.prog.getInst(n);switch(c.op){case A.FAIL:throw new ir(`unexpected InstFail`);case A.ALT:if(r){r=!1,n=c.arg;continue}this.push(e,n,o,!0),n=c.out;continue;case A.ALT_MATCH:{let t=e.prog.getInst(c.out);if(A.isRuneOp(t.op)){this.push(e,c.arg,o,!1),n=c.arg,o=this.end;continue}this.push(e,c.out,this.end,!1),n=c.out;continue}case A.RUNE:{let e=t.step(o);if(e===Zn.EOF()||!c.matchRune(e>>3))break;o+=e&7,n=c.out;continue}case A.RUNE1:{let e=t.step(o);if(e===Zn.EOF()||e>>3!==c.runes[0])break;o+=e&7,n=c.out;continue}case A.RUNE_ANY_NOT_NL:{let e=t.step(o);if(e===Zn.EOF()||e>>3==10)break;o+=e&7,n=c.out;continue}case A.RUNE_ANY:{let e=t.step(o);if(e===Zn.EOF())break;o+=e&7,n=c.out;continue}case A.CAPTURE:if(r){this.cap[c.arg]=o;break}c.arg<this.ncap&&(this.push(e,n,this.cap[c.arg],!0),this.cap[c.arg]=o),n=c.out;continue;case A.EMPTY_WIDTH:{let e=t.context(o);if((c.arg&~e)!==0)break;n=c.out;continue}case A.NOP:n=c.out;continue;case A.MATCH:{if(i===x.ANCHOR_BOTH&&o!==this.end)break;if(this.ncap===0)return!0;this.ncap>1&&(this.cap[1]=o);let e=this.matchcap[1];if((e===-1||a&&o>0&&o>e)&&this.matchcap.set(this.cap),!a||o===this.end)return!0;break}case A.LB_WRITE:case A.LB_CHECK:throw new ir(`Backtracker cannot evaluate Lookbehind instructions`);default:throw new ir(`bad inst`)}break}}return a&&this.matchcap.length>1&&this.matchcap[1]>=0}},_r=[],vr=class e{static shouldBacktrack(e){return e.numInst()<=pr}static maxBitStateLen(t){return e.shouldBacktrack(t)?Math.floor(hr/t.numInst()):0}static execute(e,t,n,r,i){let a=e.cond;if(a===D.EMPTY_ALL||(r===x.ANCHOR_START||r===x.ANCHOR_BOTH)&&n!==0||(a&D.EMPTY_BEGIN_TEXT)!==0&&n!==0)return null;let o=_r.length>0?_r.pop():new gr,s=t.endPos();o.reset(e.prog,s,i);let c=!1;if((a&D.EMPTY_BEGIN_TEXT)!==0||r===x.ANCHOR_START||r===x.ANCHOR_BOTH)o.ncap>0&&(o.cap[0]=n),o.tryBacktrack(e,t,e.prog.start,n,r)&&(c=!0);else{let i=-1;for(;n<=s&&i!==0;n+=i){if(e.prefix.length>0){let r=t.index(e,n);if(r<0)break;n+=r}if(o.ncap>0&&(o.cap[0]=n),o.tryBacktrack(e,t,e.prog.start,n,r)){c=!0;break}let a=t.step(n);i=a===Zn.EOF()?0:a&7}}if(!c)return _r.push(o),null;let l=i===0?[]:D.toArray(o.matchcap.subarray(0,i));return _r.push(o),l}},yr=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++)}},br=(e,t,n,r)=>{let i=e.length,a=t.length,o=0,s=0,c=[],l=[],u=!0,d=-1,f=i=>{let a=i?e:t,u=i?o:s,f=i?n:r;return d>0&&a[u]<=c[d]?!1:(c.push(a[u],a[u+1]),i?o+=2:s+=2,d+=2,l.push(f),!0)};for(;o<i||s<a;)if(u=s>=a?f(!0):o>=i||t[s]<e[o]?f(!1):f(!0),!u)return null;return{merged:c,next:l}},xr=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++){let n=e.inst[t],r=new A(n.op);r.out=n.out,r.arg=n.arg,r.runes=n.runes?n.runes.slice():[],r.next=null,this.inst[t]=r}}},Sr=e=>{let t=new xr(e);for(let e=0;e<t.inst.length;e++){let n=t.inst[e];if(n.op!==A.ALT&&n.op!==A.ALT_MATCH)continue;let r=`out`,i=`arg`,a=t.inst[n[i]];if(a.op!==A.ALT&&a.op!==A.ALT_MATCH&&(r=`arg`,i=`out`,a=t.inst[n[i]],a.op!==A.ALT&&a.op!==A.ALT_MATCH))continue;let o=t.inst[n[r]];if(o.op===A.ALT||o.op===A.ALT_MATCH)continue;let s=`out`,c=`arg`,l=!1;a.out===e?l=!0:a.arg===e&&(l=!0,s=`arg`,c=`out`),l&&(a[s]=n[r]),n[r]===a[s]&&(n[i]=a[c])}return t},Cr=e=>{if(e.inst.length>=1e3)return null;let t=new yr(e.inst.length),n=new yr(e.inst.length),r=Array(e.inst.length),i=Array(e.inst.length).fill(!1),a=o=>{let s=!0,c=e.inst[o];if(n.contains(o))return!0;switch(n.insert(o),c.op){case A.ALT:case A.ALT_MATCH:{s=a(c.out)&&a(c.arg);let e=i[c.out],t=i[c.arg];if(e&&t)return!1;if(t){let n=c.out;c.out=c.arg,c.arg=n;let r=e;e=t,t=r}e&&(i[o]=!0,c.op=A.ALT_MATCH);let n=br(r[c.out]||[],r[c.arg]||[],c.out,c.arg);if(!n)return!1;r[o]=n.merged,c.next=new Uint32Array(n.next);break}case A.CAPTURE:case A.EMPTY_WIDTH:case A.NOP:s=a(c.out),i[o]=i[c.out],r[o]=r[c.out]?r[c.out].slice():[],c.next=new Uint32Array(Math.floor(r[o].length/2)+1).fill(c.out);break;case A.MATCH:case A.FAIL:i[o]=c.op===A.MATCH;break;case A.RUNE:{if(i[o]=!1,c.next&&c.next.length>0)break;if(t.insert(c.out),!c.runes||c.runes.length===0){r[o]=[],c.next=new Uint32Array([c.out]);break}let e=[];if(c.runes.length===1&&(c.arg&x.FOLD_CASE)!==0){let t=c.runes[0];e.push(t,t);for(let n=E.simpleFold(t);n!==t;n=E.simpleFold(n))e.push(n,n);e.sort((e,t)=>e-t)}else for(let t=0;t<c.runes.length;t++)e.push(c.runes[t]);r[o]=e,c.next=new Uint32Array(Math.floor(e.length/2)+1).fill(c.out),c.op=A.RUNE;break}case A.RUNE1:{if(i[o]=!1,c.next&&c.next.length>0)break;t.insert(c.out);let e=[];if((c.arg&x.FOLD_CASE)!==0){let t=c.runes[0];e.push(t,t);for(let n=E.simpleFold(t);n!==t;n=E.simpleFold(n))e.push(n,n);e.sort((e,t)=>e-t)}else e.push(c.runes[0],c.runes[0]);r[o]=e,c.next=new Uint32Array(Math.floor(e.length/2)+1).fill(c.out),c.op=A.RUNE;break}case A.RUNE_ANY:if(i[o]=!1,c.next&&c.next.length>0)break;t.insert(c.out),r[o]=[0,E.MAX_RUNE],c.next=new Uint32Array([c.out]);break;case A.RUNE_ANY_NOT_NL:if(i[o]=!1,c.next&&c.next.length>0)break;t.insert(c.out),r[o]=[0,9,11,E.MAX_RUNE],c.next=new Uint32Array(Math.floor(r[o].length/2)+1).fill(c.out)}return s};for(t.clear(),t.insert(e.start);!t.empty();)if(n.clear(),!a(t.next()))return null;for(let t=0;t<e.inst.length;t++)r[t]&&(e.inst[t].runes=r[t]);return e},wr=(e,t)=>{for(let n=0;n<t.inst.length;n++){let r=t.inst[n];switch(r.op){case A.ALT:case A.ALT_MATCH:case A.RUNE:break;case A.CAPTURE:case A.EMPTY_WIDTH:case A.NOP:case A.MATCH:case A.FAIL:e.inst[n].next=null;break;case A.RUNE1:case A.RUNE_ANY:case A.RUNE_ANY_NOT_NL:e.inst[n].next=null,e.inst[n].op=r.op,e.inst[n].runes=r.runes?r.runes.slice():[]}}},Tr=class e{static compile(e){if(e.start===0||e.numLb>0)return null;let t=e.inst[e.start];if(t.op!==A.EMPTY_WIDTH||(t.arg&D.EMPTY_BEGIN_TEXT)===0)return null;let n=!1;for(let t=0;t<e.inst.length;t++)if(e.inst[t].op===A.ALT||e.inst[t].op===A.ALT_MATCH){n=!0;break}for(let t=0;t<e.inst.length;t++){let r=e.inst[t],i=e.inst[r.out].op;switch(r.op){case A.ALT:case A.ALT_MATCH:if(i===A.MATCH||e.inst[r.arg].op===A.MATCH)return null;break;case A.EMPTY_WIDTH:if(i===A.MATCH){if((r.arg&D.EMPTY_END_TEXT)===D.EMPTY_END_TEXT)continue;return null}break;default:if(i===A.MATCH&&n)return null}}let r=Sr(e);return r=Cr(r),r!==null&&wr(r,e),r}static next(e,t){let n=e.matchRunePos(t);return n>=0?e.next[n]:e.op===A.ALT_MATCH?e.out:0}static execute(t,n,r,i,a){let o=t.onepass;if(!o)return null;let s=new Int32Array(a).fill(-1),c=!1,l=n.step(r),u=l>>3,d=l&7,f=Zn.EOF(),p=-1,m=0;l!==Zn.EOF()&&(f=n.step(r+d),f!==Zn.EOF()&&(p=f>>3,m=f&7));let h=r===0?D.emptyOpContext(-1,u):n.context(r),g=o.start,ee;for(;;){switch(ee=o.inst[g],g=ee.out,ee.op){case A.MATCH:return i===x.ANCHOR_BOTH&&r!==n.endPos()?null:(c=!0,s.length>0&&(s[0]=0,s[1]=r),a===0?[]:D.toArray(s));case A.RUNE:if(!ee.matchRune(u))return null;break;case A.RUNE1:if(u!==ee.runes[0])return null;break;case A.RUNE_ANY:break;case A.RUNE_ANY_NOT_NL:if(u===10)return null;break;case A.ALT:case A.ALT_MATCH:g=e.next(ee,u);continue;case A.FAIL:return null;case A.NOP:continue;case A.EMPTY_WIDTH:if((ee.arg&~h)!==0)return null;continue;case A.CAPTURE:ee.arg<s.length&&(s[ee.arg]=r);continue;default:throw new ir(`bad inst`)}if(d===0)break;h=D.emptyOpContext(u,p),r+=d,u=p,d=m,u!==-1&&(f=n.step(r+d),f===Zn.EOF()?(p=-1,m=0):(p=f>>3,m=f&7))}return c?a===0?[]:D.toArray(s):null}},j=class e{static Op=Kn([`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===C.CODES.get(`-`)?`\\`:``}static fromRegexp(t){let n=new e(t.op);return n.flags=t.flags,n.subs=t.subs,n.runes=t.runes,n.cap=t.cap,n.min=t.min,n.max=t.max,n.name=t.name,n.namedGroups=t.namedGroups,n.lb=t.lb,n}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 n=this.subs[0];switch(n.op>e.Op.CAPTURE||n.op===e.Op.LITERAL&&n.runes.length>1?t+=`(?:${n.appendTo()})`:t+=n.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&x.NON_GREEDY)!==0&&(t+=`?`);break}case e.Op.CONCAT:for(let n of this.subs)n.op===e.Op.ALTERNATE?t+=`(?:${n.appendTo()})`:t+=n.appendTo();break;case e.Op.ALTERNATE:{let e=``;for(let n of this.subs)t+=e,e=`|`,t+=n.appendTo();break}case e.Op.LITERAL:(this.flags&x.FOLD_CASE)!==0&&(t+=`(?i:`);for(let e of this.runes)t+=D.escapeRune(e);(this.flags&x.FOLD_CASE)!==0&&(t+=`)`);break;case e.Op.ANY_CHAR_NOT_NL:t+=`(?-s:.)`;break;case e.Op.ANY_CHAR:t+=`(?s:.)`;break;case e.Op.PLB:t+=`(?<=${this.subs[0].appendTo()})`;break;case e.Op.NLB:t+=`(?<!${this.subs[0].appendTo()})`;break;case e.Op.CAPTURE:this.name===null||this.name.length===0?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&x.WAS_DOLLAR)===0?t+=`\\z`:t+=`(?-m:$)`;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+=`[`,this.runes.length===0)t+=`^\\x00-\\x{10FFFF}`;else if(this.runes[0]===0&&this.runes[this.runes.length-1]===E.MAX_RUNE){t+=`^`;for(let n=1;n<this.runes.length-1;n+=2){let r=this.runes[n]+1,i=this.runes[n+1]-1;t+=e.quoteIfHyphen(r),t+=D.escapeRune(r),r!==i&&(t+=`-`,t+=e.quoteIfHyphen(i),t+=D.escapeRune(i))}}else for(let n=0;n<this.runes.length;n+=2){let r=this.runes[n],i=this.runes[n+1];t+=e.quoteIfHyphen(r),t+=D.escapeRune(r),r!==i&&(t+=`-`,t+=e.quoteIfHyphen(i),t+=D.escapeRune(i))}t+=`]`;break;default:t+=this.op}return t}maxCap(){let t=0;if(this.op===e.Op.CAPTURE&&(t=this.cap),this.subs!==null)for(let e of this.subs){let n=e.maxCap();t<n&&(t=n)}return t}equals(t){if(!(t!==null&&t instanceof e)||this.op!==t.op)return!1;switch(this.op){case e.Op.END_TEXT:if((this.flags&x.WAS_DOLLAR)!==(t.flags&x.WAS_DOLLAR))return!1;break;case e.Op.LITERAL:case e.Op.CHAR_CLASS:if(this.runes===null&&t.runes===null)break;if(this.runes===null||t.runes===null||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&x.NON_GREEDY)!==(t.flags&x.NON_GREEDY)||!this.subs[0].equals(t.subs[0]))return!1;break;case e.Op.REPEAT:if((this.flags&x.NON_GREEDY)!==(t.flags&x.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||(this.name===null?t.name!==null: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}},Er=class{constructor(e){this.next=[Object.create(null)],this.fail=[0],this.match=[!1];for(let t of e){let e=0;for(let n=0;n<t.length;n++){let r=t[n];r in this.next[e]||(this.next.push(Object.create(null)),this.fail.push(0),this.match.push(!1),this.next[e][r]=this.next.length-1),e=this.next[e][r]}this.match[e]=!0}let t=[];for(let e in this.next[0])if(Object.prototype.hasOwnProperty.call(this.next[0],e)){let n=this.next[0][e];this.fail[n]=0,t.push(n)}for(;t.length>0;){let e=t.shift();for(let n in this.next[e])if(Object.prototype.hasOwnProperty.call(this.next[e],n)){let r=this.next[e][n],i=this.fail[e];for(;i!==0&&!(n in this.next[i]);)i=this.fail[i];n in this.next[i]?this.fail[r]=this.next[i][n]:this.fail[r]=0,this.match[r]=this.match[r]||this.match[this.fail[r]],t.push(r)}}}searchUTF16(e,t,n){let r=0;for(let i=t;i<n;i++){let t=e.charCodeAt(i);for(;r!==0&&!(t in this.next[r]);)r=this.fail[r];if(t in this.next[r]&&(r=this.next[r][t]),this.match[r])return!0}return!1}searchUTF8(e,t,n){let r=0;for(let i=t;i<n;i++){let t=e[i];for(;r!==0&&!(t in this.next[r]);)r=this.fail[r];if(t in this.next[r]&&(r=this.next[r][t]),this.match[r])return!0}return!1}},M=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,n){switch(this.type){case e.Type.NONE:return!0;case e.Type.EXACT:return t.hasString(this,n);case e.Type.AND:for(let e=0;e<this.subs.length;e++)if(!this.subs[e].eval(t,n))return!1;return!0;case e.Type.OR:if(this.ac16&&this.ac8)return t.hasAnyString(this,n);for(let e=0;e<this.subs.length;e++)if(this.subs[e].eval(t,n))return!0;return!1;default:return!0}}},Dr=class e{static build(t){let n=e.fromRegexp(t);return e.simplify(n)}static fromRegexp(t){if(!t)return new M(M.Type.NONE);switch(t.op){case j.Op.PLB:case j.Op.NLB:case j.Op.NO_MATCH:case j.Op.EMPTY_MATCH:case j.Op.BEGIN_LINE:case j.Op.END_LINE:case j.Op.BEGIN_TEXT:case j.Op.END_TEXT:case j.Op.WORD_BOUNDARY:case j.Op.NO_WORD_BOUNDARY:case j.Op.CHAR_CLASS:case j.Op.ANY_CHAR_NOT_NL:case j.Op.ANY_CHAR:return new M(M.Type.NONE);case j.Op.LITERAL:{if(t.runes.length===0||(t.flags&x.FOLD_CASE)!==0)return new M(M.Type.NONE);let e=new M(M.Type.EXACT),n=``;for(let e=0;e<t.runes.length;e++)n+=String.fromCodePoint(t.runes[e]);return e.str=n,e.bytes=D.stringToUtf8ByteArray(e.str),e}case j.Op.CAPTURE:case j.Op.PLUS:return e.fromRegexp(t.subs[0]);case j.Op.REPEAT:return t.min>=1?e.fromRegexp(t.subs[0]):new M(M.Type.NONE);case j.Op.CONCAT:{let n=new M(M.Type.AND);for(let r of t.subs)n.subs.push(e.fromRegexp(r));return n}case j.Op.ALTERNATE:{let n=new M(M.Type.OR);for(let r of t.subs)n.subs.push(e.fromRegexp(r));return n}default:return new M(M.Type.NONE)}}static simplify(t){if(t.type===M.Type.EXACT||t.type===M.Type.NONE)return t;if(t.type===M.Type.AND){let n=[];for(let r of t.subs){let t=e.simplify(r);if(t.type!==M.Type.NONE){if(t.type===M.Type.AND)for(let e=0;e<t.subs.length;e++)n.push(t.subs[e]);else n.push(t)}}return n.length===0?new M(M.Type.NONE):n.length===1?n[0]:(t.subs=n,t)}if(t.type===M.Type.OR){let n=[];for(let r of t.subs){let t=e.simplify(r);if(t.type===M.Type.NONE)return new M(M.Type.NONE);if(t.type===M.Type.OR)for(let e=0;e<t.subs.length;e++)n.push(t.subs[e]);else n.push(t)}if(n.length===0)return new M(M.Type.NONE);if(n.length===1)return n[0];let r=new Set,i=[];for(let e of n)e.type===M.Type.EXACT?r.has(e.str)||(r.add(e.str),i.push(e)):i.push(e);t.subs=i;let a=!0;for(let e of i)if(e.type!==M.Type.EXACT){a=!1;break}return a&&i.length>1&&(t.ac16=new Er(i.map(e=>{let t=[];for(let n=0;n<e.str.length;n++)t.push(e.str.charCodeAt(n));return t})),t.ac8=new Er(i.map(e=>e.bytes))),t}return t}},Or=class{constructor(e=0,t=0){this.head=e,this.tail=t}},kr=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 A(e))}skipNop(e){let t=this.inst[e];for(;t.op===A.NOP||t.op===A.CAPTURE;)t=this.inst[e],e=t.out;return t}prefix(){let e=``,t=this.skipNop(this.start);if(!A.isRuneOp(t.op)||t.runes.length!==1)return[t.op===A.MATCH,e];for(;A.isRuneOp(t.op)&&t.runes.length===1&&(t.arg&x.FOLD_CASE)===0;)e+=String.fromCodePoint(t.runes[0]),t=this.skipNop(t.out);return[t.op===A.MATCH,e]}startCond(){let e=0,t=this.start;loop:for(;;){let n=this.inst[t];switch(n.op){case A.EMPTY_WIDTH:e|=n.arg;break;case A.FAIL:return-1;case A.CAPTURE:case A.NOP:break;default:break loop}t=n.out}return e}patch(e,t){let n=e.head;for(;n!==0;){let e=this.inst[n>>1];n&1?(n=e.arg,e.arg=t):(n=e.out,e.out=t)}}append(e,t){if(e.head===0)return t;if(t.head===0)return e;let n=this.inst[e.tail>>1];return e.tail&1?n.arg=t.head:n.out=t.head,new Or(e.head,t.tail)}toString(){let e=``;for(let t=0;t<this.inst.length;t++){let n=e.length;e+=t,t===this.start&&(e+=`*`),e+=` `.substring(e.length-n),e+=this.inst[t],e+=`
|
|
12
|
+
`}return e}},Ar=class{constructor(e=0,t=new Or,n=!1){this.i=e,this.out=t,this.nullable=n}},jr=class e{static ANY_RUNE_NOT_NL(){return[0,C.CODES.get(`
|
|
13
|
+
`)-1,C.CODES.get(`
|
|
14
|
+
`)+1,E.MAX_RUNE]}static ANY_RUNE(){return[0,E.MAX_RUNE]}static compileRegexp(t){let n=new e,r=n.compile(t);return n.prog.patch(r.out,n.newInst(A.MATCH).i),n.prog.start=r.i,n.prog}static compileSet(t){let n=new e;if(t.length===0)return n.prog.start=n.newInst(A.FAIL).i,n.prog;let r=[];for(let e=0;e<t.length;e++){let i=n.compile(t[e]),a=n.newInst(A.MATCH);n.prog.getInst(a.i).arg=e,n.prog.patch(i.out,a.i),r.push(i.i)}let i=r[0];for(let e=1;e<r.length;e++){let t=n.newInst(A.ALT),a=n.prog.getInst(t.i);a.out=i,a.arg=r[e],i=t.i}return n.prog.start=i,n.prog}constructor(){this.prog=new kr,this.newInst(A.FAIL)}newInst(e){return this.prog.addInst(e),new Ar(this.prog.numInst()-1,new Or,!0)}nop(){let e=this.newInst(A.NOP);return e.out=new Or(e.i<<1,e.i<<1),e}fail(){return new Ar}cap(e){let t=this.newInst(A.CAPTURE);return t.out=new Or(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 e.i===0||t.i===0?this.fail():(this.prog.patch(e.out,t.i),new Ar(e.i,t.out,e.nullable&&t.nullable))}alt(e,t){if(e.i===0)return t;if(t.i===0)return e;let n=this.newInst(A.ALT),r=this.prog.getInst(n.i);return r.out=e.i,r.arg=t.i,n.out=this.prog.append(e.out,t.out),n.nullable=e.nullable||t.nullable,n}loop(e,t){let n=this.newInst(A.ALT),r=this.prog.getInst(n.i);return t?(r.arg=e.i,n.out=new Or(n.i<<1,n.i<<1)):(r.out=e.i,n.out=new Or(n.i<<1|1,n.i<<1|1)),this.prog.patch(e.out,n.i),n}quest(e,t){let n=this.newInst(A.ALT),r=this.prog.getInst(n.i);return t?(r.arg=e.i,n.out=new Or(n.i<<1,n.i<<1)):(r.out=e.i,n.out=new Or(n.i<<1|1,n.i<<1|1)),n.out=this.prog.append(n.out,e.out),n}star(e,t){return e.nullable?this.quest(this.plus(e,t),t):this.loop(e,t)}plus(e,t){return new Ar(e.i,this.loop(e,t).out,e.nullable)}empty(e){let t=this.newInst(A.EMPTY_WIDTH);return this.prog.getInst(t.i).arg=e,t.out=new Or(t.i<<1,t.i<<1),t}rune(e,t){let n=this.newInst(A.RUNE);n.nullable=!1;let r=this.prog.getInst(n.i);return r.runes=e,t&=x.FOLD_CASE,(e.length!==1||E.simpleFold(e[0])===e[0])&&(t&=~x.FOLD_CASE),r.arg=t,n.out=new Or(n.i<<1,n.i<<1),(t&x.FOLD_CASE)===0&&e.length===1||e.length===2&&e[0]===e[1]?r.op=A.RUNE1:e.length===2&&e[0]===0&&e[1]===E.MAX_RUNE?r.op=A.RUNE_ANY:e.length===4&&e[0]===0&&e[1]===C.CODES.get(`
|
|
15
|
+
`)-1&&e[2]===C.CODES.get(`
|
|
16
|
+
`)+1&&e[3]===E.MAX_RUNE&&(r.op=A.RUNE_ANY_NOT_NL),n}lookBehind(t,n){let r=this.newInst(A.LB_WRITE);this.prog.getInst(r.i).arg=n;let i=this.rune(e.ANY_RUNE(),0),a=this.star(i,!0),o=this.cat(a,t);this.prog.patch(o.out,r.i);let s=this.newInst(A.LB_CHECK);return this.prog.getInst(s.i).arg=n,this.prog.lbStarts.push(o.i),Math.abs(n)>this.prog.numLb&&(this.prog.numLb=Math.abs(n)),s.out=new Or(s.i<<1,s.i<<1),s}compile(t){switch(t.op){case j.Op.NO_MATCH:return this.fail();case j.Op.EMPTY_MATCH:return this.nop();case j.Op.LITERAL:if(t.runes.length===0)return this.nop();{let e=null;for(let n of t.runes){let r=this.rune([n],t.flags);e=e===null?r:this.cat(e,r)}return e}case j.Op.CHAR_CLASS:return this.rune(t.runes,t.flags);case j.Op.ANY_CHAR_NOT_NL:return this.rune(e.ANY_RUNE_NOT_NL(),0);case j.Op.ANY_CHAR:return this.rune(e.ANY_RUNE(),0);case j.Op.BEGIN_LINE:return this.empty(D.EMPTY_BEGIN_LINE);case j.Op.END_LINE:return this.empty(D.EMPTY_END_LINE);case j.Op.BEGIN_TEXT:return this.empty(D.EMPTY_BEGIN_TEXT);case j.Op.END_TEXT:return this.empty(D.EMPTY_END_TEXT);case j.Op.WORD_BOUNDARY:return this.empty(D.EMPTY_WORD_BOUNDARY);case j.Op.NO_WORD_BOUNDARY:return this.empty(D.EMPTY_NO_WORD_BOUNDARY);case j.Op.PLB:case j.Op.NLB:return this.lookBehind(this.compile(t.subs[0]),t.lb);case j.Op.CAPTURE:{let e=this.cap(t.cap<<1),n=this.compile(t.subs[0]),r=this.cap(t.cap<<1|1);return this.cat(this.cat(e,n),r)}case j.Op.STAR:return this.star(this.compile(t.subs[0]),(t.flags&x.NON_GREEDY)!==0);case j.Op.PLUS:return this.plus(this.compile(t.subs[0]),(t.flags&x.NON_GREEDY)!==0);case j.Op.QUEST:return this.quest(this.compile(t.subs[0]),(t.flags&x.NON_GREEDY)!==0);case j.Op.CONCAT:if(t.subs.length===0)return this.nop();{let e=null;for(let n of t.subs){let t=this.compile(n);e=e===null?t:this.cat(e,t)}return e}case j.Op.ALTERNATE:if(t.subs.length===0)return this.nop();{let e=null;for(let n of t.subs){let t=this.compile(n);e=e===null?t:this.alt(e,t)}return e}default:throw new tr(`regexp: unhandled case in compile`)}}},Mr=class e{static simplify(t){if(t===null)return null;switch(t.op){case j.Op.PLB:case j.Op.NLB:case j.Op.CAPTURE:{let n=e.simplify(t.subs[0]);if(n!==t.subs[0]){let e=j.fromRegexp(t);return e.runes=[],e.subs=[n],e}return t}case j.Op.CONCAT:case j.Op.ALTERNATE:{let n=[],r=!1;for(let i=0;i<t.subs.length;i++){let a=t.subs[i],o=e.simplify(a);if(o!==a&&(r=!0),t.op===j.Op.CONCAT){if(o.op===j.Op.NO_MATCH)return new j(j.Op.NO_MATCH);if(o.op===j.Op.EMPTY_MATCH){r=!0;continue}if(o.op===j.Op.CONCAT){r=!0;for(let e=0;e<o.subs.length;e++)n.push(o.subs[e]);continue}}else if(t.op===j.Op.ALTERNATE){if(o.op===j.Op.NO_MATCH){r=!0;continue}if(o.op===j.Op.ALTERNATE){r=!0;for(let e=0;e<o.subs.length;e++)n.push(o.subs[e]);continue}}n.push(o)}if(r){if(n.length===0)return new j(t.op===j.Op.CONCAT?j.Op.EMPTY_MATCH:j.Op.NO_MATCH);if(n.length===1)return n[0];let e=j.fromRegexp(t);return e.runes=[],e.subs=n,e}return t}case j.Op.CHAR_CLASS:return t.runes===null?t:t.runes.length===0?new j(j.Op.NO_MATCH):t.runes.length===2&&t.runes[0]===0&&t.runes[1]===E.MAX_RUNE?new j(j.Op.ANY_CHAR):t.runes.length===4&&t.runes[0]===0&&t.runes[1]===C.CODES.get(`
|
|
17
|
+
`)-1&&t.runes[2]===C.CODES.get(`
|
|
18
|
+
`)+1&&t.runes[3]===E.MAX_RUNE?new j(j.Op.ANY_CHAR_NOT_NL):t;case j.Op.STAR:case j.Op.PLUS:case j.Op.QUEST:{let n=e.simplify(t.subs[0]);return e.simplify1(t.op,t.flags,n,t)}case j.Op.REPEAT:{if(t.min===0&&t.max===0)return new j(j.Op.EMPTY_MATCH);let n=e.simplify(t.subs[0]);if(t.max===-1){if(t.min===0)return e.simplify1(j.Op.STAR,t.flags,n,null);if(t.min===1)return e.simplify1(j.Op.PLUS,t.flags,n,null);let r=new j(j.Op.CONCAT),i=[];for(let e=0;e<t.min-1;e++)i.push(n);return i.push(e.simplify1(j.Op.PLUS,t.flags,n,null)),r.subs=i.slice(0),e.simplify(r)}if(t.min===1&&t.max===1)return n;let r=null;if(t.min>0){r=[];for(let e=0;e<t.min;e++)r.push(n)}if(t.max>t.min){let i=e.simplify1(j.Op.QUEST,t.flags,n,null);for(let r=t.min+1;r<t.max;r++){let r=new j(j.Op.CONCAT);r.subs=[n,i],i=e.simplify1(j.Op.QUEST,t.flags,r,null)}if(r===null)return i;r.push(i)}if(r!==null){let t=new j(j.Op.CONCAT);return t.subs=r.slice(0),e.simplify(t)}return new j(j.Op.NO_MATCH)}}return t}static simplify1(e,t,n,r){if(n.op===j.Op.EMPTY_MATCH)return n;if(n.op===j.Op.NO_MATCH)return e===j.Op.PLUS?n:new j(j.Op.EMPTY_MATCH);if(e===n.op&&(t&x.NON_GREEDY)===(n.flags&x.NON_GREEDY))return n;if(r!==null&&r.op===e&&(r.flags&x.NON_GREEDY)===(t&x.NON_GREEDY)&&n===r.subs[0])return r;let i=new j(e);return i.flags=t,i.subs=[n],i}},N=class{constructor(e,t){this.sign=e,this.cls=t}},Nr=[48,57],Pr=[9,10,12,13,32,32],Fr=[48,57,65,90,95,95,97,122],Ir=new Map([[`\\d`,new N(1,Nr)],[`\\D`,new N(-1,Nr)],[`\\s`,new N(1,Pr)],[`\\S`,new N(-1,Pr)],[`\\w`,new N(1,Fr)],[`\\W`,new N(-1,Fr)]]),Lr=[48,57,65,90,97,122],Rr=[65,90,97,122],zr=[0,127],Br=[9,9,32,32],Vr=[0,31,127,127],Hr=[48,57],Ur=[33,126],Wr=[97,122],Gr=[32,126],Kr=[33,47,58,64,91,96,123,126],qr=[9,13,32,32],Jr=[65,90],Yr=[48,57,65,90,95,95,97,122],Xr=[48,57,65,70,97,102],Zr=new Map([[`[:alnum:]`,new N(1,Lr)],[`[:^alnum:]`,new N(-1,Lr)],[`[:alpha:]`,new N(1,Rr)],[`[:^alpha:]`,new N(-1,Rr)],[`[:ascii:]`,new N(1,zr)],[`[:^ascii:]`,new N(-1,zr)],[`[:blank:]`,new N(1,Br)],[`[:^blank:]`,new N(-1,Br)],[`[:cntrl:]`,new N(1,Vr)],[`[:^cntrl:]`,new N(-1,Vr)],[`[:digit:]`,new N(1,Hr)],[`[:^digit:]`,new N(-1,Hr)],[`[:graph:]`,new N(1,Ur)],[`[:^graph:]`,new N(-1,Ur)],[`[:lower:]`,new N(1,Wr)],[`[:^lower:]`,new N(-1,Wr)],[`[:print:]`,new N(1,Gr)],[`[:^print:]`,new N(-1,Gr)],[`[:punct:]`,new N(1,Kr)],[`[:^punct:]`,new N(-1,Kr)],[`[:space:]`,new N(1,qr)],[`[:^space:]`,new N(-1,qr)],[`[:upper:]`,new N(1,Jr)],[`[:^upper:]`,new N(-1,Jr)],[`[:word:]`,new N(1,Yr)],[`[:^word:]`,new N(-1,Yr)],[`[:xdigit:]`,new N(1,Xr)],[`[:^xdigit:]`,new N(-1,Xr)]]),Qr=class e{static charClassToString(e,t){let n=`[`;for(let r=0;r<t;r+=2){r>0&&(n+=` `);let t=e[r],i=e[r+1];n+=t===i?`0x${t.toString(16)}`:`0x${t.toString(16)}-0x${i.toString(16)}`}return n+=`]`,n}static cmp(e,t,n,r){let i=e[t]-n;return i===0?r-e[t+1]:i}static qsortIntPair(t,n,r){let i=((n+r)/2|0)&-2,a=t[i],o=t[i+1],s=n,c=r;for(;s<=c;){for(;s<r&&e.cmp(t,s,a,o)<0;)s+=2;for(;c>n&&e.cmp(t,c,a,o)>0;)c-=2;if(s<=c){if(s!==c){let e=t[s];t[s]=t[c],t[c]=e,e=t[s+1],t[s+1]=t[c+1],t[c+1]=e}s+=2,c-=2}}n<c&&e.qsortIntPair(t,n,c),s<r&&e.qsortIntPair(t,s,r)}constructor(e=D.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 n=this.r[e],r=this.r[e+1];if(n<=this.r[t-1]+1){r>this.r[t-1]&&(this.r[t-1]=r);continue}this.r[t]=n,this.r[t+1]=r,t+=2}return this.len=t,this}appendLiteral(e,t){return(t&x.FOLD_CASE)===0?this.appendRange(e,e):this.appendFoldedRange(e,e)}appendRange(e,t){if(this.len>0){for(let n=2;n<=4;n+=2)if(this.len>=n){let r=this.r[this.len-n],i=this.r[this.len-n+1];if(e<=i+1&&r<=t+1)return e<r&&(this.r[this.len-n]=e),t>i&&(this.r[this.len-n+1]=t),this}}return this.r[this.len++]=e,this.r[this.len++]=t,this}appendFoldedRange(e,t){if(e<=E.MIN_FOLD&&t>=E.MAX_FOLD||t<E.MIN_FOLD||e>E.MAX_FOLD)return this.appendRange(e,t);e<E.MIN_FOLD&&(this.appendRange(e,E.MIN_FOLD-1),e=E.MIN_FOLD),t>E.MAX_FOLD&&(this.appendRange(E.MAX_FOLD+1,t),t=E.MAX_FOLD);for(let n=e;n<=t;n++){this.appendRange(n,n);for(let e=E.simpleFold(n);e!==n;e=E.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 n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];t<=r-1&&this.appendRange(t,r-1),t=i+1}return t<=E.MAX_RUNE&&this.appendRange(t,E.MAX_RUNE),this}appendTable(e){for(let t=0;t<e.length;++t){let n=e.getLo(t),r=e.getHi(t),i=e.getStride(t);if(i===1){this.appendRange(n,r);continue}for(let e=n;e<=r;e+=i)this.appendRange(e,e)}return this}appendNegatedTable(e){let t=0;for(let n=0;n<e.length;++n){let r=e.getLo(n),i=e.getHi(n),a=e.getStride(n);if(a===1){t<=r-1&&this.appendRange(t,r-1),t=i+1;continue}for(let e=r;e<=i;e+=a)t<=e-1&&this.appendRange(t,e-1),t=e+1}return t<=E.MAX_RUNE&&this.appendRange(t,E.MAX_RUNE),this}appendTableWithSign(e,t){return t<0?this.appendNegatedTable(e):this.appendTable(e)}negateClass(){let e=0,t=0;for(let n=0;n<this.len;n+=2){let r=this.r[n],i=this.r[n+1];e<=r-1&&(this.r[t]=e,this.r[t+1]=r-1,t+=2),e=i+1}return this.len=t,e<=E.MAX_RUNE&&(this.r[this.len++]=e,this.r[this.len++]=E.MAX_RUNE),this}appendClassWithSign(e,t){return t<0?this.appendNegatedClass(e):this.appendClass(e)}appendGroup(t,n){let r=t.cls;return n&&(r=new e().appendFoldedClass(r).cleanClass().toArray()),this.appendClassWithSign(r,t.sign)}toString(){return e.charClassToString(this.r,this.len)}},$r=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+=D.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()}},ei=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`;static ERR_INVALID_NAMED_CAPTURE=`invalid named capture`;static ERR_INVALID_PERL_OP=`invalid or unsupported Perl syntax`;static ERR_INVALID_REPEAT_OP=`invalid nested repetition operator`;static ERR_INVALID_REPEAT_SIZE=`invalid repeat count`;static ERR_MISSING_BRACKET=`missing closing ]`;static ERR_MISSING_PAREN=`missing closing )`;static ERR_MISSING_REPEAT_ARGUMENT=`missing argument to repetition operator`;static ERR_TRAILING_BACKSLASH=`trailing backslash at end of expression`;static ERR_DUPLICATE_NAMED_CAPTURE=`duplicate capture group name`;static ERR_UNEXPECTED_PAREN=`unexpected )`;static ERR_NESTING_DEPTH=`expression nests too deeply`;static ERR_LARGE=`expression too large`;static ERR_INVALID_CAPTURE_IN_LOOKBEHIND=`invalid capture in lookbehind`;static MAX_HEIGHT=1e3;static MAX_SIZE=3355443;static MAX_RUNES=33554432;static ANY_TABLE=new w(new Uint32Array([0,E.MAX_RUNE,1]));static ASCII_TABLE=new w(new Uint32Array([0,127,1]));static ASCII_FOLD_TABLE=new w(new Uint32Array([0,127,1,383,383,1,8490,8490,1]));static unicodeTable(t){return t===`Any`?{tab:e.ANY_TABLE,fold:e.ANY_TABLE,sign:1}:t===`Ascii`?{tab:e.ASCII_TABLE,fold:e.ASCII_FOLD_TABLE,sign:1}:t===`Assigned`?{tab:Vn.CATEGORIES.get(`Cn`),fold:Vn.CATEGORIES.get(`Cn`),sign:-1}:t===`Lc`?{tab:Vn.CATEGORIES.get(`LC`),fold:Vn.FOLD_CATEGORIES.get(`LC`),sign:1}:Vn.CATEGORIES.has(t)?{tab:Vn.CATEGORIES.get(t),fold:Vn.FOLD_CATEGORIES.get(t),sign:1}:Vn.SCRIPTS.has(t)?{tab:Vn.SCRIPTS.get(t),fold:Vn.FOLD_SCRIPT.get(t),sign:1}:null}static minFoldRune(e){if(e<E.MIN_FOLD||e>E.MAX_FOLD)return e;let t=e,n=e;for(e=E.simpleFold(e);e!==n;e=E.simpleFold(e))t>e&&(t=e);return t}static leadingRegexp(e){if(e.op===j.Op.EMPTY_MATCH)return null;if(e.op===j.Op.CONCAT&&e.subs.length>0){let t=e.subs[0];return t.op===j.Op.EMPTY_MATCH?null:t}return e}static literalRegexp(e,t){let n=new j(j.Op.LITERAL);return n.flags=t,n.runes=D.stringToRunes(e),n}static parse(t,n){return new e(t,n).parseInternal()}static parseRepeat(t){let n=t.pos();if(!t.more()||!t.lookingAt(`{`))return-1;t.skip(1);let r=e.parseInt(t);if(r===-1||!t.more())return-1;let i;if(!t.lookingAt(`,`))i=r;else{if(t.skip(1),!t.more())return-1;if(t.lookingAt(`}`))i=-1;else if((i=e.parseInt(t))===-1)return-1}if(!t.more()||!t.lookingAt(`}`))return-1;if(t.skip(1),r<0||r>1e3||i===-2||i>1e3||i>=0&&r>i)throw new k(e.ERR_INVALID_REPEAT_SIZE,t.from(n));return r<<16|i&E.MAX_BMP}static isValidCaptureName(e){if(e.length===0)return!1;for(let t=0;t<e.length;t++){let n=e.codePointAt(t);if(n!==C.CODES.get(`_`)&&!D.isalnum(n))return!1}return!0}static parseInt(e){let t=e.pos();for(;e.more()&&e.peek()>=C.CODES.get(`0`)&&e.peek()<=C.CODES.get(`9`);)e.skip(1);let n=e.from(t);return n.length===0||n.length>1&&n.codePointAt(0)===C.CODES.get(`0`)?-1:n.length>8?-2:parseInt(n,10)}static isCharClass(e){return e.op===j.Op.LITERAL&&e.runes.length===1||e.op===j.Op.CHAR_CLASS||e.op===j.Op.ANY_CHAR_NOT_NL||e.op===j.Op.ANY_CHAR}static matchRune(e,t){switch(e.op){case j.Op.LITERAL:return e.runes.length===1&&e.runes[0]===t;case j.Op.CHAR_CLASS:for(let n=0;n<e.runes.length;n+=2)if(e.runes[n]<=t&&t<=e.runes[n+1])return!0;return!1;case j.Op.ANY_CHAR_NOT_NL:return t!==C.CODES.get(`
|
|
19
|
+
`);case j.Op.ANY_CHAR:return!0}return!1}static mergeCharClass(t,n){switch(t.op){case j.Op.ANY_CHAR:break;case j.Op.ANY_CHAR_NOT_NL:e.matchRune(n,C.CODES.get(`
|
|
20
|
+
`))&&(t.op=j.Op.ANY_CHAR);break;case j.Op.CHAR_CLASS:t.runes=n.op===j.Op.LITERAL?new Qr(t.runes).appendLiteral(n.runes[0],n.flags).toArray():new Qr(t.runes).appendClass(n.runes).toArray();break;case j.Op.LITERAL:if(n.runes[0]===t.runes[0]&&n.flags===t.flags)break;t.op=j.Op.CHAR_CLASS,t.runes=new Qr().appendLiteral(t.runes[0],t.flags).appendLiteral(n.runes[0],n.flags).toArray()}}static parseEscape(t){let n=t.pos();if(t.skip(1),!t.more())throw new k(e.ERR_TRAILING_BACKSLASH);let r=t.pop();bigswitch:switch(r){case C.CODES.get(`1`):case C.CODES.get(`2`):case C.CODES.get(`3`):case C.CODES.get(`4`):case C.CODES.get(`5`):case C.CODES.get(`6`):case C.CODES.get(`7`):if(!t.more()||t.peek()<C.CODES.get(`0`)||t.peek()>C.CODES.get(`7`))break;case C.CODES.get(`0`):{let e=r-C.CODES.get(`0`);for(let n=1;n<3&&!(!t.more()||t.peek()<C.CODES.get(`0`)||t.peek()>C.CODES.get(`7`));n++)e=e*8+t.peek()-C.CODES.get(`0`),t.skip(1);return e}case C.CODES.get(`x`):{if(!t.more())break;if(r=t.pop(),r===C.CODES.get(`{`)){let e=0,n=0;for(;;){if(!t.more())break bigswitch;if(r=t.pop(),r===C.CODES.get(`}`))break;let i=D.unhex(r);if(i<0||(n=n*16+i,n>E.MAX_RUNE))break bigswitch;e++}if(e===0)break bigswitch;return n}let e=D.unhex(r);if(!t.more())break;r=t.pop();let n=D.unhex(r);if(e<0||n<0)break;return e*16+n}case C.CODES.get(`a`):return C.CODES.get(`\x07`);case C.CODES.get(`f`):return C.CODES.get(`\f`);case C.CODES.get(`n`):return C.CODES.get(`
|
|
21
|
+
`);case C.CODES.get(`r`):return C.CODES.get(`\r`);case C.CODES.get(`t`):return C.CODES.get(` `);case C.CODES.get(`v`):return C.CODES.get(`\v`);default:if(r<=E.MAX_ASCII&&!D.isalnum(r))return r;break}throw new k(e.ERR_INVALID_ESCAPE,t.from(n))}static parseClassChar(t,n){if(!t.more())throw new k(e.ERR_MISSING_BRACKET,t.from(n));return t.lookingAt(`\\`)?e.parseEscape(t):t.pop()}static concatRunes(e,t){for(let n=0;n<t.length;n++)e.push(t[n]);return e}static hasCapture(t){if(t===null)return!1;if(t.op===j.Op.CAPTURE)return!0;if(t.subs){for(let n of t.subs)if(e.hasCapture(n))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 t!==null&&t.subs!==null&&t.subs.length>0?(this.free=t.subs[0],t.reinit(),t.op=e):(t=new j(e),this.numRegexp+=1),t}reuse(e){this.height!==null&&this.height.has(e)&&this.height.delete(e),e.subs!==null&&e.subs.length>0&&(e.subs[0]=this.free),this.free=e}checkLimits(t){if(this.numRunes>e.MAX_RUNES)throw new k(e.ERR_LARGE);this.checkSize(t),this.checkHeight(t)}checkSize(t){if(this.size===null){if(this.repeats===0&&(this.repeats=1),t.op===j.Op.REPEAT){let n=t.max;n===-1&&(n=t.min),n<=0&&(n=1),n>Math.floor(e.MAX_SIZE/this.repeats)?this.repeats=e.MAX_SIZE:this.repeats*=n}if(this.numRegexp<Math.floor(e.MAX_SIZE/this.repeats))return;this.size=new Map;for(let e of this.stack)this.checkSize(e)}if(this.calcSize(t,!0)>e.MAX_SIZE)throw new k(e.ERR_LARGE)}calcSize(e,t=!1){if(!t&&this.size!==null&&this.size.has(e))return this.size.get(e);let n=0;switch(e.op){case j.Op.LITERAL:n=e.runes.length;break;case j.Op.PLB:case j.Op.NLB:case j.Op.CAPTURE:case j.Op.STAR:n=2+this.calcSize(e.subs[0]);break;case j.Op.PLUS:case j.Op.QUEST:n=1+this.calcSize(e.subs[0]);break;case j.Op.CONCAT:for(let t of e.subs)n+=this.calcSize(t);break;case j.Op.ALTERNATE:for(let t of e.subs)n+=this.calcSize(t);e.subs.length>1&&(n=n+e.subs.length-1);break;case j.Op.REPEAT:{let t=this.calcSize(e.subs[0]);if(e.max===-1){n=e.min===0?2+t:1+e.min*t;break}n=e.max*t+(e.max-e.min);break}}return n=Math.max(1,n),this.size===null&&(this.size=new Map),this.size.set(e,n),n}checkHeight(t){if(!(this.numRegexp<e.MAX_HEIGHT)){if(this.height===null){this.height=new Map;for(let e of this.stack)this.checkHeight(e)}if(this.calcHeight(t,!0)>e.MAX_HEIGHT)throw new k(e.ERR_NESTING_DEPTH)}}calcHeight(e,t=!1){if(!t&&this.height!==null&&this.height.has(e))return this.height.get(e);let n=1;for(let t of e.subs){let e=this.calcHeight(t);n<1+e&&(n=1+e)}return this.height===null&&(this.height=new Map),this.height.set(e,n),n}pop(){return this.stack.pop()}popToPseudo(){let e=this.stack.length,t=e;for(;t>0&&!j.isPseudoOp(this.stack[t-1].op);)t--;let n=this.stack.slice(t,e);return this.stack=this.stack.slice(0,t),n}push(e){if(this.numRunes+=e.runes.length,e.op===j.Op.CHAR_CLASS&&e.runes.length===2&&e.runes[0]===e.runes[1]){if(this.maybeConcat(e.runes[0],this.flags&~x.FOLD_CASE))return null;e.op=j.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags&~x.FOLD_CASE}else if(e.op===j.Op.CHAR_CLASS&&e.runes.length===4&&e.runes[0]===e.runes[1]&&e.runes[2]===e.runes[3]&&E.simpleFold(e.runes[0])===e.runes[2]&&E.simpleFold(e.runes[2])===e.runes[0]||e.op===j.Op.CHAR_CLASS&&e.runes.length===2&&e.runes[0]+1===e.runes[1]&&E.simpleFold(e.runes[0])===e.runes[1]&&E.simpleFold(e.runes[1])===e.runes[0]){if(this.maybeConcat(e.runes[0],this.flags|x.FOLD_CASE))return null;e.op=j.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags|x.FOLD_CASE}else this.maybeConcat(-1,0);return this.stack.push(e),this.checkLimits(e),e}maybeConcat(t,n){let r=this.stack.length;if(r<2)return!1;let i=this.stack[r-1],a=this.stack[r-2];return i.op!==j.Op.LITERAL||a.op!==j.Op.LITERAL||(i.flags&x.FOLD_CASE)!==(a.flags&x.FOLD_CASE)?!1:(a.runes=e.concatRunes(a.runes,i.runes),t>=0?(i.runes=[t],i.flags=n,!0):(this.pop(),this.reuse(i),!1))}newLiteral(t,n){let r=this.newRegexp(j.Op.LITERAL);return r.flags=n,(n&x.FOLD_CASE)!==0&&(t=e.minFoldRune(t)),r.runes=[t],r}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,n,r,i,a,o){let s=this.flags;if((s&x.PERL_X)!==0&&(a.more()&&a.lookingAt(`?`)&&(a.skip(1),s^=x.NON_GREEDY),o!==-1))throw new k(e.ERR_INVALID_REPEAT_OP,a.from(o));let c=this.stack.length;if(c===0)throw new k(e.ERR_MISSING_REPEAT_ARGUMENT,a.from(i));let l=this.stack[c-1];if(j.isPseudoOp(l.op))throw new k(e.ERR_MISSING_REPEAT_ARGUMENT,a.from(i));let u=this.newRegexp(t);if(u.min=n,u.max=r,u.flags=s,u.subs=[l],this.stack[c-1]=u,this.checkLimits(u),t===j.Op.REPEAT&&(n>=2||r>=2)&&!this.repeatIsValid(u,1e3))throw new k(e.ERR_INVALID_REPEAT_SIZE,a.from(i))}repeatIsValid(e,t){if(e.op===j.Op.REPEAT){let n=e.max;if(n===0)return!0;if(n<0&&(n=e.min),n>t)return!1;n>0&&(t=Math.trunc(t/n))}for(let n of e.subs)if(!this.repeatIsValid(n,t))return!1;return!0}concat(){this.maybeConcat(-1,0);let e=this.popToPseudo();return e.length===0?this.push(this.newRegexp(j.Op.EMPTY_MATCH)):this.push(this.collapse(e,j.Op.CONCAT))}alternate(){let e=this.popToPseudo();return e.length>0&&this.cleanAlt(e[e.length-1]),e.length===0?this.push(this.newRegexp(j.Op.NO_MATCH)):this.push(this.collapse(e,j.Op.ALTERNATE))}cleanAlt(e){e.op===j.Op.CHAR_CLASS&&(e.runes=new Qr(e.runes).cleanClass().toArray(),e.runes.length===2&&e.runes[0]===0&&e.runes[1]===E.MAX_RUNE?(e.runes=[],e.op=j.Op.ANY_CHAR):e.runes.length===4&&e.runes[0]===0&&e.runes[1]===C.CODES.get(`
|
|
22
|
+
`)-1&&e.runes[2]===C.CODES.get(`
|
|
23
|
+
`)+1&&e.runes[3]===E.MAX_RUNE&&(e.runes=[],e.op=j.Op.ANY_CHAR_NOT_NL))}collapse(e,t){if(e.length===1)return e[0];let n=0;for(let r of e)n+=r.op===t?r.subs.length:1;let r=Array(n).fill(null),i=0;for(let n of e)if(n.op===t){for(let e=0;e<n.subs.length;e++)r[i++]=n.subs[e];this.reuse(n)}else r[i++]=n;let a=this.newRegexp(t);if(a.subs=r,t===j.Op.ALTERNATE&&(a.subs=this.factor(a.subs),a.subs.length===1)){let e=a;a=a.subs[0],this.reuse(e)}return a}factor(t){if(t.length<2)return t;let n=0,r=t.length,i=0,a=null,o=0,s=0,c=0;for(let e=0;e<=r;e++){let l=null,u=0,d=0;if(e<r){let r=t[n+e];if(r.op===j.Op.CONCAT&&r.subs.length>0&&(r=r.subs[0]),r.op===j.Op.LITERAL&&(l=r.runes,u=r.runes.length,d=r.flags&x.FOLD_CASE),d===s){let e=0;for(;e<o&&e<u&&a[e]===l[e];)e++;if(e>0){o=e;continue}}}if(e!==c){if(e===c+1)t[i++]=t[n+c];else{let r=this.newRegexp(j.Op.LITERAL);r.flags=s,r.runes=a.slice(0,o);for(let r=c;r<e;r++)t[n+r]=this.removeLeadingString(t[n+r],o),this.checkLimits(t[n+r]);let l=this.collapse(t.slice(n+c,n+e),j.Op.ALTERNATE),u=this.newRegexp(j.Op.CONCAT);u.subs=[r,l],t[i++]=u}}c=e,a=l,o=u,s=d}r=i,n=0,c=0,i=0;let l=null;for(let a=0;a<=r;a++){let o=null;if(!(a<r&&(o=e.leadingRegexp(t[n+a]),l!==null&&l.equals(o)&&(e.isCharClass(l)||l.op===j.Op.REPEAT&&l.min===l.max&&e.isCharClass(l.subs[0]))))){if(a!==c){if(a===c+1)t[i++]=t[n+c];else{let e=l;for(let e=c;e<a;e++){let r=e!==c;t[n+e]=this.removeLeadingRegexp(t[n+e],r),this.checkLimits(t[n+e])}let r=this.collapse(t.slice(n+c,n+a),j.Op.ALTERNATE),o=this.newRegexp(j.Op.CONCAT);o.subs=[e,r],t[i++]=o}}c=a,l=o}}r=i,n=0,c=0,i=0;for(let a=0;a<=r;a++)if(!(a<r&&e.isCharClass(t[n+a]))){if(a!==c){if(a===c+1)t[i++]=t[n+c];else{let r=c;for(let e=c+1;e<a;e++){let i=t[n+r],a=t[n+e];(i.op<a.op||i.op===a.op&&(i.runes===null?0:i.runes.length)<(a.runes===null?0:a.runes.length))&&(r=e)}let o=t[n+c];t[n+c]=t[n+r],t[n+r]=o;for(let r=c+1;r<a;r++)e.mergeCharClass(t[n+c],t[n+r]),this.reuse(t[n+r]);this.cleanAlt(t[n+c]),t[i++]=t[n+c]}}a<r&&(t[i++]=t[n+a]),c=a+1}r=i,n=0,c=0,i=0;for(let e=0;e<r;++e)e+1<r&&t[n+e].op===j.Op.EMPTY_MATCH&&t[n+e+1].op===j.Op.EMPTY_MATCH||(t[i++]=t[n+e]);return r=i,n=0,t.slice(n,r)}removeLeadingString(e,t){if(e.op===j.Op.CONCAT&&e.subs.length>0){let n=this.removeLeadingString(e.subs[0],t);if(e.subs[0]=n,n.op===j.Op.EMPTY_MATCH)switch(this.reuse(n),e.subs.length){case 0:case 1:e.op=j.Op.EMPTY_MATCH,e.subs=j.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===j.Op.LITERAL&&(e.runes=e.runes.slice(t,e.runes.length),e.runes.length===0&&(e.op=j.Op.EMPTY_MATCH)),e}removeLeadingRegexp(e,t){if(e.op===j.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=j.Op.EMPTY_MATCH,e.subs=j.emptySubs();break;case 1:{let t=e;e=e.subs[0],this.reuse(t);break}}return e}return t&&this.reuse(e),this.newRegexp(j.Op.EMPTY_MATCH)}parseInternal(){if((this.flags&x.LITERAL)!==0)return e.literalRegexp(this.wholeRegexp,this.flags);let t=-1,n=-1,r=-1,i=new $r(this.wholeRegexp);for(;i.more();){let a=-1;bigswitch:switch(i.peek()){case C.CODES.get(`(`):if((this.flags&x.LOOKBEHIND)!==0){if(i.lookingAt(`(?<=`)){this.parsePosLookBehind(),i.skip(4);break}if(i.lookingAt(`(?<!`)){this.parseNegLookBehind(),i.skip(4);break}}if((this.flags&x.PERL_X)!==0&&i.lookingAt(`(?`)){this.parsePerlFlags(i);break}this.op(j.Op.LEFT_PAREN).cap=++this.numCap,i.skip(1);break;case C.CODES.get(`|`):this.parseVerticalBar(),i.skip(1);break;case C.CODES.get(`)`):this.parseRightParen(),i.skip(1);break;case C.CODES.get(`^`):(this.flags&x.ONE_LINE)===0?this.op(j.Op.BEGIN_LINE):this.op(j.Op.BEGIN_TEXT),i.skip(1);break;case C.CODES.get(`$`):(this.flags&x.ONE_LINE)===0?this.op(j.Op.END_LINE):this.op(j.Op.END_TEXT).flags|=x.WAS_DOLLAR,i.skip(1);break;case C.CODES.get(`.`):(this.flags&x.DOT_NL)===0?this.op(j.Op.ANY_CHAR_NOT_NL):this.op(j.Op.ANY_CHAR),i.skip(1);break;case C.CODES.get(`[`):this.parseClass(i);break;case C.CODES.get(`*`):case C.CODES.get(`+`):case C.CODES.get(`?`):{a=i.pos();let e=null;switch(i.pop()){case C.CODES.get(`*`):e=j.Op.STAR;break;case C.CODES.get(`+`):e=j.Op.PLUS;break;case C.CODES.get(`?`):e=j.Op.QUEST}this.repeat(e,n,r,a,i,t);break}case C.CODES.get(`{`):{a=i.pos();let o=e.parseRepeat(i);if(o<0){i.rewindTo(a),this.literal(i.pop());break}n=o>>16,r=(o&E.MAX_BMP)<<16>>16,this.repeat(j.Op.REPEAT,n,r,a,i,t);break}case C.CODES.get(`\\`):{let t=i.pos();if(i.skip(1),(this.flags&x.PERL_X)!==0&&i.more())switch(i.pop()){case C.CODES.get(`A`):this.op(j.Op.BEGIN_TEXT);break bigswitch;case C.CODES.get(`b`):this.op(j.Op.WORD_BOUNDARY);break bigswitch;case C.CODES.get(`B`):this.op(j.Op.NO_WORD_BOUNDARY);break bigswitch;case C.CODES.get(`C`):throw new k(e.ERR_INVALID_ESCAPE,`\\C`);case C.CODES.get(`Q`):{let e=i.rest(),t=e.indexOf(`\\E`);t>=0?(e=e.substring(0,t),i.skipString(e),i.skipString(`\\E`)):i.skipString(e);let n=0;for(;n<e.length;){let t=e.codePointAt(n);this.literal(t),n+=D.charCount(t)}break bigswitch}case C.CODES.get(`z`):this.op(j.Op.END_TEXT);break bigswitch;default:i.rewindTo(t);break}else i.rewindTo(t);let n=this.newRegexp(j.Op.CHAR_CLASS);if(n.flags=this.flags,i.lookingAt(`\\p`)||i.lookingAt(`\\P`)){let e=new Qr;if(this.parseUnicodeClass(i,e)){n.runes=e.toArray(),this.push(n);break bigswitch}}let r=new Qr;if(this.parsePerlClassEscape(i,r)){n.runes=r.toArray(),this.push(n);break bigswitch}i.rewindTo(t),this.reuse(n),this.literal(e.parseEscape(i));break}default:this.literal(i.pop());break}t=a}if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),this.stack.length!==1)throw new k(e.ERR_MISSING_PAREN,this.wholeRegexp);return this.stack[0].namedGroups=this.namedGroups,this.stack[0]}parsePerlFlags(t){let n=t.pos(),r=t.rest();if(r.startsWith(`(?P<`)||r.startsWith(`(?<`)){let n=r.charAt(2)===`P`?4:3,i=r.indexOf(`>`);if(i<0)throw new k(e.ERR_INVALID_NAMED_CAPTURE,r);let a=r.substring(n,i);if(t.skipString(a),t.skip(n+1),!e.isValidCaptureName(a))throw new k(e.ERR_INVALID_NAMED_CAPTURE,r.substring(0,i+1));let o=this.op(j.Op.LEFT_PAREN);if(o.cap=++this.numCap,this.namedGroups[a])throw new k(e.ERR_DUPLICATE_NAMED_CAPTURE,a);this.namedGroups[a]=this.numCap,o.name=a;return}t.skip(2);let i=this.flags,a=1,o=!1;loop:for(;t.more();){let e=t.pop();switch(e){case C.CODES.get(`i`):i|=x.FOLD_CASE,o=!0;break;case C.CODES.get(`m`):i&=~x.ONE_LINE,o=!0;break;case C.CODES.get(`s`):i|=x.DOT_NL,o=!0;break;case C.CODES.get(`U`):i|=x.NON_GREEDY,o=!0;break;case C.CODES.get(`-`):if(a<0)break loop;a=-1,i=~i,o=!1;break;case C.CODES.get(`:`):case C.CODES.get(`)`):if(a<0){if(!o)break loop;i=~i}e===C.CODES.get(`:`)&&this.op(j.Op.LEFT_PAREN),this.flags=i;return;default:break loop}}throw new k(e.ERR_INVALID_PERL_OP,t.from(n))}parsePosLookBehind(){let e=this.newRegexp(j.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=++this.nlb,this.push(e)}parseNegLookBehind(){let e=this.newRegexp(j.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=-++this.nlb,this.push(e)}parseVerticalBar(){this.concat(),this.swapVerticalBar()||this.op(j.Op.VERTICAL_BAR)}swapVerticalBar(){let t=this.stack.length;if(t>=3&&this.stack[t-2].op===j.Op.VERTICAL_BAR&&e.isCharClass(this.stack[t-1])&&e.isCharClass(this.stack[t-3])){let n=this.stack[t-1],r=this.stack[t-3];if(n.op>r.op){let e=r;r=n,n=e,this.stack[t-3]=r}return e.mergeCharClass(r,n),this.reuse(n),this.pop(),!0}if(t>=2){let e=this.stack[t-1],n=this.stack[t-2];if(n.op===j.Op.VERTICAL_BAR)return t>=3&&this.cleanAlt(this.stack[t-3]),this.stack[t-2]=e,this.stack[t-1]=n,!0}return!1}parseRightParen(){if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),this.stack.length<2)throw new k(e.ERR_UNEXPECTED_PAREN,this.wholeRegexp);let t=this.pop(),n=this.pop();if(n.op!==j.Op.LEFT_PAREN)throw new k(e.ERR_UNEXPECTED_PAREN,this.wholeRegexp);if(this.flags=n.flags,n.lb!==0){if(e.hasCapture(t))throw new k(e.ERR_INVALID_CAPTURE_IN_LOOKBEHIND,this.wholeRegexp);n.op=n.lb>0?j.Op.PLB:j.Op.NLB,n.subs=[t],this.push(n);return}n.cap===0?this.push(t):(n.op=j.Op.CAPTURE,n.subs=[t],this.push(n))}parsePerlClassEscape(e,t){let n=e.pos();if((this.flags&x.PERL_X)===0||!e.more()||e.pop()!==C.CODES.get(`\\`)||!e.more())return!1;e.pop();let r=e.from(n),i=Ir.has(r)?Ir.get(r):null;return i!==null&&(t.appendGroup(i,(this.flags&x.FOLD_CASE)!==0),!0)}parseNamedClass(t,n){let r=t.rest(),i=r.indexOf(`:]`);if(i<0)return!1;let a=r.substring(0,i+2);t.skipString(a);let o=Zr.has(a)?Zr.get(a):null;if(o===null)throw new k(e.ERR_INVALID_CHAR_RANGE,a);return n.appendGroup(o,(this.flags&x.FOLD_CASE)!==0),!0}parseUnicodeClass(t,n){let r=t.pos();if((this.flags&x.UNICODE_GROUPS)===0||!t.lookingAt(`\\p`)&&!t.lookingAt(`\\P`))return!1;t.skip(1);let i=1,a=t.pop();if(a===C.CODES.get(`P`)&&(i=-1),!t.more())throw t.rewindTo(r),new k(e.ERR_INVALID_CHAR_RANGE,t.rest());a=t.pop();let o;if(a!==C.CODES.get(`{`))o=D.runeToString(a);else{let n=t.rest(),i=n.indexOf(`}`);if(i<0)throw t.rewindTo(r),new k(e.ERR_INVALID_CHAR_RANGE,t.rest());o=n.substring(0,i),t.skipString(o),t.skip(1)}o.length!==0&&o.codePointAt(0)===C.CODES.get(`^`)&&(i=0-i,o=o.substring(1));let s=e.unicodeTable(o);if(s===null)throw new k(e.ERR_INVALID_CHAR_RANGE,t.from(r));s.sign<0&&(i=0-i);let c=s.tab,l=s.fold;if((this.flags&x.FOLD_CASE)===0||l===null)n.appendTableWithSign(c,i);else{let e=new Qr().appendTable(c).appendTable(l).cleanClass().toArray();n.appendClassWithSign(e,i)}return!0}parseClass(t){let n=t.pos();t.skip(1);let r=this.newRegexp(j.Op.CHAR_CLASS);r.flags=this.flags;let i=new Qr,a=1;t.more()&&t.lookingAt(`^`)&&(a=-1,t.skip(1),(this.flags&x.CLASS_NL)===0&&i.appendRange(C.CODES.get(`
|
|
24
|
+
`),C.CODES.get(`
|
|
25
|
+
`)));let o=!0;for(;!t.more()||t.peek()!==C.CODES.get(`]`)||o;){if(t.more()&&t.lookingAt(`-`)&&(this.flags&x.PERL_X)===0&&!o){let r=t.rest();if(r===`-`||!r.startsWith(`-]`))throw t.rewindTo(n),new k(e.ERR_INVALID_CHAR_RANGE,t.rest())}o=!1;let r=t.pos();if(t.lookingAt(`[:`)){if(this.parseNamedClass(t,i))continue;t.rewindTo(r)}if(this.parseUnicodeClass(t,i)||this.parsePerlClassEscape(t,i))continue;t.rewindTo(r);let a=e.parseClassChar(t,n),s=a;if(t.more()&&t.lookingAt(`-`)){if(t.skip(1),t.more()&&t.lookingAt(`]`))t.skip(-1);else if(s=e.parseClassChar(t,n),s<a)throw new k(e.ERR_INVALID_CHAR_RANGE,t.from(r))}(this.flags&x.FOLD_CASE)===0?i.appendRange(a,s):i.appendFoldedRange(a,s)}t.skip(1),i.cleanClass(),a<0&&i.negateClass(),r.runes=i.toArray(),this.push(r)}},ti=class e{static initTest(t){let n=e.compile(t),r=new e(n.expr,n.prog,n.numSubexp,n.longest);return r.cond=n.cond,r.prefix=n.prefix,r.prefixUTF8=n.prefixUTF8,r.prefixComplete=n.prefixComplete,r.prefixRune=n.prefixRune,r.prefilter=n.prefilter,r}static compile(t){return e.compileImpl(t,x.PERL,!1)}static compilePOSIX(t){return e.compileImpl(t,x.POSIX,!0)}static compileImpl(t,n,r){let i=ei.parse(t,n),a=i.maxCap();i=Mr.simplify(i);let o=Dr.build(i),s=jr.compileRegexp(i),c=new e(t,s,a,r);c.prefilter=o.type===M.Type.NONE?null:o;let[l,u]=s.prefix();return c.prefixComplete=l,c.prefix=u,c.prefixUTF8=D.stringToUtf8ByteArray(c.prefix),c.prefix.length>0&&(c.prefixRune=c.prefix.codePointAt(0)),c.namedGroups=i.namedGroups,c}static match(t,n){return e.compile(t).match(n)}constructor(e,t,n=0,r=0){this.expr=e,this.prog=t,this.numSubexp=n,this.longest=r,this.cond=t.startCond(),this.prefix=null,this.prefixUTF8=null,this.prefixComplete=!1,this.prefixRune=0,this.machinePool=[],this.dfa=new dr(this.prog),this.onepass=Tr.compile(this.prog),this.prefilter=null}matchPrefixComplete(e,t,n,r){if((n===x.ANCHOR_START||n===x.ANCHOR_BOTH)&&t!==0)return null;let i=-1,a=-1,o=e.prefixLength(this);if(n===x.UNANCHORED){let n=e.index(this,t);if(n<0)return null;i=t+n,a=i+o}else if(n===x.ANCHOR_BOTH){if(e.endPos()!==o||e.index(this,0)!==0)return null;i=0,a=o}else if(n===x.ANCHOR_START){if(e.index(this,0)!==0)return null;i=0,a=o}if(i<0)return null;if(r>0){let e=new Int32Array(r).fill(-1);return e[0]=i,e[1]=a,Array.from(e)}return[]}executeEngine(e,t,n,r){if(this.prefixComplete&&(r===0||this.numSubexp===0))return this.matchPrefixComplete(e,t,n,r);if(this.prefilter!==null&&n===x.UNANCHORED&&!this.prefilter.eval(e,t))return null;if(this.onepass!==null)return Tr.execute(this,e,t,n,r);if(r>0)return this.prog.numLb===0&&e.endPos()<=vr.maxBitStateLen(this.prog)?vr.execute(this,e,t,n,r):this.doExecuteNFA(e,t,n,r);if(this.prog.numLb===0){let i=this.dfa.match(e,t,n);if(i!==null)return i?[]:null;if(e.endPos()<=vr.maxBitStateLen(this.prog))return vr.execute(this,e,t,n,r)}return this.doExecuteNFA(e,t,n,r)}numberOfCapturingGroups(){return this.numSubexp}numberOfInstructions(){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,n,r){let i=this.get();i||=sr.fromRE2(this),i.init(r);let a=i.match(e,t,n)?i.submatches():null;return this.put(i),a}match(e){return this.executeEngine(O.fromUTF16(e),0,x.UNANCHORED,0)!==null}matchWithGroup(e,t,n,r,i){return e instanceof qn||(e=D.isByteArray(e)?Xn.utf8(e):Xn.utf16(e)),this.matchMachineInput(e,t,n,r,i)}matchMachineInput(e,t,n,r,i){if(t>n)return[!1,null];let a=e.isUTF16Encoding()?O.fromUTF16(e.asCharSequence(),0,n):O.fromUTF8(e.asBytes(),0,n),o=this.executeEngine(a,t,r,2*i);return o===null?[!1,null]:[!0,o]}matchUTF8(e){return this.executeEngine(O.fromUTF8(e),0,x.UNANCHORED,0)!==null}replaceAll(e,t){return this.replaceAllFunc(e,()=>t,2*e.length+1)}replaceFirst(e,t){return this.replaceAllFunc(e,()=>t,1)}replaceAllFunc(e,t,n){let r=0,i=0,a=``,o=O.fromUTF16(e),s=0;for(;i<=e.length;){let c=this.executeEngine(o,i,x.UNANCHORED,2);if(c===null||c.length===0)break;a+=e.substring(r,c[0]),(c[1]>r||c[0]===0)&&(a+=t(e.substring(c[0],c[1])),s++),r=c[1];let l=o.step(i)&7;if(i+l>c[1]?i+=l:i+1>c[1]?i++:i=c[1],s>=n)break}return a+=e.substring(r),a}pad(e){if(e===null)return null;let t=(1+this.numSubexp)*2;if(e.length<t){let n=Array(t).fill(-1);for(let t=0;t<e.length;t++)n[t]=e[t];e=n}return e}allMatches(e,t,n=e=>e){let r=[],i=e.endPos();t<0&&(t=i+1);let a=0,o=0,s=-1;for(;o<t&&a<=i;){let t=this.executeEngine(e,a,x.UNANCHORED,this.prog.numCap);if(t===null||t.length===0)break;let c=!0;if(t[1]===a){t[0]===s&&(c=!1);let n=e.step(a);n<0?a=i+1:a+=n&7}else a=t[1];s=t[1],c&&(r.push(n(this.pad(t))),o++)}return r}findUTF8(e){let t=this.executeEngine(O.fromUTF8(e),0,x.UNANCHORED,2);return t===null?null:e.slice(t[0],t[1])}findUTF8Index(e){let t=this.executeEngine(O.fromUTF8(e),0,x.UNANCHORED,2);return t===null?null:t.slice(0,2)}find(e){let t=this.executeEngine(O.fromUTF16(e),0,x.UNANCHORED,2);return t===null?``:e.substring(t[0],t[1])}findIndex(e){return this.executeEngine(O.fromUTF16(e),0,x.UNANCHORED,2)}findUTF8Submatch(e){let t=this.executeEngine(O.fromUTF8(e),0,x.UNANCHORED,this.prog.numCap);if(t===null)return null;let n=Array(1+this.numSubexp).fill(null);for(let r=0;r<n.length;r++)2*r<t.length&&t[2*r]>=0&&(n[r]=e.slice(t[2*r],t[2*r+1]));return n}findUTF8SubmatchIndex(e){return this.pad(this.executeEngine(O.fromUTF8(e),0,x.UNANCHORED,this.prog.numCap))}findSubmatch(e){let t=this.executeEngine(O.fromUTF16(e),0,x.UNANCHORED,this.prog.numCap);if(t===null)return null;let n=Array(1+this.numSubexp).fill(null);for(let r=0;r<n.length;r++)2*r<t.length&&t[2*r]>=0&&(n[r]=e.substring(t[2*r],t[2*r+1]));return n}findSubmatchIndex(e){return this.pad(this.executeEngine(O.fromUTF16(e),0,x.UNANCHORED,this.prog.numCap))}findAllUTF8(e,t){let n=this.allMatches(O.fromUTF8(e),t,t=>e.slice(t[0],t[1]));return n.length===0?null:n}findAllUTF8Index(e,t){let n=this.allMatches(O.fromUTF8(e),t,e=>e.slice(0,2));return n.length===0?null:n}findAll(e,t){let n=this.allMatches(O.fromUTF16(e),t,t=>e.substring(t[0],t[1]));return n.length===0?null:n}findAllIndex(e,t){let n=this.allMatches(O.fromUTF16(e),t,e=>e.slice(0,2));return n.length===0?null:n}findAllUTF8Submatch(e,t){let n=this.allMatches(O.fromUTF8(e),t,t=>{let n=Array(t.length/2|0).fill(null);for(let r=0;r<n.length;r++)t[2*r]>=0&&(n[r]=e.slice(t[2*r],t[2*r+1]));return n});return n.length===0?null:n}findAllUTF8SubmatchIndex(e,t){let n=this.allMatches(O.fromUTF8(e),t);return n.length===0?null:n}findAllSubmatch(e,t){let n=this.allMatches(O.fromUTF16(e),t,t=>{let n=Array(t.length/2|0).fill(null);for(let r=0;r<n.length;r++)t[2*r]>=0&&(n[r]=e.substring(t[2*r],t[2*r+1]));return n});return n.length===0?null:n}findAllSubmatchIndex(e,t){let n=this.allMatches(O.fromUTF16(e),t);return n.length===0?null:n}};(class e{static UNANCHORED=x.UNANCHORED;static ANCHOR_START=x.ANCHOR_START;static ANCHOR_BOTH=x.ANCHOR_BOTH;constructor(t=e.UNANCHORED,n=0,r=8388608){this.anchor=t,this.jsFlags=n,this.maxMem=r;let i=x.PERL;(n&Nn.DISABLE_UNICODE_GROUPS)!==0&&(i&=~x.UNICODE_GROUPS),(n&Nn.LOOKBEHINDS)!==0&&(i|=x.LOOKBEHIND),this.re2Flags=i,this.regexps=[],this.prog=null,this.dfa=null,this.dummyRe2=null}add(e){if(this.prog)throw new tr(`Cannot add patterns after compile`);let t=e;(this.jsFlags&Nn.CASE_INSENSITIVE)!==0&&(t=`(?i)${t}`),(this.jsFlags&Nn.DOTALL)!==0&&(t=`(?s)${t}`),(this.jsFlags&Nn.MULTILINE)!==0&&(t=`(?m)${t}`);let n=ei.parse(t,this.re2Flags);return this.regexps.push(Mr.simplify(n)),this.regexps.length-1}compile(){this.prog||(this.prog=jr.compileSet(this.regexps),this.dfa=new dr(this.prog,this.maxMem),this.dummyRe2={prog:this.prog,cond:this.prog.startCond(),prefix:``,prefixRune:0,longest:!1})}match(t){this.prog||this.compile();let n=D.isByteArray(t)?O.fromUTF8(t):O.fromUTF16(t),r=x.UNANCHORED;this.anchor===e.ANCHOR_START?r=x.ANCHOR_START:this.anchor===e.ANCHOR_BOTH&&(r=x.ANCHOR_BOTH);let i=this.dfa.matchSet(n,0,r);if(i!==null)return i;let a=sr.fromRE2(this.dummyRe2);return a.init(0),a.matchSet(n,0,r)}});var ni=class e{static isHexadecimal(e){return`0`<=e&&e<=`9`||`A`<=e&&e<=`F`||`a`<=e&&e<=`f`}static translate(t){let n=``;if(t instanceof RegExp&&(t.ignoreCase&&(n+=`i`),t.multiline&&(n+=`m`),t.dotAll&&(n+=`s`),t=t.source),typeof t!=`string`)return t;let r=``,i=!1,a=t.length;a===0&&(r=`(?:)`,i=!0);let o=!1,s=0;for(;s<a;){let n=t[s];if(n===`\\`){if(s+1<a)switch(n=t[s+1],n){case`\\`:r+=`\\\\`,s+=2;continue;case`c`:if(s+2<a){let e=t[s+2].charCodeAt(0);if(e>=65&&e<=90||e>=97&&e<=122){let t=e%32;r+=`\\x`,r+=(t>>4).toString(16).toUpperCase(),r+=(t&15).toString(16).toUpperCase(),s+=3,i=!0;continue}}r+=`c`,s+=2,i=!0;continue;case`u`:if(s+2<a){if(t[s+2]===`{`){let n=s+3,o=!1,c=!1;for(;n<a;){let r=t[n];if(r===`}`){c=!0;break}if(!e.isHexadecimal(r))break;o=!0,n++}if(c&&o){r+=`\\x`,s+=2,i=!0;continue}}else if(s+5<a){let n=!0;for(let r=0;r<4;r++)if(!e.isHexadecimal(t[s+2+r])){n=!1;break}if(n){r+=`\\x{`+t.substring(s+2,s+6)+`}`,s+=6,i=!0;continue}}}r+=`u`,s+=2,i=!0;continue;case`x`:{let n=!1;if(s+2<a&&t[s+2]===`{`){let r=s+3,i=!1,o=!1;for(;r<a;){let n=t[r];if(n===`}`){o=!0;break}if(!e.isHexadecimal(n))break;i=!0,r++}o&&i&&(n=!0)}else s+3<a&&e.isHexadecimal(t[s+2])&&e.isHexadecimal(t[s+3])&&(n=!0);n?(r+=`\\x`,s+=2):(r+=`x`,s+=2,i=!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`:r+=`\\`+n,s+=2;continue;default:{let e=t.codePointAt(s+1);if(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122){let n=D.charCount(e);r+=t.substring(s+1,s+1+n),s+=n+1,i=!0}else{r+=`\\`;let n=D.charCount(e);r+=t.substring(s+1,s+1+n),s+=n+1}continue}}}else if(n===`/`){r+=`\\/`,s+=1,i=!0;continue}else if(n===`[`)o=!0;else if(n===`]`)o=!1;else if(!o&&n===`(`&&s+2<a&&t[s+1]===`?`&&t[s+2]===`<`&&s+3<a&&!`=!>)`.includes(t[s+3])){r+=`(?P<`,s+=3,i=!0;continue}let c=t.codePointAt(s),l=D.charCount(c);r+=t.substring(s,s+l),s+=l}let c=i?r:t;return n.length>0?`(?${n})${c}`:c}},ri=class e{static CASE_INSENSITIVE=Nn.CASE_INSENSITIVE;static DOTALL=Nn.DOTALL;static MULTILINE=Nn.MULTILINE;static DISABLE_UNICODE_GROUPS=Nn.DISABLE_UNICODE_GROUPS;static LONGEST_MATCH=Nn.LONGEST_MATCH;static LOOKBEHINDS=Nn.LOOKBEHINDS;static quote(e){return D.quoteMeta(e)}static quoteReplacement(e,t=!1){return ar.quoteReplacement(e,t)}static translateRegExp(e){return ni.translate(e)}static compile(t,n=0){let r=t;if((n&e.CASE_INSENSITIVE)!==0&&(r=`(?i)${r}`),(n&e.DOTALL)!==0&&(r=`(?s)${r}`),(n&e.MULTILINE)!==0&&(r=`(?m)${r}`),(n&~(e.MULTILINE|e.DOTALL|e.CASE_INSENSITIVE|e.DISABLE_UNICODE_GROUPS|e.LONGEST_MATCH|e.LOOKBEHINDS))!==0)throw new rr(`Flags should only be a combination of MULTILINE, DOTALL, CASE_INSENSITIVE, DISABLE_UNICODE_GROUPS, LONGEST_MATCH, LOOKBEHINDS`);let i=x.PERL;(n&e.DISABLE_UNICODE_GROUPS)!==0&&(i&=~x.UNICODE_GROUPS),(n&e.LOOKBEHINDS)!==0&&(i|=x.LOOKBEHIND);let a=new e(t,n);return a.re2Input=ti.compileImpl(r,i,(n&e.LONGEST_MATCH)!==0),a}static matches(t,n){return e.compile(t).testExact(n)}static initTest(t,n,r){if(t==null)throw Error(`pattern is null`);if(r==null)throw Error(`re2 is null`);let i=new e(t,n);return i.re2Input=r,i}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 D.isByteArray(e)&&(e=Xn.utf8(e)),new ar(this,e)}test(e){return D.isByteArray(e)?this.re2Input.matchUTF8(e):this.re2Input.match(e)}testExact(e){let t=D.isByteArray(e)?O.fromUTF8(e):O.fromUTF16(e);return this.re2Input.executeEngine(t,0,x.ANCHOR_BOTH,0)!==null}exec(e){let t=this.matcher(e);if(!t.find())return null;let n=[t.group(0)];for(let e=1;e<=t.groupCount();e++){let r=t.group(e);n.push(r===null?void 0:r)}n.index=t.start(0),n.input=e;let r=this.namedGroups();if(Object.keys(r).length>0){let e=t.getNamedGroups();for(let t in e)e[t]===null&&(e[t]=void 0);n.groups=e}else n.groups=void 0;return n}split(e,t=0){let n=this.matcher(e),r=[],i=0,a=0;for(;n.find();){if(a===0&&n.end()===0){a=n.end();continue}if(t>0&&r.length===t-1)break;if(a===n.start()){if(t===0){i+=1,a=n.end();continue}}else for(;i>0;)r.push(``),--i;r.push(n.substring(a,n.start())),a=n.end()}if(t===0&&a!==n.inputLength()){for(;i>0;)r.push(``),--i;r.push(n.substring(a,n.inputLength()))}return(t!==0||r.length===0&&!(a===n.inputLength()&&a>0))&&r.push(n.substring(a,n.inputLength())),r}*matchAll(e){let t=this.matcher(e);for(;t.find();){let n=[t.group(0)];for(let e=1;e<=t.groupCount();e++){let r=t.group(e);n.push(r===null?void 0:r)}n.index=t.start(0),n.input=e;let r=this.namedGroups();if(Object.keys(r).length>0){let e=t.getNamedGroups();for(let t in e)e[t]===null&&(e[t]=void 0);n.groups=e}else n.groups=void 0;yield n}}toString(){return this.patternInput}programSize(){return this.re2Input.numberOfInstructions()}groupCount(){return this.re2Input.numberOfCapturingGroups()}namedGroups(){return this.re2Input.namedGroups}equals(e){return this===e?!0:e===null||this.constructor!==e.constructor?!1:this.flagsInput===e.flagsInput&&this.patternInput===e.patternInput}},ii=`12.18.0`;function ai(e){ii=e}var oi=new Re(`@firebase/firestore`);function si(){return oi.logLevel}function P(e,...t){if(oi.logLevel<=y.DEBUG){let n=t.map(ui);oi.debug(`Firestore (${ii}): ${e}`,...n)}}function ci(e,...t){if(oi.logLevel<=y.ERROR){let n=t.map(ui);oi.error(`Firestore (${ii}): ${e}`,...n)}}function li(e,...t){if(oi.logLevel<=y.WARN){let n=t.map(ui);oi.warn(`Firestore (${ii}): ${e}`,...n)}}function ui(e){if(typeof e==`string`)return e;try{return function(e){return JSON.stringify(e)}(e)}catch{return e}}function F(e,t,n){let r=`Unexpected state`;typeof t==`string`?r=t:n=t,di(e,r,n)}function di(e,t,n){let r=`FIRESTORE (${ii}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(n!==void 0)try{r+=` CONTEXT: `+JSON.stringify(n)}catch{r+=` CONTEXT: `+n}throw ci(r),Error(r)}function I(e,t,n,r){let i=`Unexpected state`;typeof n==`string`?i=n:r=n,e||di(t,i,r)}function L(e,t){return e}function fi(e){let t=typeof self<`u`&&(self.crypto||self.msCrypto),n=new Uint8Array(e);if(t&&typeof t.getRandomValues==`function`)t.getRandomValues(n);else for(let t=0;t<e;t++)n[t]=Math.floor(256*Math.random());return n}var pi=class{static newId(){let e=``;for(;e.length<20;){let t=fi(40);for(let n=0;n<t.length;++n)e.length<20&&t[n]<248&&(e+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`.charAt(t[n]%62))}return e}};function R(e,t){return e<t?-1:+(e>t)}function mi(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=e.charAt(r),i=t.charAt(r);if(n!==i)return _i(n)===_i(i)?R(n,i):_i(n)?1:-1}return R(e.length,t.length)}var hi=55296,gi=57343;function _i(e){let t=e.charCodeAt(0);return t>=hi&&t<=gi}function vi(e,t,n){return e.length===t.length&&e.every(((e,r)=>n(e,t[r])))}var z=class e{constructor(e,t){this.comparator=e,this.root=t||bi.EMPTY}insert(t,n){return new e(this.comparator,this.root.insert(t,n,this.comparator).copy(null,null,bi.BLACK,null,null))}remove(t){return new e(this.comparator,this.root.remove(t,this.comparator).copy(null,null,bi.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){let n=this.comparator(e,t.key);if(n===0)return t.value;n<0?t=t.left:n>0&&(t=t.right)}return null}indexOf(e){let t=0,n=this.root;for(;!n.isEmpty();){let r=this.comparator(e,n.key);if(r===0)return t+n.left.size;r<0?n=n.left:(t+=n.left.size+1,n=n.right)}return-1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(e){this.inorderTraversal(((t,n)=>(e(t,n),!1)))}toString(){let e=[];return this.inorderTraversal(((t,n)=>(e.push(`${t}:${n}`),!1))),`{${e.join(`, `)}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new yi(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new yi(this.root,e,this.comparator,!1)}getReverseIterator(){return new yi(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new yi(this.root,e,this.comparator,!0)}},yi=class{constructor(e,t,n,r){this.isReverse=r,this.nodeStack=[];let i=1;for(;!e.isEmpty();)if(i=t?n(e.key,t):1,t&&r&&(i*=-1),i<0)e=this.isReverse?e.left:e.right;else{if(i===0){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(this.nodeStack.length===0)return null;let e=this.nodeStack[this.nodeStack.length-1];return{key:e.key,value:e.value}}},bi=class e{constructor(t,n,r,i,a){this.key=t,this.value=n,this.color=r??e.RED,this.left=i??e.EMPTY,this.right=a??e.EMPTY,this.size=this.left.size+1+this.right.size}copy(t,n,r,i,a){return new e(t??this.key,n??this.value,r??this.color,i??this.left,a??this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,n){let r=this,i=n(e,r.key);return r=i<0?r.copy(null,null,null,r.left.insert(e,t,n),null):i===0?r.copy(null,t,null,null,null):r.copy(null,null,null,null,r.right.insert(e,t,n)),r.fixUp()}removeMin(){if(this.left.isEmpty())return e.EMPTY;let t=this;return t.left.isRed()||t.left.left.isRed()||(t=t.moveRedLeft()),t=t.copy(null,null,null,t.left.removeMin(),null),t.fixUp()}remove(t,n){let r,i=this;if(n(t,i.key)<0)i.left.isEmpty()||i.left.isRed()||i.left.left.isRed()||(i=i.moveRedLeft()),i=i.copy(null,null,null,i.left.remove(t,n),null);else{if(i.left.isRed()&&(i=i.rotateRight()),i.right.isEmpty()||i.right.isRed()||i.right.left.isRed()||(i=i.moveRedRight()),n(t,i.key)===0){if(i.right.isEmpty())return e.EMPTY;r=i.right.min(),i=i.copy(r.key,r.value,null,null,i.right.removeMin())}i=i.copy(null,null,null,null,i.right.remove(t,n))}return i.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.copy(null,null,null,null,e.right.rotateRight()),e=e.rotateLeft(),e=e.colorFlip()),e}moveRedRight(){let e=this.colorFlip();return e.left.left.isRed()&&(e=e.rotateRight(),e=e.colorFlip()),e}rotateLeft(){let t=this.copy(null,null,e.RED,null,this.right.left);return this.right.copy(null,null,this.color,t,null)}rotateRight(){let t=this.copy(null,null,e.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,t)}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 2**this.check()<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw F(43730,{key:this.key,value:this.value});if(this.right.isRed())throw F(14113,{key:this.key,value:this.value});let e=this.left.check();if(e!==this.right.check())throw F(27949);return e+ +!this.isRed()}};bi.EMPTY=null,bi.RED=!0,bi.BLACK=!1,bi.EMPTY=new class{constructor(){this.size=0}get key(){throw F(57766)}get value(){throw F(16141)}get color(){throw F(16727)}get left(){throw F(29726)}get right(){throw F(36894)}copy(e,t,n,r,i){return this}insert(e,t,n){return new bi(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}};var xi=class e{constructor(e){this.comparator=e,this.data=new z(this.comparator)}has(e){return this.data.get(e)!==null}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(e){this.data.inorderTraversal(((t,n)=>(e(t),!1)))}forEachInRange(e,t){let n=this.data.getIteratorFrom(e[0]);for(;n.hasNext();){let r=n.getNext();if(this.comparator(r.key,e[1])>=0)return;t(r.key)}}forEachWhile(e,t){let n;for(n=t===void 0?this.data.getIterator():this.data.getIteratorFrom(t);n.hasNext();)if(!e(n.getNext().key))return}firstAfterOrEqual(e){let t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new Si(this.data.getIterator())}getIteratorFrom(e){return new Si(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(t){if(!(t instanceof e)||this.size!==t.size)return!1;let n=this.data.getIterator(),r=t.data.getIterator();for(;n.hasNext();){let e=n.getNext().key,t=r.getNext().key;if(this.comparator(e,t)!==0)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(t){let n=new e(this.comparator);return n.data=t,n}},Si=class{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}},B={OK:`ok`,CANCELLED:`cancelled`,UNKNOWN:`unknown`,INVALID_ARGUMENT:`invalid-argument`,DEADLINE_EXCEEDED:`deadline-exceeded`,NOT_FOUND:`not-found`,ALREADY_EXISTS:`already-exists`,PERMISSION_DENIED:`permission-denied`,UNAUTHENTICATED:`unauthenticated`,RESOURCE_EXHAUSTED:`resource-exhausted`,FAILED_PRECONDITION:`failed-precondition`,ABORTED:`aborted`,OUT_OF_RANGE:`out-of-range`,UNIMPLEMENTED:`unimplemented`,INTERNAL:`internal`,UNAVAILABLE:`unavailable`,DATA_LOSS:`data-loss`},V=class extends fe{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}},Ci=`__name__`,wi=class e{constructor(e,t,n){t===void 0?t=0:t>e.length&&F(637,{offset:t,range:e.length}),n===void 0?n=e.length-t:n>e.length-t&&F(1746,{length:n,range:e.length-t}),this.segments=e,this.offset=t,this.len=n}get length(){return this.len}isEqual(t){return e.comparator(this,t)===0}child(t){let n=this.segments.slice(this.offset,this.limit());return t instanceof e?t.forEach((e=>{n.push(e)})):n.push(t),this.construct(n)}limit(){return this.offset+this.length}popFirst(e){return e=e===void 0?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 this.length===0}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,n=this.limit();t<n;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,n){let r=Math.min(t.length,n.length);for(let i=0;i<r;i++){let r=e.compareSegments(t.get(i),n.get(i));if(r!==0)return r}return R(t.length,n.length)}static compareSegments(t,n){let r=e.isNumericId(t),i=e.isNumericId(n);return r&&!i?-1:!r&&i?1:r&&i?e.extractNumericId(t).compare(e.extractNumericId(n)):mi(t,n)}static isNumericId(e){return e.startsWith(`__id`)&&e.endsWith(`__`)}static extractNumericId(e){return xn.fromString(e.substring(4,e.length-2))}},H=class e extends wi{construct(t,n,r){return new e(t,n,r)}canonicalString(){return this.toArray().join(`/`)}toString(){return this.canonicalString()}toStringWithLeadingSlash(){return`/${this.canonicalString()}`}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join(`/`)}static fromString(...t){let n=[];for(let e of t){if(e.indexOf(`//`)>=0)throw new V(B.INVALID_ARGUMENT,`Invalid segment (${e}). Paths must not contain // in them.`);n.push(...e.split(`/`).filter((e=>e.length>0)))}return new e(n)}static emptyPath(){return new e([])}},Ti=/^[_a-zA-Z][_a-zA-Z0-9]*$/,Ei=class e extends wi{construct(t,n,r){return new e(t,n,r)}static isValidIdentifier(e){return Ti.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 this.length===1&&this.get(0)===Ci}static keyField(){return new e([Ci])}static fromServerFormat(t){let n=[],r=``,i=0,a=()=>{if(r.length===0)throw new V(B.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);n.push(r),r=``},o=!1;for(;i<t.length;){let e=t[i];if(e===`\\`){if(i+1===t.length)throw new V(B.INVALID_ARGUMENT,`Path has trailing escape character: `+t);let e=t[i+1];if(e!==`\\`&&e!==`.`&&e!=="`")throw new V(B.INVALID_ARGUMENT,`Path has invalid escape sequence: `+t);r+=e,i+=2}else e==="`"?(o=!o,i++):e!==`.`||o?(r+=e,i++):(a(),i++)}if(a(),o)throw new V(B.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new e(n)}static emptyPath(){return new e([])}},Di=class e{constructor(e){this.fields=e,e.sort(Ei.comparator)}static empty(){return new e([])}unionWith(t){let n=new xi(Ei.comparator);for(let e of this.fields)n=n.add(e);for(let e of t)n=n.add(e);return new e(n.toArray())}covers(e){for(let t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return vi(this.fields,e.fields,((e,t)=>e.isEqual(t)))}};function Oi(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}function ki(e,t){for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t(n,e[n])}function Ai(e,t){let n=[];for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.push(t(e[r],r,e));return n}function ji(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}var U=class e{constructor(e){this.path=e}static fromPath(t){return new e(H.fromString(t))}static fromName(t){return new e(H.fromString(t).popFirst(5))}static empty(){return new e(H.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 e!==null&&H.comparator(this.path,e.path)===0}toString(){return this.path.toString()}static comparator(e,t){return H.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(t){return new e(new H(t.slice()))}};function Mi(e,t,n){if(!n)throw new V(B.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function Ni(e,t,n,r){if(!0===t&&!0===r)throw new V(B.INVALID_ARGUMENT,`${e} and ${n} cannot be used together.`)}function Pi(e){if(!U.isDocumentKey(e))throw new V(B.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function Fi(e){if(U.isDocumentKey(e))throw new V(B.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function Ii(e){return typeof e==`object`&&!!e&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null)}function Li(e){if(e===void 0)return`undefined`;if(e===null)return`null`;if(typeof e==`string`)return e.length>20&&(e=`${e.substring(0,20)}...`),JSON.stringify(e);if(typeof e==`number`||typeof e==`boolean`)return``+e;if(typeof e==`object`){if(e instanceof Array)return`an array`;{let t=function(e){return e.constructor?e.constructor.name:null}(e);return t?`a custom ${t} object`:`an object`}}return typeof e==`function`?`a function`:F(12329,{type:typeof e})}function Ri(e,t){if(`_delegate`in e&&(e=e._delegate),!(e instanceof t)){if(t.name===e.constructor.name)throw new V(B.INVALID_ARGUMENT,`Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?`);{let n=Li(e);throw new V(B.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: ${n}`)}}return e}function zi(e,t){let n={typeString:e};return t&&(n.value=t),n}function Bi(e,t){if(!Ii(e))throw new V(B.INVALID_ARGUMENT,`JSON must be an object`);let n;for(let r in t)if(t[r]){let i=t[r].typeString,a=`value`in t[r]?{value:t[r].value}:void 0;if(!(r in e)){n=`JSON missing required field: '${r}'`;break}let o=e[r];if(i&&typeof o!==i){n=`JSON field '${r}' must be a ${i}.`;break}if(a!==void 0&&o!==a.value){n=`Expected '${r}' field to equal '${a.value}'`;break}}if(n)throw new V(B.INVALID_ARGUMENT,n);return!0}var Vi=-62135596800,Hi=1e6,Ui=class e{static now(){return e.fromMillis(Date.now())}static fromDate(t){return e.fromMillis(t.getTime())}static fromMillis(t){let n=Math.floor(t/1e3),r=Math.floor((t-1e3*n)*Hi);return new e(n,r)}constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0||t>=1e9)throw new V(B.INVALID_ARGUMENT,`Timestamp nanoseconds out of range: `+t);if(e<Vi||e>=253402300800)throw new V(B.INVALID_ARGUMENT,`Timestamp seconds out of range: `+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/Hi}_compareTo(e){return this.seconds===e.seconds?R(this.nanoseconds,e.nanoseconds):R(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:e._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(t){if(Bi(t,e._jsonSchema))return new e(t.seconds,t.nanoseconds)}valueOf(){let e=this.seconds-Vi;return String(e).padStart(12,`0`)+`.`+String(this.nanoseconds).padStart(9,`0`)}};Ui._jsonSchemaVersion=`firestore/timestamp/1.0`,Ui._jsonSchema={type:zi(`string`,Ui._jsonSchemaVersion),seconds:zi(`number`),nanoseconds:zi(`number`)};var Wi=class extends Error{constructor(){super(...arguments),this.name=`Base64DecodeError`}},Gi=class e{constructor(e){this.binaryString=e}static fromBase64String(t){let n=function(e){try{return atob(e)}catch(e){throw typeof DOMException<`u`&&e instanceof DOMException?new Wi(`Invalid base64 string: `+e):e}}(t);return new e(n)}static fromUint8Array(t){let n=function(e){let t=``;for(let n=0;n<e.length;++n)t+=String.fromCharCode(e[n]);return t}(t);return new e(n)}[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 function(e){return btoa(e)}(this.binaryString)}toUint8Array(){return function(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return R(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}};Gi.EMPTY_BYTE_STRING=new Gi(``);var Ki=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function qi(e){if(I(!!e,39018),typeof e==`string`){let t=0,n=Ki.exec(e);if(I(!!n,46558,{timestamp:e}),n[1]){let e=n[1];e=(e+`000000000`).substr(0,9),t=Number(e)}let r=new Date(e);return{seconds:Math.floor(r.getTime()/1e3),nanos:t}}return{seconds:W(e.seconds),nanos:W(e.nanos)}}function W(e){return typeof e==`number`?e:typeof e==`string`?Number(e):0}function Ji(e){return typeof e==`string`?Gi.fromBase64String(e):Gi.fromUint8Array(e)}var Yi=`server_timestamp`,Xi=`__type__`,Zi=`__previous_value__`,Qi=`__local_write_time__`;function $i(e){return(e?.mapValue?.fields||{})[Xi]?.stringValue===Yi}function ea(e){let t=e.mapValue.fields[Zi];return $i(t)?ea(t):t}function ta(e){let t=qi(e.mapValue.fields[Qi].timestampValue);return new Ui(t.seconds,t.nanos)}var na=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){this.databaseId=e,this.appId=t,this.persistenceKey=n,this.host=r,this.ssl=i,this.forceLongPolling=a,this.autoDetectLongPolling=o,this.longPollingOptions=s,this.useFetchStreams=c,this.isUsingEmulator=l,this.apiKey=u,this._customHeaders=d,this.grpcFlowControlWindow=f}},ra=`(default)`,ia=class e{constructor(e,t){this.projectId=e,this.database=t||ra}static empty(){return new e(``,``)}get isDefaultDatabase(){return this.database===ra}isEqual(t){return t instanceof e&&t.projectId===this.projectId&&t.database===this.database}};function aa(e,t){if(!Object.prototype.hasOwnProperty.apply(e.options,[`projectId`]))throw new V(B.INVALID_ARGUMENT,`"projectId" not provided in firebase.initializeApp.`);return new ia(e.options.projectId,t)}var oa=-1;function sa(e){return e==null}function ca(e){return e===0&&1/e==-1/0}function la(e){return typeof e==`number`&&Number.isInteger(e)&&!ca(e)&&e<=2**53-1&&e>=-(2**53-1)}function ua(e){return typeof e==`string`}var da=`__type__`,fa=`__max__`,pa={mapValue:{fields:{__type__:{stringValue:fa}}}},ma=`__vector__`,ha=`value`,ga={nullValue:`NULL_VALUE`},_a={booleanValue:!0},va={booleanValue:!1};function ya(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?$i(e)?4:za(e)?9007199254740991:Ia(e)?10:11:F(28295,{value:e})}function ba(e,t,n){if(e===t)return!0;let r=ya(e);if(r!==ya(t))return!1;switch(r){case 0:case 9007199254740991:return!0;case 1:return e.booleanValue===t.booleanValue;case 4:return ta(e).isEqual(ta(t));case 3:return function(e,t){if(typeof e.timestampValue==`string`&&typeof t.timestampValue==`string`&&e.timestampValue.length===t.timestampValue.length)return e.timestampValue===t.timestampValue;let n=qi(e.timestampValue),r=qi(t.timestampValue);return n.seconds===r.seconds&&n.nanos===r.nanos}(e,t);case 5:return e.stringValue===t.stringValue;case 6:return function(e,t){return Ji(e.bytesValue).isEqual(Ji(t.bytesValue))}(e,t);case 7:return e.referenceValue===t.referenceValue;case 8:return function(e,t){return W(e.geoPointValue.latitude)===W(t.geoPointValue.latitude)&&W(e.geoPointValue.longitude)===W(t.geoPointValue.longitude)}(e,t);case 2:return function(e,t,n){if(`integerValue`in e&&`integerValue`in t)return W(e.integerValue)===W(t.integerValue);let r,i;if(`doubleValue`in e&&`doubleValue`in t)r=W(e.doubleValue),i=W(t.doubleValue);else{if(!n?.t)return!1;r=W(e.integerValue??e.doubleValue),i=W(t.integerValue??t.doubleValue)}return r===i?!!n?.i||ca(r)===ca(i):!!(n===void 0||n.o)&&isNaN(r)&&isNaN(i)}(e,t,n);case 9:return vi(e.arrayValue.values||[],t.arrayValue.values||[],((e,t)=>ba(e,t,n)));case 10:case 11:return function(e,t,n){let r=e.mapValue.fields||{},i=t.mapValue.fields||{};if(Oi(r)!==Oi(i))return!1;for(let e in r)if(r.hasOwnProperty(e)&&(i[e]===void 0||!ba(r[e],i[e],n)))return!1;return!0}(e,t,n);default:return F(52216,{left:e})}}function xa(e,t){return(e.values||[]).find((e=>ba(e,t)))!==void 0}function Sa(e,t){if(e===t)return 0;let n=ya(e),r=ya(t);if(n!==r)return R(n,r);switch(n){case 0:case 9007199254740991:return 0;case 1:return R(e.booleanValue,t.booleanValue);case 2:return function(e,t){let n=W(e.integerValue||e.doubleValue),r=W(t.integerValue||t.doubleValue);return n<r?-1:n>r?1:n===r?0:isNaN(n)?isNaN(r)?0:-1:1}(e,t);case 3:return Ca(e.timestampValue,t.timestampValue);case 4:return Ca(ta(e),ta(t));case 5:return mi(e.stringValue,t.stringValue);case 6:return function(e,t){let n=Ji(e),r=Ji(t);return n.compareTo(r)}(e.bytesValue,t.bytesValue);case 7:return function(e,t){let n=e.split(`/`),r=t.split(`/`);for(let e=0;e<n.length&&e<r.length;e++){let t=R(n[e],r[e]);if(t!==0)return t}return R(n.length,r.length)}(e.referenceValue,t.referenceValue);case 8:return function(e,t){let n=R(W(e.latitude),W(t.latitude));return n===0?R(W(e.longitude),W(t.longitude)):n}(e.geoPointValue,t.geoPointValue);case 9:return wa(e.arrayValue,t.arrayValue);case 10:return function(e,t){let n=e.fields||{},r=t.fields||{},i=n[ha]?.arrayValue,a=r[ha]?.arrayValue,o=R(i?.values?.length||0,a?.values?.length||0);return o===0?wa(i,a):o}(e.mapValue,t.mapValue);case 11:return function(e,t){if(e===pa.mapValue&&t===pa.mapValue)return 0;if(e===pa.mapValue)return 1;if(t===pa.mapValue)return-1;let n=e.fields||{},r=Object.keys(n),i=t.fields||{},a=Object.keys(i);r.sort(),a.sort();for(let e=0;e<r.length&&e<a.length;++e){let t=mi(r[e],a[e]);if(t!==0)return t;let o=Sa(n[r[e]],i[a[e]]);if(o!==0)return o}return R(r.length,a.length)}(e.mapValue,t.mapValue);default:throw F(23264,{u:n})}}function Ca(e,t){if(typeof e==`string`&&typeof t==`string`&&e.length===t.length)return R(e,t);let n=qi(e),r=qi(t),i=R(n.seconds,r.seconds);return i===0?R(n.nanos,r.nanos):i}function wa(e,t){let n=e.values||[],r=t.values||[];for(let e=0;e<n.length&&e<r.length;++e){let t=Sa(n[e],r[e]);if(t!==void 0&&t!==0)return t}return R(n.length,r.length)}function Ta(e){return Ea(e)}function Ea(e){return`nullValue`in e?`null`:`booleanValue`in e?``+e.booleanValue:`integerValue`in e?``+e.integerValue:`doubleValue`in e?``+e.doubleValue:`timestampValue`in e?function(e){let t=qi(e);return`time(${t.seconds},${t.nanos})`}(e.timestampValue):`stringValue`in e?e.stringValue:`bytesValue`in e?function(e){return Ji(e).toBase64()}(e.bytesValue):`referenceValue`in e?function(e){return U.fromName(e).toString()}(e.referenceValue):`geoPointValue`in e?function(e){return`geo(${e.latitude},${e.longitude})`}(e.geoPointValue):`arrayValue`in e?function(e){let t=`[`,n=!0;for(let r of e.values||[])n?n=!1:t+=`,`,t+=Ea(r);return t+`]`}(e.arrayValue):`mapValue`in e?function(e){let t=Object.keys(e.fields||{}).sort(),n=`{`,r=!0;for(let i of t)r?r=!1:n+=`,`,n+=`${i}:${Ea(e.fields[i])}`;return n+`}`}(e.mapValue):F(61005,{value:e})}function Da(e){switch(ya(e)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:let t=ea(e);return t?16+Da(t):16;case 5:return 2*e.stringValue.length;case 6:return Ji(e.bytesValue).approximateByteSize();case 7:return e.referenceValue.length;case 9:return function(e){return(e.values||[]).reduce(((e,t)=>e+Da(t)),0)}(e.arrayValue);case 10:case 11:return function(e){let t=0;return ki(e.fields,((e,n)=>{t+=e.length+Da(n)})),t}(e.mapValue);default:throw F(13486,{value:e})}}function Oa(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/${t.path.canonicalString()}`}}function ka(e){return!!e&&`integerValue`in e}function Aa(e){return!!e&&`doubleValue`in e}function ja(e){return ka(e)||Aa(e)}function Ma(e){return!!e&&`arrayValue`in e}function Na(e){return!!e&&`nullValue`in e}function Pa(e){return!!e&&`doubleValue`in e&&isNaN(Number(e.doubleValue))}function Fa(e){return!!e&&`mapValue`in e}function Ia(e){return(e?.mapValue?.fields||{})[da]?.stringValue===ma}function La(e){return(e?.mapValue?.fields||{})[ha]?.arrayValue}function Ra(e){if(e.geoPointValue)return{geoPointValue:{...e.geoPointValue}};if(e.timestampValue&&typeof e.timestampValue==`object`)return{timestampValue:{...e.timestampValue}};if(e.mapValue){let t={mapValue:{fields:{}}};return ki(e.mapValue.fields,((e,n)=>t.mapValue.fields[e]=Ra(n))),t}if(e.arrayValue){let t={arrayValue:{values:[]}};for(let n=0;n<(e.arrayValue.values||[]).length;++n)t.arrayValue.values[n]=Ra(e.arrayValue.values[n]);return t}return{...e}}function za(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===fa}var Ba=class e{constructor(e){this.value=e}static empty(){return new e({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let n=0;n<e.length-1;++n)if(t=(t.mapValue.fields||{})[e.get(n)],!Fa(t))return null;return t=(t.mapValue.fields||{})[e.lastSegment()],t||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=Ra(t)}setAll(e){let t=Ei.emptyPath(),n={},r=[];e.forEach(((e,i)=>{if(!t.isImmediateParentOf(i)){let e=this.getFieldsMap(t);this.applyChanges(e,n,r),n={},r=[],t=i.popLast()}e?n[i.lastSegment()]=Ra(e):r.push(i.lastSegment())}));let i=this.getFieldsMap(t);this.applyChanges(i,n,r)}delete(e){let t=this.field(e.popLast());Fa(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return ba(this.value,e.value)}getFieldsMap(e){let t=this.value;t.mapValue.fields||(t.mapValue={fields:{}});for(let n=0;n<e.length;++n){let r=t.mapValue.fields[e.get(n)];Fa(r)&&r.mapValue.fields||(r={mapValue:{fields:{}}},t.mapValue.fields[e.get(n)]=r),t=r}return t.mapValue.fields}applyChanges(e,t,n){ki(t,((t,n)=>e[t]=n));for(let t of n)delete e[t]}clone(){return new e(Ra(this.value))}};function Va(e){let t=[];return ki(e.fields,((e,n)=>{let r=new Ei([e]);if(Fa(n)){let e=Va(n.mapValue).fields;if(e.length===0)t.push(r);else for(let n of e)t.push(r.child(n))}else t.push(r)})),new Di(t)}function Ha(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:ca(t)?`-0`:t}}function Ua(e){return{integerValue:``+e}}function Wa(e,t,n){return la(t)?Ua(t):Ha(e,t)}var Ga=class{constructor(){this._=void 0}};function Ka(e,t,n){return e instanceof Ya?function(e,t){let n={fields:{[Xi]:{stringValue:Yi},[Qi]:{timestampValue:{seconds:e.seconds,nanos:e.nanoseconds}}}};return t&&$i(t)&&(t=ea(t)),t&&(n.fields[Zi]=t),{mapValue:n}}(n,t):e instanceof Xa?Za(e,t):e instanceof Qa?$a(e,t):e instanceof to?function(e,t){let n=Ja(e,t),r=ao(n)+ao(e.l);return ka(n)&&ka(e.l)?Ua(r):Ha(e.serializer,r)}(e,t):e instanceof no?function(e,t){return io(e,t,Math.min)}(e,t):e instanceof ro?function(e,t){return io(e,t,Math.max)}(e,t):void 0}function qa(e,t,n){return e instanceof Xa?Za(e,t):e instanceof Qa?$a(e,t):n}function Ja(e,t){return e instanceof to?ja(t)?t:{integerValue:0}:null}var Ya=class extends Ga{},Xa=class extends Ga{constructor(e){super(),this.elements=e}};function Za(e,t){let n=oo(t);for(let t of e.elements)n.some((e=>ba(e,t)))||n.push(t);return{arrayValue:{values:n}}}var Qa=class extends Ga{constructor(e){super(),this.elements=e}};function $a(e,t){let n=oo(t);for(let t of e.elements)n=n.filter((e=>!ba(e,t)));return{arrayValue:{values:n}}}var eo=class extends Ga{constructor(e,t){super(),this.serializer=e,this.l=t}},to=class extends eo{},no=class extends eo{},ro=class extends eo{};function io(e,t,n){if(!ja(t))return e.l;let r=n(ao(t),ao(e.l));return ka(t)&&ka(e.l)?Ua(r):Ha(e.serializer,r)}function ao(e){return W(e.integerValue||e.doubleValue)}function oo(e){return Ma(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}function so(e,t){return e.field.isEqual(t.field)&&function(e,t){return e instanceof Xa&&t instanceof Xa||e instanceof Qa&&t instanceof Qa?vi(e.elements,t.elements,ba):e instanceof to&&t instanceof to||e instanceof no&&t instanceof no||e instanceof ro&&t instanceof ro?ba(e.l,t.l):e instanceof Ya&&t instanceof Ya}(e.transform,t.transform)}var co=class{constructor(e,t){this.version=e,this.transformResults=t}},lo=class e{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new e}static exists(t){return new e(void 0,t)}static updateTime(t){return new e(t)}get isNone(){return this.updateTime===void 0&&this.exists===void 0}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}};function uo(e,t){return e.updateTime===void 0?e.exists===void 0||e.exists===t.isFoundDocument():t.isFoundDocument()&&t.version.isEqual(e.updateTime)}var fo=class{};function po(e,t){if(!e.hasLocalMutations||t&&t.fields.length===0)return null;if(t===null)return e.isNoDocument()?new Co(e.key,lo.none()):new vo(e.key,e.data,lo.none());{let n=e.data,r=Ba.empty(),i=new xi(Ei.comparator);for(let e of t.fields)if(!i.has(e)){let t=n.field(e);t===null&&e.length>1&&(e=e.popLast(),t=n.field(e)),t===null?r.delete(e):r.set(e,t),i=i.add(e)}return new yo(e.key,r,new Di(i.toArray()),lo.none())}}function mo(e,t,n){e instanceof vo?function(e,t,n){let r=e.value.clone(),i=xo(e.fieldTransforms,t,n.transformResults);r.setAll(i),t.convertToFoundDocument(n.version,r).setHasCommittedMutations()}(e,t,n):e instanceof yo?function(e,t,n){if(!uo(e.precondition,t))return void t.convertToUnknownDocument(n.version);let r=xo(e.fieldTransforms,t,n.transformResults),i=t.data;i.setAll(bo(e)),i.setAll(r),t.convertToFoundDocument(n.version,i).setHasCommittedMutations()}(e,t,n):function(e,t,n){t.convertToNoDocument(n.version).setHasCommittedMutations()}(0,t,n)}function ho(e,t,n,r){return e instanceof vo?function(e,t,n,r){if(!uo(e.precondition,t))return n;let i=e.value.clone(),a=So(e.fieldTransforms,r,t);return i.setAll(a),t.convertToFoundDocument(t.version,i).setHasLocalMutations(),null}(e,t,n,r):e instanceof yo?function(e,t,n,r){if(!uo(e.precondition,t))return n;let i=So(e.fieldTransforms,r,t),a=t.data;return a.setAll(bo(e)),a.setAll(i),t.convertToFoundDocument(t.version,a).setHasLocalMutations(),n===null?null:n.unionWith(e.fieldMask.fields).unionWith(e.fieldTransforms.map((e=>e.field)))}(e,t,n,r):function(e,t,n){return uo(e.precondition,t)?(t.convertToNoDocument(t.version).setHasLocalMutations(),null):n}(e,t,n)}function go(e,t){let n=null;for(let r of e.fieldTransforms){let e=t.data.field(r.field),i=Ja(r.transform,e||null);i!=null&&(n===null&&(n=Ba.empty()),n.set(r.field,i))}return n||null}function _o(e,t){return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&!!function(e,t){return e===void 0&&t===void 0||!(!e||!t)&&vi(e,t,((e,t)=>so(e,t)))}(e.fieldTransforms,t.fieldTransforms)&&(e.type===0?e.value.isEqual(t.value):e.type!==1||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask))}var vo=class extends fo{constructor(e,t,n,r=[]){super(),this.key=e,this.value=t,this.precondition=n,this.fieldTransforms=r,this.type=0}getFieldMask(){return null}},yo=class extends fo{constructor(e,t,n,r,i=[]){super(),this.key=e,this.data=t,this.fieldMask=n,this.precondition=r,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}};function bo(e){let t=new Map;return e.fieldMask.fields.forEach((n=>{if(!n.isEmpty()){let r=e.data.field(n);t.set(n,r)}})),t}function xo(e,t,n){let r=new Map;I(e.length===n.length,32656,{h:n.length,T:e.length});for(let i=0;i<n.length;i++){let a=e[i],o=a.transform,s=t.data.field(a.field);r.set(a.field,qa(o,s,n[i]))}return r}function So(e,t,n){let r=new Map;for(let i of e){let e=i.transform,a=n.data.field(i.field);r.set(i.field,Ka(e,a,t))}return r}var Co=class extends fo{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}},wo=class extends fo{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}},To=class{constructor(e,t){this.position=e,this.inclusive=t}};function Eo(e,t,n){let r=0;for(let i=0;i<e.position.length;i++){let a=t[i],o=e.position[i];if(r=a.field.isKeyField()?U.comparator(U.fromName(o.referenceValue),n.key):Sa(o,n.data.field(a.field)),a.dir===`desc`&&(r*=-1),r!==0)break}return r}function Do(e,t){if(e===null)return t===null;if(t===null||e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let n=0;n<e.position.length;n++)if(!ba(e.position[n],t.position[n]))return!1;return!0}var Oo=class{},ko=class e extends Oo{constructor(e,t,n){super(),this.field=e,this.op=t,this.value=n}static create(t,n,r){return t.isKeyField()?n===`in`||n===`not-in`?this.createKeyFieldInFilter(t,n,r):new Lo(t,n,r):n===`array-contains`?new Vo(t,r):n===`in`?new Ho(t,r):n===`not-in`?new Uo(t,r):n===`array-contains-any`?new Wo(t,r):new e(t,n,r)}static createKeyFieldInFilter(e,t,n){return t===`in`?new Ro(e,n):new zo(e,n)}matches(e){let t=e.data.field(this.field);return this.op===`!=`?t!==null&&t.nullValue===void 0&&this.matchesComparison(Sa(t,this.value)):t!==null&&ya(this.value)===ya(t)&&this.matchesComparison(Sa(t,this.value))}matchesComparison(e){switch(this.op){case`<`:return e<0;case`<=`:return e<=0;case`==`:return e===0;case`!=`:return e!==0;case`>`:return e>0;case`>=`:return e>=0;default:return F(47266,{operator:this.op})}}isInequality(){return[`<`,`<=`,`>`,`>=`,`!=`,`not-in`].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}},Ao=class e extends Oo{constructor(e,t){super(),this.filters=e,this.op=t,this.P=null}static create(t,n){return new e(t,n)}matches(e){return jo(this)?this.filters.find((t=>!t.matches(e)))===void 0:this.filters.find((t=>t.matches(e)))!==void 0}getFlattenedFilters(){return this.P!==null||(this.P=this.filters.reduce(((e,t)=>e.concat(t.getFlattenedFilters())),[])),this.P}getFilters(){return Object.assign([],this.filters)}};function jo(e){return e.op===`and`}function Mo(e){return No(e)&&jo(e)}function No(e){for(let t of e.filters)if(t instanceof Ao)return!1;return!0}function Po(e){if(e instanceof ko)return e.field.canonicalString()+e.op.toString()+Ta(e.value);if(Mo(e))return e.filters.map((e=>Po(e))).join(`,`);{let t=e.filters.map((e=>Po(e))).join(`,`);return`${e.op}(${t})`}}function Fo(e,t){return e instanceof ko?function(e,t){return t instanceof ko&&e.op===t.op&&e.field.isEqual(t.field)&&ba(e.value,t.value)}(e,t):e instanceof Ao?function(e,t){return t instanceof Ao&&e.op===t.op&&e.filters.length===t.filters.length&&e.filters.reduce(((e,n,r)=>e&&Fo(n,t.filters[r])),!0)}(e,t):void F(19439)}function Io(e){return e instanceof ko?function(e){return`${e.field.canonicalString()} ${e.op} ${Ta(e.value)}`}(e):e instanceof Ao?function(e){return e.op.toString()+` {`+e.getFilters().map(Io).join(` ,`)+`}`}(e):`Filter`}var Lo=class extends ko{constructor(e,t,n){super(e,t,n),this.key=U.fromName(n.referenceValue)}matches(e){let t=U.comparator(e.key,this.key);return this.matchesComparison(t)}},Ro=class extends ko{constructor(e,t){super(e,`in`,t),this.keys=Bo(`in`,t)}matches(e){return this.keys.some((t=>t.isEqual(e.key)))}},zo=class extends ko{constructor(e,t){super(e,`not-in`,t),this.keys=Bo(`not-in`,t)}matches(e){return!this.keys.some((t=>t.isEqual(e.key)))}};function Bo(e,t){return(t.arrayValue?.values||[]).map((e=>U.fromName(e.referenceValue)))}var Vo=class extends ko{constructor(e,t){super(e,`array-contains`,t)}matches(e){let t=e.data.field(this.field);return Ma(t)&&xa(t.arrayValue,this.value)}},Ho=class extends ko{constructor(e,t){super(e,`in`,t)}matches(e){let t=e.data.field(this.field);return t!==null&&xa(this.value.arrayValue,t)}},Uo=class extends ko{constructor(e,t){super(e,`not-in`,t)}matches(e){if(xa(this.value.arrayValue,{nullValue:`NULL_VALUE`}))return!1;let t=e.data.field(this.field);return t!==null&&t.nullValue===void 0&&!xa(this.value.arrayValue,t)}},Wo=class extends ko{constructor(e,t){super(e,`array-contains-any`,t)}matches(e){let t=e.data.field(this.field);return!(!Ma(t)||!t.arrayValue.values)&&t.arrayValue.values.some((e=>xa(this.value.arrayValue,e)))}},Go=class{constructor(e,t=`asc`){this.field=e,this.dir=t}};function Ko(e,t){return e.dir===t.dir&&e.field.isEqual(t.field)}var G=class e{static fromTimestamp(t){return new e(t)}static min(){return new e(new Ui(0,0))}static max(){return new e(new Ui(253402300799,999999999))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return`SnapshotVersion(`+this.timestamp.toString()+`)`}toTimestamp(){return this.timestamp}},qo=class e{constructor(e,t,n,r,i,a,o){this.key=e,this.documentType=t,this.version=n,this.readTime=r,this.createTime=i,this.data=a,this.documentState=o}static newInvalidDocument(t){return new e(t,0,G.min(),G.min(),G.min(),Ba.empty(),0)}static newFoundDocument(t,n,r,i){return new e(t,1,n,G.min(),r,i,0)}static newNoDocument(t,n){return new e(t,2,n,G.min(),G.min(),Ba.empty(),0)}static newUnknownDocument(t,n){return new e(t,3,n,G.min(),G.min(),Ba.empty(),2)}convertToFoundDocument(e,t){return!this.createTime.isEqual(G.min())||this.documentType!==2&&this.documentType!==0||(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=Ba.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=Ba.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=G.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return this.documentState===1}get hasCommittedMutations(){return this.documentState===2}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return this.documentType!==0}isFoundDocument(){return this.documentType===1}isNoDocument(){return this.documentType===2}isUnknownDocument(){return this.documentType===3}isEqual(t){return t instanceof e&&this.key.isEqual(t.key)&&this.version.isEqual(t.version)&&this.documentType===t.documentType&&this.documentState===t.documentState&&this.data.isEqual(t.data)}mutableCopy(){return new e(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}})`}},Jo=-1;function Yo(e,t){let n=e.toTimestamp().seconds,r=e.toTimestamp().nanoseconds+1;return new Zo(G.fromTimestamp(r===1e9?new Ui(n+1,0):new Ui(n,r)),U.empty(),t)}function Xo(e){return new Zo(e.readTime,e.key,Jo)}var Zo=class e{constructor(e,t,n){this.readTime=e,this.documentKey=t,this.largestBatchId=n}static min(){return new e(G.min(),U.empty(),Jo)}static max(){return new e(G.max(),U.empty(),Jo)}};function Qo(e,t){let n=e.readTime.compareTo(t.readTime);return n===0?(n=U.comparator(e.documentKey,t.documentKey),n===0?R(e.largestBatchId,t.largestBatchId):n):n}var $o=class{constructor(e,t=null,n=[],r=[],i=null,a=null,o=null){this.path=e,this.collectionGroup=t,this.orderBy=n,this.filters=r,this.limit=i,this.startAt=a,this.endAt=o,this.R=null}};function es(e,t=null,n=[],r=[],i=null,a=null,o=null){return new $o(e,t,n,r,i,a,o)}function ts(e){let t=L(e);if(t.R===null){let e=t.path.canonicalString();t.collectionGroup!==null&&(e+=`|cg:`+t.collectionGroup),e+=`|f:`,e+=t.filters.map((e=>Po(e))).join(`,`),e+=`|ob:`,e+=t.orderBy.map((e=>function(e){return e.field.canonicalString()+e.dir}(e))).join(`,`),sa(t.limit)||(e+=`|l:`,e+=t.limit),t.startAt&&(e+=`|lb:`,e+=t.startAt.inclusive?`b:`:`a:`,e+=t.startAt.position.map((e=>Ta(e))).join(`,`)),t.endAt&&(e+=`|ub:`,e+=t.endAt.inclusive?`a:`:`b:`,e+=t.endAt.position.map((e=>Ta(e))).join(`,`)),t.R=e}return t.R}function ns(e,t){if(e.limit!==t.limit||e.orderBy.length!==t.orderBy.length)return!1;for(let n=0;n<e.orderBy.length;n++)if(!Ko(e.orderBy[n],t.orderBy[n]))return!1;if(e.filters.length!==t.filters.length)return!1;for(let n=0;n<e.filters.length;n++)if(!Fo(e.filters[n],t.filters[n]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!Do(e.startAt,t.startAt)&&Do(e.endAt,t.endAt)}function rs(e){return!!e.isCorePipeline}function is(e){return!!e.path&&U.isDocumentKey(e.path)&&e.collectionGroup===null&&e.filters.length===0}var as=class{constructor(e,t=null,n=[],r=[],i=null,a=`F`,o=null,s=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=n,this.filters=r,this.limit=i,this.limitType=a,this.startAt=o,this.endAt=s,this.I=null,this.A=null,this.V=null,this.startAt,this.endAt}};function os(e,t,n,r,i,a,o,s){return new as(e,t,n,r,i,a,o,s)}function ss(e){return new as(e)}function cs(e){return e.filters.length===0&&e.limit===null&&e.startAt==null&&e.endAt==null&&(e.explicitOrderBy.length===0||e.explicitOrderBy.length===1&&e.explicitOrderBy[0].field.isKeyField())}function ls(e){return U.isDocumentKey(e.path)&&e.collectionGroup===null&&e.filters.length===0}function us(e){return e.collectionGroup!==null}function ds(e){let t=L(e);if(t.I===null){t.I=[];let e=new Set;for(let n of t.explicitOrderBy)t.I.push(n),e.add(n.field.canonicalString());let n=t.explicitOrderBy.length>0?t.explicitOrderBy[t.explicitOrderBy.length-1].dir:`asc`;(function(e){let t=new xi(Ei.comparator);return e.filters.forEach((e=>{e.getFlattenedFilters().forEach((e=>{e.isInequality()&&(t=t.add(e.field))}))})),t})(t).forEach((r=>{e.has(r.canonicalString())||r.isKeyField()||t.I.push(new Go(r,n))})),e.has(Ei.keyField().canonicalString())||t.I.push(new Go(Ei.keyField(),n))}return t.I}function fs(e){let t=L(e);return t.A||=ps(t,ds(e)),t.A}function ps(e,t){if(e.limitType===`F`)return es(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);{t=t.map((e=>{let t=e.dir===`desc`?`asc`:`desc`;return new Go(e.field,t)}));let n=e.endAt?new To(e.endAt.position,e.endAt.inclusive):null,r=e.startAt?new To(e.startAt.position,e.startAt.inclusive):null;return es(e.path,e.collectionGroup,t,e.filters,e.limit,n,r)}}function ms(e,t){let n=e.filters.concat([t]);return new as(e.path,e.collectionGroup,e.explicitOrderBy.slice(),n,e.limit,e.limitType,e.startAt,e.endAt)}function hs(e,t,n){return new as(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,n,e.startAt,e.endAt)}function gs(e,t){return ns(fs(e),fs(t))&&e.limitType===t.limitType}function _s(e){return`Query(target=${function(e){let t=e.path.canonicalString();return e.collectionGroup!==null&&(t+=` collectionGroup=`+e.collectionGroup),e.filters.length>0&&(t+=`, filters: [${e.filters.map((e=>Io(e))).join(`, `)}]`),sa(e.limit)||(t+=`, limit: `+e.limit),e.orderBy.length>0&&(t+=`, orderBy: [${e.orderBy.map((e=>function(e){return`${e.field.canonicalString()} (${e.dir})`}(e))).join(`, `)}]`),e.startAt&&(t+=`, startAt: `,t+=e.startAt.inclusive?`b:`:`a:`,t+=e.startAt.position.map((e=>Ta(e))).join(`,`)),e.endAt&&(t+=`, endAt: `,t+=e.endAt.inclusive?`a:`:`b:`,t+=e.endAt.position.map((e=>Ta(e))).join(`,`)),`Target(${t})`}(fs(e))}; limitType=${e.limitType})`}function vs(e,t){return t.isFoundDocument()&&function(e,t){let n=t.key.path;return e.collectionGroup===null?U.isDocumentKey(e.path)?e.path.isEqual(n):e.path.isImmediateParentOf(n):t.key.hasCollectionId(e.collectionGroup)&&e.path.isPrefixOf(n)}(e,t)&&function(e,t){for(let n of ds(e))if(!n.field.isKeyField()&&t.data.field(n.field)===null)return!1;return!0}(e,t)&&function(e,t){for(let n of e.filters)if(!n.matches(t))return!1;return!0}(e,t)&&function(e,t){return!(e.startAt&&!function(e,t,n){let r=Eo(e,t,n);return e.inclusive?r<=0:r<0}(e.startAt,ds(e),t)||e.endAt&&!function(e,t,n){let r=Eo(e,t,n);return e.inclusive?r>=0:r>0}(e.endAt,ds(e),t))}(e,t)}function ys(e){return(t,n)=>{let r=!1;for(let i of ds(e)){let e=bs(i,t,n);if(e!==0)return e;r||=i.field.isKeyField()}return 0}}function bs(e,t,n){let r=e.field.isKeyField()?U.comparator(t.key,n.key):function(e,t,n){let r=t.data.field(e),i=n.data.field(e);return r!==null&&i!==null?Sa(r,i):F(42886)}(e.field,t,n);switch(e.dir){case`asc`:return r;case`desc`:return-1*r;default:return F(19790,{direction:e.dir})}}var xs=class{constructor(e,t){this.count=e,this.unchangedNames=t}},Ss,K;function Cs(e){switch(e){case B.OK:return F(64938);case B.CANCELLED:case B.UNKNOWN:case B.DEADLINE_EXCEEDED:case B.RESOURCE_EXHAUSTED:case B.INTERNAL:case B.UNAVAILABLE:case B.UNAUTHENTICATED:return!1;case B.INVALID_ARGUMENT:case B.NOT_FOUND:case B.ALREADY_EXISTS:case B.PERMISSION_DENIED:case B.FAILED_PRECONDITION:case B.ABORTED:case B.OUT_OF_RANGE:case B.UNIMPLEMENTED:case B.DATA_LOSS:return!0;default:return F(15467,{code:e})}}function ws(e){if(e===void 0)return ci(`GRPC error has no .code`),B.UNKNOWN;switch(e){case Ss.OK:return B.OK;case Ss.CANCELLED:return B.CANCELLED;case Ss.UNKNOWN:return B.UNKNOWN;case Ss.DEADLINE_EXCEEDED:return B.DEADLINE_EXCEEDED;case Ss.RESOURCE_EXHAUSTED:return B.RESOURCE_EXHAUSTED;case Ss.INTERNAL:return B.INTERNAL;case Ss.UNAVAILABLE:return B.UNAVAILABLE;case Ss.UNAUTHENTICATED:return B.UNAUTHENTICATED;case Ss.INVALID_ARGUMENT:return B.INVALID_ARGUMENT;case Ss.NOT_FOUND:return B.NOT_FOUND;case Ss.ALREADY_EXISTS:return B.ALREADY_EXISTS;case Ss.PERMISSION_DENIED:return B.PERMISSION_DENIED;case Ss.FAILED_PRECONDITION:return B.FAILED_PRECONDITION;case Ss.ABORTED:return B.ABORTED;case Ss.OUT_OF_RANGE:return B.OUT_OF_RANGE;case Ss.UNIMPLEMENTED:return B.UNIMPLEMENTED;case Ss.DATA_LOSS:return B.DATA_LOSS;default:return F(39323,{code:e})}}(K=Ss||={})[K.OK=0]=`OK`,K[K.CANCELLED=1]=`CANCELLED`,K[K.UNKNOWN=2]=`UNKNOWN`,K[K.INVALID_ARGUMENT=3]=`INVALID_ARGUMENT`,K[K.DEADLINE_EXCEEDED=4]=`DEADLINE_EXCEEDED`,K[K.NOT_FOUND=5]=`NOT_FOUND`,K[K.ALREADY_EXISTS=6]=`ALREADY_EXISTS`,K[K.PERMISSION_DENIED=7]=`PERMISSION_DENIED`,K[K.UNAUTHENTICATED=16]=`UNAUTHENTICATED`,K[K.RESOURCE_EXHAUSTED=8]=`RESOURCE_EXHAUSTED`,K[K.FAILED_PRECONDITION=9]=`FAILED_PRECONDITION`,K[K.ABORTED=10]=`ABORTED`,K[K.OUT_OF_RANGE=11]=`OUT_OF_RANGE`,K[K.UNIMPLEMENTED=12]=`UNIMPLEMENTED`,K[K.INTERNAL=13]=`INTERNAL`,K[K.UNAVAILABLE=14]=`UNAVAILABLE`,K[K.DATA_LOSS=15]=`DATA_LOSS`;var Ts=class{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(e){let t=this.mapKeyFn(e),n=this.inner[t];if(n!==void 0){for(let[t,r]of n)if(this.equalsFn(t,e))return r}}has(e){return this.get(e)!==void 0}set(e,t){let n=this.mapKeyFn(e),r=this.inner[n];if(r===void 0)return this.inner[n]=[[e,t]],void this.innerSize++;for(let n=0;n<r.length;n++)if(this.equalsFn(r[n][0],e))return void(r[n]=[e,t]);r.push([e,t]),this.innerSize++}delete(e){let t=this.mapKeyFn(e),n=this.inner[t];if(n===void 0)return!1;for(let r=0;r<n.length;r++)if(this.equalsFn(n[r][0],e))return n.length===1?delete this.inner[t]:n.splice(r,1),this.innerSize--,!0;return!1}forEach(e){ki(this.inner,((t,n)=>{for(let[t,r]of n)e(t,r)}))}isEmpty(){return ji(this.inner)}size(){return this.innerSize}},Es=new z(U.comparator);function Ds(){return Es}var Os=new z(U.comparator);function ks(...e){let t=Os;for(let n of e)t=t.insert(n.key,n);return t}function As(e){let t=Os;return e.forEach(((e,n)=>t=t.insert(e,n.overlayedDocument))),t}function js(){return Ns()}function Ms(){return Ns()}function Ns(){return new Ts((e=>e.toString()),((e,t)=>e.isEqual(t)))}var Ps=new z(U.comparator),Fs=new xi(U.comparator);function q(...e){let t=Fs;for(let n of e)t=t.add(n);return t}var Is=new xi(R);function Ls(){return Is}var Rs=null;function zs(){return new TextEncoder}var Bs=new xn([4294967295,4294967295],0);function Vs(e){let t=zs().encode(e),n=new Sn;return n.update(t),new Uint8Array(n.digest())}function Hs(e){let t=new DataView(e.buffer),n=t.getUint32(0,!0),r=t.getUint32(4,!0),i=t.getUint32(8,!0),a=t.getUint32(12,!0);return[new xn([n,r],0),new xn([i,a],0)]}var Us=class e{constructor(e,t,n){if(this.bitmap=e,this.padding=t,this.hashCount=n,t<0||t>=8)throw new Ws(`Invalid padding: ${t}`);if(n<0||e.length>0&&this.hashCount===0)throw new Ws(`Invalid hash count: ${n}`);if(e.length===0&&t!==0)throw new Ws(`Invalid padding when bitmap length is 0: ${t}`);this.m=8*e.length-t,this.p=xn.fromNumber(this.m)}S(e,t,n){let r=e.add(t.multiply(xn.fromNumber(n)));return r.compare(Bs)===1&&(r=new xn([r.getBits(0),r.getBits(1)],0)),r.modulo(this.p).toNumber()}v(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(this.m===0)return!1;let[t,n]=Hs(Vs(e));for(let e=0;e<this.hashCount;e++){let r=this.S(t,n,e);if(!this.v(r))return!1}return!0}static create(t,n,r){let i=t%8==0?0:8-t%8,a=new Uint8Array(Math.ceil(t/8)),o=new e(a,i,n);return r.forEach((e=>o.insert(e))),o}insert(e){if(this.m===0)return;let[t,n]=Hs(Vs(e));for(let e=0;e<this.hashCount;e++){let r=this.S(t,n,e);this.D(r)}}D(e){let t=Math.floor(e/8),n=e%8;this.bitmap[t]|=1<<n}},Ws=class extends Error{constructor(){super(...arguments),this.name=`BloomFilterError`}},Gs=class e{constructor(e,t,n,r,i,a){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=n,this.documentUpdates=r,this.augmentedDocumentUpdates=i,this.resolvedLimboDocuments=a}static createSynthesizedRemoteEventForCurrentChange(t,n,r){let i=new Map;return i.set(t,Ks.createSynthesizedTargetChangeForCurrentChange(t,n,r)),new e(G.min(),i,new z(R),Ds(),Ds(),q())}},Ks=class e{constructor(e,t,n,r,i){this.resumeToken=e,this.current=t,this.addedDocuments=n,this.modifiedDocuments=r,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(t,n,r){return new e(r,n,q(),q(),q())}},qs=class{constructor(e,t,n,r){this.C=e,this.removedTargetIds=t,this.key=n,this.F=r}},Js=class{constructor(e,t){this.targetId=e,this.O=t}},Ys=class{constructor(e,t,n=Gi.EMPTY_BYTE_STRING,r=null){this.state=e,this.targetIds=t,this.resumeToken=n,this.cause=r}},Xs=class{constructor(e){this.targetId=e,this.M=0,this.N=ec(),this.L=Gi.EMPTY_BYTE_STRING,this.B=!1,this.U=!0}get current(){return this.B}get resumeToken(){return this.L}get k(){return this.M!==0}get q(){return this.U}$(e){e.approximateByteSize()>0&&(this.U=!0,this.L=e)}K(){let e=q(),t=q(),n=q();return this.N.forEach(((r,i)=>{switch(i){case 0:e=e.add(r);break;case 2:t=t.add(r);break;case 1:n=n.add(r);break;default:F(38017,{changeType:i})}})),new Ks(this.L,this.B,e,t,n)}W(){this.U=!1,this.N=ec()}G(e,t){this.U=!0,this.N=this.N.insert(e,t)}j(e){this.U=!0,this.N=this.N.remove(e)}H(){this.M+=1}J(){--this.M,I(this.M>=0,3241,{M:this.M,targetId:this.targetId})}Y(){this.U=!0,this.B=!0}},Zs=`WatchChangeAggregator`,Qs=class{constructor(e){this.Z=e,this.X=new Map,this.ee=Ds(),this.te=$s(),this.ne=Ds(),this.re=$s(),this.ie=new z(R)}se(e){for(let t of e.C)e.F&&e.F.isFoundDocument()?this._e(t,e.F):this.oe(t,e.key,e.F);for(let t of e.removedTargetIds)this.oe(t,e.key,e.F)}ae(e){this.forEachTarget(e,(t=>{let n=this.X.get(t);if(n)switch(e.state){case 0:this.ue(t)&&n.$(e.resumeToken);break;case 1:n.J(),n.k||n.W(),n.$(e.resumeToken);break;case 2:n.J(),n.k||this.removeTarget(t);break;case 3:this.ue(t)&&(n.Y(),n.$(e.resumeToken));break;case 4:this.ue(t)&&(this.ce(t),n.$(e.resumeToken));break;default:F(56790,{state:e.state})}else P(Zs,`handleTargetChange received targetChange for untracked target ID (${t}) with state (${e.state})`)}))}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.X.forEach(((e,n)=>{this.ue(n)&&t(n)}))}le(e){return rs(e)?e.getPipelineSourceType()===`documents`&&e.getPipelineDocuments()?.length===1:is(e)}Ee(e){let t=e.targetId,n=e.O.count,r=this.he(t);if(r){let i=r.target;if(this.le(i)){if(n===0){let e=new U(rs(i)?H.fromString(i.getPipelineDocuments()[0]):i.path);this.oe(t,e,qo.newNoDocument(e,G.min()))}else I(n===1,20013,`Single document existence filter with count: `+n)}else{let r=this.Te(t);if(r!==n){let n=this.Pe(e),i=n?this.Re(n,e,r):1;if(i!==0){this.ce(t);let e=i===2?`TargetPurposeExistenceFilterMismatchBloom`:`TargetPurposeExistenceFilterMismatch`;this.ie=this.ie.insert(t,e)}Rs?.Ie(function(e,t,n,r,i){let a={localCacheCount:e,existenceFilterCount:t.count,databaseId:n.database,projectId:n.projectId},o=t.unchangedNames;return o&&(a.bloomFilter={applied:i===0,hashCount:o?.hashCount??0,bitmapLength:o?.bits?.bitmap?.length??0,padding:o?.bits?.padding??0,mightContain:e=>r?.mightContain(e)??!1}),a}(r,e.O,this.Z.Ae(),n,i))}}}}Pe(e){let t=e.O.unchangedNames;if(!t||!t.bits)return null;let{bits:{bitmap:n=``,padding:r=0},hashCount:i=0}=t,a,o;try{a=Ji(n).toUint8Array()}catch(e){if(e instanceof Wi)return li(`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{o=new Us(a,r,i)}catch(e){return li(e instanceof Ws?`BloomFilter error: `:`Applying bloom filter failed: `,e),null}return o.m===0?null:o}Re(e,t,n){return t.O.count===n-this.Ve(e,t.targetId)?0:2}Ve(e,t){let n=this.Z.getRemoteKeysForTarget(t),r=0;return n.forEach((n=>{let i=this.Z.Ae(),a=`projects/${i.projectId}/databases/${i.database}/documents/${n.path.canonicalString()}`;e.mightContain(a)||(this.oe(t,n,null),r++)})),r}de(e){let t=new Map;this.X.forEach(((n,r)=>{let i=this.he(r);if(i){if(n.current&&this.le(i.target)){let t=new U(rs(i.target)?H.fromString(i.target.getPipelineDocuments()[0]):i.target.path);this.fe(t).has(r)||this.me(r,t)||this.oe(r,t,qo.newNoDocument(t,e))}n.q&&(t.set(r,n.K()),n.W())}}));let n=q();this.re.forEach(((e,t)=>{let r=!0;t.forEachWhile((e=>{let t=this.he(e);return!t||t.purpose===`TargetPurposeLimboResolution`||(r=!1,!1)})),r&&(n=n.add(e))})),this.ee.forEach(((t,n)=>n.setReadTime(e))),this.ne.forEach(((t,n)=>n.setReadTime(e)));let r=new Gs(e,t,this.ie,this.ee,this.ne,n);return this.ee=Ds(),this.te=$s(),this.ne=Ds(),this.re=$s(),this.ie=new z(R),r}_e(e,t){let n=this.X.get(e);if(!n||!this.ue(e))return void P(Zs,`addDocumentToTarget received document for unknown inactive target (${e})`);let r=this.me(e,t.key)?2:0;n.G(t.key,r),rs(this.he(e).target)&&this.he(e).target.getPipelineFlavor()!==`exact`?this.ne=this.ne.insert(t.key,t):this.ee=this.ee.insert(t.key,t),this.te=this.te.insert(t.key,this.fe(t.key).add(e)),this.re=this.re.insert(t.key,this.pe(t.key).add(e))}oe(e,t,n){let r=this.X.get(e);r&&this.ue(e)?(this.me(e,t)?r.G(t,1):r.j(t),this.re=this.re.insert(t,this.pe(t).delete(e)),this.re=this.re.insert(t,this.pe(t).add(e)),n&&(rs(this.he(e).target)&&this.he(e).target.getPipelineFlavor()!==`exact`?this.ne=this.ne.insert(t,n):this.ee=this.ee.insert(t,n))):P(Zs,`removeDocumentFromTarget received document for unknown or inactive target (${e})`)}removeTarget(e){this.X.delete(e)}Te(e){let t=this.X.get(e);if(!t)return 0;let n=t.K();return this.Z.getRemoteKeysForTarget(e).size+n.addedDocuments.size-n.removedDocuments.size}H(e){let t=this.X.get(e);t||(P(Zs,`recordPendingTargetRequest set up tracking for target ID ${e}`),t=new Xs(e),this.X.set(e,t)),t.H()}pe(e){let t=this.re.get(e);return t||(t=new xi(R),this.re=this.re.insert(e,t)),t}fe(e){let t=this.te.get(e);return t||(t=new xi(R),this.te=this.te.insert(e,t)),t}ue(e){let t=this.he(e)!==null;return t||P(Zs,`Detected inactive target`,e),t}he(e){let t=this.X.get(e);return t===void 0||t.k?null:this.Z.ge(e)}ce(e){this.X.set(e,new Xs(e)),this.Z.getRemoteKeysForTarget(e).forEach((t=>{this.oe(e,t,null)}))}me(e,t){return this.Z.getRemoteKeysForTarget(e).has(t)}};function $s(){return new z(U.comparator)}function ec(){return new z(U.comparator)}var tc={asc:`ASCENDING`,desc:`DESCENDING`},nc={"<":`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`},rc={and:`AND`,or:`OR`},ic=class{constructor(e,t){this.databaseId=e,this.useProto3Json=t}};function ac(e,t){return e.useProto3Json||sa(t)?t:{value:t}}function oc(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=qi(e);return new Ui(t.seconds,t.nanos)}function cc(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function lc(e,t){return oc(e,t.toTimestamp())}function uc(e){return I(!!e,49232),G.fromTimestamp(sc(e))}function dc(e,t){return fc(e,t).canonicalString()}function fc(e,t){let n=function(e){return new H([`projects`,e.projectId,`databases`,e.database])}(e).child(`documents`);return t===void 0?n:n.child(t)}function pc(e){let t=H.fromString(e);return I(Lc(t),10190,{key:t.toString()}),t}function mc(e,t){return dc(e.databaseId,t.path)}function hc(e,t){let n=pc(t);if(n.get(1)!==e.databaseId.projectId)throw new V(B.INVALID_ARGUMENT,`Tried to deserialize key from different project: `+n.get(1)+` vs `+e.databaseId.projectId);if(n.get(3)!==e.databaseId.database)throw new V(B.INVALID_ARGUMENT,`Tried to deserialize key from different database: `+n.get(3)+` vs `+e.databaseId.database);return new U(yc(n))}function gc(e,t){return dc(e.databaseId,t)}function _c(e){let t=pc(e);return t.length===4?H.emptyPath():yc(t)}function vc(e){return new H([`projects`,e.databaseId.projectId,`databases`,e.databaseId.database]).canonicalString()}function yc(e){return I(e.length>4&&e.get(4)===`documents`,29091,{key:e.toString()}),e.popFirst(5)}function bc(e,t,n){return{name:mc(e,t),fields:n.value.mapValue.fields}}function xc(e,t){let n;if(`targetChange`in t){t.targetChange;let r=function(e){return e===`NO_CHANGE`?0:e===`ADD`?1:e===`REMOVE`?2:e===`CURRENT`?3:e===`RESET`?4:F(39313,{state:e})}(t.targetChange.targetChangeType||`NO_CHANGE`),i=t.targetChange.targetIds||[],a=function(e,t){return e.useProto3Json?(I(t===void 0||typeof t==`string`,58123),Gi.fromBase64String(t||``)):(I(t===void 0||t instanceof Buffer||t instanceof Uint8Array,16193),Gi.fromUint8Array(t||new Uint8Array))}(e,t.targetChange.resumeToken),o=t.targetChange.cause;n=new Ys(r,i,a,o&&function(e){return new V(e.code===void 0?B.UNKNOWN:ws(e.code),e.message||``)}(o)||null)}else if(`documentChange`in t){t.documentChange;let r=t.documentChange;r.document,r.document.name,r.document.updateTime;let i=hc(e,r.document.name),a=uc(r.document.updateTime),o=r.document.createTime?uc(r.document.createTime):G.min(),s=new Ba({mapValue:{fields:r.document.fields}}),c=qo.newFoundDocument(i,a,o,s);n=new qs(r.targetIds||[],r.removedTargetIds||[],c.key,c)}else if(`documentDelete`in t){t.documentDelete;let r=t.documentDelete;r.document;let i=hc(e,r.document),a=r.readTime?uc(r.readTime):G.min(),o=qo.newNoDocument(i,a);n=new qs([],r.removedTargetIds||[],o.key,o)}else if(`documentRemove`in t){t.documentRemove;let r=t.documentRemove;r.document;let i=hc(e,r.document);n=new qs([],r.removedTargetIds||[],i,null)}else{if(!(`filter`in t))return F(11601,{ye:t});{t.filter;let e=t.filter;e.targetId;let{count:r=0,unchangedNames:i}=e,a=new xs(r,i),o=e.targetId;n=new Js(o,a)}}return n}function Sc(e,t){let n;if(t instanceof vo)n={update:bc(e,t.key,t.value)};else if(t instanceof Co)n={delete:mc(e,t.key)};else if(t instanceof yo)n={update:bc(e,t.key,t.data),updateMask:Ic(t.fieldMask)};else{if(!(t instanceof wo))return F(16599,{we:t.type});n={verify:mc(e,t.key)}}return t.fieldTransforms.length>0&&(n.updateTransforms=t.fieldTransforms.map((e=>function(e,t){let n=t.transform;if(n instanceof Ya)return{fieldPath:t.field.canonicalString(),setToServerValue:`REQUEST_TIME`};if(n instanceof Xa)return{fieldPath:t.field.canonicalString(),appendMissingElements:{values:n.elements}};if(n instanceof Qa)return{fieldPath:t.field.canonicalString(),removeAllFromArray:{values:n.elements}};if(n instanceof to)return{fieldPath:t.field.canonicalString(),increment:n.l};if(n instanceof no)return{fieldPath:t.field.canonicalString(),minimum:n.l};if(n instanceof ro)return{fieldPath:t.field.canonicalString(),maximum:n.l};throw F(20930,{transform:t.transform})}(0,e)))),t.precondition.isNone||(n.currentDocument=function(e,t){return t.updateTime===void 0?t.exists===void 0?F(27497):{exists:t.exists}:{updateTime:lc(e,t.updateTime)}}(e,t.precondition)),n}function Cc(e,t){return e&&e.length>0?(I(t!==void 0,14353),e.map((e=>function(e,t){let n=e.updateTime?uc(e.updateTime):uc(t);return n.isEqual(G.min())&&(n=uc(t)),new co(n,e.transformResults||[])}(e,t)))):[]}function wc(e,t){return{documents:[gc(e,t.path)]}}function Tc(e,t){let n={structuredQuery:{}},r=t.path,i;t.collectionGroup===null?(i=r.popLast(),n.structuredQuery.from=[{collectionId:r.lastSegment()}]):(i=r,n.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]),n.parent=gc(e,i);let a=function(e){if(e.length!==0)return Fc(Ao.create(e,`and`))}(t.filters);a&&(n.structuredQuery.where=a);let o=function(e){if(e.length!==0)return e.map((e=>function(e){return{field:Nc(e.field),direction:Ac(e.dir)}}(e)))}(t.orderBy);o&&(n.structuredQuery.orderBy=o);let s=ac(e,t.limit);return s!==null&&(n.structuredQuery.limit=s),t.startAt&&(n.structuredQuery.startAt=function(e){return{before:e.inclusive,values:e.position}}(t.startAt)),t.endAt&&(n.structuredQuery.endAt=function(e){return{before:!e.inclusive,values:e.position}}(t.endAt)),{be:n,parent:i}}function Ec(e){let t=_c(e.parent),n=e.structuredQuery,r=n.from?n.from.length:0,i=null;if(r>0){I(r===1,65062);let e=n.from[0];e.allDescendants?i=e.collectionId:t=t.child(e.collectionId)}let a=[];n.where&&(a=function(e){let t=kc(e);return t instanceof Ao&&Mo(t)?t.getFilters():[t]}(n.where));let o=[];n.orderBy&&(o=function(e){return e.map((e=>function(e){return new Go(Pc(e.field),function(e){switch(e){case`ASCENDING`:return`asc`;case`DESCENDING`:return`desc`;default:return}}(e.direction))}(e)))}(n.orderBy));let s=null;n.limit&&(s=function(e){let t;return t=typeof e==`object`?e.value:e,sa(t)?null:t}(n.limit));let c=null;n.startAt&&(c=function(e){let t=!!e.before;return new To(e.values||[],t)}(n.startAt));let l=null;return n.endAt&&(l=function(e){let t=!e.before;return new To(e.values||[],t)}(n.endAt)),os(t,i,o,a,s,`F`,c,l)}function Dc(e,t){let n=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 F(28987,{purpose:e})}}(t.purpose);return n==null?null:{"goog-listen-tags":n}}function Oc(e,t){return{structuredPipeline:{pipeline:{stages:t.stages.map((t=>t._toProto(e)))}}}}function kc(e){return e.unaryFilter===void 0?e.fieldFilter===void 0?e.compositeFilter===void 0?F(30097,{filter:e}):function(e){return Ao.create(e.compositeFilter.filters.map((e=>kc(e))),function(e){switch(e){case`AND`:return`and`;case`OR`:return`or`;default:return F(1026)}}(e.compositeFilter.op))}(e):function(e){return ko.create(Pc(e.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 F(58110);default:return F(50506)}}(e.fieldFilter.op),e.fieldFilter.value)}(e):function(e){switch(e.unaryFilter.op){case`IS_NAN`:let t=Pc(e.unaryFilter.field);return ko.create(t,`==`,{doubleValue:NaN});case`IS_NULL`:let n=Pc(e.unaryFilter.field);return ko.create(n,`==`,{nullValue:`NULL_VALUE`});case`IS_NOT_NAN`:let r=Pc(e.unaryFilter.field);return ko.create(r,`!=`,{doubleValue:NaN});case`IS_NOT_NULL`:let i=Pc(e.unaryFilter.field);return ko.create(i,`!=`,{nullValue:`NULL_VALUE`});case`OPERATOR_UNSPECIFIED`:return F(61313);default:return F(60726)}}(e)}function Ac(e){return tc[e]}function jc(e){return nc[e]}function Mc(e){return rc[e]}function Nc(e){return{fieldPath:e.canonicalString()}}function Pc(e){return Ei.fromServerFormat(e.fieldPath)}function Fc(e){return e instanceof ko?function(e){if(e.op===`==`){if(Pa(e.value))return{unaryFilter:{field:Nc(e.field),op:`IS_NAN`}};if(Na(e.value))return{unaryFilter:{field:Nc(e.field),op:`IS_NULL`}}}else if(e.op===`!=`){if(Pa(e.value))return{unaryFilter:{field:Nc(e.field),op:`IS_NOT_NAN`}};if(Na(e.value))return{unaryFilter:{field:Nc(e.field),op:`IS_NOT_NULL`}}}return{fieldFilter:{field:Nc(e.field),op:jc(e.op),value:e.value}}}(e):e instanceof Ao?function(e){let t=e.getFilters().map((e=>Fc(e)));return t.length===1?t[0]:{compositeFilter:{op:Mc(e.op),filters:t}}}(e):F(54877,{filter:e})}function Ic(e){let t=[];return e.fields.forEach((e=>t.push(e.canonicalString()))),{fieldPaths:t}}function Lc(e){return e.length>=4&&e.get(0)===`projects`&&e.get(2)===`databases`}function Rc(e){return!!e&&typeof e._toProto==`function`&&e._protoValueType===`ProtoValue`}function zc(e,t){let n={fields:{}};return t.forEach(((t,r)=>{if(typeof r!=`string`)throw Error(`Cannot encode map with non-string key: ${r}`);n.fields[r]=t._toProto(e)})),{mapValue:n}}function Bc(e){return{stringValue:e}}function Vc(e){return new ic(e,!0)}var Hc=class e{constructor(e){this._byteString=e}static fromBase64String(t){try{return new e(Gi.fromBase64String(t))}catch(e){throw new V(B.INVALID_ARGUMENT,`Failed to construct data from Base64 string: `+e)}}static fromUint8Array(t){return new e(Gi.fromUint8Array(t))}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:e._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(t){if(Bi(t,e._jsonSchema))return e.fromBase64String(t.bytes)}};Hc._jsonSchemaVersion=`firestore/bytes/1.0`,Hc._jsonSchema={type:zi(`string`,Hc._jsonSchemaVersion),bytes:zi(`string`)};var Uc=class{constructor(...e){for(let t=0;t<e.length;++t)if(e[t].length===0)throw new V(B.INVALID_ARGUMENT,`Invalid field name at argument $(i + 1). Field names must not be empty.`);this._internalPath=new Ei(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}};function Wc(){return new Uc(Ci)}var Gc=class{constructor(e){this._methodName=e}},Kc=class e{constructor(e,t){if(!isFinite(e)||e<-90||e>90)throw new V(B.INVALID_ARGUMENT,`Latitude must be a number between -90 and 90, but was: `+e);if(!isFinite(t)||t<-180||t>180)throw new V(B.INVALID_ARGUMENT,`Longitude must be a number between -180 and 180, but was: `+t);this._lat=e,this._long=t}get latitude(){return this._lat}get longitude(){return this._long}isEqual(e){return this._lat===e._lat&&this._long===e._long}_compareTo(e){return R(this._lat,e._lat)||R(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:e._jsonSchemaVersion}}static fromJSON(t){if(Bi(t,e._jsonSchema))return new e(t.latitude,t.longitude)}};Kc._jsonSchemaVersion=`firestore/geoPoint/1.0`,Kc._jsonSchema={type:zi(`string`,Kc._jsonSchemaVersion),latitude:zi(`number`),longitude:zi(`number`)};var qc=class{constructor(e){this.uid=e}isAuthenticated(){return this.uid!=null}toKey(){return this.isAuthenticated()?`uid:`+this.uid:`anonymous-user`}isEqual(e){return e.uid===this.uid}};qc.UNAUTHENTICATED=new qc(null),qc.GOOGLE_CREDENTIALS=new qc(`google-credentials-uid`),qc.FIRST_PARTY=new qc(`first-party-uid`),qc.MOCK_USER=new qc(`mock-user`);var Jc=class{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}},Yc=class{constructor(e,t){this.user=t,this.type=`OAuth`,this.headers=new Map,this.headers.set(`Authorization`,`Bearer ${e}`)}},Xc=class{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable((()=>t(qc.UNAUTHENTICATED)))}shutdown(){}},Zc=class{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}},Qc=class{constructor(e){this.ve=e,this.currentUser=qc.UNAUTHENTICATED,this.De=0,this.forceRefresh=!1,this.auth=null}start(e,t){I(this.xe===void 0,42304);let n=this.De,r=e=>this.De===n?Promise.resolve():(n=this.De,t(e)),i=new Jc;this.xe=()=>{this.De++,this.currentUser=this.Ce(),i.resolve(),i=new Jc,e.enqueueRetryable((()=>r(this.currentUser)))};let a=()=>{let t=i;e.enqueueRetryable((async()=>{await t.promise,await r(this.currentUser)}))},o=e=>{P(`FirebaseAuthCredentialsProvider`,`Auth detected`),this.auth=e,this.xe&&(this.auth.addAuthTokenListener(this.xe),a())};this.ve.onInit((e=>o(e))),setTimeout((()=>{if(!this.auth){let e=this.ve.getImmediate({optional:!0});e?o(e):(P(`FirebaseAuthCredentialsProvider`,`Auth not yet detected`),i.resolve(),i=new Jc)}}),0),a()}getToken(){let e=this.De,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then((t=>this.De===e?t?(I(typeof t.accessToken==`string`,31837,{Fe:t}),new Yc(t.accessToken,this.currentUser)):null:(P(`FirebaseAuthCredentialsProvider`,`getToken aborted due to token change.`),this.getToken()))):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.xe&&this.auth.removeAuthTokenListener(this.xe),this.xe=void 0}Ce(){let e=this.auth&&this.auth.getUid();return I(e===null||typeof e==`string`,2055,{Oe:e}),new qc(e)}},$c=class{constructor(e,t,n){this.Me=e,this.Ne=t,this.Le=n,this.type=`FirstParty`,this.user=qc.FIRST_PARTY,this.Be=new Map}Ue(){return this.Le?this.Le():null}get headers(){this.Be.set(`X-Goog-AuthUser`,this.Me);let e=this.Ue();return e&&this.Be.set(`Authorization`,e),this.Ne&&this.Be.set(`X-Goog-Iam-Authorization-Token`,this.Ne),this.Be}},el=class{constructor(e,t,n){this.Me=e,this.Ne=t,this.Le=n}getToken(){return Promise.resolve(new $c(this.Me,this.Ne,this.Le))}start(e,t){e.enqueueRetryable((()=>t(qc.FIRST_PARTY)))}shutdown(){}invalidateToken(){}},tl=class{constructor(e){this.value=e,this.type=`AppCheck`,this.headers=new Map,e&&e.length>0&&this.headers.set(`x-firebase-appcheck`,this.value)}},nl=class{constructor(e,t){this.ke=t,this.forceRefresh=!1,this.appCheck=null,this.qe=null,this.$e=null,Jt(e)&&e.settings.appCheckToken&&(this.$e=e.settings.appCheckToken)}start(e,t){I(this.xe===void 0,3512);let n=e=>{e.error!=null&&P(`FirebaseAppCheckTokenProvider`,`Error getting App Check token; using placeholder token instead. Error: ${e.error.message}`);let n=e.token!==this.qe;return this.qe=e.token,P(`FirebaseAppCheckTokenProvider`,`Received ${n?`new`:`existing`} token.`),n?t(e.token):Promise.resolve()};this.xe=t=>{e.enqueueRetryable((()=>n(t)))};let r=e=>{P(`FirebaseAppCheckTokenProvider`,`AppCheck detected`),this.appCheck=e,this.xe&&this.appCheck.addTokenListener(this.xe)};this.ke.onInit((e=>r(e))),setTimeout((()=>{if(!this.appCheck){let e=this.ke.getImmediate({optional:!0});e?r(e):P(`FirebaseAppCheckTokenProvider`,`AppCheck not yet detected`)}}),0)}getToken(){if(this.$e)return Promise.resolve(new tl(this.$e));let e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then((e=>e?(I(typeof e.token==`string`,44558,{tokenResult:e}),this.qe=e.token,new tl(e.token)):null)):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.xe&&this.appCheck.removeTokenListener(this.xe),this.xe=void 0}};function rl(e){let t={};return e.timeoutSeconds!==void 0&&(t.timeoutSeconds=e.timeoutSeconds),t}var il=class{Ke(e){}shutdown(){}},al=`ConnectivityMonitor`,ol=class{constructor(){this.Qe=()=>this.We(),this.Ge=()=>this.ze(),this.je=[],this.He()}Ke(e){this.je.push(e)}shutdown(){window.removeEventListener(`online`,this.Qe),window.removeEventListener(`offline`,this.Ge)}He(){window.addEventListener(`online`,this.Qe),window.addEventListener(`offline`,this.Ge)}We(){P(al,`Network connectivity changed: AVAILABLE`);for(let e of this.je)e(0)}ze(){P(al,`Network connectivity changed: UNAVAILABLE`);for(let e of this.je)e(1)}static Je(){return typeof window<`u`&&window.addEventListener!==void 0&&window.removeEventListener!==void 0}},sl=null;function cl(){return sl===null?sl=function(){return 268435456+Math.round(2147483648*Math.random())}():sl++,`0x`+sl.toString(16)}var ll=`RestConnection`,ul={BatchGetDocuments:`batchGet`,Commit:`commit`,RunQuery:`runQuery`,RunAggregationQuery:`runAggregationQuery`,ExecutePipeline:`executePipeline`},dl=class{get Ye(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;let t=e.ssl?`https`:`http`,n=encodeURIComponent(this.databaseId.projectId),r=encodeURIComponent(this.databaseId.database);this.Ze=t+`://`+e.host,this.Xe=`projects/${n}/databases/${r}`,this.et=this.databaseId.database===ra?`project_id=${n}`:`project_id=${n}&database_id=${r}`}tt(e,t,n,r,i){let a=cl(),o=this.nt(e,t.toUriEncodedString());P(ll,`Sending RPC '${e}' ${a}:`,o,n);let s={"google-cloud-resource-prefix":this.Xe,"x-goog-request-params":this.et};this.rt(s,r,i);let{host:c}=new URL(o),l=Te(c);return this.it(e,o,s,n,l).then((t=>(P(ll,`Received RPC '${e}' ${a}: `,t),t)),(t=>{throw li(ll,`RPC '${e}' ${a} failed with error: `,t,`url: `,o,`request:`,n),t}))}st(e,t,n,r,i,a){return this.tt(e,t,n,r,i)}rt(e,t,n){if(e[`X-Goog-Api-Client`]=function(){return`gl-js/ fire/`+ii}(),e[`Content-Type`]=`text/plain`,this.databaseInfo.appId&&(e[`X-Firebase-GMPID`]=this.databaseInfo.appId),t&&t.headers.forEach(((t,n)=>e[n]=t)),n&&n.headers.forEach(((t,n)=>e[n]=t)),this.databaseInfo._customHeaders)for(let t of Object.keys(this.databaseInfo._customHeaders))e[t]=this.databaseInfo._customHeaders[t]}nt(e,t){let n=ul[e],r=`${this.Ze}/v1/${t}:${n}`;return this.databaseInfo.apiKey&&(r=`${r}?key=${encodeURIComponent(this.databaseInfo.apiKey)}`),r}terminate(){}},fl=class{constructor(e){this._t=e._t,this.ot=e.ot}ut(e){this.ct=e}lt(e){this.Et=e}ht(e){this.Tt=e}onMessage(e){this.Pt=e}close(){this.ot()}send(e){this._t(e)}Rt(){this.ct()}It(){this.Et()}At(e){this.Tt(e)}Vt(e){this.Pt(e)}},pl=`WebChannelConnection`,ml=(e,t,n)=>{e.listen(t,(e=>{try{n(e)}catch(e){setTimeout((()=>{throw e}),0)}}))},hl=class e extends dl{constructor(e){super(e),this.dt=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}static ft(){e.gt||=(ml(jn(),An.STAT_EVENT,(e=>{e.stat===kn.PROXY?P(pl,`STAT_EVENT: detected buffering proxy`):e.stat===kn.NOPROXY&&P(pl,`STAT_EVENT: detected no buffering proxy`)})),!0)}it(e,t,n,r,i){let a=cl();return new Promise(((i,o)=>{let s=new Tn;s.setWithCredentials(!0),s.listenOnce(Dn.COMPLETE,(()=>{try{switch(s.getLastErrorCode()){case On.NO_ERROR:let t=s.getResponseJson();P(pl,`XHR for RPC '${e}' ${a} received:`,JSON.stringify(t)),i(t);break;case On.TIMEOUT:P(pl,`RPC '${e}' ${a} timed out`),o(new V(B.DEADLINE_EXCEEDED,`Request time out`));break;case On.HTTP_ERROR:let n=s.getStatus();if(P(pl,`RPC '${e}' ${a} failed with status:`,n,`response text:`,s.getResponseText()),n>0){let e=s.getResponseJson();Array.isArray(e)&&(e=e[0]);let t=e?.error;t&&t.status&&t.message?o(new V(function(e){let t=e.toLowerCase().replace(/_/g,`-`);return Object.values(B).indexOf(t)>=0?t:B.UNKNOWN}(t.status),t.message)):o(new V(B.UNKNOWN,`Server responded with status `+s.getStatus()))}else o(new V(B.UNAVAILABLE,`Connection failed.`));break;default:F(9055,{yt:e,streamId:a,wt:s.getLastErrorCode(),bt:s.getLastError()})}}finally{P(pl,`RPC '${e}' ${a} completed.`)}}));let c=JSON.stringify(r);P(pl,`RPC '${e}' ${a} sending request:`,r),s.send(t,`POST`,c,n,15)}))}St(t,n,r){let i=cl(),a=[this.Ze,`/`,`google.firestore.v1.Firestore`,`/`,t,`/channel`],o=this.createWebChannelTransport(),s={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},c=this.longPollingOptions.timeoutSeconds;c!==void 0&&(s.longPollingTimeout=Math.round(1e3*c)),this.useFetchStreams&&(s.useFetchStreams=!0),this.rt(s.initMessageHeaders,n,r),s.encodeInitMessageHeaders=!0;let l=a.join(``);P(pl,`Creating RPC '${t}' stream ${i}: ${l}`,s);let u=o.createWebChannel(l,s);this.vt(u);let d=!1,f=!1,p=new fl({_t:e=>{f?P(pl,`Not sending because RPC '${t}' stream ${i} is closed:`,e):(d||=(P(pl,`Opening RPC '${t}' stream ${i} transport.`),u.open(),!0),P(pl,`RPC '${t}' stream ${i} sending:`,e),u.send(e))},ot:()=>u.close()});return ml(u,En.EventType.OPEN,(()=>{f||(P(pl,`RPC '${t}' stream ${i} transport opened.`),p.Rt())})),ml(u,En.EventType.CLOSE,(()=>{f||(f=!0,P(pl,`RPC '${t}' stream ${i} transport closed`),p.At(),this.Dt(u))})),ml(u,En.EventType.ERROR,(e=>{f||(f=!0,li(pl,`RPC '${t}' stream ${i} transport errored. Name:`,e.name,`Message:`,e.message),p.At(new V(B.UNAVAILABLE,`The operation could not be completed`)))})),ml(u,En.EventType.MESSAGE,(e=>{if(!f){let n=e.data[0];I(!!n,16349);let r=n,a=r?.error||r[0]?.error;if(a){P(pl,`RPC '${t}' stream ${i} received error:`,a);let e=a.status,n=function(e){let t=Ss[e];if(t!==void 0)return ws(t)}(e),r=a.message;e===`NOT_FOUND`&&r.includes(`database`)&&r.includes(`does not exist`)&&r.includes(this.databaseId.database)&&li(`Database '${this.databaseId.database}' not found. Please check your project configuration.`),n===void 0&&(n=B.INTERNAL,r=`Unknown error status: `+e+` with message `+a.message),f=!0,p.At(new V(n,r)),u.close()}else P(pl,`RPC '${t}' stream ${i} received:`,n),p.Vt(n)}})),e.ft(),setTimeout((()=>{p.It()}),0),p}terminate(){this.dt.forEach((e=>e.close())),this.dt=[]}vt(e){this.dt.push(e)}Dt(e){this.dt=this.dt.filter((t=>t===e))}rt(e,t,n){super.rt(e,t,n),this.databaseInfo.apiKey&&(e[`x-goog-api-key`]=this.databaseInfo.apiKey)}createWebChannelTransport(){return Mn()}};function gl(e){return new hl(e)}hl.gt=!1;var _l=class{constructor(e,t,n=1e3,r=1.5,i=6e4){this.xt=e,this.timerId=t,this.Ct=n,this.Ft=r,this.Ot=i,this.Mt=0,this.Nt=null,this.Lt=Date.now(),this.reset()}reset(){this.Mt=0}Bt(){this.Mt=this.Ot}Ut(e){this.cancel();let t=Math.floor(this.Mt+this.kt()),n=Math.max(0,Date.now()-this.Lt),r=Math.max(0,t-n);r>0&&P(`ExponentialBackoff`,`Backing off for ${r} ms (base delay: ${this.Mt} ms, delay with jitter: ${t} ms, last attempt: ${n} ms ago)`),this.Nt=this.xt.enqueueAfterDelay(this.timerId,r,(()=>(this.Lt=Date.now(),e()))),this.Mt*=this.Ft,this.Mt<this.Ct&&(this.Mt=this.Ct),this.Mt>this.Ot&&(this.Mt=this.Ot)}qt(){this.Nt!==null&&(this.Nt.skipDelay(),this.Nt=null)}cancel(){this.Nt!==null&&(this.Nt.cancel(),this.Nt=null)}kt(){return(Math.random()-.5)*this.Mt}},vl=`PersistentStream`,yl=class{constructor(e,t,n,r,i,a,o,s){this.xt=e,this.$t=n,this.Kt=r,this.connection=i,this.authCredentialsProvider=a,this.appCheckCredentialsProvider=o,this.listener=s,this.state=0,this.Qt=0,this.Wt=null,this.Gt=null,this.stream=null,this.zt=0,this.jt=new _l(e,t)}Ht(){return this.state===1||this.state===5||this.Jt()}Jt(){return this.state===2||this.state===3}start(){this.zt=0,this.state===4?this.Yt():this.auth()}async stop(){this.Ht()&&await this.close(0)}Zt(){this.state=0,this.jt.reset()}Xt(){this.Jt()&&this.Wt===null&&(this.Wt=this.xt.enqueueAfterDelay(this.$t,6e4,(()=>this.en())))}tn(e){this.nn(),this.stream.send(e)}async en(){if(this.Jt())return this.close(0)}nn(){this.Wt&&=(this.Wt.cancel(),null)}rn(){this.Gt&&=(this.Gt.cancel(),null)}async close(e,t){this.nn(),this.rn(),this.jt.cancel(),this.Qt++,e===4?t&&t.code===B.RESOURCE_EXHAUSTED?(ci(t.toString()),ci(`Using maximum backoff delay to prevent overloading the backend.`),this.jt.Bt()):t&&t.code===B.UNAUTHENTICATED&&this.state!==3&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()):this.jt.reset(),this.stream!==null&&(this.sn(),this.stream.close(),this.stream=null),this.state=e,await this.listener.ht(t)}sn(){}auth(){this.state=1;let e=this._n(this.Qt),t=this.Qt;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then((([e,n])=>{this.Qt===t&&this.an(e,n)}),(t=>{e((()=>{let e=new V(B.UNKNOWN,`Fetching auth token failed: `+t.message);return this.un(e)}))}))}an(e,t){let n=this._n(this.Qt);this.stream=this.cn(e,t),this.stream.ut((()=>{n((()=>this.listener.ut()))})),this.stream.lt((()=>{n((()=>(this.state=2,this.Gt=this.xt.enqueueAfterDelay(this.Kt,1e4,(()=>(this.Jt()&&(this.state=3),Promise.resolve()))),this.listener.lt())))})),this.stream.ht((e=>{n((()=>this.un(e)))})),this.stream.onMessage((e=>{n((()=>++this.zt==1?this.En(e):this.onNext(e)))}))}Yt(){this.state=5,this.jt.Ut((async()=>{this.state=0,this.start()}))}un(e){return P(vl,`close with error: ${e}`),this.stream=null,this.close(4,e)}_n(e){return t=>{this.xt.enqueueAndForget((()=>this.Qt===e?t():(P(vl,`stream callback skipped by getCloseGuardedDispatcher.`),Promise.resolve())))}}},bl=class extends yl{constructor(e,t,n,r,i,a){super(e,`listen_stream_connection_backoff`,`listen_stream_idle`,`health_check_timeout`,t,n,r,a),this.serializer=i}cn(e,t){return this.connection.St(`Listen`,e,t)}En(e){return this.onNext(e)}onNext(e){this.jt.reset();let t=xc(this.serializer,e),n=function(e){if(!(`targetChange`in e))return G.min();let t=e.targetChange;return t.targetIds&&t.targetIds.length?G.min():t.readTime?uc(t.readTime):G.min()}(e);return this.listener.hn(t,n)}Tn(e){let t={};t.database=vc(this.serializer),t.addTarget=function(e,t){let n,r=t.target;if(n=rs(r)?{pipelineQuery:Oc(e,r)}:is(r)?{documents:wc(e,r)}:{query:Tc(e,r).be},n.targetId=t.targetId,t.resumeToken.approximateByteSize()>0){n.resumeToken=cc(e,t.resumeToken);let r=ac(e,t.expectedCount);r!==null&&(n.expectedCount=r)}else if(t.snapshotVersion.compareTo(G.min())>0){n.readTime=oc(e,t.snapshotVersion.toTimestamp());let r=ac(e,t.expectedCount);r!==null&&(n.expectedCount=r)}return n}(this.serializer,e);let n=Dc(this.serializer,e);n&&(t.labels=n),this.tn(t)}Pn(e){let t={};t.database=vc(this.serializer),t.removeTarget=e,this.tn(t)}},xl=class extends yl{constructor(e,t,n,r,i,a){super(e,`write_stream_connection_backoff`,`write_stream_idle`,`health_check_timeout`,t,n,r,a),this.serializer=i}get Rn(){return this.zt>0}start(){this.lastStreamToken=void 0,super.start()}sn(){this.Rn&&this.In([])}cn(e,t){return this.connection.St(`Write`,e,t)}En(e){return I(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,I(!e.writeResults||e.writeResults.length===0,55816),this.listener.An()}onNext(e){I(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this.jt.reset();let t=Cc(e.writeResults,e.commitTime),n=uc(e.commitTime);return this.listener.Vn(n,t)}dn(){let e={};e.database=vc(this.serializer),this.tn(e)}In(e){let t={streamToken:this.lastStreamToken,writes:e.map((e=>Sc(this.serializer,e)))};this.tn(t)}},Sl=class{},Cl=class extends Sl{constructor(e,t,n,r){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=n,this.serializer=r,this.fn=!1}mn(){if(this.fn)throw new V(B.FAILED_PRECONDITION,`The client has already been terminated.`)}tt(e,t,n,r){return this.mn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([i,a])=>this.connection.tt(e,fc(t,n),r,i,a))).catch((e=>{throw e.name===`FirebaseError`?(e.code===B.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new V(B.UNKNOWN,e.toString())}))}st(e,t,n,r,i){return this.mn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([a,o])=>this.connection.st(e,fc(t,n),r,a,o,i))).catch((e=>{throw e.name===`FirebaseError`?(e.code===B.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new V(B.UNKNOWN,e.toString())}))}terminate(){this.fn=!0,this.connection.terminate()}};function wl(e,t,n,r){return new Cl(e,t,n,r)}var Tl=`ComponentProvider`,El=new Map;function Dl(e,t,n,r,i){return new na(e,t,n,i.host,i.ssl,i.experimentalForceLongPolling,i.experimentalAutoDetectLongPolling,rl(i.experimentalLongPollingOptions),i.useFetchStreams,i.isUsingEmulator,r,i._customHeaders,i.grpcFlowControlWindow)}var Ol={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0},kl=41943040,Al=class e{static withCacheSize(t){return new e(t,e.DEFAULT_COLLECTION_PERCENTILE,e.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,n){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=n}};Al.DEFAULT_COLLECTION_PERCENTILE=10,Al.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,Al.DEFAULT=new Al(kl,Al.DEFAULT_COLLECTION_PERCENTILE,Al.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),Al.DISABLED=new Al(-1,0,0);var jl=class{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=e=>this.pn(e),this.gn=e=>t.writeSequenceNumber(e))}pn(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){let e=++this.previousValue;return this.gn&&this.gn(e),e}};jl.yn=-1;var Ml=`The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.`,Nl=class{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach((e=>e()))}};async function Pl(e){if(e.code!==B.FAILED_PRECONDITION||e.message!==Ml)throw e;P(`LocalStore`,`Unexpectedly lost primary lease`)}var J=class e{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(t,n){return this.callbackAttached&&F(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(n,this.error):this.wrapSuccess(t,this.result):new e(((e,r)=>{this.nextCallback=n=>{this.wrapSuccess(t,n).next(e,r)},this.catchCallback=t=>{this.wrapFailure(n,t).next(e,r)}}))}toPromise(){return new Promise(((e,t)=>{this.next(e,t)}))}wrapUserFunction(t){try{let n=t();return n instanceof e?n:e.resolve(n)}catch(t){return e.reject(t)}}wrapSuccess(t,n){return t?this.wrapUserFunction((()=>t(n))):e.resolve(n)}wrapFailure(t,n){return t?this.wrapUserFunction((()=>t(n))):e.reject(n)}static resolve(t){return new e(((e,n)=>{e(t)}))}static reject(t){return new e(((e,n)=>{n(t)}))}static waitFor(t){return new e(((e,n)=>{let r=0,i=0,a=!1;t.forEach((t=>{++r,t.next((()=>{++i,a&&i===r&&e()}),(e=>n(e)))})),a=!0,i===r&&e()}))}static or(t){let n=e.resolve(!1);for(let r of t)n=n.next((t=>t?e.resolve(t):r()));return n}static forEach(e,t){let n=[];return e.forEach(((e,r)=>{n.push(t.call(this,e,r))})),this.waitFor(n)}static mapArray(t,n){return new e(((e,r)=>{let i=t.length,a=Array(i),o=0;for(let s=0;s<i;s++){let c=s;n(t[c]).next((t=>{a[c]=t,++o,o===i&&e(a)}),(e=>r(e)))}}))}static doWhile(t,n){return new e(((e,r)=>{let i=()=>{!0===t()?n().next((()=>{i()}),r):e()};i()}))}};function Fl(e){let t=e.match(/Android ([\d.]+)/i),n=t?t[1].split(`.`).slice(0,2).join(`.`):`-1`;return Number(n)}function Il(e){return e.name===`IndexedDbTransactionError`}var Ll=`LruGarbageCollector`,Rl=1048576;function zl([e,t],[n,r]){let i=R(e,n);return i===0?R(t,r):i}var Bl=class{constructor(e){this.Jn=e,this.buffer=new xi(zl),this.Yn=0}Zn(){return++this.Yn}Xn(e){let t=[e,this.Zn()];if(this.buffer.size<this.Jn)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();zl(t,e)<0&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}},Vl=class{constructor(e,t,n){this.garbageCollector=e,this.asyncQueue=t,this.localStore=n,this.er=null}start(){this.garbageCollector.params.cacheSizeCollectionThreshold!==-1&&this.tr(6e4)}stop(){this.er&&=(this.er.cancel(),null)}get started(){return this.er!==null}tr(e){P(Ll,`Garbage collection scheduled in ${e}ms`),this.er=this.asyncQueue.enqueueAfterDelay(`lru_garbage_collection`,e,(async()=>{this.er=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(e){Il(e)?P(Ll,`Ignoring IndexedDB error during garbage collection: `,e):await Pl(e)}await this.tr(3e5)}))}},Hl=class{constructor(e,t){this.nr=e,this.params=t}calculateTargetCount(e,t){return this.nr.rr(e).next((e=>Math.floor(t/100*e)))}nthSequenceNumber(e,t){if(t===0)return J.resolve(jl.yn);let n=new Bl(t);return this.nr.forEachTarget(e,(e=>n.Xn(e.sequenceNumber))).next((()=>this.nr.ir(e,(e=>n.Xn(e))))).next((()=>n.maxValue))}removeTargets(e,t,n){return this.nr.removeTargets(e,t,n)}removeOrphanedDocuments(e,t){return this.nr.removeOrphanedDocuments(e,t)}collect(e,t){return this.params.cacheSizeCollectionThreshold===-1?(P(`LruGarbageCollector`,`Garbage collection skipped; disabled`),J.resolve(Ol)):this.getCacheSize(e).next((n=>n<this.params.cacheSizeCollectionThreshold?(P(`LruGarbageCollector`,`Garbage collection skipped; Cache size ${n} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),Ol):this.sr(e,t)))}getCacheSize(e){return this.nr.getCacheSize(e)}sr(e,t){let n,r,i,a,o,s,c,l=Date.now();return this.calculateTargetCount(e,this.params.percentileToCollect).next((t=>(t>this.params.maximumSequenceNumbersToCollect?(P(`LruGarbageCollector`,`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${t}`),r=this.params.maximumSequenceNumbersToCollect):r=t,a=Date.now(),this.nthSequenceNumber(e,r)))).next((r=>(n=r,o=Date.now(),this.removeTargets(e,n,t)))).next((t=>(i=t,s=Date.now(),this.removeOrphanedDocuments(e,n)))).next((e=>(c=Date.now(),si()<=y.DEBUG&&P(`LruGarbageCollector`,`LRU Garbage Collection\n\tCounted targets in ${a-l}ms\n\tDetermined least recently used ${r} in `+(o-a)+`ms
|
|
26
|
+
\tRemoved ${i} targets in `+(s-o)+`ms
|
|
27
|
+
\tRemoved ${e} documents in `+(c-s)+`ms
|
|
28
|
+
Total Duration: ${c-l}ms`),J.resolve({didRun:!0,sequenceNumbersCollected:r,targetsRemoved:i,documentsRemoved:e}))))}};function Ul(e,t){return new Hl(e,t)}var Wl=`firestore.googleapis.com`,Gl=!0,Kl=class{constructor(e){if(e.host===void 0){if(e.ssl!==void 0)throw new V(B.INVALID_ARGUMENT,`Can't provide ssl option if host option is not set`);this.host=Wl,this.ssl=Gl}else this.host=e.host,this.ssl=e.ssl??Gl;if(this.isUsingEmulator=e.emulatorOptions!==void 0,this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e._customHeaders&&(this._customHeaders={...e._customHeaders}),e.cacheSizeBytes===void 0)this.cacheSizeBytes=kl;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<Rl)throw new V(B.INVALID_ARGUMENT,`cacheSizeBytes must be at least 1048576`);this.cacheSizeBytes=e.cacheSizeBytes}if(Ni(`experimentalForceLongPolling`,e.experimentalForceLongPolling,`experimentalAutoDetectLongPolling`,e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalAutoDetectLongPolling=this.experimentalForceLongPolling?!1:e.experimentalAutoDetectLongPolling===void 0||!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=rl(e.experimentalLongPollingOptions??{}),function(e){if(e.timeoutSeconds!==void 0){if(isNaN(e.timeoutSeconds))throw new V(B.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (must not be NaN)`);if(e.timeoutSeconds<5)throw new V(B.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (minimum allowed value is 5)`);if(e.timeoutSeconds>30)throw new V(B.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (maximum allowed value is 30)`)}}(this.experimentalLongPollingOptions),this.useFetchStreams=!!e.useFetchStreams,e.grpcFlowControlWindow!==void 0){if(typeof e.grpcFlowControlWindow!=`number`||e.grpcFlowControlWindow<=0||e.grpcFlowControlWindow>2147483647||!Number.isInteger(e.grpcFlowControlWindow))throw new V(B.INVALID_ARGUMENT,`grpcFlowControlWindow must be a positive integer and cannot exceed 2147483647`);this.grpcFlowControlWindow=e.grpcFlowControlWindow}}isEqual(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&function(e,t){return e.timeoutSeconds===t.timeoutSeconds}(this.experimentalLongPollingOptions,e.experimentalLongPollingOptions)&&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 n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0}(this._customHeaders,e._customHeaders)}},ql=class{constructor(e,t,n,r){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=n,this._app=r,this.type=`firestore-lite`,this._persistenceKey=`(lite)`,this._settings=new Kl({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask=`notTerminated`}get app(){if(!this._app)throw new V(B.FAILED_PRECONDITION,`Firestore was not initialized using the Firebase SDK. 'app' is not available`);return this._app}get _initialized(){return this._settingsFrozen}get _terminated(){return this._terminateTask!==`notTerminated`}_setSettings(e){if(this._settingsFrozen)throw new V(B.FAILED_PRECONDITION,`Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.`);this._settings=new Kl(e),this._emulatorOptions=e.emulatorOptions||{},e.credentials!==void 0&&(this._authCredentials=function(e){if(!e)return new Xc;switch(e.type){case`firstParty`:return new el(e.sessionIndex||`0`,e.iamToken||null,e.authTokenFactory||null);case`provider`:return e.client;default:throw new V(B.INVALID_ARGUMENT,`makeAuthCredentialsProvider failed due to invalid credential type`)}}(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return this._terminateTask===`notTerminated`&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){this._terminateTask===`notTerminated`?await this._terminate():this._terminateTask=`notTerminated`}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return function(e){let t=El.get(e);t&&(P(Tl,`Removing Datastore`),El.delete(e),t.terminate())}(this),Promise.resolve()}};function Jl(e,t,n,r={}){e=Ri(e,ql);let i=Te(t),a=e._getSettings(),o={...a,emulatorOptions:e._getEmulatorOptions()},s=`${t}:${n}`;i&&Ee(`https://${s}`),a.host!==Wl&&a.host!==s&&li(`Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.`);let c={...a,host:s,ssl:i,emulatorOptions:r};if(!ge(c,o)&&(e._setSettings(c),r.mockUserToken)){let t,n;if(typeof r.mockUserToken==`string`)t=r.mockUserToken,n=qc.MOCK_USER;else{t=te(r.mockUserToken,e._app?.options.projectId);let i=r.mockUserToken.sub||r.mockUserToken.user_id;if(!i)throw new V(B.INVALID_ARGUMENT,`mockUserToken must contain 'sub' or 'user_id' field!`);n=new qc(i)}e._authCredentials=new Zc(new Yc(t,n))}}var Yl=class e{constructor(e,t,n){this.converter=t,this._query=n,this.type=`query`,this.firestore=e}withConverter(t){return new e(this.firestore,t,this._query)}},Xl=class e{constructor(e,t,n){this.converter=t,this._key=n,this.type=`document`,this.firestore=e}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new Zl(this.firestore,this.converter,this._key.path.popLast())}withConverter(t){return new e(this.firestore,t,this._key)}toJSON(){return{type:e._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(t,n,r){if(Bi(n,e._jsonSchema))return new e(t,r||null,new U(H.fromString(n.referencePath)))}};Xl._jsonSchemaVersion=`firestore/documentReference/1.0`,Xl._jsonSchema={type:zi(`string`,Xl._jsonSchemaVersion),referencePath:zi(`string`)};var Zl=class e extends Yl{constructor(e,t,n){super(e,t,ss(n)),this._path=n,this.type=`collection`}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){let e=this._path.popLast();return e.isEmpty()?null:new Xl(this.firestore,null,new U(e))}withConverter(t){return new e(this.firestore,t,this._path)}};function Ql(e,t,...n){if(e=v(e),Mi(`collection`,`path`,t),e instanceof ql){let r=H.fromString(t,...n);return Fi(r),new Zl(e,null,r)}{if(!(e instanceof Xl||e instanceof Zl))throw new V(B.INVALID_ARGUMENT,`Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore`);let r=e._path.child(H.fromString(t,...n));return Fi(r),new Zl(e.firestore,null,r)}}function $l(e,t,...n){if(e=v(e),arguments.length===1&&(t=pi.newId()),Mi(`doc`,`path`,t),e instanceof ql){let r=H.fromString(t,...n);return Pi(r),new Xl(e,null,new U(r))}{if(!(e instanceof Xl||e instanceof Zl))throw new V(B.INVALID_ARGUMENT,`Expected first argument to doc() to be a CollectionReference, a DocumentReference or FirebaseFirestore`);let r=e._path.child(H.fromString(t,...n));return Pi(r),new Xl(e.firestore,e instanceof Zl?e.converter:null,new U(r))}}var eu=class e{constructor(e){this._values=(e||[]).map((e=>e))}toArray(){return this._values.map((e=>e))}isEqual(e){return function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(e[n]!==t[n])return!1;return!0}(this._values,e._values)}toJSON(){return{type:e._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(t){if(Bi(t,e._jsonSchema)){if(Array.isArray(t.vectorValues)&&t.vectorValues.every((e=>typeof e==`number`)))return new e(t.vectorValues);throw new V(B.INVALID_ARGUMENT,`Expected 'vectorValues' field to be a number array`)}}};eu._jsonSchemaVersion=`firestore/vectorValue/1.0`,eu._jsonSchema={type:zi(`string`,eu._jsonSchemaVersion),vectorValues:zi(`object`)};var tu=/^__.*__$/,nu=class{constructor(e,t,n){this.data=e,this.fieldMask=t,this.fieldTransforms=n}toMutation(e,t){return this.fieldMask===null?new vo(e,this.data,t,this.fieldTransforms):new yo(e,this.data,this.fieldMask,t,this.fieldTransforms)}};function ru(e){switch(e){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw F(40011,{dataSource:e})}}var iu=class e{constructor(e,t,n,r,i,a){this.settings=e,this.databaseId=t,this.serializer=n,this.ignoreUndefinedProperties=r,i===void 0&&this.validatePath(),this.fieldTransforms=i||[],this.fieldMask=a||[]}get path(){return this.settings.path}get dataSource(){return this.settings.dataSource}contextWith(t){return new e({...this.settings,...t},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}childContextForField(e){let t=this.path?.child(e),n=this.contextWith({path:t,arrayElement:!1});return n.validatePathSegment(e),n}childContextForFieldPath(e){let t=this.path?.child(e),n=this.contextWith({path:t,arrayElement:!1});return n.validatePath(),n}childContextForArray(e){return this.contextWith({path:void 0,arrayElement:!0})}createError(e){return gu(e,this.settings.methodName,this.settings.hasConverter||!1,this.path,this.settings.targetDoc)}contains(e){return this.fieldMask.find((t=>e.isPrefixOf(t)))!==void 0||this.fieldTransforms.find((t=>e.isPrefixOf(t.field)))!==void 0}validatePath(){if(this.path)for(let e=0;e<this.path.length;e++)this.validatePathSegment(this.path.get(e))}validatePathSegment(e){if(e.length===0)throw this.createError(`Document fields must not be empty`);if(ru(this.dataSource)&&tu.test(e))throw this.createError(`Document fields cannot begin and end with "__"`)}},au=class{constructor(e,t,n){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=n||Vc(e)}createContext(e,t,n,r=!1){return new iu({dataSource:e,methodName:t,targetDoc:n,path:Ei.emptyPath(),arrayElement:!1,hasConverter:r},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}};function ou(e){let t=e._freezeSettings(),n=Vc(e._databaseId);return new au(e._databaseId,!!t.ignoreUndefinedProperties,n)}function su(e,t,n,r,i,a={}){let o=e.createContext(a.merge||a.mergeFields?2:0,t,n,i);fu(`Data must be an object, but it was:`,o,r);let s=uu(r,o),c,l;if(a.merge)c=new Di(o.fieldMask),l=o.fieldTransforms;else if(a.mergeFields){let e=[];for(let r of a.mergeFields){let i=pu(t,r,n);if(!o.contains(i))throw new V(B.INVALID_ARGUMENT,`Field '${i}' is specified in your field mask but missing from your input data.`);_u(e,i)||e.push(i)}c=new Di(e),l=o.fieldTransforms.filter((e=>c.covers(e.field)))}else c=null,l=o.fieldTransforms;return new nu(new Ba(s),c,l)}function cu(e,t,n,r=!1){return lu(n,e.createContext(r?4:3,t))}function lu(e,t,n){if(du(e=v(e)))return fu(`Unsupported field value:`,t,e),uu(e,t);if(e instanceof Gc)return function(e,t){if(!ru(t.dataSource))throw t.createError(`${e._methodName}() can only be used with update() and set()`);if(!t.path)throw t.createError(`${e._methodName}() is not currently supported inside arrays`);let n=e._toFieldTransform(t);n&&t.fieldTransforms.push(n)}(e,t),null;if(e===void 0&&t.ignoreUndefinedProperties)return null;if(t.path&&t.fieldMask.push(t.path),e instanceof Array){if(t.settings.arrayElement&&t.dataSource!==4)throw t.createError(`Nested arrays are not supported`);return function(e,t){let n=[],r=0;for(let i of e){let e=lu(i,t.childContextForArray(r));e??={nullValue:`NULL_VALUE`},n.push(e),r++}return{arrayValue:{values:n}}}(e,t)}return function(e,t,n){if((e=v(e))===null)return{nullValue:`NULL_VALUE`};if(typeof e==`number`)return Wa(t.serializer,e);if(typeof e==`boolean`)return{booleanValue:e};if(typeof e==`string`)return{stringValue:e};if(e instanceof Date){let n=Ui.fromDate(e);return{timestampValue:oc(t.serializer,n)}}if(e instanceof Ui){let n=new Ui(e.seconds,1e3*Math.floor(e.nanoseconds/1e3));return{timestampValue:oc(t.serializer,n)}}if(e instanceof Kc)return{geoPointValue:{latitude:e.latitude,longitude:e.longitude}};if(e instanceof Hc)return{bytesValue:cc(t.serializer,e._byteString)};if(e instanceof Xl){let n=t.databaseId,r=e.firestore._databaseId;if(!r.isEqual(n))throw t.createError(`Document reference is for database ${r.projectId}/${r.database} but should be for database ${n.projectId}/${n.database}`);return{referenceValue:dc(e.firestore._databaseId||t.databaseId,e._key.path)}}if(e instanceof eu)return function(e,t){let n=e instanceof eu?e.toArray():e;return{mapValue:{fields:{[da]:{stringValue:ma},[ha]:{arrayValue:{values:n.map((e=>{if(typeof e!=`number`)throw t.createError(`VectorValues must only contain numeric values.`);return Ha(t.serializer,e)}))}}}}}}(e,t);if(Rc(e))return e._toProto(t.serializer);throw t.createError(`Unsupported field value: ${Li(e)}`)}(e,t)}function uu(e,t){let n={};return ji(e)?t.path&&t.path.length>0&&t.fieldMask.push(t.path):ki(e,((e,r)=>{let i=lu(r,t.childContextForField(e));i!=null&&(n[e]=i)})),{mapValue:{fields:n}}}function du(e){return!(typeof e!=`object`||!e||e instanceof Array||e instanceof Date||e instanceof Ui||e instanceof Kc||e instanceof Hc||e instanceof Xl||e instanceof Gc||e instanceof eu||Rc(e))}function fu(e,t,n){if(!du(n)||!Ii(n)){let r=Li(n);throw r===`an object`?t.createError(e+` a custom object`):t.createError(e+` `+r)}}function pu(e,t,n){if((t=v(t))instanceof Uc)return t._internalPath;if(typeof t==`string`)return hu(e,t);throw gu(`Field path arguments must be of type string or `,e,!1,void 0,n)}var mu=RegExp(`[~\\*/\\[\\]]`);function hu(e,t,n){if(t.search(mu)>=0)throw gu(`Invalid field path (${t}). Paths must not contain '~', '*', '/', '[', or ']'`,e,!1,void 0,n);try{return new Uc(...t.split(`.`))._internalPath}catch{throw gu(`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,e,!1,void 0,n)}}function gu(e,t,n,r,i){let a=r&&!r.isEmpty(),o=i!==void 0,s=`Function ${t}() called with invalid data`;n&&(s+=" (via `toFirestore()`)"),s+=`. `;let c=``;return(a||o)&&(c+=` (found`,a&&(c+=` in field ${r}`),o&&(c+=` in document ${i}`),c+=`)`),new V(B.INVALID_ARGUMENT,s+e+c)}function _u(e,t){return e.some((e=>e.isEqual(t)))}function vu(e){return typeof e._readUserData==`function`}var yu=class e{constructor(e){this.optionDefinitions=e}_getKnownOptions(t,n){let r=Ba.empty();for(let i in this.optionDefinitions)if(this.optionDefinitions.hasOwnProperty(i)){let a=this.optionDefinitions[i];if(i in t){let o=t[i],s;a.nestedOptions&&Ii(o)?s={mapValue:{fields:new e(a.nestedOptions).getOptionsProto(n,o)}}:o&&(s=lu(o,n)??void 0),s&&r.set(Ei.fromServerFormat(a.serverName),s)}}return r}getOptionsProto(e,t,n){let r=this._getKnownOptions(t,e);if(n){let t=new Map(Ai(n,((t,n)=>[Ei.fromServerFormat(n),t===void 0?null:lu(t,e)])));r.setAll(t)}return r.value.mapValue.fields??{}}};function bu(e){return typeof e==`object`&&!!e&&!!(`nullValue`in e&&(e.nullValue===null||e.nullValue===`NULL_VALUE`)||`booleanValue`in e&&(e.booleanValue===null||typeof e.booleanValue==`boolean`)||`integerValue`in e&&(e.integerValue===null||typeof e.integerValue==`number`||typeof e.integerValue==`string`)||`doubleValue`in e&&(e.doubleValue===null||typeof e.doubleValue==`number`)||`timestampValue`in e&&(e.timestampValue===null||function(e){return typeof e==`object`&&!!e&&`seconds`in e&&(e.seconds===null||typeof e.seconds==`number`||typeof e.seconds==`string`)&&`nanos`in e&&(e.nanos===null||typeof e.nanos==`number`)}(e.timestampValue))||`stringValue`in e&&(e.stringValue===null||typeof e.stringValue==`string`)||`bytesValue`in e&&(e.bytesValue===null||e.bytesValue instanceof Uint8Array)||`referenceValue`in e&&(e.referenceValue===null||typeof e.referenceValue==`string`)||`geoPointValue`in e&&(e.geoPointValue===null||function(e){return typeof e==`object`&&!!e&&`latitude`in e&&(e.latitude===null||typeof e.latitude==`number`)&&`longitude`in e&&(e.longitude===null||typeof e.longitude==`number`)}(e.geoPointValue))||`arrayValue`in e&&(e.arrayValue===null||function(e){return typeof e==`object`&&!!e&&!(!(`values`in e)||e.values!==null&&!Array.isArray(e.values))}(e.arrayValue))||`mapValue`in e&&(e.mapValue===null||function(e){return typeof e==`object`&&!!e&&!(!(`fields`in e)||e.fields!==null&&!Ii(e.fields))}(e.mapValue))||`fieldReferenceValue`in e&&(e.fieldReferenceValue===null||typeof e.fieldReferenceValue==`string`)||`functionValue`in e&&(e.functionValue===null||function(e){return typeof e==`object`&&!!e&&!(!(`name`in e)||e.name!==null&&typeof e.name!=`string`||!(`args`in e)||e.args!==null&&!Array.isArray(e.args))}(e.functionValue))||`pipelineValue`in e&&(e.pipelineValue===null||function(e){return typeof e==`object`&&!!e&&!(!(`stages`in e)||e.stages!==null&&!Array.isArray(e.stages))}(e.pipelineValue)))}function xu(e){return new eu(e)}function Y(e){let t;return e instanceof wu?e:(t=Ii(e)?zu(e):e instanceof Array?Bu(e):Pu(e,void 0),t)}function Su(e){if(e instanceof wu)return e;if(e instanceof eu)return Nu(e);if(Array.isArray(e))return Nu(xu(e));throw Error(`Unsupported value: `+typeof e)}function Cu(e){return ua(e)?Au(e):Y(e)}var wu=class{constructor(){this._protoValueType=`ProtoValue`}add(e){return new X(`add`,[this,Y(e)],`add`)}asBoolean(){if(this instanceof Fu)return this;if(this instanceof Mu)return new Lu(this);if(this instanceof ku)return new Ru(this);if(this instanceof X)return new Iu(this);throw new V(`invalid-argument`,`Conversion of type ${typeof this} to BooleanExpression not supported.`)}subtract(e){return new X(`subtract`,[this,Y(e)],`subtract`)}multiply(e){return new X(`multiply`,[this,Y(e)],`multiply`)}divide(e){return new X(`divide`,[this,Y(e)],`divide`)}mod(e){return new X(`mod`,[this,Y(e)],`mod`)}equal(e){return new X(`equal`,[this,Y(e)],`equal`).asBoolean()}notEqual(e){return new X(`not_equal`,[this,Y(e)],`notEqual`).asBoolean()}lessThan(e){return new X(`less_than`,[this,Y(e)],`lessThan`).asBoolean()}lessThanOrEqual(e){return new X(`less_than_or_equal`,[this,Y(e)],`lessThanOrEqual`).asBoolean()}greaterThan(e){return new X(`greater_than`,[this,Y(e)],`greaterThan`).asBoolean()}greaterThanOrEqual(e){return new X(`greater_than_or_equal`,[this,Y(e)],`greaterThanOrEqual`).asBoolean()}arrayConcat(e,...t){let n=[e,...t].map((e=>Y(e)));return new X(`array_concat`,[this,...n],`arrayConcat`)}arrayContains(e){return new X(`array_contains`,[this,Y(e)],`arrayContains`).asBoolean()}arrayContainsAll(e){let t=Array.isArray(e)?new Ou(e.map(Y),`arrayContainsAll`):e;return new X(`array_contains_all`,[this,t],`arrayContainsAll`).asBoolean()}arrayContainsAny(e){let t=Array.isArray(e)?new Ou(e.map(Y),`arrayContainsAny`):e;return new X(`array_contains_any`,[this,t],`arrayContainsAny`).asBoolean()}arrayReverse(){return new X(`array_reverse`,[this])}arrayLength(){return new X(`array_length`,[this],`arrayLength`)}equalAny(e){let t=Array.isArray(e)?new Ou(e.map(Y),`equalAny`):e;return new X(`equal_any`,[this,t],`equalAny`).asBoolean()}notEqualAny(e){let t=Array.isArray(e)?new Ou(e.map(Y),`notEqualAny`):e;return new X(`not_equal_any`,[this,t],`notEqualAny`).asBoolean()}exists(){return new X(`exists`,[this],`exists`).asBoolean()}charLength(){return new X(`char_length`,[this],`charLength`)}like(e){return new X(`like`,[this,Y(e)],`like`).asBoolean()}regexContains(e){return new X(`regex_contains`,[this,Y(e)],`regexContains`).asBoolean()}regexFind(e){return new X(`regex_find`,[this,Y(e)],`regexFind`)}regexFindAll(e){return new X(`regex_find_all`,[this,Y(e)],`regexFindAll`)}regexMatch(e){return new X(`regex_match`,[this,Y(e)],`regexMatch`).asBoolean()}stringContains(e){return new X(`string_contains`,[this,Y(e)],`stringContains`).asBoolean()}startsWith(e){return new X(`starts_with`,[this,Y(e)],`startsWith`).asBoolean()}endsWith(e){return new X(`ends_with`,[this,Y(e)],`endsWith`).asBoolean()}toLower(){return new X(`to_lower`,[this],`toLower`)}toUpper(){return new X(`to_upper`,[this],`toUpper`)}trim(e){let t=[this];return e&&t.push(Y(e)),new X(`trim`,t,`trim`)}ltrim(e){let t=[this];return e&&t.push(Y(e)),new X(`ltrim`,t,`ltrim`)}rtrim(e){let t=[this];return e&&t.push(Y(e)),new X(`rtrim`,t,`rtrim`)}type(){return new X(`type`,[this])}isType(e){return new X(`is_type`,[this,Nu(e)],`isType`).asBoolean()}stringConcat(e,...t){let n=[e,...t].map(Y);return new X(`string_concat`,[this,...n],`stringConcat`)}stringIndexOf(e){return new X(`string_index_of`,[this,Y(e)],`stringIndexOf`)}stringRepeat(e){return new X(`string_repeat`,[this,Y(e)],`stringRepeat`)}stringReplaceAll(e,t){return new X(`string_replace_all`,[this,Y(e),Y(t)],`stringReplaceAll`)}stringReplaceOne(e,t){return new X(`string_replace_one`,[this,Y(e),Y(t)],`stringReplaceOne`)}concat(e,...t){let n=[e,...t].map(Y);return new X(`concat`,[this,...n],`concat`)}reverse(){return new X(`reverse`,[this],`reverse`)}arrayFilter(e,t){return new X(`array_filter`,[this,Y(e),t],`arrayFilter`)}arrayTransform(e,t){return new X(`array_transform`,[this,Y(e),t],`arrayTransform`)}arrayTransformWithIndex(e,t,n){return new X(`array_transform`,[this,Y(e),Y(t),n],`arrayTransformWithIndex`)}arraySlice(e,t){let n=[this,Y(e)];return t!==void 0&&n.push(Y(t)),new X(`array_slice`,n,`arraySlice`)}arrayFirst(){return new X(`array_first`,[this],`arrayFirst`)}arrayFirstN(e){return new X(`array_first_n`,[this,Y(e)],`arrayFirstN`)}arrayLast(){return new X(`array_last`,[this],`arrayLast`)}arrayLastN(e){return new X(`array_last_n`,[this,Y(e)],`arrayLastN`)}arrayMaximum(){return new X(`maximum`,[this],`arrayMaximum`)}arrayMaximumN(e){return new X(`maximum_n`,[this,Y(e)],`arrayMaximumN`)}arrayMinimum(){return new X(`minimum`,[this],`arrayMinimum`)}arrayMinimumN(e){return new X(`minimum_n`,[this,Y(e)],`arrayMinimumN`)}arrayIndexOf(e){return new X(`array_index_of`,[this,Y(e),Y(`first`)],`arrayIndexOf`)}arrayLastIndexOf(e){return new X(`array_index_of`,[this,Y(e),Y(`last`)],`arrayLastIndexOf`)}arrayIndexOfAll(e){return new X(`array_index_of_all`,[this,Y(e)],`arrayIndexOfAll`)}byteLength(){return new X(`byte_length`,[this],`byteLength`)}ceil(){return new X(`ceil`,[this])}floor(){return new X(`floor`,[this])}abs(){return new X(`abs`,[this])}exp(){return new X(`exp`,[this])}mapGet(e){return new X(`map_get`,[this,Nu(e)],`mapGet`)}mapSet(e,t,...n){return new X(`map_set`,[this,Y(e),Y(t),...n.map(Y)],`mapSet`)}mapKeys(){return new X(`map_keys`,[this],`mapKeys`)}mapValues(){return new X(`map_values`,[this],`mapValues`)}mapEntries(){return new X(`map_entries`,[this],`mapEntries`)}getField(e){return new X(`get_field`,[this,Y(e)],`get_field`)}count(){return Tu._create(`count`,[this],`count`)}sum(){return Tu._create(`sum`,[this],`sum`)}average(){return Tu._create(`average`,[this],`average`)}minimum(){return Tu._create(`minimum`,[this],`minimum`)}maximum(){return Tu._create(`maximum`,[this],`maximum`)}first(){return Tu._create(`first`,[this],`first`)}last(){return Tu._create(`last`,[this],`last`)}arrayAgg(){return Tu._create(`array_agg`,[this],`arrayAgg`)}arrayAggDistinct(){return Tu._create(`array_agg_distinct`,[this],`arrayAggDistinct`)}countDistinct(){return Tu._create(`count_distinct`,[this],`countDistinct`)}logicalMaximum(e,...t){let n=[e,...t];return new X(`maximum`,[this,...n.map(Y)],`logicalMaximum`)}logicalMinimum(e,...t){let n=[e,...t];return new X(`minimum`,[this,...n.map(Y)],`minimum`)}vectorLength(){return new X(`vector_length`,[this],`vectorLength`)}cosineDistance(e){return new X(`cosine_distance`,[this,Su(e)],`cosineDistance`)}dotProduct(e){return new X(`dot_product`,[this,Su(e)],`dotProduct`)}euclideanDistance(e){return new X(`euclidean_distance`,[this,Su(e)],`euclideanDistance`)}unixMicrosToTimestamp(){return new X(`unix_micros_to_timestamp`,[this],`unixMicrosToTimestamp`)}timestampToUnixMicros(){return new X(`timestamp_to_unix_micros`,[this],`timestampToUnixMicros`)}unixMillisToTimestamp(){return new X(`unix_millis_to_timestamp`,[this],`unixMillisToTimestamp`)}timestampToUnixMillis(){return new X(`timestamp_to_unix_millis`,[this],`timestampToUnixMillis`)}unixSecondsToTimestamp(){return new X(`unix_seconds_to_timestamp`,[this],`unixSecondsToTimestamp`)}timestampToUnixSeconds(){return new X(`timestamp_to_unix_seconds`,[this],`timestampToUnixSeconds`)}timestampAdd(e,t){return new X(`timestamp_add`,[this,Y(e),Y(t)],`timestampAdd`)}timestampSubtract(e,t){return new X(`timestamp_subtract`,[this,Y(e),Y(t)],`timestampSubtract`)}timestampDiff(e,t){return new X(`timestamp_diff`,[this,Cu(e),Y(t)],`timestampDiff`)}timestampExtract(e,t){let n=[this,Y(e)];return t&&n.push(Y(t)),new X(`timestamp_extract`,n,`timestampExtract`)}documentId(){return new X(`document_id`,[this],`documentId`)}parent(){return new X(`parent`,[this],`parent`)}substring(e,t){let n=Y(e);return new X(`substring`,t===void 0?[this,n]:[this,n,Y(t)],`substring`)}arrayGet(e){return new X(`array_get`,[this,Y(e)],`arrayGet`)}isError(){return new X(`is_error`,[this],`isError`).asBoolean()}ifError(e){let t=new X(`if_error`,[this,Y(e)],`ifError`);return e instanceof Fu?t.asBoolean():t}isAbsent(){return new X(`is_absent`,[this],`isAbsent`).asBoolean()}mapRemove(e){return new X(`map_remove`,[this,Y(e)],`mapRemove`)}mapMerge(e,...t){let n=Y(e),r=t.map(Y);return new X(`map_merge`,[this,n,...r],`mapMerge`)}pow(e){return new X(`pow`,[this,Y(e)])}trunc(e){return e===void 0?new X(`trunc`,[this]):new X(`trunc`,[this,Y(e)],`trunc`)}round(e){return e===void 0?new X(`round`,[this]):new X(`round`,[this,Y(e)],`round`)}collectionId(){return new X(`collection_id`,[this])}length(){return new X(`length`,[this])}ln(){return new X(`ln`,[this])}sqrt(){return new X(`sqrt`,[this])}stringReverse(){return new X(`string_reverse`,[this])}ifAbsent(e){return new X(`if_absent`,[this,Y(e)],`ifAbsent`)}ifNull(e){return new X(`if_null`,[this,Y(e)],`ifNull`)}coalesce(e,...t){return new X(`coalesce`,[this,Y(e),...t.map(Y)],`coalesce`)}join(e){return new X(`join`,[this,Y(e)],`join`)}log10(){return new X(`log10`,[this])}arraySum(){return new X(`sum`,[this])}split(e){return new X(`split`,[this,Y(e)])}timestampTruncate(e,t){let n=[this,Y(e)];return t&&n.push(Y(t)),new X(`timestamp_trunc`,n)}ascending(){return Vu(this)}descending(){return Hu(this)}as(e){return new Du(this,e,`as`)}},Tu=class e{constructor(e,t){this.name=e,this.params=t,this.exprType=`AggregateFunction`,this._protoValueType=`ProtoValue`}static _create(t,n,r){let i=new e(t,n);return i._methodName=r,i}as(e){return new Eu(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}):e,this.params.forEach((t=>t._readUserData(e)))}},Eu=class{constructor(e,t,n){this.aggregate=e,this.alias=t,this._methodName=n}_readUserData(e){this.aggregate._readUserData(e)}},Du=class{constructor(e,t,n){this.expr=e,this.alias=t,this._methodName=n,this.exprType=`AliasedExpression`,this.selectable=!0}_readUserData(e){this.expr._readUserData(e)}},Ou=class extends wu{constructor(e,t){super(),this.ur=e,this._methodName=t,this.expressionType=`ListOfExpressions`}_toProto(e){return{arrayValue:{values:this.ur.map((t=>t._toProto(e)))}}}_readUserData(e){this.ur.forEach((t=>t._readUserData(e)))}},ku=class extends wu{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 X(`geo_distance`,[this,Y(e)],`geoDistance`)}_toProto(e){return{fieldReferenceValue:this.fieldPath.canonicalString()}}_readUserData(e){}};function Au(e){return ju(e,`field`)}function ju(e,t){return new ku(typeof e==`string`?Ci===e?Wc()._internalPath:pu(`field`,e):e._internalPath,t)}var Mu=class e extends wu{constructor(e,t){super(),this.value=e,this._methodName=t,this.expressionType=`Constant`}static _fromProto(t){let n=new e(t,void 0);return n._protoValue=t,n}_toProto(e){return I(this._protoValue!==void 0,237),this._protoValue}_getValue(){return this._protoValue}_readUserData(e){e=this._methodName?e.contextWith({methodName:this._methodName}):e,bu(this._protoValue)||(this._protoValue=lu(this.value,e))}};function Nu(e,t){return Pu(e,`constant`)}function Pu(e,t){let n=new Mu(e,t);return typeof e==`boolean`?new Lu(n):n}var X=class extends wu{constructor(e,t,n,r){super(),this.name=e,this.params=t,this.expressionType=`Function`,this._optionsProto=void 0,n!==void 0&&(this._methodName=n),r!==void 0&&(this._options=r)}get _optionsUtil(){return new yu({})}_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))}},Fu=class e extends wu{get _methodName(){return this._expr._methodName}countIf(){return Tu._create(`count_if`,[this],`countIf`)}not(){return new X(`not`,[this],`not`).asBoolean()}conditional(e,t){return new X(`conditional`,[this,e,t],`conditional`)}ifError(t){let n=Y(t),r=new X(`if_error`,[this,n],`ifError`);return n instanceof e?r.asBoolean():r}_toProto(e){return this._expr._toProto(e)}_readUserData(e){this._expr._readUserData(e)}},Iu=class extends Fu{constructor(e){super(),this._expr=e,this.expressionType=`Function`}},Lu=class extends Fu{constructor(e){super(),this._expr=e,this.expressionType=`Constant`}_getValue(){return this._expr._getValue()}},Ru=class extends Fu{constructor(e){super(),this._expr=e,this.expressionType=`Field`}};function zu(e,t){let n=[];for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let r=e[t];n.push(Nu(t)),n.push(Y(r))}return new X(`map`,n,`map`)}function Bu(e){return function(e,t){return new X(`array`,e.map((e=>Y(e))),t)}(e,`array`)}function Vu(e){return new Uu(Cu(e),`ascending`,`ascending`)}function Hu(e){return new Uu(Cu(e),`descending`,`descending`)}var Uu=class{constructor(e,t,n){this.expr=e,this.direction=t,this._methodName=n,this._protoValueType=`ProtoValue`}_toProto(e){return{mapValue:{fields:{direction:Bc(this.direction),expression:this.expr._toProto(e)}}}}_readUserData(e){this.expr._readUserData(e)}},Wu=class{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}}},Gu=class extends Wu{get _name(){return`add_fields`}get _optionsUtil(){return new yu({})}constructor(e,t){super(t),this.fields=e}_toProto(e){return{...super._toProto(e),args:[zc(e,this.fields)]}}_readUserData(e){super._readUserData(e),id(this.fields,e)}},Ku=class extends Wu{get _name(){return`aggregate`}get _optionsUtil(){return new yu({})}constructor(e,t,n){super(n),this.groups=e,this.accumulators=t}_toProto(e){return{...super._toProto(e),args:[zc(e,this.accumulators),zc(e,this.groups)]}}_readUserData(e){super._readUserData(e),id(this.groups,e),id(this.accumulators,e)}},qu=class extends Wu{get _name(){return`distinct`}get _optionsUtil(){return new yu({})}constructor(e,t){super(t),this.groups=e}_toProto(e){return{...super._toProto(e),args:[zc(e,this.groups)]}}_readUserData(e){super._readUserData(e),id(this.groups,e)}},Ju=class extends Wu{get _name(){return`collection`}get _optionsUtil(){return new yu({forceIndex:{serverName:`force_index`}})}constructor(e,t){super(t),this.Er=e.startsWith(`/`)?e:`/`+e}_toProto(e){return{...super._toProto(e),args:[{referenceValue:this.Er}]}}_readUserData(e){super._readUserData(e)}},Yu=class extends Wu{get _name(){return`collection_group`}get _optionsUtil(){return new yu({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)}},Xu=class extends Wu{get _name(){return`database`}get _optionsUtil(){return new yu({})}_toProto(e){return{...super._toProto(e)}}_readUserData(e){super._readUserData(e)}},Zu=class extends Wu{get _name(){return`documents`}get _optionsUtil(){return new yu({})}constructor(e,t){if(super(t),!e||e.length===0)throw new V(B.INVALID_ARGUMENT,`Empty document paths are not allowed in DocumentsSource`);let n=e.map((e=>e.startsWith(`/`)?e:`/`+e)),r=new Set(n);if(r.size!==n.length)throw new V(B.INVALID_ARGUMENT,`Duplicate document paths are not allowed in DocumentsSource`);this.hr=n,this.Tr=r}_toProto(e){return{...super._toProto(e),args:this.hr.map((e=>({referenceValue:e})))}}_readUserData(e){super._readUserData(e)}},Qu=class extends Wu{get _name(){return`where`}get _optionsUtil(){return new yu({})}constructor(e,t){super(t),this.condition=e}_toProto(e){return{...super._toProto(e),args:[this.condition._toProto(e)]}}_readUserData(e){super._readUserData(e),id(this.condition,e)}},$u=class extends Wu{get _name(){return`limit`}get _optionsUtil(){return new yu({})}constructor(e,t){I(!isNaN(e)&&e!==1/0&&e!==-1/0,34860),super(t),this.limit=e}_toProto(e){return{...super._toProto(e),args:[Wa(e,this.limit)]}}},ed=class extends Wu{get _name(){return`offset`}get _optionsUtil(){return new yu({})}constructor(e,t){super(t),this.offset=e}_toProto(e){return{...super._toProto(e),args:[Wa(e,this.offset)]}}},td=class extends Wu{get _name(){return`select`}get _optionsUtil(){return new yu({})}constructor(e,t){super(t),this.selections=e}_toProto(e){return{...super._toProto(e),args:[zc(e,this.selections)]}}_readUserData(e){super._readUserData(e),id(this.selections,e)}},nd=class extends Wu{get _name(){return`sort`}get _optionsUtil(){return new yu({})}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),id(this.orderings,e)}},rd=class e extends Wu{get _name(){return`replace_with`}get _optionsUtil(){return new yu({})}constructor(e,t){super(t),this.map=e}_toProto(t){return{...super._toProto(t),args:[this.map._toProto(t),Bc(e.Pr)]}}_readUserData(e){super._readUserData(e),id(this.map,e)}};rd.Pr=`full_replace`;function id(e,t){return vu(e)?e._readUserData(t):Array.isArray(e)||e instanceof Map?e.forEach((e=>e._readUserData(t))):Object.values(e).forEach((e=>e._readUserData(t))),e}var ad=class e{constructor(e,t,n,r){this._db=e,this.userDataReader=t,this._userDataWriter=n,this.stages=r}Ar(e,t){let n=this.userDataReader.createContext(3,e);return vu(t)?t._readUserData(n):t.forEach((e=>e._readUserData(n))),t}where(t){let n=this.stages.map((e=>e));return this.Ar(`where`,t),n.push(new Qu(t,{})),new e(this._db,this.userDataReader,this._userDataWriter,n)}limit(t){let n=this.stages.map((e=>e));return n.push(new $u(t,{})),new e(this._db,this.userDataReader,this._userDataWriter,n)}sort(t,...n){let r=this.stages.map((e=>e));return`orderings`in t?r.push(new nd(this.Ar(`sort`,t.orderings),{})):r.push(new nd(this.Ar(`sort`,[t,...n]),{})),new e(this._db,this.userDataReader,this._userDataWriter,r)}Vr(e){return{pipeline:{stages:this.stages.map((t=>t._toProto(e)))}}}},od=class{constructor(e,t,n){this.serializer=e,this.stages=t,this.listenOptions=n,this.isCorePipeline=!0}getPipelineCollection(){return cd(this)}getPipelineCollectionGroup(){return ld(this)}getPipelineCollectionId(){return ud(this)}getPipelineDocuments(){return dd(this)}getPipelineFlavor(){return function(e){let t=`exact`;return e.stages.forEach(((n,r)=>{n._name!==qu.name&&n._name!==Ku.name||(t=`keyless`),n._name===td.name&&t===`exact`&&(t=`augmented`),n._name===Gu.name&&r<e.stages.length-1&&t===`exact`&&(t=`augmented`)})),t}(this)}getPipelineSourceType(){return sd(this)}};function sd(e){let t=e.stages[0];return t instanceof Ju||t instanceof Yu||t instanceof Xu||t instanceof Zu?t._name:`unknown`}function cd(e){if(sd(e)===`collection`)return e.stages[0].Er}function ld(e){if(sd(e)===`collection_group`)return e.stages[0].collectionId}function ud(e){switch(sd(e)){case`collection`:return H.fromString(cd(e)).lastSegment();case`collection_group`:return ld(e);default:return}}function dd(e){if(sd(e)===`documents`)return e.stages[0].hr}var Z=class e{constructor(e,t){this.type=e,this.value=t}static dr(){return new e(`ERROR`,void 0)}static mr(){return new e(`UNSET`,void 0)}static pr(){return new e(`NULL`,ga)}static newValue(t){return Na(t)?new e(`NULL`,ga):function(e){return!!e&&`booleanValue`in e}(t)?new e(`BOOLEAN`,t):ka(t)?new e(`INT`,t):Aa(t)?new e(`DOUBLE`,t):function(e){return!!e&&`timestampValue`in e&&!!e.timestampValue}(t)?new e(`TIMESTAMP`,t):function(e){return!!e&&`stringValue`in e}(t)?new e(`STRING`,t):function(e){return!!e&&`bytesValue`in e}(t)?new e(`BYTES`,t):t.referenceValue?new e(`REFERENCE`,t):t.geoPointValue?new e(`GEO_POINT`,t):Ma(t)?new e(`ARRAY`,t):Ia(t)?new e(`VECTOR`,t):Fa(t)?new e(`MAP`,t):new e(`ERROR`,void 0)}gr(){return this.type===`ERROR`||this.type===`UNSET`}yr(){return this.type===`NULL`}};function fd(e){if(!e.gr())return e.value}function pd(e){return e instanceof Fu?e._expr:e}function Q(e){if((e=pd(e))instanceof ku)return new md(e);if(e instanceof Mu)return new hd(e);if(e instanceof Ou)return new gd(e);if(e instanceof X){if(e.name===`add`)return new Cd(e);if(e.name===`subtract`)return new wd(e);if(e.name===`multiply`)return new Td(e);if(e.name===`divide`)return new Ed(e);if(e.name===`mod`)return new Dd(e);if(e.name===`and`)return new Od(e);if(e.name===`equal`)return new Wd(e);if(e.name===`not_equal`)return new Gd(e);if(e.name===`less_than`)return new Kd(e);if(e.name===`less_than_or_equal`)return new qd(e);if(e.name===`greater_than`)return new Jd(e);if(e.name===`greater_than_or_equal`)return new Yd(e);if(e.name===`array_concat`)return new Xd(e);if(e.name===`array_reverse`)return new Zd(e);if(e.name===`array_contains`)return new Qd(e);if(e.name===`array_contains_all`)return new $d(e);if(e.name===`array_contains_any`)return new ef(e);if(e.name===`array_length`)return new tf(e);if(e.name===`array_element`)return new nf(e);if(e.name===`equal_any`)return new Md(e);if(e.name===`not_equal_any`)return new Nd(e);if(e.name===`is_nan`)return new Pd(e);if(e.name===`is_not_nan`)return new Fd(e);if(e.name===`is_null`)return new Id(e);if(e.name===`is_not_null`)return new Ld(e);if(e.name===`is_error`)return new Rd(e);if(e.name===`exists`)return new zd(e);if(e.name===`not`)return new kd(e);if(e.name===`or`)return new Ad(e);if(e.name===`xor`)return new jd(e);if(e.name===`conditional`)return new Bd(e);if(e.name===`maximum`)return new Vd(e);if(e.name===`minimum`)return new Hd(e);if(e.name===`reverse`)return new rf(e);if(e.name===`replace_first`)return new af(e);if(e.name===`replace_all`)return new of(e);if(e.name===`char_length`)return new sf(e);if(e.name===`byte_length`)return new cf(e);if(e.name===`like`)return new uf(e);if(e.name===`regex_contains`)return new df(e);if(e.name===`regex_match`)return new ff(e);if(e.name===`string_contains`)return new pf(e);if(e.name===`starts_with`)return new mf(e);if(e.name===`ends_with`)return new hf(e);if(e.name===`to_lower`)return new gf(e);if(e.name===`to_upper`)return new _f(e);if(e.name===`trim`)return new vf(e);if(e.name===`string_concat`)return new yf(e);if(e.name===`map_get`)return new bf(e);if(e.name===`cosine_distance`)return new Sf(e);if(e.name===`dot_product`)return new Cf(e);if(e.name===`euclidean_distance`)return new wf(e);if(e.name===`vector_length`)return new Tf(e);if(e.name===`unix_micros_to_timestamp`)return new Bf(e);if(e.name===`timestamp_to_unix_micros`)return new Wf(e);if(e.name===`unix_millis_to_timestamp`)return new Vf(e);if(e.name===`timestamp_to_unix_millis`)return new Gf(e);if(e.name===`unix_seconds_to_timestamp`)return new Hf(e);if(e.name===`timestamp_to_unix_seconds`)return new Kf(e);if(e.name===`timestamp_add`)return new Jf(e);if(e.name===`timestamp_subtract`)return new Yf(e)}throw Error(`Unknown Expr : ${e}`)}var md=class{constructor(e){this.expr=e}evaluate(e,t){if(this.expr.fieldName===Ci)return Z.newValue({referenceValue:mc(e.serializer,t.key)});if(this.expr.fieldName===`__update_time__`)return Z.newValue({timestampValue:lc(e.serializer,t.version)});if(this.expr.fieldName===`__create_time__`)return Z.newValue({timestampValue:lc(e.serializer,t.createTime)});let n=t.data.field(this.expr._fieldPath);return n?$i(n)?Z.newValue(function(e,t){if(e.serverTimestampBehavior===`estimate`)return{timestampValue:lc(e.serializer,G.fromTimestamp(ta(t)))};if(e.serverTimestampBehavior===`previous`){let e=ea(t);if(e)return e}return{nullValue:`NULL_VALUE`}}(e,n)):Z.newValue(n):Z.mr()}},hd=class{constructor(e){this.expr=e}evaluate(e,t){return Z.newValue(this.expr._getValue())}},gd=class{constructor(e){this.expr=e}evaluate(e,t){let n=this.expr.ur.map((n=>Q(n).evaluate(e,t)));return n.some((e=>e.gr()))?Z.dr():Z.newValue({arrayValue:{values:n.map((e=>e.value))}})}};function _d(e){return Aa(e)?Number(e.doubleValue):Number(e.integerValue)}function vd(e){return BigInt(e.integerValue)}var yd=BigInt(`0x7fffffffffffffff`),bd=-BigInt(`0x8000000000000000`),xd=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length>=2,24778);let n=Q(this.expr.params[0]).evaluate(e,t),r=Q(this.expr.params[1]).evaluate(e,t),i=this.wr(n,r);for(let n of this.expr.params.slice(2)){let r=Q(n).evaluate(e,t);i=this.wr(i,r)}return i}wr(e,t){if(e.gr()||t.gr())return Z.dr();if(e.yr()||t.yr())return Z.pr();let n=e.value,r=t.value;if(!Aa(n)&&!ka(n)||!Aa(r)&&!ka(r))return Z.dr();if(Aa(n)||Aa(r)){let e=this.br(n,r);return e?Z.newValue(e):Z.dr()}if(ka(n)&&ka(r)){let e=this.Sr(n,r);return e===void 0?Z.dr():typeof e==`number`?Z.newValue({doubleValue:e}):e<bd||e>yd?Z.dr():Z.newValue({integerValue:`${e}`})}return Z.dr()}};function Sd(e,t){return ya(e)===ya(t)?Pa(e)||Pa(t)?`NOT_EQ`:Na(e)&&Na(t)?`EQ`:Na(e)||Na(t)?`NULL`:Ma(e)&&Ma(t)?function(e,t){if(e.values?.length!==t.values?.length)return`NOT_EQ`;let n=!1;for(let r=0;r<(e.values?.length??0);r++){let i=e.values[r],a=t.values[r];switch(Sd(i,a)){case`EQ`:break;case`NOT_EQ`:case`TYPE_MISMATCH`:return`NOT_EQ`;case`NULL`:n=!0;break;default:F(44609,{vr:i,Dr:a})}}return n?`NULL`:`EQ`}(e.arrayValue,t.arrayValue):Ia(e)&&Ia(t)||Fa(e)&&Fa(t)?function(e,t){let n=e.fields||{},r=t.fields||{};if(Oi(n)!==Oi(r))return`NOT_EQ`;let i=!1;for(let e in n)if(n.hasOwnProperty(e)){if(r[e]===void 0)return`NOT_EQ`;switch(Sd(n[e],r[e])){case`NOT_EQ`:case`TYPE_MISMATCH`:return`NOT_EQ`;case`NULL`:i=!0}}return i?`NULL`:`EQ`}(e.mapValue,t.mapValue):function(e,t){return ba(e,t,{o:!1,t:!0,i:!0})}(e,t)?`EQ`:`NOT_EQ`:`TYPE_MISMATCH`}var Cd=class extends xd{Sr(e,t){return vd(e)+vd(t)}br(e,t){return{doubleValue:_d(e)+_d(t)}}},wd=class extends xd{constructor(e){super(e),this.expr=e}Sr(e,t){return vd(e)-vd(t)}br(e,t){return{doubleValue:_d(e)-_d(t)}}},Td=class extends xd{constructor(e){super(e),this.expr=e}Sr(e,t){return vd(e)*vd(t)}br(e,t){return{doubleValue:_d(e)*_d(t)}}},Ed=class extends xd{constructor(e){super(e),this.expr=e}Sr(e,t){let n=vd(t);if(n!==BigInt(0))return vd(e)/n}br(e,t){let n=_d(t);return n===0?{doubleValue:ca(n)?-1/0:1/0}:{doubleValue:_d(e)/n}}},Dd=class extends xd{constructor(e){super(e),this.expr=e}Sr(e,t){let n=vd(t);if(n!==BigInt(0))return vd(e)%n}br(e,t){let n=_d(t);if(n!==0)return{doubleValue:_d(e)%n}}},Od=class{constructor(e){this.expr=e}evaluate(e,t){let n=!1,r=!1;for(let i of this.expr.params){let a=Q(i).evaluate(e,t);switch(a.type){case`BOOLEAN`:if(!a.value?.booleanValue)return Z.newValue(va);break;case`NULL`:r=!0;break;default:n=!0}}return n?Z.dr():r?Z.pr():Z.newValue(_a)}},kd=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,9634);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`BOOLEAN`:return Z.newValue({booleanValue:!n.value?.booleanValue});case`NULL`:return Z.pr();default:return Z.dr()}}},Ad=class{constructor(e){this.expr=e}evaluate(e,t){let n=!1,r=!1;for(let i of this.expr.params){let a=Q(i).evaluate(e,t);switch(a.type){case`BOOLEAN`:if(a.value?.booleanValue)return Z.newValue(_a);break;case`NULL`:r=!0;break;default:n=!0}}return n?Z.dr():r?Z.pr():Z.newValue(va)}},jd=class e{constructor(e){this.expr=e}evaluate(t,n){let r=!1,i=!1;for(let a of this.expr.params){let o=Q(a).evaluate(t,n);switch(o.type){case`BOOLEAN`:r=e.xor(r,!!o.value?.booleanValue);break;case`NULL`:i=!0;break;default:return Z.dr()}}return i?Z.pr():Z.newValue({booleanValue:r})}static xor(e,t){return(e||t)&&!(e&&t)}},Md=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===2,55094);let n=!1,r=Q(this.expr.params[0]).evaluate(e,t);switch(r.type){case`NULL`:n=!0;break;case`ERROR`:case`UNSET`:return Z.dr()}let i=Q(this.expr.params[1]).evaluate(e,t);switch(i.type){case`ARRAY`:break;case`NULL`:n=!0;break;default:return Z.dr()}if(n)return Z.pr();for(let e of i.value?.arrayValue?.values??[])switch(Na(r.value)&&Na(e)?`EQ`:Sd(r.value,e)){case`EQ`:return Z.newValue(_a);case`NOT_EQ`:case`TYPE_MISMATCH`:break;case`NULL`:n=!0;break;default:F(44608,{value:r.value,candidate:e})}return n?Z.pr():Z.newValue(va)}},Nd=class{constructor(e){this.expr=e}evaluate(e,t){return new kd(new X(`not`,[new X(`equal_any`,this.expr.params)])).evaluate(e,t)}},Pd=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,23322);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`INT`:return Z.newValue(va);case`DOUBLE`:return Z.newValue({booleanValue:isNaN(_d(n.value))});case`NULL`:return Z.pr();default:return Z.dr()}}},Fd=class{constructor(e){this.expr=e}evaluate(e,t){return I(this.expr.params.length===1,50406),new kd(new X(`not`,[new X(`is_nan`,this.expr.params)])).evaluate(e,t)}},Id=class{constructor(e){this.expr=e}evaluate(e,t){switch(I(this.expr.params.length===1,23123),Q(this.expr.params[0]).evaluate(e,t).type){case`NULL`:return Z.newValue(_a);case`UNSET`:case`ERROR`:return Z.dr();default:return Z.newValue(va)}}},Ld=class{constructor(e){this.expr=e}evaluate(e,t){return I(this.expr.params.length===1,23167),new kd(new X(`not`,[new X(`is_null`,this.expr.params)])).evaluate(e,t)}},Rd=class{constructor(e){this.expr=e}evaluate(e,t){return I(this.expr.params.length===1,5228),Q(this.expr.params[0]).evaluate(e,t).type===`ERROR`?Z.newValue(_a):Z.newValue(va)}},zd=class{constructor(e){this.expr=e}evaluate(e,t){switch(I(this.expr.params.length===1,6877),Q(this.expr.params[0]).evaluate(e,t).type){case`ERROR`:return Z.dr();case`UNSET`:return Z.newValue(va);default:return Z.newValue(_a)}}},Bd=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===3,11706);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`BOOLEAN`:return n.value?.booleanValue?Q(this.expr.params[1]).evaluate(e,t):Q(this.expr.params[2]).evaluate(e,t);case`NULL`:return Q(this.expr.params[2]).evaluate(e,t);default:return Z.dr()}}},Vd=class{constructor(e){this.expr=e}evaluate(e,t){let n=this.expr.params.map((n=>Q(n).evaluate(e,t))),r;for(let e of n)switch(e.type){case`ERROR`:case`UNSET`:case`NULL`:continue;default:r=r===void 0||Sa(e.value,r.value)>0?e:r}return r===void 0?Z.pr():r}},Hd=class{constructor(e){this.expr=e}evaluate(e,t){let n=this.expr.params.map((n=>Q(n).evaluate(e,t))),r;for(let e of n)switch(e.type){case`ERROR`:case`UNSET`:case`NULL`:continue;default:r=r===void 0||Sa(e.value,r.value)<0?e:r}return r===void 0?Z.pr():r}},Ud=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===2,31033,`${this.expr.name}() function should have exactly 2 params`);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`ERROR`:case`UNSET`:return Z.dr()}let r=Q(this.expr.params[1]).evaluate(e,t);switch(r.type){case`ERROR`:case`UNSET`:return Z.dr()}return this.Cr(n,r)}},Wd=class extends Ud{constructor(e){super(e),this.expr=e}Cr(e,t){if(e.yr()&&t.yr())return Z.newValue(_a);if(e.yr()||t.yr()||Pa(e.value)||Pa(t.value)||ya(e.value)!==ya(t.value))return Z.newValue(va);switch(Sd(e.value,t.value)){case`EQ`:return Z.newValue(_a);case`NOT_EQ`:return Z.newValue(va);case`NULL`:return Z.pr();default:F(44615,{left:e,right:t})}}},Gd=class extends Ud{constructor(e){super(e),this.expr=e}Cr(e,t){switch(Sd(e.value,t.value)){case`EQ`:return Z.newValue(va);case`NOT_EQ`:case`TYPE_MISMATCH`:return Z.newValue(_a);case`NULL`:return Z.pr();default:F(44614,{left:e,right:t})}}},Kd=class extends Ud{constructor(e){super(e),this.expr=e}Cr(e,t){return ya(e.value)!==ya(t.value)||Pa(e.value)||Pa(t.value)?Z.newValue(va):Z.newValue({booleanValue:Sa(e.value,t.value)<0})}},qd=class extends Ud{constructor(e){super(e),this.expr=e}Cr(e,t){return ya(e.value)!==ya(t.value)||Pa(e.value)||Pa(t.value)?Z.newValue(va):Sd(e.value,t.value)===`EQ`?Z.newValue(_a):Z.newValue({booleanValue:Sa(e.value,t.value)<0})}},Jd=class extends Ud{constructor(e){super(e),this.expr=e}Cr(e,t){return ya(e.value)!==ya(t.value)||Pa(e.value)||Pa(t.value)?Z.newValue(va):Z.newValue({booleanValue:Sa(e.value,t.value)>0})}},Yd=class extends Ud{constructor(e){super(e),this.expr=e}Cr(e,t){return ya(e.value)!==ya(t.value)||Pa(e.value)||Pa(t.value)?Z.newValue(va):Sd(e.value,t.value)===`EQ`?Z.newValue(_a):Z.newValue({booleanValue:Sa(e.value,t.value)>0})}},Xd=class{constructor(e){this.expr=e}evaluate(e,t){throw Error(`Unimplemented`)}},Zd=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,216);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`NULL`:return Z.pr();case`ARRAY`:{let e=n.value.arrayValue?.values??[];return Z.newValue({arrayValue:{values:[...e].reverse()}})}default:return Z.dr()}}},Qd=class{constructor(e){this.expr=e}evaluate(e,t){return I(this.expr.params.length===2,52884),new Md(new X(`eq_any`,[this.expr.params[1],this.expr.params[0]])).evaluate(e,t)}},$d=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===2,1392);let n=!1,r=Q(this.expr.params[0]).evaluate(e,t);switch(r.type){case`ARRAY`:break;case`NULL`:n=!0;break;default:return Z.dr()}let i=Q(this.expr.params[1]).evaluate(e,t);switch(i.type){case`ARRAY`:break;case`NULL`:n=!0;break;default:return Z.dr()}if(n)return Z.pr();let a=i.value?.arrayValue?.values??[],o=r.value?.arrayValue?.values??[];for(let e of a){let t=!1;n=!1;for(let r of o){switch(Na(e)&&Na(r)?`EQ`:Sd(e,r)){case`EQ`:t=!0;break;case`NOT_EQ`:case`TYPE_MISMATCH`:break;case`NULL`:n=!0;break;default:F(44613,{value:r,search:e})}if(t)break}if(!t)return Z.newValue(va)}return Z.newValue(_a)}},ef=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===2,2680);let n=!1,r=Q(this.expr.params[0]).evaluate(e,t);switch(r.type){case`ARRAY`:break;case`NULL`:n=!0;break;default:return Z.dr()}let i=Q(this.expr.params[1]).evaluate(e,t);switch(i.type){case`ARRAY`:break;case`NULL`:n=!0;break;default:return Z.dr()}if(n)return Z.pr();let a=i.value?.arrayValue?.values??[],o=r.value?.arrayValue?.values??[];for(let e of o)for(let t of a)switch(Na(e)&&Na(t)?`EQ`:Sd(e,t)){case`EQ`:return Z.newValue(_a);case`NOT_EQ`:case`TYPE_MISMATCH`:break;case`NULL`:n=!0;break;default:F(60403,{value:e,search:t})}return n?Z.pr():Z.newValue(va)}},tf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,38605);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`NULL`:return Z.pr();case`ARRAY`:return Z.newValue({integerValue:`${n.value?.arrayValue?.values?.length??0}`});default:return Z.dr()}}},nf=class{constructor(e){this.expr=e}evaluate(e,t){throw Error(`Unimplemented`)}},rf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,1508);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`NULL`:return Z.pr();case`BYTES`:{let e=n.value?.bytesValue;if(typeof e==`string`){let t=Gi.fromBase64String(e).toUint8Array();return t.reverse(),Z.newValue({bytesValue:Gi.fromUint8Array(t).toBase64()})}return Z.newValue({bytesValue:new Uint8Array(e).reverse()})}case`STRING`:{let e=n.value?.stringValue,t=new Intl.__PRIVATE_Segmenter(void 0,{granularity:`grapheme`}).segment(e),r=Array.from(t,(e=>e.segment)).reverse();return Z.newValue({stringValue:r.join(``)})}default:return Z.dr()}}},af=class{constructor(e){this.expr=e}evaluate(e,t){throw Error(`Unimplemented`)}},of=class{constructor(e){this.expr=e}evaluate(e,t){throw Error(`Unimplemented`)}},sf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,19400);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`NULL`:return Z.pr();case`STRING`:{let e=function(e){let t=0;for(let n=0;n<e.length;n++){let r=e.codePointAt(n);if(r===void 0)return;if(r<=65535){if(r>=55296&&r<=57343){if(r<=56319){let r=e.codePointAt(n+1);r!==void 0&&r>=56320&&r<=57343?(t+=1,n++):t+=1}else t+=1}else t+=1}else{if(!(r<=1114111))return;t+=1,n++}}return t}(n.value.stringValue);return e===void 0?Z.dr():Z.newValue({integerValue:e})}default:return Z.dr()}}},cf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,8486);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`BYTES`:{let e=n.value?.bytesValue;return typeof e==`string`?Z.newValue({integerValue:Gi.fromBase64String(e).toUint8Array().length}):Z.newValue({integerValue:new Uint8Array(e).length})}case`STRING`:{let e=function(e){let t=0;for(let n=0;n<e.length;n++){let r=e.codePointAt(n);if(r===void 0)return;if(r>=55296&&r<=57343){if(!(r<=56319))return;{let r=e.codePointAt(n+1);if(r===void 0||!(r>=56320&&r<=57343))return;t+=4,n++}}else if(r<=127)t+=1;else if(r<=2047)t+=2;else if(r<=65535)t+=3;else{if(!(r<=1114111))return;t+=4,n++}}return t}(n.value?.stringValue);return e===void 0?Z.dr():Z.newValue({integerValue:e})}case`NULL`:return Z.pr();default:return Z.dr()}}},lf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===2,39773,`${this.expr.name}() function should have exactly two parameters`);let n=!1,r=Q(this.expr.params[0]).evaluate(e,t);switch(r.type){case`STRING`:break;case`NULL`:n=!0;break;default:return Z.dr()}let i=Q(this.expr.params[1]).evaluate(e,t);switch(i.type){case`STRING`:break;case`NULL`:n=!0;break;default:return Z.dr()}return n?Z.pr():this.Fr(r.value?.stringValue,i.value?.stringValue)}},uf=class extends lf{Fr(e,t){try{let n=function(e){let t=``;for(let n=0;n<e.length;n++){let r=e.charAt(n);switch(r){case`_`:t+=`.`;break;case`%`:t+=`.*`;break;case`\\`:case`.`:case`*`:case`?`:case`+`:case`^`:case`$`:case`|`:case`(`:case`)`:case`[`:case`]`:case`{`:case`}`:t+=`\\`+r;break;default:t+=r}}return`^`+t+`$`}(t),r=ri.compile(n);return Z.newValue({booleanValue:r.matches(e)})}catch(e){return li(`Invalid LIKE pattern converted to regex: ${t}, returning error. Error: ${e}`),Z.dr()}}},df=class extends lf{Fr(e,t){try{let n=ri.compile(t);return Z.newValue({booleanValue:n.test(e)})}catch{return li(`Invalid regex pattern found in regex_contains: ${t}, returning error`),Z.dr()}}},ff=class extends lf{Fr(e,t){try{return Z.newValue({booleanValue:ri.compile(t).matches(e)})}catch{return li(`Invalid regex pattern found in regex_match: ${t}, returning error`),Z.dr()}}},pf=class extends lf{Fr(e,t){return Z.newValue({booleanValue:e.includes(t)})}},mf=class extends lf{Fr(e,t){return Z.newValue({booleanValue:e.startsWith(t)})}},hf=class extends lf{Fr(e,t){return Z.newValue({booleanValue:e.endsWith(t)})}},gf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,29079);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`STRING`:return Z.newValue({stringValue:n.value?.stringValue?.toLowerCase()});case`NULL`:return Z.pr();default:return Z.dr()}}},_f=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,60487);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`STRING`:return Z.newValue({stringValue:n.value?.stringValue?.toUpperCase()});case`NULL`:return Z.pr();default:return Z.dr()}}},vf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,28544);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`STRING`:return Z.newValue({stringValue:n.value?.stringValue?.trim()});case`NULL`:return Z.pr();default:return Z.dr()}}},yf=class{constructor(e){this.expr=e}evaluate(e,t){let n=this.expr.params.map((n=>Q(n).evaluate(e,t))),r=``,i=!1;for(let e of n)switch(e.type){case`STRING`:r+=e.value.stringValue;break;case`NULL`:i=!0;break;default:return Z.dr()}return i?Z.pr():Z.newValue({stringValue:r})}},bf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===2,4483);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`UNSET`:return Z.mr();case`MAP`:break;default:return Z.dr()}let r=Q(this.expr.params[1]).evaluate(e,t);if(r.type!==`STRING`)return Z.dr();let i=n.value?.mapValue?.fields?.[r.value?.stringValue];return i===void 0?Z.mr():Z.newValue(i)}},xf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===2,25231,`${this.expr.name}() function should have exactly 2 params`);let n=!1,r=Q(this.expr.params[0]).evaluate(e,t);switch(r.type){case`VECTOR`:break;case`NULL`:n=!0;break;default:return Z.dr()}let i=Q(this.expr.params[1]).evaluate(e,t);switch(i.type){case`VECTOR`:break;case`NULL`:n=!0;break;default:return Z.dr()}if(n)return Z.pr();let a=La(r.value),o=La(i.value);if(a===void 0||o===void 0||a.values?.length!==o.values?.length)return Z.dr();let s=this.Or(a,o);return s===void 0||isNaN(s)?Z.dr():Z.newValue({doubleValue:s})}},Sf=class extends xf{Or(e,t){let n=e?.values??[],r=t?.values??[];if(n.length===0)return;let i=0,a=0,o=0;for(let e=0;e<n.length;e++){if(!ja(n[e])||!ja(r[e]))return;let t=_d(n[e]),s=_d(r[e]);i+=t*s,a+=t*t,o+=s*s}let s=Math.sqrt(a)*Math.sqrt(o);if(s!==0)return 1-Math.max(-1,Math.min(1,i/s))}},Cf=class extends xf{Or(e,t){let n=e?.values??[],r=t?.values??[];if(n.length===0)return 0;let i=0;for(let e=0;e<n.length;e++){if(!ja(n[e])||!ja(r[e]))return;i+=_d(n[e])*_d(r[e])}return i}},wf=class extends xf{Or(e,t){let n=e?.values??[],r=t?.values??[];if(n.length===0)return 0;let i=0;for(let e=0;e<n.length;e++){if(!ja(n[e])||!ja(r[e]))return;let t=_d(n[e]),a=_d(r[e]);i+=(t-a)**2}return Math.sqrt(i)}},Tf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,39044);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`VECTOR`:{let e=La(n.value);return Z.newValue({integerValue:e?.values?.length??0})}case`NULL`:return Z.pr();default:return Z.dr()}}},Ef=BigInt(-62135596800),Df=BigInt(253402300799),Of=BigInt(1e3),kf=BigInt(1e6),Af=Ef*Of,jf=Df*Of+BigInt(999),Mf=Ef*kf,Nf=Df*kf+BigInt(999999);function Pf(e){return e>=Mf&&e<=Nf}function Ff(e){return e>=Ef&&e<=Df}function If(e,t){let n=BigInt(e);return!(n<Ef||n>Df)&&!(t<0||t>=1e9)&&(n!==Ef||t===0)&&!(n===Df&&t>999999999)}function Lf(e,t){return t<0?{seconds:e-1,nanos:t+1e9}:{seconds:e,nanos:t}}function Rf(e){return BigInt(e.seconds)*kf+BigInt(Math.trunc(e.nanoseconds/1e3))}var zf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,49262,`${this.expr.name}() function should have exactly one parameter`);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`INT`:return this.toTimestamp(BigInt(n.value.integerValue));case`NULL`:return Z.pr();default:return Z.dr()}}},Bf=class extends zf{toTimestamp(e){if(!Pf(e))return Z.dr();let t=Number(e/kf),n=Number(e%kf*BigInt(1e3)),r=Lf(t,n);return t=r.seconds,n=r.nanos,If(t,n)?Z.newValue({timestampValue:{seconds:t,nanos:n}}):Z.dr()}},Vf=class extends zf{toTimestamp(e){if(!function(e){return e>=Af&&e<=jf}(e))return Z.dr();let t=Number(e/Of),n=Number(e%Of*BigInt(1e6)),r=Lf(t,n);return t=r.seconds,n=r.nanos,If(t,n)?Z.newValue({timestampValue:{seconds:t,nanos:n}}):Z.dr()}},Hf=class extends zf{toTimestamp(e){if(!Ff(e))return Z.dr();let t=Number(e);return Z.newValue({timestampValue:{seconds:t,nanos:0}})}},Uf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===1,1265,`${this.expr.name}() function should have exactly one parameter`);let n=Q(this.expr.params[0]).evaluate(e,t);switch(n.type){case`TIMESTAMP`:break;case`NULL`:return Z.pr();default:return Z.dr()}let r=sc(n.value.timestampValue);return If(r.seconds,r.nanoseconds)?this.Mr(r):Z.dr()}},Wf=class extends Uf{Mr(e){let t=Rf(e);return Pf(t)?Z.newValue({integerValue:`${t.toString()}`}):Z.dr()}},Gf=class extends Uf{Mr(e){let t=Rf(e),n=t/BigInt(1e3),r=t%BigInt(1e3);return n>BigInt(0)||r===BigInt(0)?Z.newValue({integerValue:n.toString()}):Z.newValue({integerValue:(n-BigInt(1)).toString()})}},Kf=class extends Uf{Mr(e){let t=BigInt(e.seconds);return Ff(t)?Z.newValue({integerValue:t.toString()}):Z.dr()}},qf=class{constructor(e){this.expr=e}evaluate(e,t){I(this.expr.params.length===3,2775,`${this.expr.name}() function should have exactly 3 parameters`);let n=!1,r=Q(this.expr.params[0]).evaluate(e,t);switch(r.type){case`TIMESTAMP`:break;case`NULL`:n=!0;break;default:return Z.dr()}let i=Q(this.expr.params[1]).evaluate(e,t),a;switch(i.type){case`STRING`:if(a=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}}(i.value.stringValue),a===void 0)return Z.dr();break;case`NULL`:n=!0;break;default:return Z.dr()}let o=Q(this.expr.params[2]).evaluate(e,t);switch(o.type){case`INT`:break;case`NULL`:n=!0;break;default:return Z.dr()}if(n)return Z.pr();let s=BigInt(o.value.integerValue),c;try{switch(a){case`microsecond`:c=s;break;case`millisecond`:c=s*BigInt(1e3);break;case`second`:c=s*BigInt(1e6);break;case`minute`:c=s*BigInt(6e7);break;case`hour`:c=s*BigInt(36e8);break;case`day`:c=s*BigInt(864e8);break;default:return Z.dr()}if(a!==`microsecond`&&s!==BigInt(0)&&c/s!==BigInt(this.Nr(a)))return Z.dr()}catch(e){return li(`Error during timestamp arithmetic: ${e}`),Z.dr()}let l=sc(r.value.timestampValue);if(!If(l.seconds,l.nanoseconds))return Z.dr();let u=Rf(l),d=this.Lr(u,c);if(!Pf(d))return Z.dr();let f=Number(d/kf),p=d%kf,m=Number((p<0?p+kf:p)*BigInt(1e3)),h=p<0?f-1:f;return If(h,m)?Z.newValue({timestampValue:{seconds:h,nanos:m}}):Z.dr()}Nr(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}}},Jf=class extends qf{Lr(e,t){return e+t}},Yf=class extends qf{Lr(e,t){return e-t}};function Xf(e){if((e=pd(e))instanceof ku)return`fld(${e.fieldName})`;if(e instanceof Mu)return`cst(${function(e){return e===null?`null`:typeof e==`number`?e.toString():typeof e==`string`?`"${e}"`:e instanceof Xl?`ref(${e.path})`:e instanceof eu?`vec(${JSON.stringify(e)})`:JSON.stringify(e)}(e.value)})`;if(e instanceof X)return`fn(${e.name},[${e.params.map(Xf).join(`,`)}])`;if(e.expressionType===`ListOfExpressions`)return`list([${e.ur.map(Xf).join(`,`)}])`;throw Error(`Unrecognized expr ${JSON.stringify(e,null,2)}`)}function Zf(e){if(e instanceof Gu)return`${e._name}(${Qf(e.fields)})`;if(e instanceof Ku){let t=`${e._name}(${Qf(e.accumulators)})`;return e.groups.size>0&&(t+=`grouping(${Qf(e.groups)})`),t}if(e instanceof qu)return`${e._name}(${Qf(e.groups)})`;if(e instanceof Ju)return`${e._name}(${e.Er})`;if(e instanceof Yu)return`${e._name}(${e.collectionId})`;if(e instanceof Xu)return`${e._name}()`;if(e instanceof Zu)return`${e._name}(${e.hr.sort()})`;if(e instanceof Qu)return`${e._name}(${Xf(e.condition)})`;if(e instanceof $u)return`${e._name}(${e.limit})`;if(e instanceof nd)return`${e._name}(${function(e){return e.map((e=>`${Xf(e.expr)}${e.direction}`)).join(`,`)}(e.orderings)})`;throw Error(`Unrecognized stage ${e._name}`)}function Qf(e){return`${Array.from(e.entries()).sort().map((([e,t])=>`${e}=${Xf(t)}`)).join(`,`)}`}function $f(e){return e.stages.map((e=>Zf(e))).join(`|`)}function ep(e,t){return $f(e)===$f(t)}function tp(e){return e instanceof od}function np(e){return tp(e)?$f(e):_s(e)}function rp(e){return tp(e)?$f(e):function(e){return`${ts(fs(e))}|lt:${e.limitType}`}(e)}function ip(e,t){return e instanceof od&&t instanceof od?ep(e,t):!(e instanceof od&&!(t instanceof od)||!(e instanceof od)&&t instanceof od)&&gs(e,t)}function ap(e){return rs(e)?$f(e):ts(e)}function op(e,t){return e instanceof od&&t instanceof od?ep(e,t):!(e instanceof od&&!(t instanceof od)||!(e instanceof od)&&t instanceof od)&&ns(e,t)}function sp(e,t){let n=function(e){let t=!1,n=[];for(let r of e)if(r instanceof nd){if(t=!0,r.orderings.some((e=>e.expr instanceof ku&&e.expr.fieldName===Ci)))n.push(r);else{let e=r.orderings.map((e=>e));e.push(Au(Ci).ascending()),n.push(new nd(e,{}))}}else r instanceof $u&&(t||=(n.push(new nd([Au(Ci).ascending()],{})),!0)),n.push(r);return t||n.push(new nd([Au(Ci).ascending()],{})),n}(e.stages);if(e.userDataReader){let t=e.userDataReader.createContext(3,`toCorePipeline`);n.forEach((e=>e._readUserData(t)))}return new od(e.userDataReader.serializer,n,t)}var cp=class{constructor(e,t,n,r){this.batchId=e,this.localWriteTime=t,this.baseMutations=n,this.mutations=r}applyToRemoteDocument(e,t){let n=t.mutationResults;for(let t=0;t<this.mutations.length;t++){let r=this.mutations[t];r.key.isEqual(e.key)&&mo(r,e,n[t])}}applyToLocalView(e,t){for(let n of this.baseMutations)n.key.isEqual(e.key)&&(t=ho(n,e,t,this.localWriteTime));for(let n of this.mutations)n.key.isEqual(e.key)&&(t=ho(n,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){let n=Ms();return this.mutations.forEach((r=>{let i=e.get(r.key),a=i.overlayedDocument,o=this.applyToLocalView(a,i.mutatedFields);o=t.has(r.key)?null:o;let s=po(a,o);s!==null&&n.set(r.key,s),a.isValidDocument()||a.convertToNoDocument(G.min())})),n}keys(){return this.mutations.reduce(((e,t)=>e.add(t.key)),q())}isEqual(e){return this.batchId===e.batchId&&vi(this.mutations,e.mutations,((e,t)=>_o(e,t)))&&vi(this.baseMutations,e.baseMutations,((e,t)=>_o(e,t)))}},lp=class e{constructor(e,t,n,r){this.batch=e,this.commitVersion=t,this.mutationResults=n,this.docVersions=r}static from(t,n,r){I(t.mutations.length===r.length,58842,{Br:t.mutations.length,Ur:r.length});let i=function(){return Ps}(),a=t.mutations;for(let e=0;e<a.length;e++)i=i.insert(a[e].key,r[e].version);return new e(t,n,r,i)}},up=``;function dp(e){let t=``;for(let n=0;n<e.length;n++)t.length>0&&(t=pp(t)),t=fp(e.get(n),t);return pp(t)}function fp(e,t){let n=t,r=e.length;for(let t=0;t<r;t++){let r=e.charAt(t);switch(r){case`\0`:n+=``;break;case up:n+=``;break;default:n+=r}}return n}function pp(e){return e+``}var mp=class{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return e!==null&&this.mutation===e.mutation}toString(){return`Overlay{\n largestBatchId: ${this.largestBatchId},\n mutation: ${this.mutation.toString()}\n }`}},hp=class e{constructor(e,t,n,r,i=G.min(),a=G.min(),o=Gi.EMPTY_BYTE_STRING,s=null){this.target=e,this.targetId=t,this.purpose=n,this.sequenceNumber=r,this.snapshotVersion=i,this.lastLimboFreeSnapshotVersion=a,this.resumeToken=o,this.expectedCount=s}withSequenceNumber(t){return new e(this.target,this.targetId,this.purpose,t,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(t,n){return new e(this.target,this.targetId,this.purpose,this.sequenceNumber,n,this.lastLimboFreeSnapshotVersion,t,null)}withExpectedCount(t){return new e(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,t)}withLastLimboFreeSnapshotVersion(t){return new e(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,t,this.resumeToken,this.expectedCount)}},gp=class{constructor(e){this.qr=e}};function _p(e){let t=Ec({parent:e.parent,structuredQuery:e.structuredQuery});return e.limitType===`LAST`?hs(t,t.limit,`L`):t}var vp=class{constructor(){}Xr(e,t){this.ei(e,t),t.ti()}ei(e,t){if(`nullValue`in e)this.ni(t,5);else if(`booleanValue`in e)this.ni(t,10),t.ri(+!!e.booleanValue);else if(`integerValue`in e)this.ni(t,15),t.ri(W(e.integerValue));else if(`doubleValue`in e){let n=W(e.doubleValue);isNaN(n)?this.ni(t,13):(this.ni(t,15),ca(n)?t.ri(0):t.ri(n))}else if(`timestampValue`in e){let n=e.timestampValue;this.ni(t,20),typeof n==`string`&&(n=qi(n)),t.ii(`${n.seconds||``}`),t.ri(n.nanos||0)}else if(`stringValue`in e)this.si(e.stringValue,t),this._i(t);else if(`bytesValue`in e)this.ni(t,30),t.oi(Ji(e.bytesValue)),this._i(t);else if(`referenceValue`in e)this.ai(e.referenceValue,t);else if(`geoPointValue`in e){let n=e.geoPointValue;this.ni(t,45),t.ri(n.latitude||0),t.ri(n.longitude||0)}else`mapValue`in e?za(e)?this.ni(t,2**53-1):Ia(e)?this.ui(e.mapValue,t):(this.ci(e.mapValue,t),this._i(t)):`arrayValue`in e?(this.li(e.arrayValue,t),this._i(t)):F(19022,{Ei:e})}si(e,t){this.ni(t,25),this.hi(e,t)}hi(e,t){t.ii(e)}ci(e,t){let n=e.fields||{};this.ni(t,55);for(let e of Object.keys(n))this.si(e,t),this.ei(n[e],t)}ui(e,t){let n=e.fields||{};this.ni(t,53);let r=ha,i=n[r].arrayValue?.values?.length||0;this.ni(t,15),t.ri(W(i)),this.si(r,t),this.ei(n[r],t)}li(e,t){let n=e.values||[];this.ni(t,50);for(let e of n)this.ei(e,t)}ai(e,t){this.ni(t,37),U.fromName(e).path.forEach((e=>{this.ni(t,60),this.hi(e,t)}))}ni(e,t){e.ri(t)}_i(e){e.ri(2)}};vp.Ti=new vp;var yp=class{constructor(){this.Yi=new bp}addToCollectionParentIndex(e,t){return this.Yi.add(t),J.resolve()}getCollectionParents(e,t){return J.resolve(this.Yi.getEntries(t))}addFieldIndex(e,t){return J.resolve()}deleteFieldIndex(e,t){return J.resolve()}deleteAllFieldIndexes(e){return J.resolve()}createTargetIndexes(e,t){return J.resolve()}getDocumentsMatchingTarget(e,t){return J.resolve(null)}getIndexType(e,t){return J.resolve(0)}getFieldIndexes(e,t){return J.resolve([])}getNextCollectionGroupToUpdate(e){return J.resolve(null)}getMinOffset(e,t){return J.resolve(Zo.min())}getMinOffsetFromCollectionGroup(e,t){return J.resolve(Zo.min())}updateCollectionGroup(e,t,n){return J.resolve()}updateIndexEntries(e,t){return J.resolve()}},bp=class{constructor(){this.index={}}add(e){let t=e.lastSegment(),n=e.popLast(),r=this.index[t]||new xi(H.comparator),i=!r.has(n);return this.index[t]=r.add(n),i}has(e){let t=e.lastSegment(),n=e.popLast(),r=this.index[t];return r&&r.has(n)}getEntries(e){return(this.index[e]||new xi(H.comparator)).toArray()}},xp=class e{constructor(e){this.gs=e}next(){return this.gs+=2,this.gs}static ys(){return new e(0)}static ws(){return new e(-1)}};function Sp(e,t){let n=t;for(let t of e.stages)n=Tp({serializer:e.serializer,serverTimestampBehavior:e.listenOptions?.serverTimestampBehavior},t,n);return n}function Cp(e,t){return Sp(e,[t]).length>0}function wp(e,t){return tp(e)?Cp(e,t):vs(e,t)}function Tp(e,t,n){if(t instanceof Ju)return function(e,t,n){return n.filter((e=>e.isFoundDocument()&&`/${e.key.getCollectionPath().canonicalString()}`===t.Er))}(0,t,n);if(t instanceof Qu)return function(e,t,n){return n.filter((n=>{let r=fd(Q(t.condition).evaluate(e,n));return r!==void 0&&ba(r,_a)}))}(e,t,n);if(t instanceof Yu)return function(e,t,n){return n.filter((e=>e.isFoundDocument()&&e.key.getCollectionPath().lastSegment()===t.collectionId))}(0,t,n);if(t instanceof Xu)return function(e,t,n){return n.filter((e=>e.isFoundDocument()))}(0,0,n);if(t instanceof Zu)return function(e,t,n){return n.filter((e=>e.isFoundDocument()&&t.Tr.has(e.key.path.toStringWithLeadingSlash())))}(0,t,n);if(t instanceof $u)return function(e,t,n){return n.slice(0,t.limit)}(0,t,n);if(t instanceof nd)return function(e,t,n){let r=t.orderings.map((e=>({Os:Q(e.expr),direction:e.direction})));return[...n].sort(((t,n)=>{for(let{Os:i,direction:a}of r){let r=fd(i.evaluate(e,t)),o=fd(i.evaluate(e,n)),s=Sa(r??ga,o??ga);if(s!==0)return a===`ascending`?s:-s}return 0}))}(e,t,n);throw Error(`Unknown stage: ${t._name}`)}function Ep(e){let t=function(e){for(let t=e.stages.length-1;t>=0;t--){let n=e.stages[t];if(n instanceof nd)return n.orderings}throw Error(`Pipeline must contain at least one Sort stage`)}(e);return(n,r)=>{for(let i of t){let t=fd(Q(i.expr).evaluate({serializer:e.serializer},n)),a=fd(Q(i.expr).evaluate({serializer:e.serializer},r)),o=Sa(t||ga,a||ga);if(o!==0)return i.direction===`ascending`?o:-o}return 0}}function Dp(e){for(let t=e.stages.length-1;t>=0;t--){let n=e.stages[t];if(n instanceof $u)return{limit:n.limit}}}var Op=class{constructor(){this.changes=new Ts((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,qo.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();let n=this.changes.get(t);return n===void 0?this.getFromCache(e,t):J.resolve(n)}getEntries(e,t){return this.getAllFromCache(e,t)}apply(e){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(e)}assertNotApplied(){}},kp=class{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}},Ap=class{constructor(e,t,n,r){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=n,this.indexManager=r}getDocument(e,t){let n=null;return this.documentOverlayCache.getOverlay(e,t).next((r=>(n=r,this.remoteDocumentCache.getEntry(e,t)))).next((e=>(n!==null&&ho(n.mutation,e,Di.empty(),Ui.now()),e)))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next((t=>this.getLocalViewOfDocuments(e,t,q()).next((()=>t))))}getLocalViewOfDocuments(e,t,n=q()){let r=js();return this.populateOverlays(e,r,t).next((()=>this.computeViews(e,t,r,n).next((e=>{let t=ks();return e.forEach(((e,n)=>{t=t.insert(e,n.overlayedDocument)})),t}))))}getOverlayedDocuments(e,t){let n=js();return this.populateOverlays(e,n,t).next((()=>this.computeViews(e,t,n,q())))}populateOverlays(e,t,n){let r=[];return n.forEach((e=>{t.has(e)||r.push(e)})),this.documentOverlayCache.getOverlays(e,r).next((e=>{e.forEach(((e,n)=>{t.set(e,n)}))}))}computeViews(e,t,n,r){let i=Ds(),a=Ns(),o=function(){return Ns()}();return t.forEach(((e,t)=>{let o=n.get(t.key);r.has(t.key)&&(o===void 0||o.mutation instanceof yo)?i=i.insert(t.key,t):o===void 0?a.set(t.key,Di.empty()):(a.set(t.key,o.mutation.getFieldMask()),ho(o.mutation,t,o.mutation.getFieldMask(),Ui.now()))})),this.recalculateAndSaveOverlays(e,i).next((e=>(e.forEach(((e,t)=>a.set(e,t))),t.forEach(((e,t)=>o.set(e,new kp(t,a.get(e)??null)))),o)))}recalculateAndSaveOverlays(e,t){let n=Ns(),r=new z(((e,t)=>e-t)),i=q();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next((e=>{for(let i of e)i.keys().forEach((e=>{let a=t.get(e);if(a===null)return;let o=n.get(e)||Di.empty();o=i.applyToLocalView(a,o),n.set(e,o);let s=(r.get(i.batchId)||q()).add(e);r=r.insert(i.batchId,s)}))})).next((()=>{let a=[],o=r.getReverseIterator();for(;o.hasNext();){let r=o.getNext(),s=r.key,c=r.value,l=Ms();c.forEach((e=>{if(!i.has(e)){let r=po(t.get(e),n.get(e));r!==null&&l.set(e,r),i=i.add(e)}})),a.push(this.documentOverlayCache.saveOverlays(e,s,l))}return J.waitFor(a)})).next((()=>n))}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next((t=>this.recalculateAndSaveOverlays(e,t)))}getDocumentsMatchingQuery(e,t,n,r){return tp(t)?this.getDocumentsMatchingPipeline(e,t,n,r):ls(t)?this.getDocumentsMatchingDocumentQuery(e,t.path):us(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,n,r):this.getDocumentsMatchingCollectionQuery(e,t,n,r)}getNextDocuments(e,t,n,r){return this.remoteDocumentCache.getAllFromCollectionGroup(e,t,n,r).next((i=>{let a=r-i.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,n.largestBatchId,r-i.size):J.resolve(js()),o=Jo,s=i;return a.next((t=>J.forEach(t,((t,n)=>(o<n.largestBatchId&&(o=n.largestBatchId),i.get(t)?J.resolve():this.remoteDocumentCache.getEntry(e,t).next((e=>{s=s.insert(t,e)}))))).next((()=>this.populateOverlays(e,t,i))).next((()=>this.computeViews(e,s,t,q()))).next((e=>({batchId:o,changes:As(e)})))))}))}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new U(t)).next((e=>{let t=ks();return e.isFoundDocument()&&(t=t.insert(e.key,e)),t}))}getDocumentsMatchingCollectionGroupQuery(e,t,n,r){let i=t.collectionGroup,a=ks();return this.indexManager.getCollectionParents(e,i).next((o=>J.forEach(o,(o=>{let s=function(e,t){return new as(t,null,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,e.startAt,e.endAt)}(t,o.child(i));return this.getDocumentsMatchingCollectionQuery(e,s,n,r).next((e=>{e.forEach(((e,t)=>{a=a.insert(e,t)}))}))})).next((()=>a))))}getDocumentsMatchingCollectionQuery(e,t,n,r){let i;return this.documentOverlayCache.getOverlaysForCollection(e,t.path,n.largestBatchId).next((a=>(i=a,this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,n,i,r)))).next((e=>this.retrieveMatchingLocalDocuments(i,e,(e=>vs(t,e)))))}getDocumentsMatchingPipeline(e,t,n,r){if(sd(t)===`collection_group`){let i=ld(t),a=ks();return this.indexManager.getCollectionParents(e,i).next((o=>J.forEach(o,(o=>{let s=function(e,t){let n=e.stages.map((e=>e instanceof Yu?new Ju(t.canonicalString(),{}):e));return new od(e.serializer,n)}(t,o.child(i));return this.getDocumentsMatchingPipeline(e,s,n,r).next((e=>{e.forEach(((e,t)=>{a=a.insert(e,t)}))}))})).next((()=>a))))}{let i;return this.getOverlaysForPipeline(e,t,n.largestBatchId).next((a=>{switch(i=a,sd(t)){case`collection`:return this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,n,i,r);case`documents`:let a=q();for(let e of dd(t))a=a.add(U.fromPath(e));return this.remoteDocumentCache.getEntries(e,a);case`database`:return this.remoteDocumentCache.getAllEntries(e);default:throw new V(`invalid-argument`,`Invalid pipeline source to execute offline: ${$f(t)}`)}})).next((e=>this.retrieveMatchingLocalDocuments(i,e,(e=>Cp(t,e)))))}}retrieveMatchingLocalDocuments(e,t,n){e.forEach(((e,n)=>{let r=n.getKey();t.get(r)===null&&(t=t.insert(r,qo.newInvalidDocument(r)))}));let r=ks();return t.forEach(((t,i)=>{let a=e.get(t);a!==void 0&&ho(a.mutation,i,Di.empty(),Ui.now()),n(i)&&(r=r.insert(t,i))})),r}getOverlaysForPipeline(e,t,n){switch(sd(t)){case`collection`:return this.documentOverlayCache.getOverlaysForCollection(e,H.fromString(cd(t)),n);case`collection_group`:throw new V(`invalid-argument`,`Unexpected collection group pipeline: ${$f(t)}`);case`documents`:return this.documentOverlayCache.getOverlays(e,dd(t).map((e=>U.fromPath(e))));case`database`:return this.documentOverlayCache.getAllOverlays(e,n);default:throw new V(`invalid-argument`,`Failed to get overlays for pipeline: ${$f(t)}`)}}},jp=class{constructor(e){this.serializer=e,this.Ks=new Map,this.Qs=new Map}getBundleMetadata(e,t){return J.resolve(this.Ks.get(t))}saveBundleMetadata(e,t){return this.Ks.set(t.id,function(e){return{id:e.id,version:e.version,createTime:uc(e.createTime)}}(t)),J.resolve()}getNamedQuery(e,t){return J.resolve(this.Qs.get(t))}saveNamedQuery(e,t){return this.Qs.set(t.name,function(e){return{name:e.name,query:_p(e.bundledQuery),readTime:uc(e.readTime)}}(t)),J.resolve()}},Mp=class{constructor(){this.overlays=new z(U.comparator),this.Ws=new Map}getOverlay(e,t){return J.resolve(this.overlays.get(t))}getOverlays(e,t){let n=js();return J.forEach(t,(t=>this.getOverlay(e,t).next((e=>{e!==null&&n.set(t,e)})))).next((()=>n))}getAllOverlays(e,t){let n=js();return this.overlays.forEach(((e,r)=>{r.largestBatchId>t&&n.set(e,r)})),J.resolve(n)}saveOverlays(e,t,n){return n.forEach(((n,r)=>{this.Yr(e,t,r)})),J.resolve()}removeOverlaysForBatchId(e,t,n){let r=this.Ws.get(n);return r!==void 0&&(r.forEach((e=>this.overlays=this.overlays.remove(e))),this.Ws.delete(n)),J.resolve()}getOverlaysForCollection(e,t,n){let r=js(),i=t.length+1,a=new U(t.child(``)),o=this.overlays.getIteratorFrom(a);for(;o.hasNext();){let e=o.getNext().value,a=e.getKey();if(!t.isPrefixOf(a.path))break;a.path.length===i&&e.largestBatchId>n&&r.set(e.getKey(),e)}return J.resolve(r)}getOverlaysForCollectionGroup(e,t,n,r){let i=new z(((e,t)=>e-t)),a=this.overlays.getIterator();for(;a.hasNext();){let e=a.getNext().value;if(e.getKey().getCollectionGroup()===t&&e.largestBatchId>n){let t=i.get(e.largestBatchId);t===null&&(t=js(),i=i.insert(e.largestBatchId,t)),t.set(e.getKey(),e)}}let o=js(),s=i.getIterator();for(;s.hasNext()&&(s.getNext().value.forEach(((e,t)=>o.set(e,t))),!(o.size()>=r)););return J.resolve(o)}Yr(e,t,n){let r=this.overlays.get(n.key);if(r!==null){let e=this.Ws.get(r.largestBatchId).delete(n.key);this.Ws.set(r.largestBatchId,e)}this.overlays=this.overlays.insert(n.key,new mp(t,n));let i=this.Ws.get(t);i===void 0&&(i=q(),this.Ws.set(t,i)),this.Ws.set(t,i.add(n.key))}},Np=class{constructor(){this.sessionToken=Gi.EMPTY_BYTE_STRING}getSessionToken(e){return J.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,J.resolve()}},Pp=class{constructor(){this.Gs=new xi(Fp.zs),this.js=new xi(Fp.Hs)}isEmpty(){return this.Gs.isEmpty()}addReference(e,t){let n=new Fp(e,t);this.Gs=this.Gs.add(n),this.js=this.js.add(n)}Js(e,t){e.forEach((e=>this.addReference(e,t)))}removeReference(e,t){this.Ys(new Fp(e,t))}Zs(e,t){e.forEach((e=>this.removeReference(e,t)))}Xs(e){let t=new U(new H([])),n=new Fp(t,e),r=new Fp(t,e+1),i=[];return this.js.forEachInRange([n,r],(e=>{this.Ys(e),i.push(e.key)})),i}e_(){this.Gs.forEach((e=>this.Ys(e)))}Ys(e){this.Gs=this.Gs.delete(e),this.js=this.js.delete(e)}t_(e){let t=new U(new H([])),n=new Fp(t,e),r=new Fp(t,e+1),i=q();return this.js.forEachInRange([n,r],(e=>{i=i.add(e.key)})),i}containsKey(e){let t=new Fp(e,0),n=this.Gs.firstAfterOrEqual(t);return n!==null&&e.isEqual(n.key)}},Fp=class{constructor(e,t){this.key=e,this.n_=t}static zs(e,t){return U.comparator(e.key,t.key)||R(e.n_,t.n_)}static Hs(e,t){return R(e.n_,t.n_)||U.comparator(e.key,t.key)}},Ip=class{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.Wr=1,this.r_=new xi(Fp.zs)}checkEmpty(e){return J.resolve(this.mutationQueue.length===0)}addMutationBatch(e,t,n,r){let i=this.Wr;this.Wr++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];let a=new cp(i,t,n,r);this.mutationQueue.push(a);for(let t of r)this.r_=this.r_.add(new Fp(t.key,i)),this.indexManager.addToCollectionParentIndex(e,t.key.path.popLast());return J.resolve(a)}lookupMutationBatch(e,t){return J.resolve(this.i_(t))}getNextMutationBatchAfterBatchId(e,t){let n=t+1,r=this.s_(n),i=r<0?0:r;return J.resolve(this.mutationQueue.length>i?this.mutationQueue[i]:null)}getHighestUnacknowledgedBatchId(){return J.resolve(this.mutationQueue.length===0?oa:this.Wr-1)}getAllMutationBatches(e){return J.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){let n=new Fp(t,0),r=new Fp(t,1/0),i=[];return this.r_.forEachInRange([n,r],(e=>{let t=this.i_(e.n_);i.push(t)})),J.resolve(i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let n=new xi(R);return t.forEach((e=>{let t=new Fp(e,0),r=new Fp(e,1/0);this.r_.forEachInRange([t,r],(e=>{n=n.add(e.n_)}))})),J.resolve(this.__(n))}getAllMutationBatchesAffectingQuery(e,t){let n=t.path,r=n.length+1,i=n;U.isDocumentKey(i)||(i=i.child(``));let a=new Fp(new U(i),0),o=new xi(R);return this.r_.forEachWhile((e=>{let t=e.key.path;return!!n.isPrefixOf(t)&&(t.length===r&&(o=o.add(e.n_)),!0)}),a),J.resolve(this.__(o))}__(e){let t=[];return e.forEach((e=>{let n=this.i_(e);n!==null&&t.push(n)})),t}removeMutationBatch(e,t){I(this.o_(t.batchId,`removed`)===0,55003),this.mutationQueue.shift();let n=this.r_;return J.forEach(t.mutations,(r=>{let i=new Fp(r.key,t.batchId);return n=n.delete(i),this.referenceDelegate.markPotentiallyOrphaned(e,r.key)})).next((()=>{this.r_=n}))}jr(e){}containsKey(e,t){let n=new Fp(t,0),r=this.r_.firstAfterOrEqual(n);return J.resolve(t.isEqual(r&&r.key))}performConsistencyCheck(e){return this.mutationQueue.length,J.resolve()}o_(e,t){return this.s_(e)}s_(e){return this.mutationQueue.length===0?0:e-this.mutationQueue[0].batchId}i_(e){let t=this.s_(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}},Lp=class{constructor(e){this.a_=e,this.docs=function(){return new z(U.comparator)}(),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){let n=t.key,r=this.docs.get(n),i=r?r.size:0,a=this.a_(t);return this.docs=this.docs.insert(n,{document:t.mutableCopy(),size:a}),this.size+=a-i,this.indexManager.addToCollectionParentIndex(e,n.path.popLast())}removeEntry(e){let t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){let n=this.docs.get(t);return J.resolve(n?n.document.mutableCopy():qo.newInvalidDocument(t))}getEntries(e,t){let n=Ds();return t.forEach((e=>{let t=this.docs.get(e);n=n.insert(e,t?t.document.mutableCopy():qo.newInvalidDocument(e))})),J.resolve(n)}getAllEntries(e){let t=Ds();return this.docs.forEach(((e,n)=>{t=t.insert(e,n.document)})),J.resolve(t)}getDocumentsMatchingQuery(e,t,n,r){let i,a;tp(t)?(i=H.fromString(cd(t)),a=e=>Cp(t,e)):(i=t.path,a=e=>vs(t,e));let o=Ds(),s=new U(i.child(`__id-9223372036854775808__`)),c=this.docs.getIteratorFrom(s);for(;c.hasNext();){let{key:e,value:{document:t}}=c.getNext();if(!i.isPrefixOf(e.path))break;e.path.length>i.length+1||Qo(Xo(t),n)<=0||(r.has(t.key)||a(t))&&(o=o.insert(t.key,t.mutableCopy()))}return J.resolve(o)}getAllFromCollectionGroup(e,t,n,r){F(9500)}u_(e,t){return J.forEach(this.docs,(e=>t(e)))}newChangeBuffer(e){return new Rp(this)}getSize(e){return J.resolve(this.size)}},Rp=class extends Op{constructor(e){super(),this.qs=e}applyChanges(e){let t=[];return this.changes.forEach(((n,r)=>{r.isValidDocument()?t.push(this.qs.addEntry(e,r)):this.qs.removeEntry(n)})),J.waitFor(t)}getFromCache(e,t){return this.qs.getEntry(e,t)}getAllFromCache(e,t){return this.qs.getEntries(e,t)}},zp=class{constructor(e){this.persistence=e,this.c_=new Ts((e=>ap(e)),op),this.lastRemoteSnapshotVersion=G.min(),this.highestTargetId=0,this.l_=0,this.E_=new Pp,this.targetCount=0,this.h_=xp.ys()}forEachTarget(e,t){return this.c_.forEach(((e,n)=>t(n))),J.resolve()}getLastRemoteSnapshotVersion(e){return J.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return J.resolve(this.l_)}allocateTargetId(e){return this.highestTargetId=this.h_.next(),J.resolve(this.highestTargetId)}setTargetsMetadata(e,t,n){return n&&(this.lastRemoteSnapshotVersion=n),t>this.l_&&(this.l_=t),J.resolve()}vs(e){this.c_.set(e.target,e);let t=e.targetId;t>this.highestTargetId&&(this.h_=new xp(t),this.highestTargetId=t),e.sequenceNumber>this.l_&&(this.l_=e.sequenceNumber)}addTargetData(e,t){return this.vs(t),this.targetCount+=1,J.resolve()}updateTargetData(e,t){return this.vs(t),J.resolve()}removeTargetData(e,t){return this.c_.delete(t.target),this.E_.Xs(t.targetId),--this.targetCount,J.resolve()}removeTargets(e,t,n){let r=0,i=[];return this.c_.forEach(((a,o)=>{o.sequenceNumber<=t&&n.get(o.targetId)===null&&(this.c_.delete(a),i.push(this.removeMatchingKeysForTargetId(e,o.targetId)),r++)})),J.waitFor(i).next((()=>r))}getTargetCount(e){return J.resolve(this.targetCount)}getTargetData(e,t){let n=this.c_.get(t)||null;return J.resolve(n)}addMatchingKeys(e,t,n){return this.E_.Js(t,n),J.resolve()}removeMatchingKeys(e,t,n){this.E_.Zs(t,n);let r=this.persistence.referenceDelegate,i=[];return r&&t.forEach((t=>{i.push(r.markPotentiallyOrphaned(e,t))})),J.waitFor(i)}removeMatchingKeysForTargetId(e,t){return this.E_.Xs(t),J.resolve()}getMatchingKeysForTargetId(e,t){let n=this.E_.t_(t);return J.resolve(n)}containsKey(e,t){return J.resolve(this.E_.containsKey(t))}},Bp=class{constructor(e,t){this.T_={},this.overlays={},this.P_=new jl(0),this.R_=!1,this.R_=!0,this.I_=new Np,this.referenceDelegate=e(this),this.A_=new zp(this),this.indexManager=new yp,this.remoteDocumentCache=function(e){return new Lp(e)}((e=>this.referenceDelegate.V_(e))),this.serializer=new gp(t),this.d_=new jp(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 Mp,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let n=this.T_[e.toKey()];return n||(n=new Ip(t,this.referenceDelegate),this.T_[e.toKey()]=n),n}getGlobalsCache(){return this.I_}getTargetCache(){return this.A_}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.d_}runTransaction(e,t,n){P(`MemoryPersistence`,`Starting transaction:`,e);let r=new Vp(this.P_.next());return this.referenceDelegate.f_(),n(r).next((e=>this.referenceDelegate.m_(r).next((()=>e)))).toPromise().then((e=>(r.raiseOnCommittedEvent(),e)))}p_(e,t){return J.or(Object.values(this.T_).map((n=>()=>n.containsKey(e,t))))}},Vp=class extends Nl{constructor(e){super(),this.currentSequenceNumber=e}},Hp=class e{constructor(e){this.persistence=e,this.g_=new Pp,this.y_=null}static w_(t){return new e(t)}get b_(){if(this.y_)return this.y_;throw F(60996)}addReference(e,t,n){return this.g_.addReference(n,t),this.b_.delete(n.toString()),J.resolve()}removeReference(e,t,n){return this.g_.removeReference(n,t),this.b_.add(n.toString()),J.resolve()}markPotentiallyOrphaned(e,t){return this.b_.add(t.toString()),J.resolve()}removeTarget(e,t){this.g_.Xs(t.targetId).forEach((e=>this.b_.add(e.toString())));let n=this.persistence.getTargetCache();return n.getMatchingKeysForTargetId(e,t.targetId).next((e=>{e.forEach((e=>this.b_.add(e.toString())))})).next((()=>n.removeTargetData(e,t)))}f_(){this.y_=new Set}m_(e){let t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return J.forEach(this.b_,(n=>{let r=U.fromPath(n);return this.S_(e,r).next((e=>{e||t.removeEntry(r,G.min())}))})).next((()=>(this.y_=null,t.apply(e))))}updateLimboDocument(e,t){return this.S_(e,t).next((e=>{e?this.b_.delete(t.toString()):this.b_.add(t.toString())}))}V_(e){return 0}S_(e,t){return J.or([()=>J.resolve(this.g_.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.p_(e,t)])}},Up=class e{constructor(e,t){this.persistence=e,this.v_=new Ts((e=>dp(e.path)),((e,t)=>e.isEqual(t))),this.garbageCollector=Ul(this,t)}static w_(t,n){return new e(t,n)}f_(){}m_(e){return J.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEachTarget(e,t)}rr(e){let t=this.xs(e);return this.persistence.getTargetCache().getTargetCount(e).next((e=>t.next((t=>e+t))))}xs(e){let t=0;return this.ir(e,(e=>{t++})).next((()=>t))}ir(e,t){return J.forEach(this.v_,((n,r)=>this.Fs(e,n,r).next((e=>e?J.resolve():t(r)))))}removeTargets(e,t,n){return this.persistence.getTargetCache().removeTargets(e,t,n)}removeOrphanedDocuments(e,t){let n=0,r=this.persistence.getRemoteDocumentCache(),i=r.newChangeBuffer();return r.u_(e,(r=>this.Fs(e,r,t).next((e=>{e||(n++,i.removeEntry(r,G.min()))})))).next((()=>i.apply(e))).next((()=>n))}markPotentiallyOrphaned(e,t){return this.v_.set(t,e.currentSequenceNumber),J.resolve()}removeTarget(e,t){let n=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,n)}addReference(e,t,n){return this.v_.set(n,e.currentSequenceNumber),J.resolve()}removeReference(e,t,n){return this.v_.set(n,e.currentSequenceNumber),J.resolve()}updateLimboDocument(e,t){return this.v_.set(t,e.currentSequenceNumber),J.resolve()}V_(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=Da(e.data.value)),t}Fs(e,t,n){return J.or([()=>this.persistence.p_(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{let e=this.v_.get(t);return J.resolve(e!==void 0&&e>n)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}},Wp=class e{constructor(e,t,n,r){this.targetId=e,this.fromCache=t,this.Ao=n,this.Vo=r}static fo(t,n){let r=q(),i=q();for(let e of n.docChanges)switch(e.type){case 0:r=r.add(e.doc.key);break;case 1:i=i.add(e.doc.key)}return new e(t,n.fromCache,r,i)}};function Gp(e,t){return U.comparator(e.key,t.key)}var Kp=class{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}},qp=class{constructor(){this.mo=!1,this.po=!1,this.yo=100,this.wo=function(){return ce()?8:Fl(_())>0?6:4}()}initialize(e,t){this.bo=e,this.indexManager=t,this.mo=!0}getDocumentsMatchingQuery(e,t,n,r){let i={result:null};return this.So(e,t).next((e=>{i.result=e})).next((()=>{if(!i.result)return this.vo(e,t,r,n).next((e=>{i.result=e}))})).next((()=>{if(i.result)return;let n=new Kp;return this.Do(e,t,n).next((r=>{if(i.result=r,this.po)return this.xo(e,t,n,r.size)}))})).next((()=>i.result))}xo(e,t,n,r){return tp(t)?J.resolve():n.documentReadCount<this.yo?(si()<=y.DEBUG&&P(`QueryEngine`,`SDK will not create cache indexes for query:`,_s(t),`since it only creates cache indexes for collection contains`,`more than or equal to`,this.yo,`documents`),J.resolve()):(si()<=y.DEBUG&&P(`QueryEngine`,`Query:`,_s(t),`scans`,n.documentReadCount,`local documents and returns`,r,`documents as results.`),n.documentReadCount>this.wo*r?(si()<=y.DEBUG&&P(`QueryEngine`,`The SDK decides to create cache indexes for query:`,_s(t),`as using cache indexes may help improve performance.`),this.indexManager.createTargetIndexes(e,fs(t))):J.resolve())}So(e,t){if(tp(t))return J.resolve(null);let n=t;if(cs(n))return J.resolve(null);let r=fs(n);return this.indexManager.getIndexType(e,r).next((t=>t===0?null:(n.limit!==null&&t===1&&(n=hs(n,null,`F`),r=fs(n)),this.indexManager.getDocumentsMatchingTarget(e,r).next((t=>{let i=q(...t);return this.bo.getDocuments(e,i).next((t=>this.indexManager.getMinOffset(e,r).next((r=>{let a=this.Co(n,t);return this.Fo(n,a,i,r.readTime)?this.So(e,hs(n,null,`F`)):this.Oo(e,a,n,r)}))))})))))}vo(e,t,n,r){return(tp(t)?function(e){for(let t of e.stages){if(t instanceof $u||t instanceof ed)return!1;if(t instanceof Qu){if(t.condition instanceof Iu&&t.condition._expr.name===`exists`&&t.condition._expr.params[0]instanceof ku&&t.condition._expr.params[0].fieldName===Ci)continue;return!1}}return!0}(t):cs(t))||r.isEqual(G.min())?J.resolve(null):this.bo.getDocuments(e,n).next((i=>{let a=this.Co(t,i);return this.Fo(t,a,n,r)?J.resolve(null):(si()<=y.DEBUG&&P(`QueryEngine`,`Re-using previous result from %s to execute query: %s`,r.toString(),np(t)),this.Oo(e,a,t,Yo(r,Jo)).next((e=>e)))}))}Co(e,t){let n,r;return tp(e)?(n=new xi(Gp),r=t=>Cp(e,t)):(n=new xi(ys(e)),r=t=>vs(e,t)),t.forEach(((e,t)=>{r(t)&&(n=n.add(t))})),n}Fo(e,t,n,r){if(tp(e))return function(e){return e.stages.some((e=>e instanceof $u||e instanceof ed))}(e);if(e.limit===null)return!1;if(n.size!==t.size)return!0;let i=e.limitType===`F`?t.last():t.first();return!!i&&(i.hasPendingWrites||i.version.compareTo(r)>0)}Do(e,t,n){return si()<=y.DEBUG&&P(`QueryEngine`,`Using full collection scan to execute query:`,np(t)),this.bo.getDocumentsMatchingQuery(e,t,Zo.min(),n)}Oo(e,t,n,r){return this.bo.getDocumentsMatchingQuery(e,n,r).next((e=>(t.forEach((t=>{e=e.insert(t.key,t)})),e)))}},Jp=`LocalStore`,Yp=3e8,Xp=class{constructor(e,t,n,r){this.persistence=e,this.Mo=t,this.serializer=r,this.No=new z(R),this.Lo=new Ts((e=>ap(e)),op),this.Bo=new Map,this.Uo=e.getRemoteDocumentCache(),this.A_=e.getTargetCache(),this.d_=e.getBundleCache(),this.ko(n)}ko(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new Ap(this.Uo,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.Uo.setIndexManager(this.indexManager),this.Mo.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction(`Collect garbage`,`readwrite-primary`,(t=>e.collect(t,this.No)))}};function Zp(e,t,n,r){return new Xp(e,t,n,r)}async function Qp(e,t){let n=L(e);return await n.persistence.runTransaction(`Handle user change`,`readonly`,(e=>{let r;return n.mutationQueue.getAllMutationBatches(e).next((i=>(r=i,n.ko(t),n.mutationQueue.getAllMutationBatches(e)))).next((t=>{let i=[],a=[],o=q();for(let e of r){i.push(e.batchId);for(let t of e.mutations)o=o.add(t.key)}for(let e of t){a.push(e.batchId);for(let t of e.mutations)o=o.add(t.key)}return n.localDocuments.getDocuments(e,o).next((e=>({qo:e,removedBatchIds:i,addedBatchIds:a})))}))}))}function $p(e,t){let n=L(e);return n.persistence.runTransaction(`Acknowledge batch`,`readwrite-primary`,(e=>{let r=t.batch.keys(),i=n.Uo.newChangeBuffer({trackRemovals:!0});return function(e,t,n,r){let i=n.batch,a=i.keys(),o=J.resolve();return a.forEach((e=>{o=o.next((()=>r.getEntry(t,e))).next((t=>{let a=n.docVersions.get(e);I(a!==null,48541),t.version.compareTo(a)<0&&(i.applyToRemoteDocument(t,n),t.isValidDocument()&&(t.setReadTime(n.commitVersion),r.addEntry(t)))}))})),o.next((()=>e.mutationQueue.removeMutationBatch(t,i)))}(n,e,t,i).next((()=>i.apply(e))).next((()=>n.mutationQueue.performConsistencyCheck(e))).next((()=>n.documentOverlayCache.removeOverlaysForBatchId(e,r,t.batch.batchId))).next((()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,function(e){let t=q();for(let n=0;n<e.mutationResults.length;++n)e.mutationResults[n].transformResults.length>0&&(t=t.add(e.batch.mutations[n].key));return t}(t)))).next((()=>n.localDocuments.getDocuments(e,r)))}))}function em(e){let t=L(e);return t.persistence.runTransaction(`Get last remote snapshot version`,`readonly`,(e=>t.A_.getLastRemoteSnapshotVersion(e)))}function tm(e,t){let n=L(e),r=t.snapshotVersion,i=n.No;return n.persistence.runTransaction(`Apply remote event`,`readwrite-primary`,(e=>{let a=n.Uo.newChangeBuffer({trackRemovals:!0});i=n.No;let o=[];t.targetChanges.forEach(((a,s)=>{let c=i.get(s);if(!c)return;o.push(n.A_.removeMatchingKeys(e,a.removedDocuments,s).next((()=>n.A_.addMatchingKeys(e,a.addedDocuments,s))));let l=c.withSequenceNumber(e.currentSequenceNumber);t.targetMismatches.get(s)===null?a.resumeToken.approximateByteSize()>0&&(l=l.withResumeToken(a.resumeToken,r)):l=l.withResumeToken(Gi.EMPTY_BYTE_STRING,G.min()).withLastLimboFreeSnapshotVersion(G.min()),i=i.insert(s,l),function(e,t,n){return e.resumeToken.approximateByteSize()===0||t.snapshotVersion.toMicroseconds()-e.snapshotVersion.toMicroseconds()>=Yp||n.addedDocuments.size+n.modifiedDocuments.size+n.removedDocuments.size>0}(c,l,a)&&o.push(n.A_.updateTargetData(e,l))}));let s=Ds(),c=q();if(t.documentUpdates.forEach((r=>{t.resolvedLimboDocuments.has(r)&&o.push(n.persistence.referenceDelegate.updateLimboDocument(e,r))})),o.push(nm(e,a,t.documentUpdates).next((e=>{s=e.$o,c=e.Ko}))),!r.isEqual(G.min())){let t=n.A_.getLastRemoteSnapshotVersion(e).next((t=>n.A_.setTargetsMetadata(e,e.currentSequenceNumber,r)));o.push(t)}return J.waitFor(o).next((()=>a.apply(e))).next((()=>n.localDocuments.getLocalViewOfDocuments(e,s,c))).next((()=>s))})).then((e=>(n.No=i,e)))}function nm(e,t,n){let r=q(),i=q();return n.forEach((e=>r=r.add(e))),t.getEntries(e,r).next((e=>{let r=Ds();return n.forEach(((n,a)=>{let o=e.get(n);a.isFoundDocument()!==o.isFoundDocument()&&(i=i.add(n)),a.isNoDocument()&&a.version.isEqual(G.min())?(t.removeEntry(n,a.readTime),r=r.insert(n,a)):!o.isValidDocument()||a.version.compareTo(o.version)>0||a.version.compareTo(o.version)===0&&o.hasPendingWrites?(t.addEntry(a),r=r.insert(n,a)):P(Jp,`Ignoring outdated watch update for `,n,`. Current version:`,o.version,` Watch version:`,a.version)})),{$o:r,Ko:i}}))}function rm(e,t){let n=L(e);return n.persistence.runTransaction(`Get next mutation batch`,`readonly`,(e=>(t===void 0&&(t=oa),n.mutationQueue.getNextMutationBatchAfterBatchId(e,t))))}function im(e,t){let n=L(e);return n.persistence.runTransaction(`Allocate target`,`readwrite`,(e=>{let r;return n.A_.getTargetData(e,t).next((i=>i?(r=i,J.resolve(r)):n.A_.allocateTargetId(e).next((i=>(r=new hp(t,i,`TargetPurposeListen`,e.currentSequenceNumber),n.A_.addTargetData(e,r).next((()=>r)))))))})).then((e=>{let r=n.No.get(e.targetId);return(r===null||e.snapshotVersion.compareTo(r.snapshotVersion)>0)&&(n.No=n.No.insert(e.targetId,e),n.Lo.set(t,e.targetId)),e}))}async function am(e,t,n){let r=L(e),i=r.No.get(t),a=n?`readwrite`:`readwrite-primary`;try{n||await r.persistence.runTransaction(`Release target`,a,(e=>r.persistence.referenceDelegate.removeTarget(e,i)))}catch(e){if(!Il(e))throw e;P(Jp,`Failed to update sequence numbers for target ${t}: ${e}`)}r.No=r.No.remove(t),r.Lo.delete(i.target)}function om(e,t,n){let r=L(e),i=G.min(),a=q();return r.persistence.runTransaction(`Execute query`,`readwrite`,(e=>function(e,t,n){let r=L(e),i=r.Lo.get(n);return i===void 0?r.A_.getTargetData(t,n):J.resolve(r.No.get(i))}(r,e,tp(t)?t:fs(t)).next((t=>{if(t)return i=t.lastLimboFreeSnapshotVersion,r.A_.getMatchingKeysForTargetId(e,t.targetId).next((e=>{a=e}))})).next((()=>r.Mo.getDocumentsMatchingQuery(e,t,n?i:G.min(),n?a:q()))).next((e=>(sm(r,e),{documents:e,Qo:a})))))}function sm(e,t){t.forEach(((t,n)=>{let r=n.key.getCollectionGroup(),i=e.Bo.get(r)||G.min();n.readTime.compareTo(i)>0&&e.Bo.set(r,n.readTime)}))}var cm=class{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state=`Unknown`,this.Jo=0,this.Yo=null,this.Zo=!0}Xo(){this.Jo===0&&(this.ea(`Unknown`),this.Yo=this.asyncQueue.enqueueAfterDelay(`online_state_timeout`,1e4,(()=>(this.Yo=null,this.ta(`Backend didn't respond within 10 seconds.`),this.ea(`Offline`),Promise.resolve()))))}na(e){this.state===`Online`?this.ea(`Unknown`):(this.Jo++,this.Jo>=1&&(this.ra(),this.ta(`Connection failed 1 times. Most recent error: ${e.toString()}`),this.ea(`Offline`)))}set(e){this.ra(),this.Jo=0,e===`Online`&&(this.Zo=!1),this.ea(e)}ea(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}ta(e){let t=`Could not reach Cloud Firestore backend. ${e}\nThis 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.Zo?(ci(t),this.Zo=!1):P(`OnlineStateTracker`,t)}ra(){this.Yo!==null&&(this.Yo.cancel(),this.Yo=null)}},lm=`RemoteStore`,um=class{constructor(e,t,n,r,i){this.localStore=e,this.datastore=t,this.asyncQueue=n,this.remoteSyncer={},this.ia=[],this.sa=new Map,this._a=new Map,this.oa=new Map,this.aa=new xp(1e3),this.ua=new xp(1001),this.ca=new Set,this.la=[],this.Ea=i,this.Ea.Ke((e=>{n.enqueueAndForget((async()=>{bm(this)&&(P(lm,`Restarting streams for network reachability change.`),await async function(e){let t=L(e);t.ca.add(4),await fm(t),t.ha.set(`Unknown`),t.ca.delete(4),await dm(t)}(this))}))})),this.ha=new cm(n,r)}};async function dm(e){if(bm(e))for(let t of e.la)await t(!0)}async function fm(e){for(let t of e.la)await t(!1)}function pm(e,t){return e._a.get(t)||void 0}function mm(e,t){let n=L(e),r=pm(n,t.targetId);if(r!==void 0&&n.sa.has(r))return;let i=function(e,t){let n=pm(e,t);n!==void 0&&e.oa.delete(n);let r=function(e,t){return t%2==0?e.aa.next():e.ua.next()}(e,t);return e._a.set(t,r),e.oa.set(r,t),r}(n,t.targetId);P(lm,`remoteStoreListen mapping SDK target ID to remote`,t.targetId,i);let a=new hp(t.target,i,t.purpose,t.sequenceNumber,t.snapshotVersion,t.lastLimboFreeSnapshotVersion,t.resumeToken);n.sa.set(i,a),ym(n)?vm(n):zm(n).Jt()&&gm(n,a)}function hm(e,t){let n=L(e),r=zm(n),i=pm(n,t);P(lm,`remoteStoreUnlisten removing mapping of SDK target ID to remote`,t,i),n.sa.delete(i),n._a.delete(t),n.oa.delete(i),r.Jt()&&_m(n,i),n.sa.size===0&&(r.Jt()?r.Xt():bm(n)&&n.ha.set(`Unknown`))}function gm(e,t){if(e.Ta.H(t.targetId),t.resumeToken.approximateByteSize()>0||t.snapshotVersion.compareTo(G.min())>0){let n=e.oa.get(t.targetId);if(n===void 0)return void P(lm,`SDK target ID not found for remote ID: `+t.targetId);let r=e.remoteSyncer.getRemoteKeysForTarget(n).size;t=t.withExpectedCount(r)}zm(e).Tn(t)}function _m(e,t){e.Ta.H(t),zm(e).Pn(t)}function vm(e){e.Ta=new Qs({getRemoteKeysForTarget:t=>{let n=e.oa.get(t);return n===void 0?q():e.remoteSyncer.getRemoteKeysForTarget(n)},ge:t=>e.sa.get(t)||null,Ae:()=>e.datastore.serializer.databaseId}),zm(e).start(),e.ha.Xo()}function ym(e){return bm(e)&&!zm(e).Ht()&&e.sa.size>0}function bm(e){return L(e).ca.size===0}function xm(e){e.Ta=void 0}async function Sm(e){e.ha.set(`Online`)}async function Cm(e){e.sa.forEach(((t,n)=>{gm(e,t)}))}async function wm(e,t){xm(e),ym(e)?(e.ha.na(t),vm(e)):e.ha.set(`Unknown`)}async function Tm(e,t,n){if(e.ha.set(`Online`),t instanceof Ys&&t.state===2&&t.cause)try{await async function(e,t){let n=t.cause;for(let r of t.targetIds){if(e.sa.has(r)){let t=e.oa.get(r);t!==void 0&&(await e.remoteSyncer.rejectListen(t,n),e._a.delete(t),e.oa.delete(r)),e.sa.delete(r)}e.Ta.removeTarget(r)}}(e,t)}catch(n){P(lm,`Failed to remove targets %s: %s `,t.targetIds.join(`,`),n),await Em(e,n)}else if(t instanceof qs?e.Ta.se(t):t instanceof Js?e.Ta.Ee(t):e.Ta.ae(t),!n.isEqual(G.min()))try{let t=await em(e.localStore);n.compareTo(t)>=0&&await function(e,t){let n=e.Ta.de(t);n.targetChanges.forEach(((n,r)=>{if(n.resumeToken.approximateByteSize()>0){let i=e.sa.get(r);i&&e.sa.set(r,i.withResumeToken(n.resumeToken,t))}})),n.targetMismatches.forEach(((t,n)=>{let r=e.sa.get(t);r&&(e.sa.set(t,r.withResumeToken(Gi.EMPTY_BYTE_STRING,r.snapshotVersion)),_m(e,t),gm(e,new hp(r.target,t,n,r.sequenceNumber)))}));let r=function(e,t){let n=new Map;t.targetChanges.forEach(((t,r)=>{let i=e.oa.get(r);i!==void 0&&n.set(i,t)}));let r=new z(R);return t.targetMismatches.forEach(((t,n)=>{let i=e.oa.get(t);i!==void 0&&(r=r.insert(i,n))})),new Gs(t.snapshotVersion,n,r,t.documentUpdates,t.augmentedDocumentUpdates,t.resolvedLimboDocuments)}(e,n);return e.remoteSyncer.applyRemoteEvent(r)}(e,n)}catch(t){P(lm,`Failed to raise snapshot:`,t),await Em(e,t)}}async function Em(e,t,n){if(!Il(t))throw t;e.ca.add(1),await fm(e),e.ha.set(`Offline`),n||=()=>em(e.localStore),e.asyncQueue.enqueueRetryable((async()=>{P(lm,`Retrying IndexedDB access`),await n(),e.ca.delete(1),await dm(e)}))}function Dm(e,t){return t().catch((n=>Em(e,n,t)))}async function Om(e){let t=L(e),n=Bm(t),r=t.ia.length>0?t.ia[t.ia.length-1].batchId:oa;for(;km(t);)try{let e=await rm(t.localStore,r);if(e===null){t.ia.length===0&&n.Xt();break}r=e.batchId,Am(t,e)}catch(e){await Em(t,e)}jm(t)&&Mm(t)}function km(e){return bm(e)&&e.ia.length<10}function Am(e,t){e.ia.push(t);let n=Bm(e);n.Jt()&&n.Rn&&n.In(t.mutations)}function jm(e){return bm(e)&&!Bm(e).Ht()&&e.ia.length>0}function Mm(e){Bm(e).start()}async function Nm(e){Bm(e).dn()}async function Pm(e){let t=Bm(e);for(let n of e.ia)t.In(n.mutations)}async function Fm(e,t,n){let r=e.ia.shift(),i=lp.from(r,t,n);await Dm(e,(()=>e.remoteSyncer.applySuccessfulWrite(i))),await Om(e)}async function Im(e,t){t&&Bm(e).Rn&&await async function(e,t){if(function(e){return Cs(e)&&e!==B.ABORTED}(t.code)){let n=e.ia.shift();Bm(e).Zt(),await Dm(e,(()=>e.remoteSyncer.rejectFailedWrite(n.batchId,t))),await Om(e)}}(e,t),jm(e)&&Mm(e)}async function Lm(e,t){let n=L(e);n.asyncQueue.verifyOperationInProgress(),P(lm,`RemoteStore received new credentials`);let r=bm(n);n.ca.add(3),await fm(n),r&&n.ha.set(`Unknown`),await n.remoteSyncer.handleCredentialChange(t),n.ca.delete(3),await dm(n)}async function Rm(e,t){let n=L(e);t?(n.ca.delete(2),await dm(n)):t||(n.ca.add(2),await fm(n),n.ha.set(`Unknown`))}function zm(e){return e.Pa||(e.Pa=function(e,t,n){let r=L(e);return r.mn(),new bl(t,r.connection,r.authCredentials,r.appCheckCredentials,r.serializer,n)}(e.datastore,e.asyncQueue,{ut:Sm.bind(null,e),lt:Cm.bind(null,e),ht:wm.bind(null,e),hn:Tm.bind(null,e)}),e.la.push((async t=>{t?(e.Pa.Zt(),ym(e)?vm(e):e.ha.set(`Unknown`)):(await e.Pa.stop(),xm(e))}))),e.Pa}function Bm(e){return e.Ra||(e.Ra=function(e,t,n){let r=L(e);return r.mn(),new xl(t,r.connection,r.authCredentials,r.appCheckCredentials,r.serializer,n)}(e.datastore,e.asyncQueue,{ut:()=>Promise.resolve(),lt:Nm.bind(null,e),ht:Im.bind(null,e),An:Pm.bind(null,e),Vn:Fm.bind(null,e)}),e.la.push((async t=>{t?(e.Ra.Zt(),await Om(e)):(await e.Ra.stop(),e.ia.length>0&&(P(lm,`Stopping write stream with ${e.ia.length} pending writes`),e.ia=[]))}))),e.Ra}var Vm=class{constructor(e){this.observer=e,this.muted=!1}next(e){this.muted||this.observer.next&&this.Ia(this.observer.next,e)}error(e){this.muted||(this.observer.error?this.Ia(this.observer.error,e):ci(`Uncaught Error in snapshot listener:`,e.toString()))}Aa(){this.muted=!0}Ia(e,t){setTimeout((()=>{this.muted||e(t)}),0)}},Hm=class e{constructor(e,t,n,r,i){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=n,this.op=r,this.removalCallback=i,this.deferred=new Jc,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch((e=>{}))}get promise(){return this.deferred.promise}static createAndSchedule(t,n,r,i,a){let o=Date.now()+r,s=new e(t,n,o,i,a);return s.start(r),s}start(e){this.timerHandle=setTimeout((()=>this.handleDelayElapsed()),e)}skipDelay(){return this.handleDelayElapsed()}cancel(e){this.timerHandle!==null&&(this.clearTimeout(),this.deferred.reject(new V(B.CANCELLED,`Operation cancelled`+(e?`: `+e:``))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget((()=>this.timerHandle===null?Promise.resolve():(this.clearTimeout(),this.op().then((e=>this.deferred.resolve(e))))))}clearTimeout(){this.timerHandle!==null&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}};function Um(e,t){if(ci(`AsyncQueue`,`${t}: ${e}`),Il(e))return new V(B.UNAVAILABLE,`${t}: ${e}`);throw e}var Wm=class{constructor(){this.activeTargetIds=Ls()}La(e){this.activeTargetIds=this.activeTargetIds.add(e)}Ba(e){this.activeTargetIds=this.activeTargetIds.delete(e)}Na(){let e={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(e)}},Gm=class{constructor(){this.du=new Wm,this.fu={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,n){}addLocalQueryTarget(e,t=!0){return t&&this.du.La(e),this.fu[e]||`not-current`}updateQueryState(e,t,n){this.fu[e]=t}removeLocalQueryTarget(e){this.du.Ba(e)}isLocalQueryTarget(e){return this.du.activeTargetIds.has(e)}clearQueryState(e){delete this.fu[e]}getAllActiveQueryTargets(){return this.du.activeTargetIds}isActiveQueryTarget(e){return this.du.activeTargetIds.has(e)}start(){return this.du=new Wm,Promise.resolve()}handleUserChange(e,t,n){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}};function Km(){return typeof document<`u`?document:null}var qm=class e{static emptySet(t){return new e(t.comparator)}constructor(e){this.comparator=e?(t,n)=>e(t,n)||U.comparator(t.key,n.key):(e,t)=>U.comparator(e.key,t.key),this.keyedMap=ks(),this.sortedSet=new z(this.comparator)}has(e){return this.keyedMap.get(e)!=null}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){let t=this.keyedMap.get(e);return t?this.sortedSet.indexOf(t):-1}get size(){return this.sortedSet.size}forEach(e){this.sortedSet.inorderTraversal(((t,n)=>(e(t),!1)))}add(e){let t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){let t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(t){if(!(t instanceof e)||this.size!==t.size)return!1;let n=this.sortedSet.getIterator(),r=t.sortedSet.getIterator();for(;n.hasNext();){let e=n.getNext().key,t=r.getNext().key;if(!e.isEqual(t))return!1}return!0}toString(){let e=[];return this.forEach((t=>{e.push(t.toString())})),e.length===0?`DocumentSet ()`:`DocumentSet (
|
|
29
|
+
`+e.join(`
|
|
30
|
+
`)+`
|
|
31
|
+
)`}copy(t,n){let r=new e;return r.comparator=this.comparator,r.keyedMap=t,r.sortedSet=n,r}},Jm=class{constructor(){this.mu=new z(U.comparator)}track(e){let t=e.doc.key,n=this.mu.get(t);n?e.type!==0&&n.type===3?this.mu=this.mu.insert(t,e):e.type===3&&n.type!==1?this.mu=this.mu.insert(t,{type:n.type,doc:e.doc}):e.type===2&&n.type===2?this.mu=this.mu.insert(t,{type:2,doc:e.doc}):e.type===2&&n.type===0?this.mu=this.mu.insert(t,{type:0,doc:e.doc}):e.type===1&&n.type===0?this.mu=this.mu.remove(t):e.type===1&&n.type===2?this.mu=this.mu.insert(t,{type:1,doc:n.doc}):e.type===0&&n.type===1?this.mu=this.mu.insert(t,{type:2,doc:e.doc}):F(63341,{ye:e,pu:n}):this.mu=this.mu.insert(t,e)}gu(){let e=[];return this.mu.inorderTraversal(((t,n)=>{e.push(n)})),e}},Ym=class e{constructor(e,t,n,r,i,a,o,s,c){this.query=e,this.docs=t,this.oldDocs=n,this.docChanges=r,this.mutatedKeys=i,this.fromCache=a,this.syncStateChanged=o,this.excludesMetadataChanges=s,this.hasCachedResults=c}static fromInitialDocuments(t,n,r,i,a){let o=[];return n.forEach((e=>{o.push({type:0,doc:e})})),new e(t,n,qm.emptySet(n),o,r,i,!0,!1,a)}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)&&ip(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;let t=this.docChanges,n=e.docChanges;if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e].type!==n[e].type||!t[e].doc.isEqual(n[e].doc))return!1;return!0}},Xm=class{constructor(){this.yu=void 0,this.wu=[]}bu(){return this.wu.some((e=>e.Su()))}},Zm=class{constructor(){this.queries=Qm(),this.onlineState=`Unknown`,this.vu=new Set}terminate(){(function(e,t){let n=L(e),r=n.queries;n.queries=Qm(),r.forEach(((e,n)=>{for(let e of n.wu)e.onError(t)}))})(this,new V(B.ABORTED,`Firestore shutting down`))}};function Qm(){return new Ts((e=>rp(e)),ip)}async function $m(e,t){let n=L(e),r=3,i=t.query,a=n.queries.get(i);a?!a.bu()&&t.Su()&&(r=2):(a=new Xm,r=+!t.Su());try{switch(r){case 0:a.yu=await n.onListen(i,!0);break;case 1:a.yu=await n.onListen(i,!1);break;case 2:await n.onFirstRemoteStoreListen(i)}}catch(e){let n=Um(e,`Initialization of query '${tp(t.query)?$f(t.query):_s(t.query)}' failed`);t.onError(n);return}n.queries.set(i,a),a.wu.push(t),t.Du(n.onlineState),a.yu&&t.xu(a.yu)&&rh(n)}async function eh(e,t){let n=L(e),r=t.query,i=3,a=n.queries.get(r);if(a){let e=a.wu.indexOf(t);e>=0&&(a.wu.splice(e,1),a.wu.length===0?i=+!t.Su():!a.bu()&&t.Su()&&(i=2))}switch(i){case 0:return n.queries.delete(r),n.onUnlisten(r,!0);case 1:return n.queries.delete(r),n.onUnlisten(r,!1);case 2:return n.onLastRemoteStoreUnlisten(r);default:return}}function th(e,t){let n=L(e),r=!1;for(let e of t){let t=e.query,i=n.queries.get(t);if(i){for(let t of i.wu)t.xu(e)&&(r=!0);i.yu=e}}r&&rh(n)}function nh(e,t,n){let r=L(e),i=r.queries.get(t);if(i)for(let e of i.wu)e.onError(n);r.queries.delete(t)}function rh(e){e.vu.forEach((e=>{e.next()}))}var ih;(function(e){e.Default=`default`,e.Cache=`cache`})(ih||={});var ah=class{constructor(e,t,n){this.query=e,this.Cu=t,this.Fu=!1,this.Ou=null,this.onlineState=`Unknown`,this.options=n||{}}xu(e){if(!this.options.includeMetadataChanges){let t=[];for(let n of e.docChanges)n.type!==3&&t.push(n);e=new Ym(e.query,e.docs,e.oldDocs,t,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.Fu?this.Mu(e)&&(this.Cu.next(e),t=!0):this.Nu(e,this.onlineState)&&(this.Lu(e),t=!0),this.Ou=e,t}onError(e){this.Cu.error(e)}Du(e){this.onlineState=e;let t=!1;return this.Ou&&!this.Fu&&this.Nu(this.Ou,e)&&(this.Lu(this.Ou),t=!0),t}Nu(e,t){if(!e.fromCache||!this.Su())return!0;let n=t!==`Offline`;return(!this.options.waitForSyncWhenOnline||!n)&&(!e.docs.isEmpty()||e.hasCachedResults||t===`Offline`)}Mu(e){if(e.docChanges.length>0)return!0;let t=this.Ou&&this.Ou.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&!0===this.options.includeMetadataChanges}Lu(e){e=Ym.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.Fu=!0,this.Cu.next(e)}Su(){return this.options.source!==ih.Cache}},oh=class{constructor(e){this.key=e}},sh=class{constructor(e){this.key=e}},ch=class{constructor(e,t){this.query=e,this.Gu=t,this.zu=null,this.hasCachedResults=!1,this.current=!1,this.ju=q(),this.mutatedKeys=q(),this.Hu=tp(e)?Ep(e):ys(e),this.Ju=new qm(this.Hu)}get Yu(){return this.Gu}Zu(e,t){let n=t?t.Xu:new Jm,r=t?t.Ju:this.Ju,i=t?t.mutatedKeys:this.mutatedKeys,a=r,o=!1,[s,c]=this.ec(this.query,r);e.inorderTraversal(((e,t)=>{let l=r.get(e),u=wp(this.query,t)?t:null,d=!!l&&this.mutatedKeys.has(l.key),f=!!u&&(u.hasLocalMutations||this.mutatedKeys.has(u.key)&&u.hasCommittedMutations),p=!1;l&&u?l.data.isEqual(u.data)?d!==f&&(n.track({type:3,doc:u}),p=!0):this.tc(l,u)||(n.track({type:2,doc:u}),p=!0,(s&&this.Hu(u,s)>0||c&&this.Hu(u,c)<0)&&(o=!0)):!l&&u?(n.track({type:0,doc:u}),p=!0):l&&!u&&(n.track({type:1,doc:l}),p=!0,(s||c)&&(o=!0)),p&&(u?(a=a.add(u),i=f?i.add(e):i.delete(e)):(a=a.delete(e),i=i.delete(e)))}));let l=this.nc(this.query);if(l){if(tp(this.query)){let e=[];a.forEach((t=>e.push(t)));let t=Sp(this.query,e),r=new qm(Ep(this.query));for(let e of t)r=r.add(e);a.forEach((e=>{r.has(e.key)||(i=i.delete(e.key),n.track({type:1,doc:e}))})),a=r}else{let e=this.rc(this.query);for(;a.size>l;){let t=e===`F`?a.last():a.first();a=a.delete(t.key),i=i.delete(t.key),n.track({type:1,doc:t})}}}return{Ju:a,Xu:n,Fo:o,mutatedKeys:i}}nc(e){return tp(e)?Dp(e)?.limit:e.limit||void 0}rc(e){if(tp(e)){let t=Dp(e);return t&&t.limit<0?`L`:`F`}return e.limitType}ec(e,t){if(tp(e)){let n=Dp(e)?.limit;return[t.size===n?t.last():null,null]}return[e.limitType===`F`&&t.size===this.nc(this.query)?t.last():null,e.limitType===`L`&&t.size===this.nc(this.query)?t.first():null]}tc(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,n,r){let i=this.Ju;this.Ju=e.Ju,this.mutatedKeys=e.mutatedKeys;let a=e.Xu.gu();a.sort(((e,t)=>function(e,t){let n=e=>{switch(e){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return F(20277,{ye:e})}};return n(e)-n(t)}(e.type,t.type)||this.Hu(e.doc,t.doc))),this.sc(n),r??=!1;let o=t&&!r?this._c():[],s=this.ju.size===0&&this.current&&!r?1:0,c=s!==this.zu;return this.zu=s,a.length!==0||c?{snapshot:new Ym(this.query,e.Ju,i,a,e.mutatedKeys,s===0,c,!1,!!n&&n.resumeToken.approximateByteSize()>0),oc:o}:{oc:o}}Du(e){return this.current&&e===`Offline`?(this.current=!1,this.applyChanges({Ju:this.Ju,Xu:new Jm,mutatedKeys:this.mutatedKeys,Fo:!1},!1)):{oc:[]}}ac(e){return!this.Gu.has(e)&&!!this.Ju.has(e)&&!this.Ju.get(e).hasLocalMutations}sc(e){e&&(e.addedDocuments.forEach((e=>this.Gu=this.Gu.add(e))),e.modifiedDocuments.forEach((e=>{})),e.removedDocuments.forEach((e=>this.Gu=this.Gu.delete(e))),this.current=e.current)}_c(){if(!this.current)return[];let e=this.ju;this.ju=q(),this.Ju.forEach((e=>{this.ac(e.key)&&(this.ju=this.ju.add(e.key))}));let t=[];return e.forEach((e=>{this.ju.has(e)||t.push(new sh(e))})),this.ju.forEach((n=>{e.has(n)||t.push(new oh(n))})),t}uc(e){this.Gu=e.Qo,this.ju=q();let t=this.Zu(e.documents);return this.applyChanges(t,!0)}cc(){return Ym.fromInitialDocuments(this.query,this.Ju,this.mutatedKeys,this.zu===0,this.hasCachedResults)}},lh=`SyncEngine`,uh=class{constructor(e,t,n){this.query=e,this.targetId=t,this.view=n}},dh=class{constructor(e){this.key=e,this.lc=!1}},fh=class{constructor(e,t,n,r,i,a){this.localStore=e,this.remoteStore=t,this.eventManager=n,this.sharedClientState=r,this.currentUser=i,this.maxConcurrentLimboResolutions=a,this.Ec={},this.hc=new Ts((e=>rp(e)),ip),this.Tc=new Map,this.Pc=new Set,this.Rc=new z(U.comparator),this.Ic=new Map,this.Ac=new Pp,this.Vc={},this.dc=new Map,this.fc=xp.ws(),this.onlineState=`Unknown`,this.mc=void 0}get isPrimaryClient(){return!0===this.mc}};async function ph(e,t,n=!0){let r=Fh(e),i,a=r.hc.get(t);return a?(r.sharedClientState.addLocalQueryTarget(a.targetId),i=a.view.cc()):i=await hh(r,t,n,!0),i}async function mh(e,t){await hh(Fh(e),t,!0,!1)}async function hh(e,t,n,r){let i=await im(e.localStore,tp(t)?t:fs(t)),a=i.targetId,o=e.sharedClientState.addLocalQueryTarget(a,n),s;return r&&(s=await gh(e,t,a,o===`current`,i.resumeToken)),e.isPrimaryClient&&n&&mm(e.remoteStore,i),s}async function gh(e,t,n,r,i){e.gc=(t,n,r)=>async function(e,t,n,r){let i=t.view.Zu(n);i.Fo&&(i=await om(e.localStore,t.query,!1).then((({documents:e})=>t.view.Zu(e,i))));let a=r&&r.targetChanges.get(t.targetId),o=r&&r.targetMismatches.get(t.targetId)!=null,s=t.view.applyChanges(i,e.isPrimaryClient,a,o);return kh(e,t.targetId,s.oc),s.snapshot}(e,t,n,r);let a=await om(e.localStore,t,!0),o=new ch(t,a.Qo),s=o.Zu(a.documents),c=Ks.createSynthesizedTargetChangeForCurrentChange(n,r&&e.onlineState!==`Offline`,i),l=o.applyChanges(s,e.isPrimaryClient,c);kh(e,n,l.oc);let u=new uh(t,n,o);return e.hc.set(t,u),e.Tc.has(n)?e.Tc.get(n).push(t):e.Tc.set(n,[t]),l.snapshot}async function _h(e,t,n){let r=L(e),i=r.hc.get(t),a=r.Tc.get(i.targetId);if(a.length>1)return r.Tc.set(i.targetId,a.filter((e=>!ip(e,t)))),void r.hc.delete(t);r.isPrimaryClient?(r.sharedClientState.removeLocalQueryTarget(i.targetId),r.sharedClientState.isActiveQueryTarget(i.targetId)||await am(r.localStore,i.targetId,!1).then((()=>{r.sharedClientState.clearQueryState(i.targetId),n&&hm(r.remoteStore,i.targetId),Dh(r,i.targetId)})).catch(Pl)):(Dh(r,i.targetId),await am(r.localStore,i.targetId,!0))}async function vh(e,t){let n=L(e),r=n.hc.get(t),i=n.Tc.get(r.targetId);n.isPrimaryClient&&i.length===1&&(n.sharedClientState.removeLocalQueryTarget(r.targetId),hm(n.remoteStore,r.targetId))}async function yh(e,t,n){let r=Ih(e);try{let e=await function(e,t){let n=L(e),r=Ui.now(),i=t.reduce(((e,t)=>e.add(t.key)),q()),a,o;return n.persistence.runTransaction(`Locally write mutations`,`readwrite`,(e=>{let s=Ds(),c=q();return n.Uo.getEntries(e,i).next((e=>{s=e,s.forEach(((e,t)=>{t.isValidDocument()||(c=c.add(e))}))})).next((()=>n.localDocuments.getOverlayedDocuments(e,s))).next((i=>{a=i;let o=[];for(let e of t){let t=go(e,a.get(e.key).overlayedDocument);t!=null&&o.push(new yo(e.key,t,Va(t.value.mapValue),lo.exists(!0)))}return n.mutationQueue.addMutationBatch(e,r,o,t)})).next((t=>{o=t;let r=t.applyToLocalDocumentSet(a,c);return n.documentOverlayCache.saveOverlays(e,t.batchId,r)}))})).then((()=>({batchId:o.batchId,changes:As(a)})))}(r.localStore,t);r.sharedClientState.addPendingMutation(e.batchId),function(e,t,n){let r=e.Vc[e.currentUser.toKey()];r||=new z(R),r=r.insert(t,n),e.Vc[e.currentUser.toKey()]=r}(r,e.batchId,n),await Mh(r,e.changes),await Om(r.remoteStore)}catch(e){let t=Um(e,`Failed to persist write`);n.reject(t)}}async function bh(e,t){let n=L(e);try{let e=await tm(n.localStore,t);t.targetChanges.forEach(((e,t)=>{let r=n.Ic.get(t);r&&(I(e.addedDocuments.size+e.modifiedDocuments.size+e.removedDocuments.size<=1,22616),e.addedDocuments.size>0?r.lc=!0:e.modifiedDocuments.size>0?I(r.lc,14607):e.removedDocuments.size>0&&(I(r.lc,42227),r.lc=!1))})),await Mh(n,e,t)}catch(e){await Pl(e)}}function xh(e,t,n){let r=L(e);if(r.isPrimaryClient&&n===0||!r.isPrimaryClient&&n===1){let e=[];r.hc.forEach(((n,r)=>{let i=r.view.Du(t);i.snapshot&&e.push(i.snapshot)})),function(e,t){let n=L(e);n.onlineState=t;let r=!1;n.queries.forEach(((e,n)=>{for(let e of n.wu)e.Du(t)&&(r=!0)})),r&&rh(n)}(r.eventManager,t),e.length&&r.Ec.hn(e),r.onlineState=t,r.isPrimaryClient&&r.sharedClientState.setOnlineState(t)}}async function Sh(e,t,n){let r=L(e);r.sharedClientState.updateQueryState(t,`rejected`,n);let i=r.Ic.get(t),a=i&&i.key;if(a){let e=new z(U.comparator);e=e.insert(a,qo.newNoDocument(a,G.min()));let n=q().add(a);await bh(r,new Gs(G.min(),new Map,new z(R),e,Ds(),n)),r.Rc=r.Rc.remove(a),r.Ic.delete(t),jh(r)}else await am(r.localStore,t,!1).then((()=>Dh(r,t,n))).catch(Pl)}async function Ch(e,t){let n=L(e),r=t.batch.batchId;try{let e=await $p(n.localStore,t);Eh(n,r,null),Th(n,r),n.sharedClientState.updateMutationState(r,`acknowledged`),await Mh(n,e)}catch(e){await Pl(e)}}async function wh(e,t,n){let r=L(e);try{let e=await function(e,t){let n=L(e);return n.persistence.runTransaction(`Reject batch`,`readwrite-primary`,(e=>{let r;return n.mutationQueue.lookupMutationBatch(e,t).next((t=>(I(t!==null,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)))}))}(r.localStore,t);Eh(r,t,n),Th(r,t),r.sharedClientState.updateMutationState(t,`rejected`,n),await Mh(r,e)}catch(e){await Pl(e)}}function Th(e,t){(e.dc.get(t)||[]).forEach((e=>{e.resolve()})),e.dc.delete(t)}function Eh(e,t,n){let r=L(e),i=r.Vc[r.currentUser.toKey()];if(i){let e=i.get(t);e&&(n?e.reject(n):e.resolve(),i=i.remove(t)),r.Vc[r.currentUser.toKey()]=i}}function Dh(e,t,n=null){e.sharedClientState.removeLocalQueryTarget(t);for(let r of e.Tc.get(t))e.hc.delete(r),n&&e.Ec.yc(r,n);e.Tc.delete(t),e.isPrimaryClient&&e.Ac.Xs(t).forEach((t=>{e.Ac.containsKey(t)||Oh(e,t)}))}function Oh(e,t){e.Pc.delete(t.path.canonicalString());let n=e.Rc.get(t);n!==null&&(hm(e.remoteStore,n),e.Rc=e.Rc.remove(t),e.Ic.delete(n),jh(e))}function kh(e,t,n){for(let r of n)r instanceof oh?(e.Ac.addReference(r.key,t),Ah(e,r)):r instanceof sh?(P(lh,`Document no longer in limbo: `+r.key),e.Ac.removeReference(r.key,t),e.Ac.containsKey(r.key)||Oh(e,r.key)):F(19791,{wc:r})}function Ah(e,t){let n=t.key,r=n.path.canonicalString();e.Rc.get(n)||e.Pc.has(r)||(P(lh,`New document in limbo: `+n),e.Pc.add(r),jh(e))}function jh(e){for(;e.Pc.size>0&&e.Rc.size<e.maxConcurrentLimboResolutions;){let t=e.Pc.values().next().value;e.Pc.delete(t);let n=new U(H.fromString(t)),r=e.fc.next();e.Ic.set(r,new dh(n)),e.Rc=e.Rc.insert(n,r),mm(e.remoteStore,new hp(fs(ss(n.path)),r,`TargetPurposeLimboResolution`,jl.yn))}}async function Mh(e,t,n){let r=L(e),i=[],a=[],o=[];r.hc.isEmpty()||(r.hc.forEach(((e,s)=>{o.push(r.gc(s,t,n).then((e=>{if((e||n)&&r.isPrimaryClient){let t=e?!e.fromCache:n?.targetChanges.get(s.targetId)?.current;r.sharedClientState.updateQueryState(s.targetId,t?`current`:`not-current`)}if(e){i.push(e);let t=Wp.fo(s.targetId,e);a.push(t)}})))})),await Promise.all(o),r.Ec.hn(i),await async function(e,t){let n=L(e);try{await n.persistence.runTransaction(`notifyLocalViewChanges`,`readwrite`,(e=>J.forEach(t,(t=>J.forEach(t.Ao,(r=>n.persistence.referenceDelegate.addReference(e,t.targetId,r))).next((()=>J.forEach(t.Vo,(r=>n.persistence.referenceDelegate.removeReference(e,t.targetId,r)))))))))}catch(e){if(!Il(e))throw e;P(Jp,`Failed to update sequence numbers: `+e)}for(let e of t){let t=e.targetId;if(!e.fromCache){let e=n.No.get(t),r=e.snapshotVersion,i=e.withLastLimboFreeSnapshotVersion(r);n.No=n.No.insert(t,i)}}}(r.localStore,a))}async function Nh(e,t){let n=L(e);if(!n.currentUser.isEqual(t)){P(lh,`User change. New user:`,t.toKey());let e=await Qp(n.localStore,t);n.currentUser=t,function(e,t){e.dc.forEach((e=>{e.forEach((e=>{e.reject(new V(B.CANCELLED,t))}))})),e.dc.clear()}(n,`'waitForPendingWrites' promise is rejected due to a user change.`),n.sharedClientState.handleUserChange(t,e.removedBatchIds,e.addedBatchIds),await Mh(n,e.qo)}}function Ph(e,t){let n=L(e),r=n.Ic.get(t);if(r&&r.lc)return q().add(r.key);{let e=q(),r=n.Tc.get(t);if(!r)return e;for(let t of r??[]){let r=n.hc.get(t);e=e.unionWith(r.view.Yu)}return e}}function Fh(e){let t=L(e);return t.remoteStore.remoteSyncer.applyRemoteEvent=bh.bind(null,t),t.remoteStore.remoteSyncer.getRemoteKeysForTarget=Ph.bind(null,t),t.remoteStore.remoteSyncer.rejectListen=Sh.bind(null,t),t.Ec.hn=th.bind(null,t.eventManager),t.Ec.yc=nh.bind(null,t.eventManager),t}function Ih(e){let t=L(e);return t.remoteStore.remoteSyncer.applySuccessfulWrite=Ch.bind(null,t),t.remoteStore.remoteSyncer.rejectFailedWrite=wh.bind(null,t),t}var Lh=class{constructor(){this.kind=`memory`,this.synchronizeTabs=!1}async initialize(e){this.serializer=Vc(e.databaseInfo.databaseId),this.sharedClientState=this.Sc(e),this.persistence=this.vc(e),await this.persistence.start(),this.localStore=this.Dc(e),this.gcScheduler=this.xc(e,this.localStore),this.indexBackfillerScheduler=this.Cc(e,this.localStore)}xc(e,t){return null}Cc(e,t){return null}Dc(e){return Zp(this.persistence,new qp,e.initialUser,this.serializer)}vc(e){return new Bp(Hp.w_,this.serializer)}Sc(e){return new Gm}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}};Lh.provider={build:()=>new Lh};var Rh=class extends Lh{constructor(e){super(),this.cacheSizeBytes=e}xc(e,t){I(this.persistence.referenceDelegate instanceof Up,46915);let n=this.persistence.referenceDelegate.garbageCollector;return new Vl(n,e.asyncQueue,t)}vc(e){let t=this.cacheSizeBytes===void 0?Al.DEFAULT:Al.withCacheSize(this.cacheSizeBytes);return new Bp((e=>Up.w_(e,t)),this.serializer)}},zh=class{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=>xh(this.syncEngine,e,1),this.remoteStore.remoteSyncer.handleCredentialChange=Nh.bind(null,this.syncEngine),await Rm(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return function(){return new Zm}()}createDatastore(e){let t=Vc(e.databaseInfo.databaseId),n=gl(e.databaseInfo);return wl(e.authCredentials,e.appCheckCredentials,n,t)}createRemoteStore(e){return function(e,t,n,r,i){return new um(e,t,n,r,i)}(this.localStore,this.datastore,e.asyncQueue,(e=>xh(this.syncEngine,e,0)),function(){return ol.Je()?new ol:new il}())}createSyncEngine(e,t){return function(e,t,n,r,i,a,o){let s=new fh(e,t,n,r,i,a);return o&&(s.mc=!0),s}(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,e.initialUser,e.maxConcurrentLimboResolutions,t)}async terminate(){await async function(e){let t=L(e);P(lm,`RemoteStore shutting down.`),t.ca.add(5),await fm(t),t.Ea.shutdown(),t.ha.set(`Unknown`)}(this.remoteStore),this.datastore?.terminate(),this.eventManager?.terminate()}};zh.provider={build:()=>new zh};var Bh=`FirestoreClient`,Vh=class{constructor(e,t,n,r,i){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=n,this._databaseInfo=r,this.user=qc.UNAUTHENTICATED,this.clientId=pi.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=i,this.authCredentials.start(n,(async e=>{P(Bh,`Received user=`,e.uid),await this.authCredentialListener(e),this.user=e})),this.appCheckCredentials.start(n,(e=>(P(Bh,`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 Jc;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(t){let n=Um(t,`Failed to shutdown persistence`);e.reject(n)}})),e.promise}};async function Hh(e,t){e.asyncQueue.verifyOperationInProgress(),P(Bh,`Initializing OfflineComponentProvider`);let n=e.configuration;await t.initialize(n);let r=n.initialUser;e.setCredentialChangeListener((async e=>{r.isEqual(e)||(await Qp(t.localStore,e),r=e)})),t.persistence.setDatabaseDeletedListener((()=>e.terminate())),e._offlineComponents=t}async function Uh(e,t){e.asyncQueue.verifyOperationInProgress();let n=await Wh(e);P(Bh,`Initializing OnlineComponentProvider`),await t.initialize(n,e.configuration),e.setCredentialChangeListener((e=>Lm(t.remoteStore,e))),e.setAppCheckTokenChangeListener(((e,n)=>Lm(t.remoteStore,n))),e._onlineComponents=t}async function Wh(e){if(!e._offlineComponents){if(e._uninitializedComponentsProvider){P(Bh,`Using user provided OfflineComponentProvider`);try{await Hh(e,e._uninitializedComponentsProvider._offline)}catch(t){let n=t;if(!function(e){return e.name===`FirebaseError`?e.code===B.FAILED_PRECONDITION||e.code===B.UNIMPLEMENTED:!(typeof DOMException<`u`&&e instanceof DOMException)||e.code===22||e.code===20||e.code===11}(n))throw n;li(`Error using user provided cache. Falling back to memory cache: `+n),await Hh(e,new Lh)}}else P(Bh,`Using default OfflineComponentProvider`),await Hh(e,new Rh(void 0))}return e._offlineComponents}async function Gh(e){return e._onlineComponents||(e._uninitializedComponentsProvider?(P(Bh,`Using user provided OnlineComponentProvider`),await Uh(e,e._uninitializedComponentsProvider._online)):(P(Bh,`Using default OnlineComponentProvider`),await Uh(e,new zh))),e._onlineComponents}function Kh(e){return Gh(e).then((e=>e.syncEngine))}async function qh(e){let t=await Gh(e),n=t.eventManager;return n.onListen=ph.bind(null,t.syncEngine),n.onUnlisten=_h.bind(null,t.syncEngine),n.onFirstRemoteStoreListen=mh.bind(null,t.syncEngine),n.onLastRemoteStoreUnlisten=vh.bind(null,t.syncEngine),n}function Jh(e,t,n={}){let r=new Jc;return e.asyncQueue.enqueueAndForget((async()=>function(e,t,n,r,i){let a=new Vm({next:s=>{a.Aa(),t.enqueueAndForget((()=>eh(e,o)));let c=s.docs.has(n);!c&&s.fromCache?i.reject(new V(B.UNAVAILABLE,`Failed to get document because the client is offline.`)):c&&s.fromCache&&r&&r.source===`server`?i.reject(new V(B.UNAVAILABLE,`Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)`)):i.resolve(s)},error:e=>i.reject(e)}),o=new ah(ss(n.path),a,{includeMetadataChanges:!0,waitForSyncWhenOnline:!0});return $m(e,o)}(await qh(e),e.asyncQueue,t,n,r))),r.promise}function Yh(e,t,n={}){let r=new Jc;return e.asyncQueue.enqueueAndForget((async()=>function(e,t,n,r,i){let a=new Vm({next:n=>{a.Aa(),t.enqueueAndForget((()=>eh(e,o))),n.fromCache&&r.source===`server`?i.reject(new V(B.UNAVAILABLE,`Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)`)):i.resolve(n)},error:e=>i.reject(e)}),o=new ah(n instanceof ad?sp(n):n,a,{includeMetadataChanges:!0,waitForSyncWhenOnline:!0});return $m(e,o)}(await qh(e),e.asyncQueue,t,n,r))),r.promise}function Xh(e,t){let n=new Jc;return e.asyncQueue.enqueueAndForget((async()=>yh(await Kh(e),t,n))),n.promise}var Zh=class{constructor(e,t,n,r,i){this._firestore=e,this._userDataWriter=t,this._key=n,this._document=r,this._converter=i}get id(){return this._key.path.lastSegment()}get ref(){return new Xl(this._firestore,this._converter,this._key)}exists(){return this._document!==null}data(){if(this._document){if(this._converter){let e=new Qh(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(pu(`DocumentSnapshot.get`,e));if(t!==null)return this._userDataWriter.convertValue(t)}}},Qh=class extends Zh{data(){return super.data()}},$h=class{convertValue(e,t=`none`){switch(ya(e)){case 0:return null;case 1:return e.booleanValue;case 2:return W(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(Ji(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 F(62114,{value:e})}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,t=`none`){let n={};return ki(e,((e,r)=>{n[e]=this.convertValue(r,t)})),n}convertVectorValue(e){let t=e.fields?.[ha].arrayValue?.values?.map((e=>W(e.doubleValue)));return new eu(t)}convertGeoPoint(e){return new Kc(W(e.latitude),W(e.longitude))}convertArray(e,t){return(e.values||[]).map((e=>this.convertValue(e,t)))}convertServerTimestamp(e,t){switch(t){case`previous`:let n=ea(e);return n==null?null:this.convertValue(n,t);case`estimate`:return this.convertTimestamp(ta(e));default:return null}}convertTimestamp(e){let t=qi(e);return new Ui(t.seconds,t.nanos)}convertDocumentKey(e,t){let n=H.fromString(e);I(Lc(n),9688,{name:e});let r=new ia(n.get(1),n.get(3)),i=new U(n.popFirst(5));return r.isEqual(t)||ci(`A document reference to ${i} refers to a different database (${r.projectId}/${r.database}), which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),i}};function eg(e,t,n){let r;return r=e?n&&(n.merge||n.mergeFields)?e.toFirestore(t,n):e.toFirestore(t):t,r}var tg=`AsyncQueue`,ng=class{constructor(e=Promise.resolve()){this.qc=[],this.$c=!1,this.Kc=[],this.Qc=null,this.Wc=!1,this.Gc=!1,this.zc=[],this.jt=new _l(this,`async_queue_retry`),this.jc=()=>{let e=Km();e&&P(tg,`Visibility state changed to `+e.visibilityState),this.jt.qt()},this.Hc=e;let t=Km();t&&typeof t.addEventListener==`function`&&t.addEventListener(`visibilitychange`,this.jc)}get isShuttingDown(){return this.$c}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.Jc(),this.Yc(e)}enterRestrictedMode(e){if(!this.$c){this.$c=!0,this.Gc=e||!1;let t=Km();t&&typeof t.removeEventListener==`function`&&t.removeEventListener(`visibilitychange`,this.jc)}}enqueue(e){if(this.Jc(),this.$c)return new Promise((()=>{}));let t=new Jc;return this.Yc((()=>this.$c&&this.Gc?Promise.resolve():(e().then(t.resolve,t.reject),t.promise))).then((()=>t.promise))}enqueueRetryable(e){this.enqueueAndForget((()=>(this.qc.push(e),this.Zc())))}async Zc(){if(this.qc.length!==0){try{await this.qc[0](),this.qc.shift(),this.jt.reset()}catch(e){if(!Il(e))throw e;P(tg,`Operation failed with retryable error: `+e)}this.qc.length>0&&this.jt.Ut((()=>this.Zc()))}}Yc(e){let t=this.Hc.then((()=>(this.Wc=!0,e().catch((e=>{throw this.Qc=e,this.Wc=!1,ci(`INTERNAL UNHANDLED ERROR: `,rg(e)),e})).then((e=>(this.Wc=!1,e))))));return this.Hc=t,t}enqueueAfterDelay(e,t,n){this.Jc(),this.zc.indexOf(e)>-1&&(t=0);let r=Hm.createAndSchedule(this,e,t,n,(e=>this.Xc(e)));return this.Kc.push(r),r}Jc(){this.Qc&&F(47125,{el:rg(this.Qc)})}verifyOperationInProgress(){}async tl(){let e;do e=this.Hc,await e;while(e!==this.Hc)}nl(e){for(let t of this.Kc)if(t.timerId===e)return!0;return!1}rl(e){return this.tl().then((()=>{this.Kc.sort(((e,t)=>e.targetTimeMs-t.targetTimeMs));for(let t of this.Kc)if(t.skipDelay(),e!==`all`&&t.timerId===e)break;return this.tl()}))}il(e){this.zc.push(e)}Xc(e){let t=this.Kc.indexOf(e);this.Kc.splice(t,1)}};function rg(e){let t=e.message||``;return e.stack&&(t=e.stack.includes(e.message)?e.stack:e.message+`
|
|
32
|
+
`+e.stack),t}var ig=class extends ql{constructor(e,t,n,r){super(e,t,n,r),this.type=`firestore`,this._queue=new ng,this._persistenceKey=r?.name||`[DEFAULT]`}async _terminate(){if(this._firestoreClient){let e=this._firestoreClient.terminate();this._queue=new ng(e),this._firestoreClient=void 0,await e}}};function ag(e,t){let n=typeof e==`object`?e:Qt(),r=typeof e==`string`?e:t||ra,i=qt(n,`firestore`).getImmediate({identifier:r});if(!i._initialized){let e=m(`firestore`);e&&Jl(i,...e)}return i}function og(e){if(e._terminated)throw new V(B.FAILED_PRECONDITION,`The client has already been terminated.`);return e._firestoreClient||sg(e),e._firestoreClient}function sg(e){let t=e._freezeSettings(),n=Dl(e._databaseId,e._app?.options.appId||``,e._persistenceKey,e._app?.options.apiKey,t);e._componentsProvider||t.localCache?._offlineComponentProvider&&t.localCache?._onlineComponentProvider&&(e._componentsProvider={_offline:t.localCache._offlineComponentProvider,_online:t.localCache._onlineComponentProvider}),e._firestoreClient=new Vh(e._authCredentials,e._appCheckCredentials,e._queue,n,e._componentsProvider&&function(e){let t=e?._online.build();return{_offline:e?._offline.build(t),_online:t}}(e._componentsProvider))}var cg=class extends $h{constructor(e){super(),this.firestore=e}convertBytes(e){return new Hc(e)}convertReference(e){let t=this.convertDocumentKey(e,this.firestore._databaseId);return new Xl(this.firestore,null,t)}},lg=class{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}},ug=class e extends Zh{constructor(e,t,n,r,i,a){super(e,t,n,r,a),this._firestore=e,this._firestoreImpl=e,this.metadata=i}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){let t=new dg(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(t,e)}return this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}}get(e,t={}){if(this._document){let n=this._document.data.field(pu(`DocumentSnapshot.get`,e));if(n!==null)return this._userDataWriter.convertValue(n,t.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new V(B.FAILED_PRECONDITION,`DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().`);let t=this._document,n={};return n.type=e._jsonSchemaVersion,n.bundle=``,n.bundleSource=`DocumentSnapshot`,n.bundleName=this._key.toString(),!t||!t.isValidDocument()||!t.isFoundDocument()?n:(this._userDataWriter.convertObjectMap(t.data.value.mapValue.fields,`previous`),n.bundle=(this._firestore,this.ref.path,`NOT SUPPORTED`),n)}};ug._jsonSchemaVersion=`firestore/documentSnapshot/1.0`,ug._jsonSchema={type:zi(`string`,ug._jsonSchemaVersion),bundleSource:zi(`string`,`DocumentSnapshot`),bundleName:zi(`string`),bundle:zi(`string`)};var dg=class extends ug{data(e={}){return super.data(e)}},fg=class e{constructor(e,t,n,r){this._firestore=e,this._userDataWriter=t,this._snapshot=r,this.metadata=new lg(r.hasPendingWrites,r.fromCache),this.query=n}get docs(){let e=[];return this.forEach((t=>e.push(t))),e}get size(){return this._snapshot.docs.size}get empty(){return this.size===0}forEach(e,t){this._snapshot.docs.forEach((n=>{e.call(t,new dg(this._firestore,this._userDataWriter,n.key,n,new lg(this._snapshot.mutatedKeys.has(n.key),this._snapshot.fromCache),this.query.converter))}))}docChanges(e={}){let t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new V(B.INVALID_ARGUMENT,`To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().`);return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=function(e,t){if(e._snapshot.oldDocs.isEmpty()){let t=0;return e._snapshot.docChanges.map((n=>{tp(e._snapshot.query)?Ep(e._snapshot.query):e.query._query;let r=new dg(e._firestore,e._userDataWriter,n.doc.key,n.doc,new lg(e._snapshot.mutatedKeys.has(n.doc.key),e._snapshot.fromCache),e.query.converter);return n.doc,{type:`added`,doc:r,oldIndex:-1,newIndex:t++}}))}{let n=e._snapshot.oldDocs;return e._snapshot.docChanges.filter((e=>t||e.type!==3)).map((t=>{let r=new dg(e._firestore,e._userDataWriter,t.doc.key,t.doc,new lg(e._snapshot.mutatedKeys.has(t.doc.key),e._snapshot.fromCache),e.query.converter),i=-1,a=-1;return t.type!==0&&(i=n.indexOf(t.doc.key),n=n.delete(t.doc.key)),t.type!==1&&(n=n.add(t.doc),a=n.indexOf(t.doc.key)),{type:pg(t.type),doc:r,oldIndex:i,newIndex:a}}))}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new V(B.FAILED_PRECONDITION,`QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().`);let t={};t.type=e._jsonSchemaVersion,t.bundleSource=`QuerySnapshot`,t.bundleName=pi.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let n=[],r=[],i=[];return this.docs.forEach((e=>{e._document!==null&&(n.push(e._document),r.push(this._userDataWriter.convertObjectMap(e._document.data.value.mapValue.fields,`previous`)),i.push(e.ref.path))})),t.bundle=(this._firestore,this.query._query,t.bundleName,`NOT SUPPORTED`),t}};function pg(e){switch(e){case 0:return`added`;case 2:case 3:return`modified`;case 1:return`removed`;default:return F(61501,{type:e})}}fg._jsonSchemaVersion=`firestore/querySnapshot/1.0`,fg._jsonSchema={type:zi(`string`,fg._jsonSchemaVersion),bundleSource:zi(`string`,`QuerySnapshot`),bundleName:zi(`string`),bundle:zi(`string`)};function mg(e){if(e.limitType===`L`&&e.explicitOrderBy.length===0)throw new V(B.UNIMPLEMENTED,`limitToLast() queries require specifying at least one orderBy() clause`)}var hg=class{},gg=class extends hg{};function _g(e,t,...n){let r=[];t instanceof hg&&r.push(t),r=r.concat(n),function(e){let t=e.filter((e=>e instanceof bg)).length,n=e.filter((e=>e instanceof vg)).length;if(t>1||t>0&&n>0)throw new V(B.INVALID_ARGUMENT,"InvalidQuery. When using composite filters, you cannot use more than one filter at the top level. Consider nesting the multiple filters within an `and(...)` statement. For example: change `query(query, where(...), or(...))` to `query(query, and(where(...), or(...)))`.")}(r);for(let t of r)e=t._apply(e);return e}var vg=class e extends gg{constructor(e,t,n){super(),this._field=e,this._op=t,this._value=n,this.type=`where`}static _create(t,n,r){return new e(t,n,r)}_apply(e){let t=this._parse(e);return Cg(e._query,t),new Yl(e.firestore,e.converter,ms(e._query,t))}_parse(e){let t=ou(e.firestore);return function(e,t,n,r,i,a,o){let s;if(i.isKeyField()){if(a===`array-contains`||a===`array-contains-any`)throw new V(B.INVALID_ARGUMENT,`Invalid Query. You can't perform '${a}' queries on documentId().`);if(a===`in`||a===`not-in`){Sg(o,a);let t=[];for(let n of o)t.push(xg(r,e,n));s={arrayValue:{values:t}}}else s=xg(r,e,o)}else a!==`in`&&a!==`not-in`&&a!==`array-contains-any`||Sg(o,a),s=cu(n,t,o,a===`in`||a===`not-in`);return ko.create(i,a,s)}(e._query,`where`,t,e.firestore._databaseId,this._field,this._op,this._value)}};function yg(e,t,n){let r=t,i=pu(`where`,e);return vg._create(i,r,n)}var bg=class e extends hg{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(t,n){return new e(t,n)}_parse(e){let t=this._queryConstraints.map((t=>t._parse(e))).filter((e=>e.getFilters().length>0));return t.length===1?t[0]:Ao.create(t,this._getOperator())}_apply(e){let t=this._parse(e);return t.getFilters().length===0?e:(function(e,t){let n=e,r=t.getFlattenedFilters();for(let e of r)Cg(n,e),n=ms(n,e)}(e._query,t),new Yl(e.firestore,e.converter,ms(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return this.type===`and`?`and`:`or`}};function xg(e,t,n){if(typeof(n=v(n))==`string`){if(n===``)throw new V(B.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.`);if(!us(t)&&n.indexOf(`/`)!==-1)throw new V(B.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${n}' contains a '/' character.`);let r=t.path.child(H.fromString(n));if(!U.isDocumentKey(r))throw new V(B.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);return Oa(e,new U(r))}if(n instanceof Xl)return Oa(e,n._key);throw new V(B.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${Li(n)}.`)}function Sg(e,t){if(!Array.isArray(e)||e.length===0)throw new V(B.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function Cg(e,t){let n=function(e,t){for(let n of e)for(let e of n.getFlattenedFilters())if(t.indexOf(e.op)>=0)return e.op;return null}(e.filters,function(e){switch(e){case`!=`:return[`!=`,`not-in`];case`array-contains-any`:case`in`:return[`not-in`];case`not-in`:return[`array-contains-any`,`in`,`not-in`,`!=`];default:return[]}}(t.op));if(n!==null)throw n===t.op?new V(B.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new V(B.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${n.toString()}' filters.`)}function wg(e){e=Ri(e,Xl);let t=Ri(e.firestore,ig);return Jh(og(t),e._key).then((n=>kg(t,e,n)))}function Tg(e){e=Ri(e,Yl);let t=Ri(e.firestore,ig),n=og(t),r=new cg(t);return mg(e._query),Yh(n,e._query).then((n=>new fg(t,r,e,n)))}function Eg(e,t,n){e=Ri(e,Xl);let r=Ri(e.firestore,ig),i=eg(e.converter,t,n);return Og(r,[su(ou(r),`setDoc`,e._key,i,e.converter!==null,n).toMutation(e._key,lo.none())])}function Dg(e){return Og(Ri(e.firestore,ig),[new Co(e._key,lo.none())])}function Og(e,t){return Xh(og(e),t)}function kg(e,t,n){let r=n.docs.get(t._key);return new ug(e,new cg(e),t._key,r,new lg(n.hasPendingWrites,n.fromCache),t.converter)}var Ag=`@firebase/firestore`,jg=`4.17.1`;(function(e,t=!0){ai(Xt),Kt(new De(`firestore`,((e,{instanceIdentifier:n,options:r})=>{let i=e.getProvider(`app`).getImmediate(),a=new ig(new Qc(e.getProvider(`auth-internal`)),new nl(i,e.getProvider(`app-check-internal`)),aa(i,n),i);return r={useFetchStreams:t,...r},a._setSettings(r),a}),`PUBLIC`).setMultipleInstances(!0)),en(Ag,jg,e),en(Ag,jg,`esm2020`)})(),en(`firebase`,`12.18.0`,`app`);function Mg(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}var Ng=Mg,Pg=new pe(`auth`,`Firebase`,Mg()),Fg=new Re(`@firebase/auth`);function Ig(e,...t){Fg.logLevel<=y.WARN&&Fg.warn(`Auth (${Xt}): ${e}`,...t)}function Lg(e,...t){Fg.logLevel<=y.ERROR&&Fg.error(`Auth (${Xt}): ${e}`,...t)}function Rg(e,...t){throw Ug(e,...t)}function zg(e,...t){return Ug(e,...t)}function Bg(e,t,n){return new pe(`auth`,`Firebase`,{...Ng(),[t]:n}).create(t,{appName:e.name})}function Vg(e){return Bg(e,`operation-not-supported-in-this-environment`,`Operations that alter the current user are not supported in conjunction with FirebaseServerApp`)}function Hg(e,t,n){let r=n;if(!(t instanceof r))throw r.name!==t.constructor.name&&Rg(e,`argument-error`),Bg(e,`argument-error`,`Type of ${t.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)}function Ug(e,...t){if(typeof e!=`string`){let n=t[0],r=[...t.slice(1)];return r[0]&&(r[0].appName=e.name),e._errorFactory.create(n,...r)}return Pg.create(e,...t)}function $(e,t,...n){if(!e)throw Ug(t,...n)}function Wg(e){let t=`INTERNAL ASSERTION FAILED: `+e;throw Lg(t),Error(t)}function Gg(e,t){e||Wg(t)}function Kg(){return typeof self<`u`&&self.location?.href||``}function qg(){return Jg()===`http:`||Jg()===`https:`}function Jg(){return typeof self<`u`&&self.location?.protocol||null}function Yg(){return typeof navigator<`u`&&navigator&&`onLine`in navigator&&typeof navigator.onLine==`boolean`&&(qg()||ae()||`connection`in navigator)?navigator.onLine:!0}function Xg(){if(typeof navigator>`u`)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}var Zg=class{constructor(e,t){this.shortDelay=e,this.longDelay=t,Gg(t>e,`Short delay should be less than long delay!`),this.isMobile=ne()||oe()}get(){return Yg()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}};function Qg(e,t){Gg(e.emulator,`Emulator should always be set here`);let{url:n}=e.emulator;return t?`${n}${t.startsWith(`/`)?t.slice(1):t}`:n}var $g=class{static initialize(e,t,n){this.fetchImpl=e,t&&(this.headersImpl=t),n&&(this.responseImpl=n)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<`u`&&`fetch`in self)return self.fetch;if(typeof globalThis<`u`&&globalThis.fetch)return globalThis.fetch;if(typeof fetch<`u`)return fetch;Wg(`Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static headers(){if(this.headersImpl)return this.headersImpl;if(typeof self<`u`&&`Headers`in self)return self.Headers;if(typeof globalThis<`u`&&globalThis.Headers)return globalThis.Headers;if(typeof Headers<`u`)return Headers;Wg(`Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static response(){if(this.responseImpl)return this.responseImpl;if(typeof self<`u`&&`Response`in self)return self.Response;if(typeof globalThis<`u`&&globalThis.Response)return globalThis.Response;if(typeof Response<`u`)return Response;Wg(`Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}},e_={CREDENTIAL_MISMATCH:`custom-token-mismatch`,MISSING_CUSTOM_TOKEN:`internal-error`,INVALID_IDENTIFIER:`invalid-email`,MISSING_CONTINUE_URI:`internal-error`,INVALID_PASSWORD:`wrong-password`,MISSING_PASSWORD:`missing-password`,INVALID_LOGIN_CREDENTIALS:`invalid-credential`,EMAIL_EXISTS:`email-already-in-use`,PASSWORD_LOGIN_DISABLED:`operation-not-allowed`,INVALID_IDP_RESPONSE:`invalid-credential`,INVALID_PENDING_TOKEN:`invalid-credential`,FEDERATED_USER_ID_ALREADY_LINKED:`credential-already-in-use`,MISSING_REQ_TYPE:`internal-error`,EMAIL_NOT_FOUND:`user-not-found`,RESET_PASSWORD_EXCEED_LIMIT:`too-many-requests`,EXPIRED_OOB_CODE:`expired-action-code`,INVALID_OOB_CODE:`invalid-action-code`,MISSING_OOB_CODE:`internal-error`,CREDENTIAL_TOO_OLD_LOGIN_AGAIN:`requires-recent-login`,INVALID_ID_TOKEN:`invalid-user-token`,TOKEN_EXPIRED:`user-token-expired`,USER_NOT_FOUND:`user-token-expired`,TOO_MANY_ATTEMPTS_TRY_LATER:`too-many-requests`,PASSWORD_DOES_NOT_MEET_REQUIREMENTS:`password-does-not-meet-requirements`,INVALID_CODE:`invalid-verification-code`,INVALID_SESSION_INFO:`invalid-verification-id`,INVALID_TEMPORARY_PROOF:`invalid-credential`,MISSING_SESSION_INFO:`missing-verification-id`,SESSION_EXPIRED:`code-expired`,MISSING_ANDROID_PACKAGE_NAME:`missing-android-pkg-name`,UNAUTHORIZED_DOMAIN:`unauthorized-continue-uri`,INVALID_OAUTH_CLIENT_ID:`invalid-oauth-client-id`,ADMIN_ONLY_OPERATION:`admin-restricted-operation`,INVALID_MFA_PENDING_CREDENTIAL:`invalid-multi-factor-session`,MFA_ENROLLMENT_NOT_FOUND:`multi-factor-info-not-found`,MISSING_MFA_ENROLLMENT_ID:`missing-multi-factor-info`,MISSING_MFA_PENDING_CREDENTIAL:`missing-multi-factor-session`,SECOND_FACTOR_EXISTS:`second-factor-already-in-use`,SECOND_FACTOR_LIMIT_EXCEEDED:`maximum-second-factor-count-exceeded`,BLOCKING_FUNCTION_ERROR_RESPONSE:`internal-error`,RECAPTCHA_NOT_ENABLED:`recaptcha-not-enabled`,MISSING_RECAPTCHA_TOKEN:`missing-recaptcha-token`,INVALID_RECAPTCHA_TOKEN:`invalid-recaptcha-token`,INVALID_RECAPTCHA_ACTION:`invalid-recaptcha-action`,MISSING_CLIENT_TYPE:`missing-client-type`,MISSING_RECAPTCHA_VERSION:`missing-recaptcha-version`,INVALID_RECAPTCHA_VERSION:`invalid-recaptcha-version`,INVALID_REQ_TYPE:`invalid-req-type`},t_=[`/v1/accounts:signInWithCustomToken`,`/v1/accounts:signInWithEmailLink`,`/v1/accounts:signInWithIdp`,`/v1/accounts:signInWithPassword`,`/v1/accounts:signInWithPhoneNumber`,`/v1/token`],n_=new Zg(3e4,6e4);function r_(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function i_(e,t,n,r,i={}){return a_(e,i,async()=>{let i={},a={};r&&(t===`GET`?a=r:i={body:JSON.stringify(r)});let o=ve({...a,key:e.config.apiKey}).slice(1),s=await e._getAdditionalHeaders();s[`Content-Type`]=`application/json`,e.languageCode&&(s[`X-Firebase-Locale`]=e.languageCode);let c={method:t,headers:s,...i};return ie()||(c.referrerPolicy=`strict-origin-when-cross-origin`),e.emulatorConfig&&Te(e.emulatorConfig.host)&&(c.credentials=`include`),$g.fetch()(await s_(e,e.config.apiHost,n,o),c)})}async function a_(e,t,n){e._canInitEmulator=!1;let r={...e_,...t};try{let t=new l_(e),i=await Promise.race([n(),t.promise]);t.clearNetworkTimeout();let a=await i.json();if(`needConfirmation`in a)throw u_(e,`account-exists-with-different-credential`,a);if(i.ok&&!(`errorMessage`in a))return a;{let[t,n]=(i.ok?a.errorMessage:a.error.message).split(` : `);if(t===`FEDERATED_USER_ID_ALREADY_LINKED`)throw u_(e,`credential-already-in-use`,a);if(t===`EMAIL_EXISTS`)throw u_(e,`email-already-in-use`,a);if(t===`USER_DISABLED`)throw u_(e,`user-disabled`,a);let o=r[t]||t.toLowerCase().replace(/[_\s]+/g,`-`);if(n)throw Bg(e,o,n);Rg(e,o)}}catch(t){if(t instanceof fe)throw t;Rg(e,`network-request-failed`,{message:String(t)})}}async function o_(e,t,n,r,i={}){let a=await i_(e,t,n,r,i);return`mfaPendingCredential`in a&&Rg(e,`multi-factor-auth-required`,{_serverResponse:a}),a}async function s_(e,t,n,r){let i=`${t}${n}?${r}`,a=e,o=a.config.emulator?Qg(e.config,i):`${e.config.apiScheme}://${i}`;return t_.includes(n)&&(await a._persistenceManagerAvailable,a._getPersistenceType()===`COOKIE`)?a._getPersistence()._getFinalTarget(o).toString():o}function c_(e){switch(e){case`ENFORCE`:return`ENFORCE`;case`AUDIT`:return`AUDIT`;case`OFF`:return`OFF`;default:return`ENFORCEMENT_STATE_UNSPECIFIED`}}var l_=class{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(zg(this.auth,`network-request-failed`)),n_.get())})}};function u_(e,t,n){let r={appName:e.name};n.email&&(r.email=n.email),n.phoneNumber&&(r.phoneNumber=n.phoneNumber);let i=zg(e,t,r);return i.customData._tokenResponse=n,i}function d_(e){return e!==void 0&&e.enterprise!==void 0}var f_=class{constructor(e){if(this.siteKey=``,this.recaptchaEnforcementState=[],e.recaptchaKey===void 0)throw Error(`recaptchaKey undefined`);this.siteKey=e.recaptchaKey.split(`/`)[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||this.recaptchaEnforcementState.length===0)return null;for(let t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return c_(t.enforcementState);return null}isProviderEnabled(e){return this.getProviderEnforcementState(e)===`ENFORCE`||this.getProviderEnforcementState(e)===`AUDIT`}isAnyProviderEnabled(){return this.isProviderEnabled(`EMAIL_PASSWORD_PROVIDER`)||this.isProviderEnabled(`PHONE_PROVIDER`)}};async function p_(e,t){return i_(e,`GET`,`/v2/recaptchaConfig`,r_(e,t))}async function m_(e,t){return i_(e,`POST`,`/v1/accounts:delete`,t)}async function h_(e,t){return i_(e,`POST`,`/v1/accounts:lookup`,t)}function g_(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch{}}async function __(e,t=!1){let n=v(e),r=await n.getIdToken(t),i=y_(r);$(i&&i.exp&&i.auth_time&&i.iat,n.auth,`internal-error`);let a=typeof i.firebase==`object`?i.firebase:void 0,o=a?.sign_in_provider;return{claims:i,token:r,authTime:g_(v_(i.auth_time)),issuedAtTime:g_(v_(i.iat)),expirationTime:g_(v_(i.exp)),signInProvider:o||null,signInSecondFactor:a?.sign_in_second_factor||null}}function v_(e){return Number(e)*1e3}function y_(e){let[t,n,r]=e.split(`.`);if(t===void 0||n===void 0||r===void 0)return Lg(`JWT malformed, contained fewer than 3 sections`),null;try{let e=s(n);return e?JSON.parse(e):(Lg(`Failed to decode base64 JWT payload`),null)}catch(e){return Lg(`Caught error parsing JWT payload as JSON`,e?.toString()),null}}function b_(e){let t=y_(e);return $(t,`internal-error`),$(t.exp!==void 0,`internal-error`),$(t.iat!==void 0,`internal-error`),Number(t.exp)-Number(t.iat)}async function x_(e,t,n=!1){if(n)return t;try{return await t}catch(t){throw t instanceof fe&&S_(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}function S_({code:e}){return e===`auth/user-disabled`||e===`auth/user-token-expired`}var C_=class{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,this.timerId!==null&&clearTimeout(this.timerId))}getInterval(e){if(e){let e=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),e}{this.errorBackoff=3e4;let e=(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5;return Math.max(0,e)}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){e?.code===`auth/network-request-failed`&&this.schedule(!0);return}this.schedule()}},w_=class{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=g_(this.lastLoginAt),this.creationTime=g_(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}};async function T_(e){let t=e.auth,n=await x_(e,h_(t,{idToken:await e.getIdToken()}));$(n?.users.length,t,`internal-error`);let r=n.users[0];e._notifyReloadListener(r);let i=r.providerUserInfo?.length?O_(r.providerUserInfo):[],a=D_(e.providerData,i),o=e.isAnonymous,s=!(e.email&&r.passwordHash)&&!a?.length,c=o?s:!1,l={uid:r.localId,displayName:r.displayName||null,photoURL:r.photoUrl||null,email:r.email||null,emailVerified:r.emailVerified||!1,phoneNumber:r.phoneNumber||null,tenantId:r.tenantId||null,providerData:a,metadata:new w_(r.createdAt,r.lastLoginAt),isAnonymous:c};Object.assign(e,l)}async function E_(e){let t=v(e);await T_(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function D_(e,t){return[...e.filter(e=>!t.some(t=>t.providerId===e.providerId)),...t]}function O_(e){return e.map(({providerId:e,...t})=>({providerId:e,uid:t.rawId||``,displayName:t.displayName||null,email:t.email||null,phoneNumber:t.phoneNumber||null,photoURL:t.photoUrl||null}))}async function k_(e,t){let n=await a_(e,{},async()=>{let n=ve({grant_type:`refresh_token`,refresh_token:t}).slice(1),{tokenApiHost:r,apiKey:i}=e.config,a=await s_(e,r,`/v1/token`,`key=${i}`),o=await e._getAdditionalHeaders();o[`Content-Type`]=`application/x-www-form-urlencoded`;let s={method:`POST`,headers:o,body:n};return e.emulatorConfig&&Te(e.emulatorConfig.host)&&(s.credentials=`include`),$g.fetch()(a,s)});return{accessToken:n.access_token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}async function A_(e,t){return i_(e,`POST`,`/v2/accounts:revokeToken`,r_(e,t))}var j_=class e{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){$(e.idToken,`internal-error`),$(e.idToken!==void 0,`internal-error`),$(e.refreshToken!==void 0,`internal-error`);let t=`expiresIn`in e&&e.expiresIn!==void 0?Number(e.expiresIn):b_(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){$(e.length!==0,`internal-error`);let t=b_(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:($(this.refreshToken,e,`user-token-expired`),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:n,refreshToken:r,expiresIn:i}=await k_(e,t);this.updateTokensAndExpiration(n,r,Number(i))}updateTokensAndExpiration(e,t,n){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+n*1e3}static fromJSON(t,n){let{refreshToken:r,accessToken:i,expirationTime:a}=n,o=new e;return r&&($(typeof r==`string`,`internal-error`,{appName:t}),o.refreshToken=r),i&&($(typeof i==`string`,`internal-error`,{appName:t}),o.accessToken=i),a&&($(typeof a==`number`,`internal-error`,{appName:t}),o.expirationTime=a),o}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new e,this.toJSON())}_performRefresh(){return Wg(`not implemented`)}};function M_(e,t){$(typeof e==`string`||e===void 0,`internal-error`,{appName:t})}var N_=class e{constructor({uid:e,auth:t,stsTokenManager:n,...r}){this.providerId=`firebase`,this.proactiveRefresh=new C_(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=n,this.accessToken=n.accessToken,this.displayName=r.displayName||null,this.email=r.email||null,this.emailVerified=r.emailVerified||!1,this.phoneNumber=r.phoneNumber||null,this.photoURL=r.photoURL||null,this.isAnonymous=r.isAnonymous||!1,this.tenantId=r.tenantId||null,this.providerData=r.providerData?[...r.providerData]:[],this.metadata=new w_(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){let t=await x_(this,this.stsTokenManager.getToken(this.auth,e));return $(t,this.auth,`internal-error`),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return __(this,e)}reload(){return E_(this)}_assign(e){this!==e&&($(this.uid===e.uid,this.auth,`internal-error`),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>({...e})),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(t){let n=new e({...this,auth:t,stsTokenManager:this.stsTokenManager._clone()});return n.metadata._copy(this.metadata),n}_onReload(e){$(!this.reloadListener,this.auth,`internal-error`),this.reloadListener=e,this.reloadUserInfo&&=(this._notifyReloadListener(this.reloadUserInfo),null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let n=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),n=!0),t&&await T_(this),await this.auth._persistUserIfCurrent(this),n&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Jt(this.auth.app))return Promise.reject(Vg(this.auth));let e=await this.getIdToken();return await x_(this,m_(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return{uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>({...e})),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId,...this.metadata.toJSON(),apiKey:this.auth.config.apiKey,appName:this.auth.name}}get refreshToken(){return this.stsTokenManager.refreshToken||``}static _fromJSON(t,n){let r=n.displayName??void 0,i=n.email??void 0,a=n.phoneNumber??void 0,o=n.photoURL??void 0,s=n.tenantId??void 0,c=n._redirectEventId??void 0,l=n.createdAt??void 0,u=n.lastLoginAt??void 0,{uid:d,emailVerified:f,isAnonymous:p,providerData:m,stsTokenManager:h}=n;$(d&&h,t,`internal-error`);let g=j_.fromJSON(this.name,h);$(typeof d==`string`,t,`internal-error`),M_(r,t.name),M_(i,t.name),$(typeof f==`boolean`,t,`internal-error`),$(typeof p==`boolean`,t,`internal-error`),M_(a,t.name),M_(o,t.name),M_(s,t.name),M_(c,t.name),M_(l,t.name),M_(u,t.name);let ee=new e({uid:d,auth:t,email:i,emailVerified:f,displayName:r,isAnonymous:p,photoURL:o,phoneNumber:a,tenantId:s,stsTokenManager:g,createdAt:l,lastLoginAt:u});return m&&Array.isArray(m)&&(ee.providerData=m.map(e=>({...e}))),c&&(ee._redirectEventId=c),ee}static async _fromIdTokenResponse(t,n,r=!1){let i=new j_;i.updateFromServerResponse(n);let a=new e({uid:n.localId,auth:t,stsTokenManager:i,isAnonymous:r});return await T_(a),a}static async _fromGetAccountInfoResponse(t,n,r){let i=n.users[0];$(i.localId!==void 0,`internal-error`);let a=i.providerUserInfo===void 0?[]:O_(i.providerUserInfo),o=!(i.email&&i.passwordHash)&&!a?.length,s=new j_;s.updateFromIdToken(r);let c=new e({uid:i.localId,auth:t,stsTokenManager:s,isAnonymous:o}),l={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:a,metadata:new w_(i.createdAt,i.lastLoginAt),isAnonymous:!(i.email&&i.passwordHash)&&!a?.length};return Object.assign(c,l),c}},P_=new Map;function F_(e){Gg(e instanceof Function,`Expected a class definition`);let t=P_.get(e);return t?(Gg(t instanceof e,`Instance stored in cache mismatched with class`),t):(t=new e,P_.set(e,t),t)}var I_=class{constructor(){this.type=`NONE`,this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}};I_.type=`NONE`;var L_=I_;function R_(e,t,n){return`firebase:${e}:${t}:${n}`}var z_=class e{constructor(e,t,n){this.persistence=e,this.auth=t,this.userKey=n;let{config:r,name:i}=this.auth;this.fullUserKey=R_(this.userKey,r.apiKey,i),this.fullPersistenceKey=R_(`persistence`,r.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if(typeof e==`string`){let t=await h_(this.auth,{idToken:e}).catch(()=>void 0);return t?N_._fromGetAccountInfoResponse(this.auth,t,e):null}return N_._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(t,n,r=`authUser`){if(!n.length)return new e(F_(L_),t,r);let i=(await Promise.all(n.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e),a=i[0]||F_(L_),o=R_(r,t.config.apiKey,t.name),s=null;for(let e of n)try{let n=await e._get(o);if(n){let r;if(typeof n==`string`){let e=await h_(t,{idToken:n}).catch(()=>void 0);if(!e)break;r=await N_._fromGetAccountInfoResponse(t,e,n)}else r=N_._fromJSON(t,n);e!==a&&(s=r),a=e;break}}catch{}let c=i.filter(e=>e._shouldAllowMigration);return!a._shouldAllowMigration||!c.length?new e(a,t,r):(a=c[0],s&&await a._set(o,s.toJSON()),await Promise.all(n.map(async e=>{if(e!==a)try{await e._remove(o)}catch{}})),new e(a,t,r))}};function B_(e){let t=e.toLowerCase();if(t.includes(`opera/`)||t.includes(`opr/`)||t.includes(`opios/`))return`Opera`;if(W_(t))return`IEMobile`;if(t.includes(`msie`)||t.includes(`trident/`))return`IE`;if(t.includes(`edge/`))return`Edge`;if(V_(t))return`Firefox`;if(t.includes(`silk/`))return`Silk`;if(K_(t))return`Blackberry`;if(q_(t))return`Webos`;if(H_(t))return`Safari`;if((t.includes(`chrome/`)||U_(t))&&!t.includes(`edge/`))return`Chrome`;if(G_(t))return`Android`;{let t=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(t?.length===2)return t[1]}return`Other`}function V_(e=_()){return/firefox\//i.test(e)}function H_(e=_()){let t=e.toLowerCase();return t.includes(`safari/`)&&!t.includes(`chrome/`)&&!t.includes(`crios/`)&&!t.includes(`android`)}function U_(e=_()){return/crios\//i.test(e)}function W_(e=_()){return/iemobile/i.test(e)}function G_(e=_()){return/android/i.test(e)}function K_(e=_()){return/blackberry/i.test(e)}function q_(e=_()){return/webos/i.test(e)}function J_(e=_()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function Y_(e=_()){return J_(e)&&!!window.navigator?.standalone}function X_(){return se()&&document.documentMode===10}function Z_(e=_()){return J_(e)||G_(e)||q_(e)||K_(e)||/windows phone/i.test(e)||W_(e)}function Q_(e,t=[]){let n;switch(e){case`Browser`:n=B_(_());break;case`Worker`:n=`${B_(_())}-${e}`;break;default:n=e}let r=t.length?t.join(`,`):`FirebaseCore-web`;return`${n}/JsCore/${Xt}/${r}`}var $_=class{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let n=t=>new Promise((n,r)=>{try{n(e(t))}catch(e){r(e)}});n.onAbort=t,this.queue.push(n);let r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let n of this.queue)await n(e),n.onAbort&&t.push(n.onAbort)}catch(e){t.reverse();for(let e of t)try{e()}catch{}throw this.auth._errorFactory.create(`login-blocked`,{originalMessage:e?.message})}}};async function ev(e,t={}){return i_(e,`GET`,`/v2/passwordPolicy`,r_(e,t))}var tv=6,nv=class{constructor(e){let t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??tv,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),t.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),t.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),t.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),t.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState===`ENFORCEMENT_STATE_UNSPECIFIED`&&(this.enforcementState=`OFF`),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join(``)??``,this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){let t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&=t.meetsMinPasswordLength??!0,t.isValid&&=t.meetsMaxPasswordLength??!0,t.isValid&&=t.containsLowercaseLetter??!0,t.isValid&&=t.containsUppercaseLetter??!0,t.isValid&&=t.containsNumericCharacter??!0,t.isValid&&=t.containsNonAlphanumericCharacter??!0,t}validatePasswordLengthOptions(e,t){let n=this.customStrengthOptions.minPasswordLength,r=this.customStrengthOptions.maxPasswordLength;n&&(t.meetsMinPasswordLength=e.length>=n),r&&(t.meetsMaxPasswordLength=e.length<=r)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let n;for(let r=0;r<e.length;r++)n=e.charAt(r),this.updatePasswordCharacterOptionsStatuses(t,n>=`a`&&n<=`z`,n>=`A`&&n<=`Z`,n>=`0`&&n<=`9`,this.allowedNonAlphanumericCharacters.includes(n))}updatePasswordCharacterOptionsStatuses(e,t,n,r,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||=t),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||=n),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||=r),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||=i)}},rv=class{constructor(e,t,n,r){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=n,this.config=r,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new av(this),this.idTokenSubscription=new av(this),this.beforeStateQueue=new $_(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=Pg,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=r.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=F_(t)),this._initializationPromise=this.queue(async()=>{if(!this._deleted&&(this.persistenceManager=await z_.create(this,e),this._resolvePersistenceManagerAvailable?.(),!this._deleted)){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}await this.initializeCurrentUser(t),this.lastNotifiedUid=this.currentUser?.uid||null,!this._deleted&&(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(!(!this.currentUser&&!e)){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await h_(this,{idToken:e}),n=await N_._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(n)}catch(e){console.warn(`FirebaseServerApp could not login user with provided authIdToken: `,e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if(Jt(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let t=await this.assertedPersistence.getCurrentUser(),n=t,r=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let t=this.redirectUser?._redirectEventId,i=n?._redirectEventId,a=await this.tryRedirectSignIn(e);(!t||t===i)&&a?.user&&(n=a.user,r=!0)}if(!n)return this.directlySetCurrentUser(null);if(!n._redirectEventId){if(r)try{await this.beforeStateQueue.runMiddleware(n)}catch(e){n=t,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return n?this.reloadAndSetCurrentUserOrClear(n):this.directlySetCurrentUser(null)}return $(this._popupRedirectResolver,this,`argument-error`),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===n._redirectEventId?this.directlySetCurrentUser(n):this.reloadAndSetCurrentUserOrClear(n)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch{await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await T_(e)}catch(e){if(e?.code!==`auth/network-request-failed`)return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=Xg()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Jt(this.app))return Promise.reject(Vg(this));let t=e?v(e):null;return t&&$(t.auth.config.apiKey===this.config.apiKey,this,`invalid-user-token`),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&$(this.tenantId===e.tenantId,this,`tenant-id-mismatch`),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return Jt(this.app)?Promise.reject(Vg(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Jt(this.app)?Promise.reject(Vg(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(F_(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion===this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?t.validatePassword(e):Promise.reject(this._errorFactory.create(`unsupported-password-policy-schema-version`,{}))}_getPasswordPolicyInternal(){return this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new nv(await ev(this));this.tenantId===null?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new pe(`auth`,`Firebase`,e())}onAuthStateChanged(e,t,n){return this.registerStateListener(this.authStateSubscription,e,t,n)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,n){return this.registerStateListener(this.idTokenSubscription,e,t,n)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{let n=this.onAuthStateChanged(()=>{n(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:`apple.com`,tokenType:`ACCESS_TOKEN`,token:e,idToken:await this.currentUser.getIdToken()};this.tenantId!=null&&(t.tenantId=this.tenantId),await A_(this,t)}}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){let n=await this.getOrInitRedirectPersistenceManager(t);return e===null?n.removeCurrentUser():n.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&F_(e)||this._popupRedirectResolver;$(t,this,`argument-error`),this.redirectPersistenceManager=await z_.create(this,[F_(t._redirectPersistence)],`redirectUser`),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){return this._isInitialized&&await this.queue(async()=>{}),this._currentUser?._redirectEventId===e?this._currentUser:this.redirectUser?._redirectEventId===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let e=this.currentUser?.uid??null;this.lastNotifiedUid!==e&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,n,r){if(this._deleted)return()=>{};let i=typeof t==`function`?t:t.next.bind(t),a=!1,o=this._isInitialized?Promise.resolve():this._initializationPromise;if($(o,this,`internal-error`),o.then(()=>{a||i(this.currentUser)}),typeof t==`function`){let i=e.addObserver(t,n,r);return()=>{a=!0,i()}}{let n=e.addObserver(t);return()=>{a=!0,n()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return $(this.persistenceManager,this,`internal-error`),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=Q_(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){let e={"X-Client-Version":this.clientVersion};this.app.options.appId&&(e[`X-Firebase-gmpid`]=this.app.options.appId);let t=await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader();t&&(e[`X-Firebase-Client`]=t);let n=await this._getAppCheckToken();return n&&(e[`X-Firebase-AppCheck`]=n),e}async _getAppCheckToken(){if(Jt(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken();return e?.error&&Ig(`Error while retrieving App Check token: ${e.error}`),e?.token}};function iv(e){return v(e)}var av=class{constructor(e){this.auth=e,this.observer=null,this.addObserver=xe(e=>this.observer=e)}get next(){return $(this.observer,this.auth,`internal-error`),this.observer.next.bind(this.observer)}},ov={async loadJS(){throw Error(`Unable to load external scripts`)},recaptchaV2Script:``,recaptchaEnterpriseScript:``,gapiScript:``};function sv(e){ov=e}function cv(e){return ov.loadJS(e)}function lv(){return ov.recaptchaEnterpriseScript}function uv(){return ov.gapiScript}function dv(e){return`__${e}${Math.floor(Math.random()*1e6)}`}var fv=class{constructor(){this.enterprise=new pv}ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},pv=class{ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},mv=`recaptcha-enterprise`,hv=`NO_RECAPTCHA`,gv=`onFirebaseAuthREInstanceReady`,_v=class e{constructor(e){this.type=mv,this.auth=iv(e)}async verify(t=`verify`,n=!1){async function r(e){if(!n){if(e.tenantId==null&&e._agentRecaptchaConfig!=null)return e._agentRecaptchaConfig.siteKey;if(e.tenantId!=null&&e._tenantRecaptchaConfigs[e.tenantId]!==void 0)return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,n)=>{p_(e,{clientType:`CLIENT_TYPE_WEB`,version:`RECAPTCHA_ENTERPRISE`}).then(r=>{if(r.recaptchaKey===void 0)n(Error(`recaptcha Enterprise site key undefined`));else{let n=new f_(r);return e.tenantId==null?e._agentRecaptchaConfig=n:e._tenantRecaptchaConfigs[e.tenantId]=n,t(n.siteKey)}}).catch(e=>{n(e)})})}function i(e,n,r){let i=window.grecaptcha;d_(i)?i.enterprise.ready(()=>{i.enterprise.execute(e,{action:t}).then(e=>{n(e)}).catch(()=>{n(hv)})}):r(Error(`No reCAPTCHA enterprise script loaded.`))}return this.auth.settings.appVerificationDisabledForTesting?new fv().execute(`siteKey`,{action:`verify`}):new Promise((t,a)=>{r(this.auth).then(async r=>{if(!n&&d_(window.grecaptcha)&&e.scriptInjectionDeferred)await e.scriptInjectionDeferred.promise,i(r,t,a);else{if(typeof window>`u`){a(Error(`RecaptchaVerifier is only supported in browser`));return}let n=lv();n.length!==0&&(n+=r+`&onload=${gv}`),e.scriptInjectionDeferred=new ee,window[gv]=()=>{e.scriptInjectionDeferred?.resolve()},cv(n).then(()=>e.scriptInjectionDeferred?.promise).then(()=>{i(r,t,a)}).catch(e=>{a(e)})}}).catch(e=>{a(e)})})}};_v.scriptInjectionDeferred=null;async function vv(e,t,n,r=!1,i=!1){let a=new _v(e),o;if(i)o=hv;else try{o=await a.verify(n)}catch{o=await a.verify(n,!0)}let s={...t};if(n===`mfaSmsEnrollment`||n===`mfaSmsSignIn`){if(`phoneEnrollmentInfo`in s){let e=s.phoneEnrollmentInfo.phoneNumber,t=s.phoneEnrollmentInfo.recaptchaToken;Object.assign(s,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:o,clientType:`CLIENT_TYPE_WEB`,recaptchaVersion:`RECAPTCHA_ENTERPRISE`}})}else if(`phoneSignInInfo`in s){let e=s.phoneSignInInfo.recaptchaToken;Object.assign(s,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:o,clientType:`CLIENT_TYPE_WEB`,recaptchaVersion:`RECAPTCHA_ENTERPRISE`}})}return s}return r?Object.assign(s,{captchaResp:o}):Object.assign(s,{captchaResponse:o}),Object.assign(s,{clientType:`CLIENT_TYPE_WEB`}),Object.assign(s,{recaptchaVersion:`RECAPTCHA_ENTERPRISE`}),s}async function yv(e,t,n,r,i){return i===`EMAIL_PASSWORD_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`EMAIL_PASSWORD_PROVIDER`)?r(e,await vv(e,t,n,n===`getOobCode`)):r(e,t).catch(async i=>i.code===`auth/missing-recaptcha-token`?(console.log(`${n} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`),r(e,await vv(e,t,n,n===`getOobCode`))):Promise.reject(i)):i===`PHONE_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`PHONE_PROVIDER`)?r(e,await vv(e,t,n)).catch(async i=>e._getRecaptchaConfig()?.getProviderEnforcementState(`PHONE_PROVIDER`)===`AUDIT`&&(i.code===`auth/missing-recaptcha-token`||i.code===`auth/invalid-app-credential`)?(console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${n} flow.`),r(e,await vv(e,t,n,!1,!0))):Promise.reject(i)):r(e,await vv(e,t,n,!1,!0)):Promise.reject(i+` provider is not supported.`)}function bv(e,t){let n=qt(e,`auth`);if(n.isInitialized()){let e=n.getImmediate();if(ge(n.getOptions(),t??{}))return e;Rg(e,`already-initialized`)}return n.initialize({options:t})}function xv(e,t){let n=t?.persistence||[],r=(Array.isArray(n)?n:[n]).map(F_);t?.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,t?.popupRedirectResolver)}function Sv(e,t,n){let r=iv(e);$(/^https?:\/\//.test(t),r,`invalid-emulator-scheme`);let i=!!n?.disableWarnings,a=Cv(t),{host:o,port:s}=wv(t),c=s===null?``:`:${s}`,l={url:`${a}//${o}${c}/`},u=Object.freeze({host:o,port:s,protocol:a.replace(`:`,``),options:Object.freeze({disableWarnings:i})});if(!r._canInitEmulator){$(r.config.emulator&&r.emulatorConfig,r,`emulator-config-failed`),$(ge(l,r.config.emulator)&&ge(u,r.emulatorConfig),r,`emulator-config-failed`);return}r.config.emulator=l,r.emulatorConfig=u,r.settings.appVerificationDisabledForTesting=!0,Te(o)?Ee(`${a}//${o}${c}`):i||Ev()}function Cv(e){let t=e.indexOf(`:`);return t<0?``:e.substr(0,t+1)}function wv(e){let t=Cv(e),n=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!n)return{host:``,port:null};let r=n[2].split(`@`).pop()||``,i=/^(\[[^\]]+\])(:|$)/.exec(r);if(i){let e=i[1];return{host:e,port:Tv(r.substr(e.length+1))}}{let[e,t]=r.split(`:`);return{host:e,port:Tv(t)}}}function Tv(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}function Ev(){function e(){let e=document.createElement(`p`),t=e.style;e.innerText=`Running in emulator mode. Do not use with production credentials.`,t.position=`fixed`,t.width=`100%`,t.backgroundColor=`#ffffff`,t.border=`.1em solid #000000`,t.color=`#b50000`,t.bottom=`0px`,t.left=`0px`,t.margin=`0px`,t.zIndex=`10000`,t.textAlign=`center`,e.classList.add(`firebase-emulator-warning`),document.body.appendChild(e)}typeof console<`u`&&typeof console.info==`function`&&console.info(`WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials.`),typeof window<`u`&&typeof document<`u`&&(document.readyState===`loading`?window.addEventListener(`DOMContentLoaded`,e):e())}var Dv=class{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return Wg(`not implemented`)}_getIdTokenResponse(e){return Wg(`not implemented`)}_linkToIdToken(e,t){return Wg(`not implemented`)}_getReauthenticationResolver(e){return Wg(`not implemented`)}};async function Ov(e,t){return i_(e,`POST`,`/v1/accounts:update`,t)}async function kv(e,t){return i_(e,`POST`,`/v1/accounts:signUp`,t)}async function Av(e,t){return o_(e,`POST`,`/v1/accounts:signInWithPassword`,r_(e,t))}async function jv(e,t){return i_(e,`POST`,`/v1/accounts:sendOobCode`,r_(e,t))}async function Mv(e,t){return jv(e,t)}async function Nv(e,t){return o_(e,`POST`,`/v1/accounts:signInWithEmailLink`,r_(e,t))}async function Pv(e,t){return o_(e,`POST`,`/v1/accounts:signInWithEmailLink`,r_(e,t))}var Fv=class e extends Dv{constructor(e,t,n,r=null){super(`password`,n),this._email=e,this._password=t,this._tenantId=r}static _fromEmailAndPassword(t,n){return new e(t,n,`password`)}static _fromEmailAndCode(t,n,r=null){return new e(t,n,`emailLink`,r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){let t=typeof e==`string`?JSON.parse(e):e;if(t?.email&&t?.password){if(t.signInMethod===`password`)return this._fromEmailAndPassword(t.email,t.password);if(t.signInMethod===`emailLink`)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case`password`:return yv(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signInWithPassword`,Av,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return Nv(e,{email:this._email,oobCode:this._password});default:Rg(e,`internal-error`)}}async _linkToIdToken(e,t){switch(this.signInMethod){case`password`:return yv(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signUpPassword`,kv,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return Pv(e,{idToken:t,email:this._email,oobCode:this._password});default:Rg(e,`internal-error`)}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}};async function Iv(e,t){return o_(e,`POST`,`/v1/accounts:signInWithIdp`,r_(e,t))}var Lv=`http://localhost`,Rv=class e extends Dv{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(t){let n=new e(t.providerId,t.signInMethod);return t.idToken||t.accessToken?(t.idToken&&(n.idToken=t.idToken),t.accessToken&&(n.accessToken=t.accessToken),t.nonce&&!t.pendingToken&&(n.nonce=t.nonce),t.pendingToken&&(n.pendingToken=t.pendingToken)):t.oauthToken&&t.oauthTokenSecret?(n.accessToken=t.oauthToken,n.secret=t.oauthTokenSecret):Rg(`argument-error`),n}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(t){let{providerId:n,signInMethod:r,...i}=typeof t==`string`?JSON.parse(t):t;if(!n||!r)return null;let a=new e(n,r);return a.idToken=i.idToken||void 0,a.accessToken=i.accessToken||void 0,a.secret=i.secret,a.nonce=i.nonce,a.pendingToken=i.pendingToken||null,a}_getIdTokenResponse(e){return Iv(e,this.buildRequest())}_linkToIdToken(e,t){let n=this.buildRequest();return n.idToken=t,Iv(e,n)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,Iv(e,t)}buildRequest(){let e={requestUri:Lv,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=ve(t)}return e}};function zv(e){switch(e){case`recoverEmail`:return`RECOVER_EMAIL`;case`resetPassword`:return`PASSWORD_RESET`;case`signIn`:return`EMAIL_SIGNIN`;case`verifyEmail`:return`VERIFY_EMAIL`;case`verifyAndChangeEmail`:return`VERIFY_AND_CHANGE_EMAIL`;case`revertSecondFactorAddition`:return`REVERT_SECOND_FACTOR_ADDITION`;default:return null}}function Bv(e){let t=ye(be(e)).link,n=t?ye(be(t)).deep_link_id:null,r=ye(be(e)).deep_link_id;return(r?ye(be(r)).link:null)||r||n||t||e}var Vv=class e{constructor(e){let t=ye(be(e)),n=t.apiKey??null,r=t.oobCode??null,i=zv(t.mode??null);$(n&&r&&i,`argument-error`),this.apiKey=n,this.operation=i,this.code=r,this.continueUrl=t.continueUrl??null,this.languageCode=t.lang??null,this.tenantId=t.tenantId??null}static parseLink(t){let n=Bv(t);try{return new e(n)}catch{return null}}},Hv=class e{constructor(){this.providerId=e.PROVIDER_ID}static credential(e,t){return Fv._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let n=Vv.parseLink(t);return $(n,`argument-error`),Fv._fromEmailAndCode(e,n.code,n.tenantId)}};Hv.PROVIDER_ID=`password`,Hv.EMAIL_PASSWORD_SIGN_IN_METHOD=`password`,Hv.EMAIL_LINK_SIGN_IN_METHOD=`emailLink`;var Uv=class{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}},Wv=class extends Uv{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}},Gv=class e extends Wv{constructor(){super(`facebook.com`)}static credential(t){return Rv._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.FACEBOOK_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};Gv.FACEBOOK_SIGN_IN_METHOD=`facebook.com`,Gv.PROVIDER_ID=`facebook.com`;var Kv=class e extends Wv{constructor(){super(`google.com`),this.addScope(`profile`)}static credential(t,n){return Rv._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GOOGLE_SIGN_IN_METHOD,idToken:t,accessToken:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthIdToken:n,oauthAccessToken:r}=t;if(!n&&!r)return null;try{return e.credential(n,r)}catch{return null}}};Kv.GOOGLE_SIGN_IN_METHOD=`google.com`,Kv.PROVIDER_ID=`google.com`;var qv=class e extends Wv{constructor(){super(`github.com`)}static credential(t){return Rv._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GITHUB_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};qv.GITHUB_SIGN_IN_METHOD=`github.com`,qv.PROVIDER_ID=`github.com`;var Jv=class e extends Wv{constructor(){super(`twitter.com`)}static credential(t,n){return Rv._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.TWITTER_SIGN_IN_METHOD,oauthToken:t,oauthTokenSecret:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthAccessToken:n,oauthTokenSecret:r}=t;if(!n||!r)return null;try{return e.credential(n,r)}catch{return null}}};Jv.TWITTER_SIGN_IN_METHOD=`twitter.com`,Jv.PROVIDER_ID=`twitter.com`;async function Yv(e,t){return o_(e,`POST`,`/v1/accounts:signUp`,r_(e,t))}var Xv=class e{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(t,n,r,i=!1){let a=await N_._fromIdTokenResponse(t,r,i),o=Zv(r);return new e({user:a,providerId:o,_tokenResponse:r,operationType:n})}static async _forOperation(t,n,r){await t._updateTokensIfNecessary(r,!0);let i=Zv(r);return new e({user:t,providerId:i,_tokenResponse:r,operationType:n})}};function Zv(e){return e.providerId?e.providerId:`phoneNumber`in e?`phone`:null}var Qv=class e extends fe{constructor(t,n,r,i){super(n.code,n.message),this.operationType=r,this.user=i,Object.setPrototypeOf(this,e.prototype),this.customData={appName:t.name,tenantId:t.tenantId??void 0,_serverResponse:n.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(t,n,r,i){return new e(t,n,r,i)}};function $v(e,t,n,r){return(t===`reauthenticate`?n._getReauthenticationResolver(e):n._getIdTokenResponse(e)).catch(n=>{throw n.code===`auth/multi-factor-auth-required`?Qv._fromErrorAndOperation(e,n,t,r):n})}async function ey(e,t,n=!1){let r=await x_(e,t._linkToIdToken(e.auth,await e.getIdToken()),n);return Xv._forOperation(e,`link`,r)}async function ty(e,t,n=!1){let{auth:r}=e;if(Jt(r.app))return Promise.reject(Vg(r));let i=`reauthenticate`;try{let a=await x_(e,$v(r,i,t,e),n);$(a.idToken,r,`internal-error`);let o=y_(a.idToken);$(o,r,`internal-error`);let{sub:s}=o;return $(e.uid===s,r,`user-mismatch`),Xv._forOperation(e,i,a)}catch(e){throw e?.code===`auth/user-not-found`&&Rg(r,`user-mismatch`),e}}async function ny(e,t,n=!1){if(Jt(e.app))return Promise.reject(Vg(e));let r=`signIn`,i=await $v(e,r,t),a=await Xv._fromIdTokenResponse(e,r,i);return n||await e._updateCurrentUser(a.user),a}async function ry(e,t){return ny(iv(e),t)}async function iy(e,t){return ty(v(e),t)}function ay(e,t,n){$(n.url?.length>0,e,`invalid-continue-uri`),$(n.dynamicLinkDomain===void 0||n.dynamicLinkDomain.length>0,e,`invalid-dynamic-link-domain`),$(n.linkDomain===void 0||n.linkDomain.length>0,e,`invalid-hosting-link-domain`),t.continueUrl=n.url,t.dynamicLinkDomain=n.dynamicLinkDomain,t.linkDomain=n.linkDomain,t.canHandleCodeInApp=n.handleCodeInApp,n.iOS&&($(n.iOS.bundleId.length>0,e,`missing-ios-bundle-id`),t.iOSBundleId=n.iOS.bundleId),n.android&&($(n.android.packageName.length>0,e,`missing-android-pkg-name`),t.androidInstallApp=n.android.installApp,t.androidMinimumVersionCode=n.android.minimumVersion,t.androidPackageName=n.android.packageName)}async function oy(e){let t=iv(e);t._getPasswordPolicyInternal()&&await t._updatePasswordPolicy()}async function sy(e,t,n){let r=iv(e),i={requestType:`PASSWORD_RESET`,email:t,clientType:`CLIENT_TYPE_WEB`};n&&ay(r,i,n),await yv(r,i,`getOobCode`,Mv,`EMAIL_PASSWORD_PROVIDER`)}async function cy(e,t,n){if(Jt(e.app))return Promise.reject(Vg(e));let r=iv(e),i=await yv(r,{returnSecureToken:!0,email:t,password:n,clientType:`CLIENT_TYPE_WEB`},`signUpPassword`,Yv,`EMAIL_PASSWORD_PROVIDER`).catch(t=>{throw t.code===`auth/password-does-not-meet-requirements`&&oy(e),t}),a=await Xv._fromIdTokenResponse(r,`signIn`,i);return await r._updateCurrentUser(a.user),a}function ly(e,t,n){return Jt(e.app)?Promise.reject(Vg(e)):ry(v(e),Hv.credential(t,n)).catch(async t=>{throw t.code===`auth/password-does-not-meet-requirements`&&oy(e),t})}async function uy(e,t){return i_(e,`POST`,`/v1/accounts:update`,t)}async function dy(e,{displayName:t,photoURL:n}){if(t===void 0&&n===void 0)return;let r=v(e),i={idToken:await r.getIdToken(),displayName:t,photoUrl:n,returnSecureToken:!0},a=await x_(r,uy(r.auth,i));r.displayName=a.displayName||null,r.photoURL=a.photoUrl||null;let o=r.providerData.find(({providerId:e})=>e===`password`);o&&(o.displayName=r.displayName,o.photoURL=r.photoURL),await r._updateTokensIfNecessary(a)}function fy(e,t){return py(v(e),null,t)}async function py(e,t,n){let{auth:r}=e,i={idToken:await e.getIdToken(),returnSecureToken:!0};t&&(i.email=t),n&&(i.password=n);let a=await x_(e,Ov(r,i));await e._updateTokensIfNecessary(a,!0)}function my(e,t,n,r){return v(e).onIdTokenChanged(t,n,r)}function hy(e,t,n){return v(e).beforeAuthStateChanged(t,n)}function gy(e,t,n,r){return v(e).onAuthStateChanged(t,n,r)}function _y(e){return v(e).signOut()}var vy=`__sak`,yy=class{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(vy,`1`),this.storage.removeItem(vy),Promise.resolve(!0)):Promise.resolve(!1)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}},by=1e3,xy=10,Sy=class extends yy{constructor(){super(()=>window.localStorage,`LOCAL`),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Z_(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let n=this.storage.getItem(t),r=this.localCache[t];n!==r&&e(t,r,n)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((e,t,n)=>{this.notifyListeners(e,n)});return}let n=e.key;t?this.detachListener():this.stopPolling();let r=()=>{let e=this.storage.getItem(n);!t&&this.localCache[n]===e||this.notifyListeners(n,e)},i=this.storage.getItem(n);X_()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,xy):r()}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,n)=>{this.onStorageEvent(new StorageEvent(`storage`,{key:e,oldValue:t,newValue:n}),!0)})},by)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}attachListener(){window.addEventListener(`storage`,this.boundEventHandler)}detachListener(){window.removeEventListener(`storage`,this.boundEventHandler)}_addListener(e,t){Object.keys(this.listeners).length===0&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}};Sy.type=`LOCAL`;var Cy=Sy,wy=class extends yy{constructor(){super(()=>window.sessionStorage,`SESSION`)}_addListener(e,t){}_removeListener(e,t){}};wy.type=`SESSION`;var Ty=wy;function Ey(e){return Promise.all(e.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(e){return{fulfilled:!1,reason:e}}}))}var Dy=class e{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(t){let n=this.receivers.find(e=>e.isListeningto(t));if(n)return n;let r=new e(t);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let t=e,{eventId:n,eventType:r,data:i}=t.data,a=this.handlersMap[r];if(!a?.size)return;t.ports[0].postMessage({status:`ack`,eventId:n,eventType:r});let o=await Ey(Array.from(a).map(async e=>e(t.origin,i)));t.ports[0].postMessage({status:`done`,eventId:n,eventType:r,response:o})}_subscribe(e,t){Object.keys(this.handlersMap).length===0&&this.eventTarget.addEventListener(`message`,this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),(!t||this.handlersMap[e].size===0)&&delete this.handlersMap[e],Object.keys(this.handlersMap).length===0&&this.eventTarget.removeEventListener(`message`,this.boundEventHandler)}};Dy.receivers=[];function Oy(e=``,t=10){let n=``;for(let e=0;e<t;e++)n+=Math.floor(Math.random()*10);return e+n}var ky=class{constructor(e){this.target=e,this.handlers=new Set}removeMessageHandler(e){e.messageChannel&&(e.messageChannel.port1.removeEventListener(`message`,e.onMessage),e.messageChannel.port1.close()),this.handlers.delete(e)}async _send(e,t,n=50){let r=typeof MessageChannel<`u`?new MessageChannel:null;if(!r)throw Error(`connection_unavailable`);let i,a;return new Promise((o,s)=>{let c=Oy(``,20);r.port1.start();let l=setTimeout(()=>{s(Error(`unsupported_event`))},n);a={messageChannel:r,onMessage(e){let t=e;if(t.data.eventId===c)switch(t.data.status){case`ack`:clearTimeout(l),i=setTimeout(()=>{s(Error(`timeout`))},3e3);break;case`done`:clearTimeout(i),o(t.data.response);break;default:clearTimeout(l),clearTimeout(i),s(Error(`invalid_response`))}}},this.handlers.add(a),r.port1.addEventListener(`message`,a.onMessage),this.target.postMessage({eventType:e,eventId:c,data:t},[r.port2])}).finally(()=>{a&&this.removeMessageHandler(a)})}};function Ay(){return window}function jy(e){Ay().location.href=e}function My(){return Ay().WorkerGlobalScope!==void 0&&typeof Ay().importScripts==`function`}async function Ny(){if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function Py(){return navigator?.serviceWorker?.controller||null}function Fy(){return My()?self:null}var Iy=`firebaseLocalStorageDb`,Ly=1,Ry=`firebaseLocalStorage`,zy=`fbase_key`,By=class{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener(`success`,()=>{e(this.request.result)}),this.request.addEventListener(`error`,()=>{t(this.request.error)})})}};function Vy(e,t){return e.transaction([Ry],t?`readwrite`:`readonly`).objectStore(Ry)}function Hy(){return new By(indexedDB.deleteDatabase(Iy)).toPromise()}function Uy(){let e=indexedDB.open(Iy,Ly);return new Promise((t,n)=>{e.addEventListener(`error`,()=>{n(e.error)}),e.addEventListener(`upgradeneeded`,()=>{let t=e.result;try{t.createObjectStore(Ry,{keyPath:zy})}catch(e){n(e)}}),e.addEventListener(`success`,async()=>{let n=e.result;n.objectStoreNames.contains(Ry)?t(n):(n.close(),await Hy(),t(await Uy()))})})}async function Wy(e,t,n){return new By(Vy(e,!0).put({[zy]:t,value:n})).toPromise()}async function Gy(e,t){let n=await new By(Vy(e,!1).get(t)).toPromise();return n===void 0?null:n.value}function Ky(e,t){return new By(Vy(e,!0).delete(t)).toPromise()}var qy=800,Jy=3,Yy=class{registerLifecycleListeners(){typeof window<`u`&&typeof window.addEventListener==`function`&&(window.addEventListener(`pagehide`,this.onPageHide),window.addEventListener(`pageshow`,this.onPageShow))}unregisterLifecycleListeners(){typeof window<`u`&&typeof window.removeEventListener==`function`&&(window.removeEventListener(`pagehide`,this.onPageHide),window.removeEventListener(`pageshow`,this.onPageShow))}constructor(){this.type=`LOCAL`,this.dbPromise=null,this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.isClosing=!1,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this.onPageHide=()=>{this.isClosing=!0,this.stopPolling(),this.dbPromise&&=(this.dbPromise.then(e=>e.close()).catch(()=>{}),null)},this.onPageShow=()=>{this.isClosing&&(this.isClosing=!1,Object.keys(this.listeners).length>0&&this.startPolling())},this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){if(this.isClosing)throw Error(`Database is closing`);return this.dbPromise?this.dbPromise:(this.dbPromise=Uy(),this.dbPromise.catch(()=>{this.dbPromise=null}),this.dbPromise)}async _withRetries(e){let t=0;for(;;)try{return await e(await this._openDb())}catch(e){if(this.isClosing||t++>Jy)throw e;this.dbPromise&&=((await this.dbPromise).close(),null)}}async initializeServiceWorkerMessaging(){return My()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=Dy._getInstance(Fy()),this.receiver._subscribe(`keyChanged`,async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe(`ping`,async(e,t)=>[`keyChanged`])}async initializeSender(){if(this.activeServiceWorker=await Ny(),!this.activeServiceWorker)return;this.sender=new ky(this.activeServiceWorker);let e=await this.sender._send(`ping`,{},800);e&&e[0]?.fulfilled&&e[0]?.value.includes(`keyChanged`)&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(!(!this.sender||!this.activeServiceWorker||Py()!==this.activeServiceWorker))try{await this.sender._send(`keyChanged`,{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{return indexedDB?(await this._withRetries(async e=>{await Wy(e,vy,`1`),await Ky(e,vy)}),!0):!1}catch{}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(n=>Wy(n,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>Gy(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>Ky(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){if(this.isClosing)return[];try{let e=await this._withRetries(e=>new By(Vy(e,!1).getAll()).toPromise());if(this.isClosing||!e||this.pendingWrites!==0)return[];let t=[],n=new Set;if(e.length!==0)for(let{fbase_key:r,value:i}of e)n.add(r),JSON.stringify(this.localCache[r])!==JSON.stringify(i)&&(this.notifyListeners(r,i),t.push(r));for(let e of Object.keys(this.localCache))this.localCache[e]&&!n.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}catch(e){return this.isClosing||Ig(`Firebase Auth cross-tab polling failed with error: ${e}`),[]}}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),qy)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}_addListener(e,t){Object.keys(this.listeners).length===0&&(this.startPolling(),this.registerLifecycleListeners()),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&(this.stopPolling(),this.unregisterLifecycleListeners())}};Yy.type=`LOCAL`;var Xy=Yy;dv(`rcb`),new Zg(3e4,6e4);function Zy(e,t){return t?F_(t):($(e._popupRedirectResolver,e,`argument-error`),e._popupRedirectResolver)}var Qy=class extends Dv{constructor(e){super(`custom`,`custom`),this.params=e}_getIdTokenResponse(e){return Iv(e,this._buildIdpRequest())}_linkToIdToken(e,t){return Iv(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return Iv(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}};function $y(e){return ny(e.auth,new Qy(e),e.bypassAuthState)}function eb(e){let{auth:t,user:n}=e;return $(n,t,`internal-error`),ty(n,new Qy(e),e.bypassAuthState)}async function tb(e){let{auth:t,user:n}=e;return $(n,t,`internal-error`),ey(n,new Qy(e),e.bypassAuthState)}var nb=class{constructor(e,t,n,r,i=!1){this.auth=e,this.resolver=n,this.user=r,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:n,postBody:r,tenantId:i,error:a,type:o}=e;if(a){this.reject(a);return}let s={auth:this.auth,requestUri:t,sessionId:n,tenantId:i||void 0,postBody:r||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(o)(s))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case`signInViaPopup`:case`signInViaRedirect`:return $y;case`linkViaPopup`:case`linkViaRedirect`:return tb;case`reauthViaPopup`:case`reauthViaRedirect`:return eb;default:Rg(this.auth,`internal-error`)}}resolve(e){Gg(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){Gg(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}},rb=new Zg(2e3,1e4);async function ib(e,t,n){if(Jt(e.app))return Promise.reject(zg(e,`operation-not-supported-in-this-environment`));let r=iv(e);return Hg(e,t,Uv),new ab(r,`signInViaPopup`,t,Zy(r,n)).executeNotNull()}var ab=class e extends nb{constructor(t,n,r,i,a){super(t,n,i,a),this.provider=r,this.authWindow=null,this.pollId=null,e.currentPopupAction&&e.currentPopupAction.cancel(),e.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return $(e,this.auth,`internal-error`),e}async onExecution(){Gg(this.filter.length===1,`Popup operations only handle one event`);let e=Oy();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(zg(this.auth,`web-storage-unsupported`))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(zg(this.auth,`cancelled-popup-request`))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,e.currentPopupAction=null}pollUserCancellation(){let e=()=>{if(this.authWindow?.window?.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(zg(this.auth,`popup-closed-by-user`))},8e3);return}this.pollId=window.setTimeout(e,rb.get())};e()}};ab.currentPopupAction=null;var ob=`pendingRedirect`,sb=new Map,cb=class extends nb{constructor(e,t,n=!1){super(e,[`signInViaRedirect`,`linkViaRedirect`,`reauthViaRedirect`,`unknown`],t,void 0,n),this.eventId=null}async execute(){let e=sb.get(this.auth._key());if(!e){try{let t=await lb(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}sb.set(this.auth._key(),e)}return this.bypassAuthState||sb.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type===`signInViaRedirect`)return super.onAuthEvent(e);if(e.type===`unknown`){this.resolve(null);return}if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}};async function lb(e,t){let n=fb(t),r=db(e);if(!await r._isAvailable())return!1;let i=await r._get(n)===`true`;return await r._remove(n),i}function ub(e,t){sb.set(e._key(),t)}function db(e){return F_(e._redirectPersistence)}function fb(e){return R_(ob,e.config.apiKey,e.name)}async function pb(e,t,n=!1){if(Jt(e.app))return Promise.reject(Vg(e));let r=iv(e),i=await new cb(r,Zy(r,t),n).execute();return i&&!n&&(delete i.user._redirectEventId,await r._persistUserIfCurrent(i.user),await r._setRedirectUser(null,t)),i}var mb=6e5,hb=class{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(n=>{this.isEventForConsumer(e,n)&&(t=!0,this.sendToConsumer(e,n),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!vb(e)?t:(this.hasHandledPotentialRedirect=!0,t||=(this.queuedRedirectEvent=e,!0),t)}sendToConsumer(e,t){if(e.error&&!_b(e)){let n=e.error.code?.split(`auth/`)[1]||`internal-error`;t.onError(zg(this.auth,n))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let n=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&n}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=mb&&this.cachedEventUids.clear(),this.cachedEventUids.has(gb(e))}saveEventToCache(e){this.cachedEventUids.add(gb(e)),this.lastProcessedEventTime=Date.now()}};function gb(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join(`-`)}function _b({type:e,error:t}){return e===`unknown`&&t?.code===`auth/no-auth-event`}function vb(e){switch(e.type){case`signInViaRedirect`:case`linkViaRedirect`:case`reauthViaRedirect`:return!0;case`unknown`:return _b(e);default:return!1}}async function yb(e,t={}){return i_(e,`GET`,`/v1/projects`,t)}var bb=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,xb=/^https?/;async function Sb(e){if(e.config.emulator)return;let{authorizedDomains:t}=await yb(e);for(let e of t)try{if(Cb(e))return}catch{}Rg(e,`unauthorized-domain`)}function Cb(e){let t=Kg(),{protocol:n,hostname:r}=new URL(t);if(e.startsWith(`chrome-extension://`)){let i=new URL(e);return i.hostname===``&&r===``?n===`chrome-extension:`&&e.replace(`chrome-extension://`,``)===t.replace(`chrome-extension://`,``):n===`chrome-extension:`&&i.hostname===r}if(!xb.test(n))return!1;if(bb.test(e))return r===e;let i=e.replace(/\./g,`\\.`);return RegExp(`^(.+\\.`+i+`|`+i+`)$`,`i`).test(r)}var wb=new Zg(3e4,6e4);function Tb(){let e=Ay().___jsl;if(e?.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t<e.CP.length;t++)e.CP[t]=null}}function Eb(e){return new Promise((t,n)=>{function r(){Tb(),gapi.load(`gapi.iframes`,{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{Tb(),n(zg(e,`network-request-failed`))},timeout:wb.get()})}if(Ay().gapi?.iframes?.Iframe)t(gapi.iframes.getContext());else if(Ay().gapi?.load)r();else{let t=dv(`iframefcb`);return Ay()[t]=()=>{gapi.load?r():n(zg(e,`network-request-failed`))},cv(`${uv()}?onload=${t}`).catch(e=>n(e))}}).catch(e=>{throw Db=null,e})}var Db=null;function Ob(e){return Db||=Eb(e),Db}var kb=new Zg(5e3,15e3),Ab=`__/auth/iframe`,jb=`emulator/auth/iframe`,Mb={style:{position:`absolute`,top:`-100px`,width:`1px`,height:`1px`},"aria-hidden":`true`,tabindex:`-1`},Nb=new Map([[`identitytoolkit.googleapis.com`,`p`],[`staging-identitytoolkit.sandbox.googleapis.com`,`s`],[`test-identitytoolkit.sandbox.googleapis.com`,`t`]]);function Pb(e){let t=e.config;$(t.authDomain,e,`auth-domain-config-required`);let n=t.emulator?Qg(t,jb):`https://${e.config.authDomain}/${Ab}`,r={apiKey:t.apiKey,appName:e.name,v:Xt},i=Nb.get(e.config.apiHost);i&&(r.eid=i);let a=e._getFrameworks();return a.length&&(r.fw=a.join(`,`)),`${n}?${ve(r).slice(1)}`}async function Fb(e){let t=await Ob(e),n=Ay().gapi;return $(n,e,`internal-error`),t.open({where:document.body,url:Pb(e),messageHandlersFilter:n.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:Mb,dontclear:!0},t=>new Promise(async(n,r)=>{await t.restyle({setHideOnLeave:!1});let i=zg(e,`network-request-failed`),a=Ay().setTimeout(()=>{r(i)},kb.get());function o(){Ay().clearTimeout(a),n(t)}t.ping(o).then(o,()=>{r(i)})}))}var Ib={location:`yes`,resizable:`yes`,statusbar:`yes`,toolbar:`no`},Lb=500,Rb=600,zb=`_blank`,Bb=`http://localhost`,Vb=class{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}};function Hb(e,t,n,r=Lb,i=Rb){let a=Math.max((window.screen.availHeight-i)/2,0).toString(),o=Math.max((window.screen.availWidth-r)/2,0).toString(),s=``,c={...Ib,width:r.toString(),height:i.toString(),top:a,left:o},l=_().toLowerCase();n&&(s=U_(l)?zb:n),V_(l)&&(t||=Bb,c.scrollbars=`yes`);let u=Object.entries(c).reduce((e,[t,n])=>`${e}${t}=${n},`,``);if(Y_(l)&&s!==`_self`)return Ub(t||``,s),new Vb(null);let d=window.open(t||``,s,u);$(d,e,`popup-blocked`);try{d.focus()}catch{}return new Vb(d)}function Ub(e,t){let n=document.createElement(`a`);n.href=e,n.target=t;let r=document.createEvent(`MouseEvent`);r.initMouseEvent(`click`,!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),n.dispatchEvent(r)}var Wb=`__/auth/handler`,Gb=`emulator/auth/handler`,Kb=`fac`;async function qb(e,t,n,r,i,a){$(e.config.authDomain,e,`auth-domain-config-required`),$(e.config.apiKey,e,`invalid-api-key`);let o={apiKey:e.config.apiKey,appName:e.name,authType:n,redirectUrl:r,v:Xt,eventId:i};if(t instanceof Uv){t.setDefaultLanguage(e.languageCode),o.providerId=t.providerId||``,he(t.getCustomParameters())||(o.customParameters=JSON.stringify(t.getCustomParameters()));for(let[e,t]of Object.entries(a||{}))o[e]=t}if(t instanceof Wv){let e=t.getScopes().filter(e=>e!==``);e.length>0&&(o.scopes=e.join(`,`))}e.tenantId&&(o.tid=e.tenantId);let s=o;for(let e of Object.keys(s))s[e]===void 0&&delete s[e];let c=await e._getAppCheckToken(),l=c?`#${Kb}=${encodeURIComponent(c)}`:``;return`${Jb(e)}?${ve(s).slice(1)}${l}`}function Jb({config:e}){return e.emulator?Qg(e,Gb):`https://${e.authDomain}/${Wb}`}var Yb=`webStorageSupport`,Xb=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=Ty,this._completeRedirectFn=pb,this._overrideRedirectResult=ub}async _openPopup(e,t,n,r){return Gg(this.eventManagers[e._key()]?.manager,`_initialize() not called before _openPopup()`),Hb(e,await qb(e,t,n,Kg(),r),Oy())}async _openRedirect(e,t,n,r){return await this._originValidation(e),jy(await qb(e,t,n,Kg(),r)),new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(Gg(n,`If manager is not set, promise should be`),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await Fb(e),n=new hb(e);return t.register(`authEvent`,t=>($(t?.authEvent,e,`invalid-auth-event`),{status:n.onEvent(t.authEvent)?`ACK`:`ERROR`}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:n},this.iframes[e._key()]=t,n}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(Yb,{type:Yb},n=>{let r=n?.[0]?.[Yb];r!==void 0&&t(!!r),Rg(e,`internal-error`)},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=Sb(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Z_()||H_()||J_()}},Zb=`@firebase/auth`,Qb=`1.13.5`,$b=class{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){return this.assertAuthConfigured(),this.auth.currentUser?.uid||null}async getToken(e){return this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e(t?.stsTokenManager.accessToken||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){$(this.auth._initializationPromise,`dependent-sdk-initialized-before-auth`)}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}};function ex(e){switch(e){case`Node`:return`node`;case`ReactNative`:return`rn`;case`Worker`:return`webworker`;case`Cordova`:return`cordova`;case`WebExtension`:return`web-extension`;default:return}}function tx(e){Kt(new De(`auth`,(t,{options:n})=>{let r=t.getProvider(`app`).getImmediate(),i=t.getProvider(`heartbeat`),a=t.getProvider(`app-check-internal`),{apiKey:o,authDomain:s}=r.options;$(o&&!o.includes(`:`),`invalid-api-key`,{appName:r.name});let c=new rv(r,i,a,{apiKey:o,authDomain:s,clientPlatform:e,apiHost:`identitytoolkit.googleapis.com`,tokenApiHost:`securetoken.googleapis.com`,apiScheme:`https`,sdkClientVersion:Q_(e)});return xv(c,n),c},`PUBLIC`).setInstantiationMode(`EXPLICIT`).setInstanceCreatedCallback((e,t,n)=>{e.getProvider(`auth-internal`).initialize()})),Kt(new De(`auth-internal`,e=>(e=>new $b(e))(iv(e.getProvider(`auth`).getImmediate())),`PRIVATE`).setInstantiationMode(`EXPLICIT`)),en(Zb,Qb,ex(e)),en(Zb,Qb,`esm2020`)}var nx=g(`authIdTokenMaxAge`)||300,rx=null,ix=e=>async t=>{let n=t&&await t.getIdTokenResult(),r=n&&(new Date().getTime()-Date.parse(n.issuedAtTime))/1e3;if(r&&r>nx)return;let i=n?.token;rx!==i&&(rx=i,await fetch(e,{method:i?`POST`:`DELETE`,headers:i?{Authorization:`Bearer ${i}`}:{}}))};function ax(e=Qt()){let t=qt(e,`auth`);if(t.isInitialized())return t.getImmediate();let n=bv(e,{popupRedirectResolver:Xb,persistence:[Xy,Cy,Ty]}),r=g(`authTokenSyncURL`);if(r&&typeof isSecureContext==`boolean`&&isSecureContext){let e=new URL(r,location.origin);if(location.origin===e.origin){let t=ix(e.toString());hy(n,t,()=>t(n.currentUser)),my(n,e=>t(e))}}let i=p(`auth`);return i&&Sv(n,`http://${i}`),n}function ox(){return document.getElementsByTagName(`head`)?.[0]??document}sv({loadJS(e){return new Promise((t,n)=>{let r=document.createElement(`script`);r.setAttribute(`src`,e),r.onload=t,r.onerror=e=>{let t=zg(`internal-error`);t.customData=e,n(t)},r.type=`text/javascript`,r.charset=`UTF-8`,ox().appendChild(r)})},gapiScript:`https://apis.google.com/js/api.js`,recaptchaV2Script:`https://www.google.com/recaptcha/api.js`,recaptchaEnterpriseScript:`https://www.google.com/recaptcha/enterprise.js?render=`}),tx(`Browser`);export{Qt as C,ag as S,Zt as T,_g as _,ax as a,Ql as b,sy as c,_y as d,fy as f,Tg as g,wg as h,cy as i,ly as l,Dg as m,qv as n,gy as o,dy as p,Kv as r,iy as s,Hv as t,ib as u,Eg as v,$t as w,$l as x,yg as y};
|