firebase 12.17.0 → 12.17.1

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.
@@ -1,12 +1,12 @@
1
- ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).firebase=t()})(this,function(){let o=()=>{},d={NODE_ADMIN:!1,SDK_VERSION:"${JSCORE_VERSION}"},g=function(e,t){if(!e)throw M(t)},M=function(e){return new Error("Firebase Database ("+d.SDK_VERSION+") INTERNAL ASSERT FAILED: "+e)},U=function(t){var r=[];let n=0;for(let i=0;i<t.length;i++){let e=t.charCodeAt(i);e<128?r[n++]=e:(e<2048?r[n++]=e>>6|192:(55296==(64512&e)&&i+1<t.length&&56320==(64512&t.charCodeAt(i+1))?(e=65536+((1023&e)<<10)+(1023&t.charCodeAt(++i)),r[n++]=e>>18|240,r[n++]=e>>12&63|128):r[n++]=e>>12|224,r[n++]=e>>6&63|128),r[n++]=63&e|128)}return r},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(r,e){if(!Array.isArray(r))throw Error("encodeByteArray takes an array as a parameter");this.init_();var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,i=[];for(let u=0;u<r.length;u+=3){var s=r[u],a=u+1<r.length,o=a?r[u+1]:0,l=u+2<r.length,h=l?r[u+2]:0;let e=(15&o)<<2|h>>6,t=63&h;l||(t=64,a)||(e=64),i.push(n[s>>2],n[(3&s)<<4|o>>4],n[e],n[t])}return i.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(U(e),t)},decodeString(r,n){if(this.HAS_NATIVE_SUPPORT&&!n)return atob(r);{var i=this.decodeStringToByteArray(r,n);var s=[];let e=0,t=0;for(;e<i.length;){var a,o,l,h=i[e++];h<128?s[t++]=String.fromCharCode(h):191<h&&h<224?(a=i[e++],s[t++]=String.fromCharCode((31&h)<<6|63&a)):239<h&&h<365?(a=((7&h)<<18|(63&i[e++])<<12|(63&i[e++])<<6|63&i[e++])-65536,s[t++]=String.fromCharCode(55296+(a>>10)),s[t++]=String.fromCharCode(56320+(1023&a))):(o=i[e++],l=i[e++],s[t++]=String.fromCharCode((15&h)<<12|(63&o)<<6|63&l))}return s.join("");return}},decodeStringToByteArray(e,t){this.init_();var r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let l=0;l<e.length;){var i=r[e.charAt(l++)],s=l<e.length?r[e.charAt(l)]:0,a=++l<e.length?r[e.charAt(l)]:64,o=++l<e.length?r[e.charAt(l)]:64;if(++l,null==i||null==s||null==a||null==o)throw new H;n.push(i<<2|s>>4),64!==a&&(n.push(s<<4&240|a>>2),64!==o)&&n.push(a<<6&192|o)}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),(this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e)>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class H extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}function V(e){var t=U(e);return G.encodeByteArray(t,!0)}let q=function(e){return V(e).replace(/\./g,"")},j=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function K(e,t){if(!(t instanceof Object))return t;switch(t.constructor){case Date:return new Date(t.getTime());case Object:void 0===e&&(e={});break;case Array:e=[];break;default:return t}for(var r in t)t.hasOwnProperty(r)&&"__proto__"!==r&&(e[r]=K(e[r],t[r]));return e}function z(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("Unable to locate global object.")}let J=()=>z().__FIREBASE_DEFAULTS__,W=()=>{var e;return"undefined"!=typeof process&&void 0!==process.env&&(e=process.env.__FIREBASE_DEFAULTS__)?JSON.parse(e):void 0},Q=()=>{if("undefined"!=typeof document){let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}var t=e&&j(e[1]);return t&&JSON.parse(t)}},Y=()=>{try{return o()||J()||W()||Q()}catch(e){console.info("Unable to get __FIREBASE_DEFAULTS__ due to: "+e)}},$=()=>Y()?.config;var B,X;class Z{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(r){return(e,t)=>{e?this.reject(e):this.resolve(t),"function"==typeof r&&(this.promise.catch(()=>{}),1===r.length?r(e):r(e,t))}}}function ee(e,t){if(e.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');var r=t||"demo-project",n=e.iat||0,i=e.sub||e.user_id;if(i)return r={iss:"https://securetoken.google.com/"+r,aud:r,iat:n,exp:n+3600,auth_time:n,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}},...e},[q(JSON.stringify({alg:"none",type:"JWT"})),q(JSON.stringify(r)),""].join(".");throw new Error("mockUserToken must contain 'sub' or 'user_id' field!")}function te(){return"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function re(){return"undefined"!=typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(te())}function ne(){var e=Y()?.forceEnvironment;if("node"===e)return!0;if("browser"===e)return!1;try{return"[object process]"===Object.prototype.toString.call(global.process)}catch(e){return!1}}function ie(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}function se(){var e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id}function ae(){return"object"==typeof navigator&&"ReactNative"===navigator.product}function oe(){var e=te();return 0<=e.indexOf("MSIE ")||0<=e.indexOf("Trident/")}function le(){return!ne()&&navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function he(){return!ne()&&navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")}function ue(){try{return"object"==typeof indexedDB}catch(e){return!1}}function ce(){return new Promise((n,i)=>{try{let e=!0,t="validate-browser-context-for-indexeddb-analytics-module",r=self.indexedDB.open(t);r.onsuccess=()=>{r.result.close(),e||self.indexedDB.deleteDatabase(t),n(!0)},r.onupgradeneeded=()=>{e=!1},r.onerror=()=>{i(r.error?.message||"")}}catch(e){i(e)}})}function de(){return!("undefined"==typeof navigator||!navigator.cookieEnabled)}class Be extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,Be.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,pe.prototype.create)}}class pe{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var r=t[0]||{},n=this.service+"/"+e,i=this.errors[e],i=i?((r,n)=>{try{let e=0,t="";for(;e<r.length;){var i=r.indexOf("{$",e);if(-1===i){t+=r.substring(e);break}var s=r.indexOf("}",i+2);if(-1===s){t+=r.substring(e);break}var a=r.substring(i+2,s),o=n[a];t+=r.substring(e,i)+(null!=o?String(o):`<${a}?>`),e=s+1}return t}catch(e){return r}})(i,r):"Error",i=this.serviceName+`: ${i} (${n}).`;return new Be(n,i,r)}}function ge(e){return JSON.parse(e)}function fe(e){return JSON.stringify(e)}function me(e){let t={},r={},n={},i="";try{var s=e.split(".");t=ge(j(s[0])||""),r=ge(j(s[1])||""),i=s[2],n=r.d||{},delete r.d}catch(e){}return{header:t,claims:r,data:n,signature:i}}function Ce(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ve(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]}function _e(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function ye(e,t,r){var n,i={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(i[n]=t.call(r,e[n],n,e));return i}function we(e,t){if(e!==t){var r,n,i=Object.keys(e),s=Object.keys(t);for(r of i){if(!s.includes(r))return!1;var a=e[r],o=t[r];if(Ee(a)&&Ee(o)){if(!we(a,o))return!1}else if(a!==o)return!1}for(n of s)if(!i.includes(n))return!1}return!0}function Ee(e){return null!==e&&"object"==typeof e}function De(e){let t=[];for(let[r,n]of Object.entries(e))Array.isArray(n)?n.forEach(e=>{t.push(encodeURIComponent(r)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(r)+"="+encodeURIComponent(n));return t.length?"&"+t.join("&"):""}function be(e){let n={};return e.replace(/^\?/,"").split("&").forEach(e=>{var t,r;e&&([t,r]=e.split("="),n[decodeURIComponent(t)]=decodeURIComponent(r))}),n}function Ie(e){var t,r=e.indexOf("?");return r?(t=e.indexOf("#",r),e.substring(r,0<t?t:void 0)):""}class Te{constructor(){this.chain_=[],this.buf_=[],this.W_=[],this.pad_=[],this.inbuf_=0,this.total_=0,this.blockSize=64,this.pad_[0]=128;for(let e=1;e<this.blockSize;++e)this.pad_[e]=0;this.reset()}reset(){this.chain_[0]=1732584193,this.chain_[1]=4023233417,this.chain_[2]=2562383102,this.chain_[3]=271733878,this.chain_[4]=3285377520,this.inbuf_=0,this.total_=0}compress_(r,n){n=n||0;var i=this.W_;if("string"==typeof r)for(let e=0;e<16;e++)i[e]=r.charCodeAt(n)<<24|r.charCodeAt(n+1)<<16|r.charCodeAt(n+2)<<8|r.charCodeAt(n+3),n+=4;else for(let t=0;t<16;t++)i[t]=r[n]<<24|r[n+1]<<16|r[n+2]<<8|r[n+3],n+=4;for(let d=16;d<80;d++){var e=i[d-3]^i[d-8]^i[d-14]^i[d-16];i[d]=4294967295&(e<<1|e>>>31)}let t=this.chain_[0],s=this.chain_[1],a=this.chain_[2],o=this.chain_[3],l=this.chain_[4],h,u;for(let B=0;B<80;B++){u=B<40?B<20?(h=o^s&(a^o),1518500249):(h=s^a^o,1859775393):B<60?(h=s&a|o&(s|a),2400959708):(h=s^a^o,3395469782);var c=(t<<5|t>>>27)+h+l+u+i[B]&4294967295;l=o,o=a,a=4294967295&(s<<30|s>>>2),s=t,t=c}this.chain_[0]=this.chain_[0]+t&4294967295,this.chain_[1]=this.chain_[1]+s&4294967295,this.chain_[2]=this.chain_[2]+a&4294967295,this.chain_[3]=this.chain_[3]+o&4294967295,this.chain_[4]=this.chain_[4]+l&4294967295}update(r,n){if(null!=r){var i=(n=void 0===n?r.length:n)-this.blockSize;let e=0;var s=this.buf_;let t=this.inbuf_;for(;e<n;){if(0===t)for(;e<=i;)this.compress_(r,e),e+=this.blockSize;if("string"==typeof r){for(;e<n;)if(s[t]=r.charCodeAt(e),++t,++e,t===this.blockSize){this.compress_(s),t=0;break}}else for(;e<n;)if(s[t]=r[e],++t,++e,t===this.blockSize){this.compress_(s),t=0;break}}this.inbuf_=t,this.total_+=n}}digest(){var t=[];let e=8*this.total_;this.inbuf_<56?this.update(this.pad_,56-this.inbuf_):this.update(this.pad_,this.blockSize-(this.inbuf_-56));for(let n=this.blockSize-1;56<=n;n--)this.buf_[n]=255&e,e/=256;this.compress_(this.buf_);let r=0;for(let i=0;i<5;i++)for(let e=24;0<=e;e-=8)t[r]=this.chain_[i]>>e&255,++r;return t}}function Se(e,t){var r=new ke(e,t);return r.subscribe.bind(r)}class ke{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(t){this.forEachObserver(e=>{e.next(t)})}error(t){this.forEachObserver(e=>{e.error(t)}),this.close(t)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,r){let n;if(void 0===e&&void 0===t&&void 0===r)throw new Error("Missing Observer.");void 0===(n=((e,t)=>{if("object"==typeof e&&null!==e)for(var r of t)if(r in e&&"function"==typeof e[r])return 1})(e,["next","error","complete"])?e:{next:e,error:t,complete:r}).next&&(n.next=Ne),void 0===n.error&&(n.error=Ne),void 0===n.complete&&(n.complete=Ne);var i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?n.error(this.finalError):n.complete()}catch(e){}}),this.observers.push(n),i}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],--this.observerCount,0===this.observerCount)&&void 0!==this.onNoObservers&&this.onNoObservers(this)}forEachObserver(t){if(!this.finalized)for(let e=0;e<this.observers.length;e++)this.sendOne(e,t)}sendOne(e,t){this.task.then(()=>{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"undefined"!=typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function Ne(){}function l(e,t,r,n){let i;var s;if(n<t?i="at least "+t:r<n&&(i=0===r?"none":"no more than "+r),i)throw s=e+" failed: Was called with "+n+(1===n?" argument.":" arguments.")+" Expects "+i+".",new Error(s)}function Ae(e,t){return e+` failed: ${t} argument `}function Re(e,t,r,n){if((!n||r)&&"function"!=typeof r)throw new Error(Ae(e,t)+"must be a valid function.")}function Oe(e,t,r){if(r&&("object"!=typeof r||null===r))throw new Error(Ae(e,t)+"must be a valid context object.")}let Pe=function(e){let t=0;for(let n=0;n<e.length;n++){var r=e.charCodeAt(n);r<128?t++:r<2048?t+=2:55296<=r&&r<=56319?(t+=4,n++):t+=3}return t},xe=1e3,Fe=2,Le=144e5,Me=.5;function Ue(e,t=xe,r=Fe){var n=t*Math.pow(r,e),i=Math.round(Me*n*(Math.random()-.5)*2);return Math.min(Le,n+i)}function _(e){return e&&e._delegate?e._delegate:e}function Ge(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch{return!1}}async function He(e){return(await fetch(e,{credentials:"include"})).ok}class Ve{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}let qe="[DEFAULT]";class je{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){var t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){var r=new Z;if(this.instancesDeferred.set(t,r),this.isInitialized(t)||this.shouldAutoInitialize())try{var n=this.getOrInitializeService({instanceIdentifier:t});n&&r.resolve(n)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t=this.normalizeInstanceIdentifier(e?.identifier),r=e?.optional??!1;if(!this.isInitialized(t)&&!this.shouldAutoInitialize()){if(r)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(r)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:qe})}catch(e){}for(var[t,r]of this.instancesDeferred.entries()){t=this.normalizeInstanceIdentifier(t);try{var n=this.getOrInitializeService({instanceIdentifier:t});r.resolve(n)}catch(e){}}}}clearInstance(e=qe){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){var e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=qe){return this.instances.has(e)}getOptions(e=qe){return this.instancesOptions.get(e)||{}}initialize(e={}){var{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(this.name+`(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);var n,i,s=this.getOrInitializeService({instanceIdentifier:r,options:t});for([n,i]of this.instancesDeferred.entries())r===this.normalizeInstanceIdentifier(n)&&i.resolve(s);return s}onInit(e,t){var r=this.normalizeInstanceIdentifier(t);let n=this.onInitCallbacks.get(r)??new Set;n.add(e),this.onInitCallbacks.set(r,n);var i=this.instances.get(r);return i&&e(i,r),()=>{n.delete(e)}}invokeOnInitCallbacks(e,t){var r=this.onInitCallbacks.get(t);if(r)for(var n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:(n=e)===qe?void 0:n,options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}var n;return r||null}normalizeInstanceIdentifier(e=qe){return!this.component||this.component.multipleInstances?e:qe}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class Ke{constructor(e){this.name=e,this.providers=new Map}addComponent(e){var t=this.getProvider(e.name);if(t.isComponentSet())throw new 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){var t;return this.providers.has(e)?this.providers.get(e):(t=new je(e,this),this.providers.set(e,t),t)}getProviders(){return Array.from(this.providers.values())}}let ze=[],Je=((a=B=B||{})[a.DEBUG=0]="DEBUG",a[a.VERBOSE=1]="VERBOSE",a[a.INFO=2]="INFO",a[a.WARN=3]="WARN",a[a.ERROR=4]="ERROR",a[a.SILENT=5]="SILENT",{debug:B.DEBUG,verbose:B.VERBOSE,info:B.INFO,warn:B.WARN,error:B.ERROR,silent:B.SILENT}),We=B.INFO,Qe={[B.DEBUG]:"log",[B.VERBOSE]:"log",[B.INFO]:"info",[B.WARN]:"warn",[B.ERROR]:"error"},Ye=(e,t,...r)=>{if(!(t<e.logLevel)){var n=(new Date).toISOString(),i=Qe[t];if(!i)throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`);console[i](`[${n}] ${e.name}:`,...r)}};class $e{constructor(e){this.name=e,this._logLevel=We,this._logHandler=Ye,this._userLogHandler=null,ze.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in B))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?Je[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,B.DEBUG,...e),this._logHandler(this,B.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,B.VERBOSE,...e),this._logHandler(this,B.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,B.INFO,...e),this._logHandler(this,B.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,B.WARN,...e),this._logHandler(this,B.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,B.ERROR,...e),this._logHandler(this,B.ERROR,...e)}}let Xe=(t,e)=>e.some(e=>t instanceof e),Ze,et;let tt=new WeakMap,rt=new WeakMap,nt=new WeakMap,it=new WeakMap,st=new WeakMap;let at={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return rt.get(e);if("objectStoreNames"===t)return e.objectStoreNames||nt.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return ht(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function ot(n){return n!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(et=et||[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]).includes(n)?function(...e){return n.apply(ut(this),e),ht(tt.get(this))}:function(...e){return ht(n.apply(ut(this),e))}:function(e,...t){var r=n.call(ut(this),e,...t);return nt.set(r,e.sort?e.sort():[e]),ht(r)}}function lt(e){var s,t;return"function"==typeof e?ot(e):(e instanceof IDBTransaction&&(s=e,rt.has(s)||(t=new Promise((e,t)=>{let r=()=>{s.removeEventListener("complete",n),s.removeEventListener("error",i),s.removeEventListener("abort",i)},n=()=>{e(),r()},i=()=>{t(s.error||new DOMException("AbortError","AbortError")),r()};s.addEventListener("complete",n),s.addEventListener("error",i),s.addEventListener("abort",i)}),rt.set(s,t))),Xe(e,Ze=Ze||[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])?new Proxy(e,at):e)}function ht(e){var s,t;return e instanceof IDBRequest?(s=e,(t=new Promise((e,t)=>{let r=()=>{s.removeEventListener("success",n),s.removeEventListener("error",i)},n=()=>{e(ht(s.result)),r()},i=()=>{t(s.error),r()};s.addEventListener("success",n),s.addEventListener("error",i)})).then(e=>{e instanceof IDBCursor&&tt.set(e,s)}).catch(()=>{}),st.set(t,s),t):it.has(e)?it.get(e):((t=lt(e))!==e&&(it.set(e,t),st.set(t,e)),t)}let ut=e=>st.get(e);function ct(e,t,{blocked:r,upgrade:n,blocking:i,terminated:s}={}){let a=indexedDB.open(e,t);var o=ht(a);return n&&a.addEventListener("upgradeneeded",e=>{n(ht(a.result),e.oldVersion,e.newVersion,ht(a.transaction),e)}),r&&a.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),o.then(e=>{s&&e.addEventListener("close",()=>s()),i&&e.addEventListener("versionchange",e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}function dt(e,{blocked:t}={}){var r=indexedDB.deleteDatabase(e);return t&&r.addEventListener("blocked",e=>t(e.oldVersion,e)),ht(r).then(()=>{})}let Bt=["get","getKey","getAll","getAllKeys","count"],pt=["put","add","delete","clear"],gt=new Map;function ft(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(gt.get(t))return gt.get(t);let i=t.replace(/FromIndex$/,""),s=t!==i,a=pt.includes(i);var r;return i in(s?IDBIndex:IDBObjectStore).prototype&&(a||Bt.includes(i))?(r=async function(e,...t){var r=this.transaction(e,a?"readwrite":"readonly");let n=r.store;return s&&(n=n.index(t.shift())),(await Promise.all([n[i](...t),a&&r.done]))[0]},gt.set(t,r),r):void 0}}at={...X=at,get:(e,t,r)=>ft(e,t)||X.get(e,t,r),has:(e,t)=>!!ft(e,t)||X.has(e,t)};class mt{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{var t;return"VERSION"===e.getComponent()?.type?(t=e.getImmediate()).library+"/"+t.version:null}).filter(e=>e).join(" ")}}let Ct="@firebase/app",vt="0.16.0",_t=new $e("@firebase/app");let yt="[DEFAULT]",wt={"@firebase/app":"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},Et=new Map,Dt=new Map,bt=new Map;function It(t,r){try{t.container.addComponent(r)}catch(e){_t.debug(`Component ${r.name} failed to register with FirebaseApp `+t.name,e)}}function Tt(e,t){e.container.addOrOverwriteComponent(t)}function St(e){var t,r,n=e.name;if(bt.has(n))return _t.debug(`There were multiple attempts to register component ${n}.`),!1;bt.set(n,e);for(t of Et.values())It(t,e);for(r of Dt.values())It(r,e);return!0}function kt(e,t){var r=e.container.getProvider("heartbeat").getImmediate({optional:!0});return r&&r.triggerHeartbeat(),e.container.getProvider(t)}function Nt(e){return void 0!==e.options}function At(e){return!Nt(e)&&("authIdToken"in e||"appCheckToken"in e||"releaseOnDeref"in e||"automaticDataCollectionEnabled"in e)}function Rt(e){return null!=e&&void 0!==e.settings}let Ot=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."}),Pt=class{constructor(e,t,r){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new Ve("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 Ot.create("app-deleted",{appName:this._name})}};function xt(e,t){var r=j(e.split(".")[1]);null===r?console.error(`FirebaseServerApp ${t} is invalid: second part could not be parsed.`):void 0===JSON.parse(r).exp?console.error(`FirebaseServerApp ${t} is invalid: expiration claim could not be parsed`):1e3*JSON.parse(r).exp-(new Date).getTime()<=0&&console.error(`FirebaseServerApp ${t} is invalid: the token has expired.`)}class Ft extends Pt{constructor(e,t,r,n){var i=void 0===t.automaticDataCollectionEnabled||t.automaticDataCollectionEnabled,s={name:r,automaticDataCollectionEnabled:i};void 0!==e.apiKey?super(e,s,n):super(e.options,s,n),this._serverConfig={automaticDataCollectionEnabled:i,...t},this._serverConfig.authIdToken&&xt(this._serverConfig.authIdToken,"authIdToken"),this._serverConfig.appCheckToken&&xt(this._serverConfig.appCheckToken,"appCheckToken"),this._finalizationRegistry=null,"undefined"!=typeof FinalizationRegistry&&(this._finalizationRegistry=new FinalizationRegistry(()=>{this.automaticCleanup()})),this._refCount=0,this.incRefCount(this._serverConfig.releaseOnDeref),this._serverConfig.releaseOnDeref=void 0,t.releaseOnDeref=void 0,Ht(Ct,vt,"serverapp")}toJSON(){}get refCount(){return this._refCount}incRefCount(e){this.isDeleted||(this._refCount++,void 0!==e&&null!==this._finalizationRegistry&&this._finalizationRegistry.register(e,this))}decRefCount(){return this.isDeleted?0:--this._refCount}automaticCleanup(){Gt(this)}get settings(){return this.checkDestroyed(),this._serverConfig}checkDestroyed(){if(this.isDeleted)throw Ot.create("server-app-deleted")}}let Lt="12.17.0";function Mt(e,t={}){let r=e;if("object"!=typeof t){let e=t;t={name:e}}var n={name:yt,automaticDataCollectionEnabled:!0,...t};let i=n.name;if("string"!=typeof i||!i)throw Ot.create("bad-app-name",{appName:String(i)});if(!(r=r||$()))throw Ot.create("no-options");var s=Et.get(i);if(s){if(we(r,s.options)){if(we(n,s.config))return s;throw Ot.create("duplicate-app",{appName:i,mismatchedParam:"config",oldValue:JSON.stringify(s.config),newValue:JSON.stringify(n)})}throw Ot.create("duplicate-app",{appName:i,mismatchedParam:"options",oldValue:JSON.stringify(s.options),newValue:JSON.stringify(r)})}var a,o=new Ke(i);for(a of bt.values())o.addComponent(a);s=new Pt(r,n,o);return Et.set(i,s),s}function Ut(e=yt){var t=Et.get(e);if(!t&&e===yt&&$())return Mt();if(t)return t;throw Ot.create("no-app",{appName:e})}async function Gt(e){let t=!1;var r=e.name;Et.has(r)?(t=!0,Et.delete(r)):Dt.has(r)&&e.decRefCount()<=0&&(Dt.delete(r),t=!0),t&&(await Promise.all(e.container.getProviders().map(e=>e.delete())),e.isDeleted=!0)}function Ht(e,t,r){let n=wt[e]??e;r&&(n+="-"+r);var i,s=n.match(/\s|\//),a=t.match(/\s|\//);s||a?(i=[`Unable to register library "${n}" with version "${t}":`],s&&i.push(`library name "${n}" contains illegal characters (whitespace or "/")`),s&&a&&i.push("and"),a&&i.push(`version name "${t}" contains illegal characters (whitespace or "/")`),_t.warn(i.join(" "))):St(new Ve(n+"-version",()=>({library:n,version:t}),"VERSION"))}function Vt(e,t){if(null!==e&&"function"!=typeof e)throw Ot.create("invalid-log-argument");var r,s=e,n=t;for(r of ze){let i=null;n&&n.level&&(i=Je[n.level]),r.userLogHandler=null===s?null:(e,t,...r)=>{var n=r.map(e=>{if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}}).filter(e=>e).join(" ");t>=(i??e.logLevel)&&s({level:B[t].toLowerCase(),message:n,args:r,type:e.name})}}}function qt(e){var t;t=e,ze.forEach(e=>{e.setLogLevel(t)})}let jt="firebase-heartbeat-database",Kt=1,zt="firebase-heartbeat-store",Jt=null;function Wt(){return Jt=Jt||ct(jt,Kt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(zt)}catch(e){console.warn(e)}}}).catch(e=>{throw Ot.create("idb-open",{originalErrorMessage:e.message})})}async function Qt(e,t){try{var r=(await Wt()).transaction(zt,"readwrite");await r.objectStore(zt).put(t,Yt(e)),await r.done}catch(e){e instanceof Be?_t.warn(e.message):(r=Ot.create("idb-set",{originalErrorMessage:e?.message}),_t.warn(r.message))}}function Yt(e){return e.name+"!"+e.options.appId}class $t{constructor(e){this.container=e,this._heartbeatsCache=null;var t=this.container.getProvider("app").getImmediate();this._storage=new Zt(t),this._heartbeatsCachePromise=this._storage.read().then(e=>this._heartbeatsCache=e)}async triggerHeartbeat(){try{var e,r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString();let t=Xt();if(null!=this._heartbeatsCache?.heartbeats||(this._heartbeatsCache=await this._heartbeatsCachePromise,null!=this._heartbeatsCache?.heartbeats))if(this._heartbeatsCache.lastSentHeartbeatDate!==t&&!this._heartbeatsCache.heartbeats.some(e=>e.date===t))return this._heartbeatsCache.heartbeats.push({date:t,agent:r}),30<this._heartbeatsCache.heartbeats.length&&(e=(e=>{if(0===e.length)return-1;let t=0,r=e[0].date;for(let n=1;n<e.length;n++)e[n].date<r&&(r=e[n].date,t=n);return t})(this._heartbeatsCache.heartbeats),this._heartbeatsCache.heartbeats.splice(e,1)),this._storage.overwrite(this._heartbeatsCache)}catch(e){_t.warn(e)}}async getHeartbeatsHeader(){try{var e,t,r,n;return(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==this._heartbeatsCache?.heartbeats||0===this._heartbeatsCache.heartbeats.length)?"":(e=Xt(),{heartbeatsToSend:t,unsentEntries:r}=((e,t=1024)=>{let r=[],n=e.slice();for(let s of e){var i=r.find(e=>e.agent===s.agent);if(i){if(i.dates.push(s.date),er(r)>t){i.dates.pop();break}}else if(r.push({agent:s.agent,dates:[s.date]}),er(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}})(this._heartbeatsCache.heartbeats),n=q(JSON.stringify({version:2,heartbeats:t})),this._heartbeatsCache.lastSentHeartbeatDate=e,0<r.length?(this._heartbeatsCache.heartbeats=r,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),n)}catch(e){return _t.warn(e),""}}}function Xt(){return(new Date).toISOString().substring(0,10)}class Zt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!ue()&&ce().then(()=>!0).catch(()=>!1)}async read(){var e;return await this._canUseIndexedDBPromise&&(e=await(async e=>{try{var t=(await Wt()).transaction(zt),r=await t.objectStore(zt).get(Yt(e));return await t.done,r}catch(e){e instanceof Be?_t.warn(e.message):(t=Ot.create("idb-get",{originalErrorMessage:e?.message}),_t.warn(t.message))}})(this.app))?.heartbeats?e:{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise)return t=await this.read(),Qt(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}async add(e){var t;if(await this._canUseIndexedDBPromise)return t=await this.read(),Qt(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}function er(e){return q(JSON.stringify({version:2,heartbeats:e})).length}a="",St(new Ve("platform-logger",e=>new mt(e),"PRIVATE")),St(new Ve("heartbeat",e=>new $t(e),"PRIVATE")),Ht(Ct,vt,a),Ht(Ct,vt,"esm2020"),Ht("fire-js","");var tr=Object.freeze({__proto__:null,FirebaseError:Be,SDK_VERSION:Lt,_DEFAULT_ENTRY_NAME:yt,_addComponent:It,_addOrOverwriteComponent:Tt,_apps:Et,_clearComponents:function(){bt.clear()},_components:bt,_getProvider:kt,_isFirebaseApp:Nt,_isFirebaseServerApp:Rt,_isFirebaseServerAppSettings:At,_registerComponent:St,_removeServiceInstance:function(e,t,r=yt){kt(e,t).clearInstance(r)},_serverApps:Dt,deleteApp:Gt,getApp:Ut,getApps:function(){return Array.from(Et.values())},initializeApp:Mt,initializeServerApp:function(e,t={}){if(("undefined"!=typeof window||ie())&&!ie())throw Ot.create("invalid-server-app-environment");let r,n=t||{};if(e&&(Nt(e)?r=e.options:At(e)?n=e:r=e),void 0===n.automaticDataCollectionEnabled&&(n.automaticDataCollectionEnabled=!0),!(r=r||$()))throw Ot.create("no-options");var i={...n,...r};if(void 0!==i.releaseOnDeref&&delete i.releaseOnDeref,void 0!==n.releaseOnDeref&&"undefined"==typeof FinalizationRegistry)throw Ot.create("finalization-registry-not-supported",{});var i=""+[...JSON.stringify(i)].reduce((e,t)=>Math.imul(31,e)+t.charCodeAt(0)|0,0),s=Dt.get(i);if(s)s.incRefCount(n.releaseOnDeref);else{var a,o=new Ke(i);for(a of bt.values())o.addComponent(a);s=new Ft(r,n,i,o),Dt.set(i,s)}return s},onLog:Vt,registerVersion:Ht,setLogLevel:qt});class rr{constructor(e,t){this._delegate=e,this.firebase=t,It(e,new Ve("app-compat",()=>this,"PUBLIC")),this.container=e.container}get automaticDataCollectionEnabled(){return this._delegate.automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this._delegate.automaticDataCollectionEnabled=e}get name(){return this._delegate.name}get options(){return this._delegate.options}delete(){return new Promise(e=>{this._delegate.checkDestroyed(),e()}).then(()=>(this.firebase.INTERNAL.removeApp(this.name),Gt(this._delegate)))}_getService(e,t=yt){this._delegate.checkDestroyed();var r=this._delegate.container.getProvider(e);return r.isInitialized()||"EXPLICIT"!==r.getComponent()?.instantiationMode||r.initialize(),r.getImmediate({identifier:t})}_removeServiceInstance(e,t=yt){this._delegate.container.getProvider(e).clearInstance(t)}_addComponent(e){It(this._delegate,e)}_addOrOverwriteComponent(e){Tt(this._delegate,e)}toJSON(){return{name:this.name,automaticDataCollectionEnabled:this.automaticDataCollectionEnabled,options:this.options}}}let nr=new pe("app-compat","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance."});function ir(i){let s={},a={__esModule:!0,initializeApp:function(e,t={}){var r=Mt(e,t);if(Ce(s,r.name))return s[r.name];var n=new i(r,a);return s[r.name]=n},app:o,registerVersion:Ht,setLogLevel:qt,onLog:Vt,apps:null,SDK_VERSION:Lt,INTERNAL:{registerComponent:function(t){let r=t.name,n=r.replace("-compat","");{var e;St(t)&&"PUBLIC"===t.type&&(e=(e=o())=>{if("function"!=typeof e[n])throw nr.create("invalid-app-argument",{appName:r});return e[n]()},void 0!==t.serviceProps&&K(e,t.serviceProps),a[n]=e,i.prototype[n]=function(...e){return this._getService.bind(this,r).apply(this,t.multipleInstances?e:[])})}return"PUBLIC"===t.type?a[n]:null},removeApp:function(e){delete s[e]},useAsService:function(e,t){if("serverAuth"===t)return null;var r=t;return r},modularAPIs:tr}};function o(e){if(e=e||yt,Ce(s,e))return s[e];throw nr.create("no-app",{appName:e})}return a.default=a,Object.defineProperty(a,"apps",{get:function(){return Object.keys(s).map(e=>s[e])}}),o.App=i,a}var e=function e(){let t=ir(rr);return t.INTERNAL={...t.INTERNAL,createFirebaseNamespace:e,extendNamespace:function(e){K(t,e)},createSubscribe:Se,ErrorFactory:pe,deepExtend:K},t}(),sr=new $e("@firebase/app-compat");try{var ar=z();void 0!==ar.firebase&&(sr.warn(`
1
+ ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).firebase=t()})(this,function(){let o=()=>{},d={NODE_ADMIN:!1,SDK_VERSION:"${JSCORE_VERSION}"},g=function(e,t){if(!e)throw M(t)},M=function(e){return new Error("Firebase Database ("+d.SDK_VERSION+") INTERNAL ASSERT FAILED: "+e)},U=function(t){var r=[];let n=0;for(let i=0;i<t.length;i++){let e=t.charCodeAt(i);e<128?r[n++]=e:(e<2048?r[n++]=e>>6|192:(55296==(64512&e)&&i+1<t.length&&56320==(64512&t.charCodeAt(i+1))?(e=65536+((1023&e)<<10)+(1023&t.charCodeAt(++i)),r[n++]=e>>18|240,r[n++]=e>>12&63|128):r[n++]=e>>12|224,r[n++]=e>>6&63|128),r[n++]=63&e|128)}return r},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(r,e){if(!Array.isArray(r))throw Error("encodeByteArray takes an array as a parameter");this.init_();var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,i=[];for(let u=0;u<r.length;u+=3){var s=r[u],a=u+1<r.length,o=a?r[u+1]:0,l=u+2<r.length,h=l?r[u+2]:0;let e=(15&o)<<2|h>>6,t=63&h;l||(t=64,a)||(e=64),i.push(n[s>>2],n[(3&s)<<4|o>>4],n[e],n[t])}return i.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(U(e),t)},decodeString(r,n){if(this.HAS_NATIVE_SUPPORT&&!n)return atob(r);{var i=this.decodeStringToByteArray(r,n);var s=[];let e=0,t=0;for(;e<i.length;){var a,o,l,h=i[e++];h<128?s[t++]=String.fromCharCode(h):191<h&&h<224?(a=i[e++],s[t++]=String.fromCharCode((31&h)<<6|63&a)):239<h&&h<365?(a=((7&h)<<18|(63&i[e++])<<12|(63&i[e++])<<6|63&i[e++])-65536,s[t++]=String.fromCharCode(55296+(a>>10)),s[t++]=String.fromCharCode(56320+(1023&a))):(o=i[e++],l=i[e++],s[t++]=String.fromCharCode((15&h)<<12|(63&o)<<6|63&l))}return s.join("");return}},decodeStringToByteArray(e,t){this.init_();var r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let l=0;l<e.length;){var i=r[e.charAt(l++)],s=l<e.length?r[e.charAt(l)]:0,a=++l<e.length?r[e.charAt(l)]:64,o=++l<e.length?r[e.charAt(l)]:64;if(++l,null==i||null==s||null==a||null==o)throw new H;n.push(i<<2|s>>4),64!==a&&(n.push(s<<4&240|a>>2),64!==o)&&n.push(a<<6&192|o)}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),(this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e)>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class H extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}function V(e){var t=U(e);return G.encodeByteArray(t,!0)}let q=function(e){return V(e).replace(/\./g,"")},j=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function K(e,t){if(!(t instanceof Object))return t;switch(t.constructor){case Date:return new Date(t.getTime());case Object:void 0===e&&(e={});break;case Array:e=[];break;default:return t}for(var r in t)t.hasOwnProperty(r)&&"__proto__"!==r&&(e[r]=K(e[r],t[r]));return e}function z(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("Unable to locate global object.")}let J=()=>z().__FIREBASE_DEFAULTS__,W=()=>{var e;return"undefined"!=typeof process&&void 0!==process.env&&(e=process.env.__FIREBASE_DEFAULTS__)?JSON.parse(e):void 0},Q=()=>{if("undefined"!=typeof document){let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}var t=e&&j(e[1]);return t&&JSON.parse(t)}},Y=()=>{try{return o()||J()||W()||Q()}catch(e){console.info("Unable to get __FIREBASE_DEFAULTS__ due to: "+e)}},$=()=>Y()?.config;var B,X;class Z{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(r){return(e,t)=>{e?this.reject(e):this.resolve(t),"function"==typeof r&&(this.promise.catch(()=>{}),1===r.length?r(e):r(e,t))}}}function ee(e,t){if(e.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');var r=t||"demo-project",n=e.iat||0,i=e.sub||e.user_id;if(i)return r={iss:"https://securetoken.google.com/"+r,aud:r,iat:n,exp:n+3600,auth_time:n,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}},...e},[q(JSON.stringify({alg:"none",type:"JWT"})),q(JSON.stringify(r)),""].join(".");throw new Error("mockUserToken must contain 'sub' or 'user_id' field!")}function te(){return"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function re(){return"undefined"!=typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(te())}function ne(){var e=Y()?.forceEnvironment;if("node"===e)return!0;if("browser"===e)return!1;try{return"[object process]"===Object.prototype.toString.call(global.process)}catch(e){return!1}}function ie(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}function se(){var e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id}function ae(){return"object"==typeof navigator&&"ReactNative"===navigator.product}function oe(){var e=te();return 0<=e.indexOf("MSIE ")||0<=e.indexOf("Trident/")}function le(){return!ne()&&navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function he(){return!ne()&&navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")}function ue(){try{return"object"==typeof indexedDB}catch(e){return!1}}function ce(){return new Promise((n,i)=>{try{let e=!0,t="validate-browser-context-for-indexeddb-analytics-module",r=self.indexedDB.open(t);r.onsuccess=()=>{r.result.close(),e||self.indexedDB.deleteDatabase(t),n(!0)},r.onupgradeneeded=()=>{e=!1},r.onerror=()=>{i(r.error?.message||"")}}catch(e){i(e)}})}function de(){return!("undefined"==typeof navigator||!navigator.cookieEnabled)}class Be extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,Be.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,pe.prototype.create)}}class pe{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var r=t[0]||{},n=this.service+"/"+e,i=this.errors[e],i=i?((r,n)=>{try{let e=0,t="";for(;e<r.length;){var i=r.indexOf("{$",e);if(-1===i){t+=r.substring(e);break}var s=r.indexOf("}",i+2);if(-1===s){t+=r.substring(e);break}var a=r.substring(i+2,s),o=n[a];t+=r.substring(e,i)+(null!=o?String(o):`<${a}?>`),e=s+1}return t}catch(e){return r}})(i,r):"Error",i=this.serviceName+`: ${i} (${n}).`;return new Be(n,i,r)}}function ge(e){return JSON.parse(e)}function fe(e){return JSON.stringify(e)}function me(e){let t={},r={},n={},i="";try{var s=e.split(".");t=ge(j(s[0])||""),r=ge(j(s[1])||""),i=s[2],n=r.d||{},delete r.d}catch(e){}return{header:t,claims:r,data:n,signature:i}}function Ce(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ve(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]}function _e(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function ye(e,t,r){var n,i={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(i[n]=t.call(r,e[n],n,e));return i}function we(e,t){if(e!==t){var r,n,i=Object.keys(e),s=Object.keys(t);for(r of i){if(!s.includes(r))return!1;var a=e[r],o=t[r];if(Ee(a)&&Ee(o)){if(!we(a,o))return!1}else if(a!==o)return!1}for(n of s)if(!i.includes(n))return!1}return!0}function Ee(e){return null!==e&&"object"==typeof e}function De(e){let t=[];for(let[r,n]of Object.entries(e))Array.isArray(n)?n.forEach(e=>{t.push(encodeURIComponent(r)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(r)+"="+encodeURIComponent(n));return t.length?"&"+t.join("&"):""}function be(e){let n={};return e.replace(/^\?/,"").split("&").forEach(e=>{var t,r;e&&([t,r]=e.split("="),n[decodeURIComponent(t)]=decodeURIComponent(r))}),n}function Ie(e){var t,r=e.indexOf("?");return r?(t=e.indexOf("#",r),e.substring(r,0<t?t:void 0)):""}class Te{constructor(){this.chain_=[],this.buf_=[],this.W_=[],this.pad_=[],this.inbuf_=0,this.total_=0,this.blockSize=64,this.pad_[0]=128;for(let e=1;e<this.blockSize;++e)this.pad_[e]=0;this.reset()}reset(){this.chain_[0]=1732584193,this.chain_[1]=4023233417,this.chain_[2]=2562383102,this.chain_[3]=271733878,this.chain_[4]=3285377520,this.inbuf_=0,this.total_=0}compress_(r,n){n=n||0;var i=this.W_;if("string"==typeof r)for(let e=0;e<16;e++)i[e]=r.charCodeAt(n)<<24|r.charCodeAt(n+1)<<16|r.charCodeAt(n+2)<<8|r.charCodeAt(n+3),n+=4;else for(let t=0;t<16;t++)i[t]=r[n]<<24|r[n+1]<<16|r[n+2]<<8|r[n+3],n+=4;for(let d=16;d<80;d++){var e=i[d-3]^i[d-8]^i[d-14]^i[d-16];i[d]=4294967295&(e<<1|e>>>31)}let t=this.chain_[0],s=this.chain_[1],a=this.chain_[2],o=this.chain_[3],l=this.chain_[4],h,u;for(let B=0;B<80;B++){u=B<40?B<20?(h=o^s&(a^o),1518500249):(h=s^a^o,1859775393):B<60?(h=s&a|o&(s|a),2400959708):(h=s^a^o,3395469782);var c=(t<<5|t>>>27)+h+l+u+i[B]&4294967295;l=o,o=a,a=4294967295&(s<<30|s>>>2),s=t,t=c}this.chain_[0]=this.chain_[0]+t&4294967295,this.chain_[1]=this.chain_[1]+s&4294967295,this.chain_[2]=this.chain_[2]+a&4294967295,this.chain_[3]=this.chain_[3]+o&4294967295,this.chain_[4]=this.chain_[4]+l&4294967295}update(r,n){if(null!=r){var i=(n=void 0===n?r.length:n)-this.blockSize;let e=0;var s=this.buf_;let t=this.inbuf_;for(;e<n;){if(0===t)for(;e<=i;)this.compress_(r,e),e+=this.blockSize;if("string"==typeof r){for(;e<n;)if(s[t]=r.charCodeAt(e),++t,++e,t===this.blockSize){this.compress_(s),t=0;break}}else for(;e<n;)if(s[t]=r[e],++t,++e,t===this.blockSize){this.compress_(s),t=0;break}}this.inbuf_=t,this.total_+=n}}digest(){var t=[];let e=8*this.total_;this.inbuf_<56?this.update(this.pad_,56-this.inbuf_):this.update(this.pad_,this.blockSize-(this.inbuf_-56));for(let n=this.blockSize-1;56<=n;n--)this.buf_[n]=255&e,e/=256;this.compress_(this.buf_);let r=0;for(let i=0;i<5;i++)for(let e=24;0<=e;e-=8)t[r]=this.chain_[i]>>e&255,++r;return t}}function Se(e,t){var r=new ke(e,t);return r.subscribe.bind(r)}class ke{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(t){this.forEachObserver(e=>{e.next(t)})}error(t){this.forEachObserver(e=>{e.error(t)}),this.close(t)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,r){let n;if(void 0===e&&void 0===t&&void 0===r)throw new Error("Missing Observer.");void 0===(n=((e,t)=>{if("object"==typeof e&&null!==e)for(var r of t)if(r in e&&"function"==typeof e[r])return 1})(e,["next","error","complete"])?e:{next:e,error:t,complete:r}).next&&(n.next=Ne),void 0===n.error&&(n.error=Ne),void 0===n.complete&&(n.complete=Ne);var i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?n.error(this.finalError):n.complete()}catch(e){}}),this.observers.push(n),i}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],--this.observerCount,0===this.observerCount)&&void 0!==this.onNoObservers&&this.onNoObservers(this)}forEachObserver(t){if(!this.finalized)for(let e=0;e<this.observers.length;e++)this.sendOne(e,t)}sendOne(e,t){this.task.then(()=>{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"undefined"!=typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function Ne(){}function l(e,t,r,n){let i;var s;if(n<t?i="at least "+t:r<n&&(i=0===r?"none":"no more than "+r),i)throw s=e+" failed: Was called with "+n+(1===n?" argument.":" arguments.")+" Expects "+i+".",new Error(s)}function Ae(e,t){return e+` failed: ${t} argument `}function Re(e,t,r,n){if((!n||r)&&"function"!=typeof r)throw new Error(Ae(e,t)+"must be a valid function.")}function Oe(e,t,r){if(r&&("object"!=typeof r||null===r))throw new Error(Ae(e,t)+"must be a valid context object.")}let Pe=function(e){let t=0;for(let n=0;n<e.length;n++){var r=e.charCodeAt(n);r<128?t++:r<2048?t+=2:55296<=r&&r<=56319?(t+=4,n++):t+=3}return t},xe=1e3,Fe=2,Le=144e5,Me=.5;function Ue(e,t=xe,r=Fe){var n=t*Math.pow(r,e),i=Math.round(Me*n*(Math.random()-.5)*2);return Math.min(Le,n+i)}function _(e){return e&&e._delegate?e._delegate:e}function Ge(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch{return!1}}async function He(e){return(await fetch(e,{credentials:"include"})).ok}class Ve{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}let qe="[DEFAULT]";class je{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){var t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){var r=new Z;if(this.instancesDeferred.set(t,r),this.isInitialized(t)||this.shouldAutoInitialize())try{var n=this.getOrInitializeService({instanceIdentifier:t});n&&r.resolve(n)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t=this.normalizeInstanceIdentifier(e?.identifier),r=e?.optional??!1;if(!this.isInitialized(t)&&!this.shouldAutoInitialize()){if(r)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(r)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:qe})}catch(e){}for(var[t,r]of this.instancesDeferred.entries()){t=this.normalizeInstanceIdentifier(t);try{var n=this.getOrInitializeService({instanceIdentifier:t});r.resolve(n)}catch(e){}}}}clearInstance(e=qe){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){var e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=qe){return this.instances.has(e)}getOptions(e=qe){return this.instancesOptions.get(e)||{}}initialize(e={}){var{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(this.name+`(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);var n,i,s=this.getOrInitializeService({instanceIdentifier:r,options:t});for([n,i]of this.instancesDeferred.entries())r===this.normalizeInstanceIdentifier(n)&&i.resolve(s);return s}onInit(e,t){var r=this.normalizeInstanceIdentifier(t);let n=this.onInitCallbacks.get(r)??new Set;n.add(e),this.onInitCallbacks.set(r,n);var i=this.instances.get(r);return i&&e(i,r),()=>{n.delete(e)}}invokeOnInitCallbacks(e,t){var r=this.onInitCallbacks.get(t);if(r)for(var n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:(n=e)===qe?void 0:n,options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}var n;return r||null}normalizeInstanceIdentifier(e=qe){return!this.component||this.component.multipleInstances?e:qe}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class Ke{constructor(e){this.name=e,this.providers=new Map}addComponent(e){var t=this.getProvider(e.name);if(t.isComponentSet())throw new 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){var t;return this.providers.has(e)?this.providers.get(e):(t=new je(e,this),this.providers.set(e,t),t)}getProviders(){return Array.from(this.providers.values())}}let ze=[],Je=((a=B=B||{})[a.DEBUG=0]="DEBUG",a[a.VERBOSE=1]="VERBOSE",a[a.INFO=2]="INFO",a[a.WARN=3]="WARN",a[a.ERROR=4]="ERROR",a[a.SILENT=5]="SILENT",{debug:B.DEBUG,verbose:B.VERBOSE,info:B.INFO,warn:B.WARN,error:B.ERROR,silent:B.SILENT}),We=B.INFO,Qe={[B.DEBUG]:"log",[B.VERBOSE]:"log",[B.INFO]:"info",[B.WARN]:"warn",[B.ERROR]:"error"},Ye=(e,t,...r)=>{if(!(t<e.logLevel)){var n=(new Date).toISOString(),i=Qe[t];if(!i)throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`);console[i](`[${n}] ${e.name}:`,...r)}};class $e{constructor(e){this.name=e,this._logLevel=We,this._logHandler=Ye,this._userLogHandler=null,ze.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in B))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?Je[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,B.DEBUG,...e),this._logHandler(this,B.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,B.VERBOSE,...e),this._logHandler(this,B.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,B.INFO,...e),this._logHandler(this,B.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,B.WARN,...e),this._logHandler(this,B.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,B.ERROR,...e),this._logHandler(this,B.ERROR,...e)}}let Xe=(t,e)=>e.some(e=>t instanceof e),Ze,et;let tt=new WeakMap,rt=new WeakMap,nt=new WeakMap,it=new WeakMap,st=new WeakMap;let at={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return rt.get(e);if("objectStoreNames"===t)return e.objectStoreNames||nt.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return ht(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function ot(n){return n!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(et=et||[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]).includes(n)?function(...e){return n.apply(ut(this),e),ht(tt.get(this))}:function(...e){return ht(n.apply(ut(this),e))}:function(e,...t){var r=n.call(ut(this),e,...t);return nt.set(r,e.sort?e.sort():[e]),ht(r)}}function lt(e){var s,t;return"function"==typeof e?ot(e):(e instanceof IDBTransaction&&(s=e,rt.has(s)||(t=new Promise((e,t)=>{let r=()=>{s.removeEventListener("complete",n),s.removeEventListener("error",i),s.removeEventListener("abort",i)},n=()=>{e(),r()},i=()=>{t(s.error||new DOMException("AbortError","AbortError")),r()};s.addEventListener("complete",n),s.addEventListener("error",i),s.addEventListener("abort",i)}),rt.set(s,t))),Xe(e,Ze=Ze||[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])?new Proxy(e,at):e)}function ht(e){var s,t;return e instanceof IDBRequest?(s=e,(t=new Promise((e,t)=>{let r=()=>{s.removeEventListener("success",n),s.removeEventListener("error",i)},n=()=>{e(ht(s.result)),r()},i=()=>{t(s.error),r()};s.addEventListener("success",n),s.addEventListener("error",i)})).then(e=>{e instanceof IDBCursor&&tt.set(e,s)}).catch(()=>{}),st.set(t,s),t):it.has(e)?it.get(e):((t=lt(e))!==e&&(it.set(e,t),st.set(t,e)),t)}let ut=e=>st.get(e);function ct(e,t,{blocked:r,upgrade:n,blocking:i,terminated:s}={}){let a=indexedDB.open(e,t);var o=ht(a);return n&&a.addEventListener("upgradeneeded",e=>{n(ht(a.result),e.oldVersion,e.newVersion,ht(a.transaction),e)}),r&&a.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),o.then(e=>{s&&e.addEventListener("close",()=>s()),i&&e.addEventListener("versionchange",e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}function dt(e,{blocked:t}={}){var r=indexedDB.deleteDatabase(e);return t&&r.addEventListener("blocked",e=>t(e.oldVersion,e)),ht(r).then(()=>{})}let Bt=["get","getKey","getAll","getAllKeys","count"],pt=["put","add","delete","clear"],gt=new Map;function ft(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(gt.get(t))return gt.get(t);let i=t.replace(/FromIndex$/,""),s=t!==i,a=pt.includes(i);var r;return i in(s?IDBIndex:IDBObjectStore).prototype&&(a||Bt.includes(i))?(r=async function(e,...t){var r=this.transaction(e,a?"readwrite":"readonly");let n=r.store;return s&&(n=n.index(t.shift())),(await Promise.all([n[i](...t),a&&r.done]))[0]},gt.set(t,r),r):void 0}}at={...X=at,get:(e,t,r)=>ft(e,t)||X.get(e,t,r),has:(e,t)=>!!ft(e,t)||X.has(e,t)};class mt{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{var t;return"VERSION"===e.getComponent()?.type?(t=e.getImmediate()).library+"/"+t.version:null}).filter(e=>e).join(" ")}}let Ct="@firebase/app",vt="0.16.0",_t=new $e("@firebase/app");let yt="[DEFAULT]",wt={"@firebase/app":"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},Et=new Map,Dt=new Map,bt=new Map;function It(t,r){try{t.container.addComponent(r)}catch(e){_t.debug(`Component ${r.name} failed to register with FirebaseApp `+t.name,e)}}function Tt(e,t){e.container.addOrOverwriteComponent(t)}function St(e){var t,r,n=e.name;if(bt.has(n))return _t.debug(`There were multiple attempts to register component ${n}.`),!1;bt.set(n,e);for(t of Et.values())It(t,e);for(r of Dt.values())It(r,e);return!0}function kt(e,t){var r=e.container.getProvider("heartbeat").getImmediate({optional:!0});return r&&r.triggerHeartbeat(),e.container.getProvider(t)}function Nt(e){return void 0!==e.options}function At(e){return!Nt(e)&&("authIdToken"in e||"appCheckToken"in e||"releaseOnDeref"in e||"automaticDataCollectionEnabled"in e)}function Rt(e){return null!=e&&void 0!==e.settings}let Ot=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."}),Pt=class{constructor(e,t,r){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new Ve("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 Ot.create("app-deleted",{appName:this._name})}};function xt(e,t){var r=j(e.split(".")[1]);null===r?console.error(`FirebaseServerApp ${t} is invalid: second part could not be parsed.`):void 0===JSON.parse(r).exp?console.error(`FirebaseServerApp ${t} is invalid: expiration claim could not be parsed`):1e3*JSON.parse(r).exp-(new Date).getTime()<=0&&console.error(`FirebaseServerApp ${t} is invalid: the token has expired.`)}class Ft extends Pt{constructor(e,t,r,n){var i=void 0===t.automaticDataCollectionEnabled||t.automaticDataCollectionEnabled,s={name:r,automaticDataCollectionEnabled:i};void 0!==e.apiKey?super(e,s,n):super(e.options,s,n),this._serverConfig={automaticDataCollectionEnabled:i,...t},this._serverConfig.authIdToken&&xt(this._serverConfig.authIdToken,"authIdToken"),this._serverConfig.appCheckToken&&xt(this._serverConfig.appCheckToken,"appCheckToken"),this._finalizationRegistry=null,"undefined"!=typeof FinalizationRegistry&&(this._finalizationRegistry=new FinalizationRegistry(()=>{this.automaticCleanup()})),this._refCount=0,this.incRefCount(this._serverConfig.releaseOnDeref),this._serverConfig.releaseOnDeref=void 0,t.releaseOnDeref=void 0,Ht(Ct,vt,"serverapp")}toJSON(){}get refCount(){return this._refCount}incRefCount(e){this.isDeleted||(this._refCount++,void 0!==e&&null!==this._finalizationRegistry&&this._finalizationRegistry.register(e,this))}decRefCount(){return this.isDeleted?0:--this._refCount}automaticCleanup(){Gt(this)}get settings(){return this.checkDestroyed(),this._serverConfig}checkDestroyed(){if(this.isDeleted)throw Ot.create("server-app-deleted")}}let Lt="12.17.1";function Mt(e,t={}){let r=e;if("object"!=typeof t){let e=t;t={name:e}}var n={name:yt,automaticDataCollectionEnabled:!0,...t};let i=n.name;if("string"!=typeof i||!i)throw Ot.create("bad-app-name",{appName:String(i)});if(!(r=r||$()))throw Ot.create("no-options");var s=Et.get(i);if(s){if(we(r,s.options)){if(we(n,s.config))return s;throw Ot.create("duplicate-app",{appName:i,mismatchedParam:"config",oldValue:JSON.stringify(s.config),newValue:JSON.stringify(n)})}throw Ot.create("duplicate-app",{appName:i,mismatchedParam:"options",oldValue:JSON.stringify(s.options),newValue:JSON.stringify(r)})}var a,o=new Ke(i);for(a of bt.values())o.addComponent(a);s=new Pt(r,n,o);return Et.set(i,s),s}function Ut(e=yt){var t=Et.get(e);if(!t&&e===yt&&$())return Mt();if(t)return t;throw Ot.create("no-app",{appName:e})}async function Gt(e){let t=!1;var r=e.name;Et.has(r)?(t=!0,Et.delete(r)):Dt.has(r)&&e.decRefCount()<=0&&(Dt.delete(r),t=!0),t&&(await Promise.all(e.container.getProviders().map(e=>e.delete())),e.isDeleted=!0)}function Ht(e,t,r){let n=wt[e]??e;r&&(n+="-"+r);var i,s=n.match(/\s|\//),a=t.match(/\s|\//);s||a?(i=[`Unable to register library "${n}" with version "${t}":`],s&&i.push(`library name "${n}" contains illegal characters (whitespace or "/")`),s&&a&&i.push("and"),a&&i.push(`version name "${t}" contains illegal characters (whitespace or "/")`),_t.warn(i.join(" "))):St(new Ve(n+"-version",()=>({library:n,version:t}),"VERSION"))}function Vt(e,t){if(null!==e&&"function"!=typeof e)throw Ot.create("invalid-log-argument");var r,s=e,n=t;for(r of ze){let i=null;n&&n.level&&(i=Je[n.level]),r.userLogHandler=null===s?null:(e,t,...r)=>{var n=r.map(e=>{if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}}).filter(e=>e).join(" ");t>=(i??e.logLevel)&&s({level:B[t].toLowerCase(),message:n,args:r,type:e.name})}}}function qt(e){var t;t=e,ze.forEach(e=>{e.setLogLevel(t)})}let jt="firebase-heartbeat-database",Kt=1,zt="firebase-heartbeat-store",Jt=null;function Wt(){return Jt=Jt||ct(jt,Kt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(zt)}catch(e){console.warn(e)}}}).catch(e=>{throw Ot.create("idb-open",{originalErrorMessage:e.message})})}async function Qt(e,t){try{var r=(await Wt()).transaction(zt,"readwrite");await r.objectStore(zt).put(t,Yt(e)),await r.done}catch(e){e instanceof Be?_t.warn(e.message):(r=Ot.create("idb-set",{originalErrorMessage:e?.message}),_t.warn(r.message))}}function Yt(e){return e.name+"!"+e.options.appId}class $t{constructor(e){this.container=e,this._heartbeatsCache=null;var t=this.container.getProvider("app").getImmediate();this._storage=new Zt(t),this._heartbeatsCachePromise=this._storage.read().then(e=>this._heartbeatsCache=e)}async triggerHeartbeat(){try{var e,r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString();let t=Xt();if(null!=this._heartbeatsCache?.heartbeats||(this._heartbeatsCache=await this._heartbeatsCachePromise,null!=this._heartbeatsCache?.heartbeats))if(this._heartbeatsCache.lastSentHeartbeatDate!==t&&!this._heartbeatsCache.heartbeats.some(e=>e.date===t))return this._heartbeatsCache.heartbeats.push({date:t,agent:r}),30<this._heartbeatsCache.heartbeats.length&&(e=(e=>{if(0===e.length)return-1;let t=0,r=e[0].date;for(let n=1;n<e.length;n++)e[n].date<r&&(r=e[n].date,t=n);return t})(this._heartbeatsCache.heartbeats),this._heartbeatsCache.heartbeats.splice(e,1)),this._storage.overwrite(this._heartbeatsCache)}catch(e){_t.warn(e)}}async getHeartbeatsHeader(){try{var e,t,r,n;return(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==this._heartbeatsCache?.heartbeats||0===this._heartbeatsCache.heartbeats.length)?"":(e=Xt(),{heartbeatsToSend:t,unsentEntries:r}=((e,t=1024)=>{let r=[],n=e.slice();for(let s of e){var i=r.find(e=>e.agent===s.agent);if(i){if(i.dates.push(s.date),er(r)>t){i.dates.pop();break}}else if(r.push({agent:s.agent,dates:[s.date]}),er(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}})(this._heartbeatsCache.heartbeats),n=q(JSON.stringify({version:2,heartbeats:t})),this._heartbeatsCache.lastSentHeartbeatDate=e,0<r.length?(this._heartbeatsCache.heartbeats=r,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),n)}catch(e){return _t.warn(e),""}}}function Xt(){return(new Date).toISOString().substring(0,10)}class Zt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!ue()&&ce().then(()=>!0).catch(()=>!1)}async read(){var e;return await this._canUseIndexedDBPromise&&(e=await(async e=>{try{var t=(await Wt()).transaction(zt),r=await t.objectStore(zt).get(Yt(e));return await t.done,r}catch(e){e instanceof Be?_t.warn(e.message):(t=Ot.create("idb-get",{originalErrorMessage:e?.message}),_t.warn(t.message))}})(this.app))?.heartbeats?e:{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise)return t=await this.read(),Qt(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}async add(e){var t;if(await this._canUseIndexedDBPromise)return t=await this.read(),Qt(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}function er(e){return q(JSON.stringify({version:2,heartbeats:e})).length}a="",St(new Ve("platform-logger",e=>new mt(e),"PRIVATE")),St(new Ve("heartbeat",e=>new $t(e),"PRIVATE")),Ht(Ct,vt,a),Ht(Ct,vt,"esm2020"),Ht("fire-js","");var tr=Object.freeze({__proto__:null,FirebaseError:Be,SDK_VERSION:Lt,_DEFAULT_ENTRY_NAME:yt,_addComponent:It,_addOrOverwriteComponent:Tt,_apps:Et,_clearComponents:function(){bt.clear()},_components:bt,_getProvider:kt,_isFirebaseApp:Nt,_isFirebaseServerApp:Rt,_isFirebaseServerAppSettings:At,_registerComponent:St,_removeServiceInstance:function(e,t,r=yt){kt(e,t).clearInstance(r)},_serverApps:Dt,deleteApp:Gt,getApp:Ut,getApps:function(){return Array.from(Et.values())},initializeApp:Mt,initializeServerApp:function(e,t={}){if(("undefined"!=typeof window||ie())&&!ie())throw Ot.create("invalid-server-app-environment");let r,n=t||{};if(e&&(Nt(e)?r=e.options:At(e)?n=e:r=e),void 0===n.automaticDataCollectionEnabled&&(n.automaticDataCollectionEnabled=!0),!(r=r||$()))throw Ot.create("no-options");var i={...n,...r};if(void 0!==i.releaseOnDeref&&delete i.releaseOnDeref,void 0!==n.releaseOnDeref&&"undefined"==typeof FinalizationRegistry)throw Ot.create("finalization-registry-not-supported",{});var i=""+[...JSON.stringify(i)].reduce((e,t)=>Math.imul(31,e)+t.charCodeAt(0)|0,0),s=Dt.get(i);if(s)s.incRefCount(n.releaseOnDeref);else{var a,o=new Ke(i);for(a of bt.values())o.addComponent(a);s=new Ft(r,n,i,o),Dt.set(i,s)}return s},onLog:Vt,registerVersion:Ht,setLogLevel:qt});class rr{constructor(e,t){this._delegate=e,this.firebase=t,It(e,new Ve("app-compat",()=>this,"PUBLIC")),this.container=e.container}get automaticDataCollectionEnabled(){return this._delegate.automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this._delegate.automaticDataCollectionEnabled=e}get name(){return this._delegate.name}get options(){return this._delegate.options}delete(){return new Promise(e=>{this._delegate.checkDestroyed(),e()}).then(()=>(this.firebase.INTERNAL.removeApp(this.name),Gt(this._delegate)))}_getService(e,t=yt){this._delegate.checkDestroyed();var r=this._delegate.container.getProvider(e);return r.isInitialized()||"EXPLICIT"!==r.getComponent()?.instantiationMode||r.initialize(),r.getImmediate({identifier:t})}_removeServiceInstance(e,t=yt){this._delegate.container.getProvider(e).clearInstance(t)}_addComponent(e){It(this._delegate,e)}_addOrOverwriteComponent(e){Tt(this._delegate,e)}toJSON(){return{name:this.name,automaticDataCollectionEnabled:this.automaticDataCollectionEnabled,options:this.options}}}let nr=new pe("app-compat","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance."});function ir(i){let s={},a={__esModule:!0,initializeApp:function(e,t={}){var r=Mt(e,t);if(Ce(s,r.name))return s[r.name];var n=new i(r,a);return s[r.name]=n},app:o,registerVersion:Ht,setLogLevel:qt,onLog:Vt,apps:null,SDK_VERSION:Lt,INTERNAL:{registerComponent:function(t){let r=t.name,n=r.replace("-compat","");{var e;St(t)&&"PUBLIC"===t.type&&(e=(e=o())=>{if("function"!=typeof e[n])throw nr.create("invalid-app-argument",{appName:r});return e[n]()},void 0!==t.serviceProps&&K(e,t.serviceProps),a[n]=e,i.prototype[n]=function(...e){return this._getService.bind(this,r).apply(this,t.multipleInstances?e:[])})}return"PUBLIC"===t.type?a[n]:null},removeApp:function(e){delete s[e]},useAsService:function(e,t){if("serverAuth"===t)return null;var r=t;return r},modularAPIs:tr}};function o(e){if(e=e||yt,Ce(s,e))return s[e];throw nr.create("no-app",{appName:e})}return a.default=a,Object.defineProperty(a,"apps",{get:function(){return Object.keys(s).map(e=>s[e])}}),o.App=i,a}var e=function e(){let t=ir(rr);return t.INTERNAL={...t.INTERNAL,createFirebaseNamespace:e,extendNamespace:function(e){K(t,e)},createSubscribe:Se,ErrorFactory:pe,deepExtend:K},t}(),sr=new $e("@firebase/app-compat");try{var ar=z();void 0!==ar.firebase&&(sr.warn(`
2
2
  Warning: Firebase is already defined in the global scope. Please make sure
3
3
  Firebase library is only loaded once.
4
4
  `),t=ar.firebase.SDK_VERSION)&&0<=t.indexOf("LITE")&&sr.warn(`
5
5
  Warning: You are trying to load Firebase while using Firebase Performance standalone script.
6
6
  You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code.
7
- `)}catch{}let or=e;Ht("@firebase/app-compat","0.5.16",void 0);or.registerVersion("firebase","12.17.0","app-compat");var ar="@firebase/installations",t="0.6.23";let lr=1e4,hr="w:"+t,ur="FIS_v2",cr="https://firebaseinstallations.googleapis.com/v1",dr=36e5;let Br=new pe("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function pr(e){return e instanceof Be&&e.code.includes("request-failed")}function gr({projectId:e}){return cr+`/projects/${e}/installations`}function fr(e){return{token:e.token,requestStatus:2,expiresIn:Number(e.expiresIn.replace("s","000")),creationTime:Date.now()}}async function mr(e,t){var r=(await t.json()).error;return Br.create("request-failed",{requestName:e,serverCode:r.code,serverMessage:r.message,serverStatus:r.status})}function Cr({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function vr(e,{refreshToken:t}){var r=Cr(e);return r.append("Authorization",(e=t,ur+" "+e)),r}async function _r(e){var t=await e();return 500<=t.status&&t.status<600?e():t}function yr(t){return new Promise(e=>{setTimeout(e,t)})}let wr=/^[cdef][\w-]{21}$/,Er="";function Dr(){try{var e=new Uint8Array(17),t=((self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16,(e=>btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_"))(e).substr(0,22));return wr.test(t)?t:Er}catch{return Er}}function br(e){return e.appName+"!"+e.appId}let Ir=new Map;function Tr(e,t){var r=br(e),e=(Sr(r,t),r),r=Nr();r&&r.postMessage({key:e,fid:t}),Ar()}function Sr(e,t){var r=Ir.get(e);if(r)for(var n of r)n(t)}let kr=null;function Nr(){return!kr&&"BroadcastChannel"in self&&((kr=new BroadcastChannel("[Firebase] FID Change")).onmessage=e=>{Sr(e.data.key,e.data.fid)}),kr}function Ar(){0===Ir.size&&kr&&(kr.close(),kr=null)}let Rr="firebase-installations-database",Or=1,Pr="firebase-installations-store",xr=null;function Fr(){return xr=xr||ct(Rr,Or,{upgrade:(e,t)=>{0===t&&e.createObjectStore(Pr)}})}async function Lr(e,t){var r=br(e),n=(await Fr()).transaction(Pr,"readwrite"),i=n.objectStore(Pr),s=await i.get(r);return await i.put(t,r),await n.done,s&&s.fid===t.fid||Tr(e,t.fid),t}async function Mr(e){var t=br(e),r=(await Fr()).transaction(Pr,"readwrite");await r.objectStore(Pr).delete(t),await r.done}async function Ur(e,t){var r=br(e),n=(await Fr()).transaction(Pr,"readwrite"),i=n.objectStore(Pr),s=await i.get(r),a=t(s);return void 0===a?await i.delete(r):await i.put(a,r),await n.done,!a||s&&s.fid===a.fid||Tr(e,a.fid),a}async function Gr(r){let n;var e=await Ur(r.appConfig,e=>{var t=Vr(e||{fid:Dr(),registrationStatus:0}),t=((e,t)=>{var r,n;return 0===t.registrationStatus?navigator.onLine?(r={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},n=(async(t,r)=>{try{var e=await(async({appConfig:e,heartbeatServiceProvider:t},{fid:r})=>{let n=gr(e);var i=Cr(e),s=((s=t.getImmediate({optional:!0}))&&(s=await s.getHeartbeatsHeader())&&i.append("x-firebase-client",s),{fid:r,authVersion:ur,appId:e.appId,sdkVersion:hr});let a={method:"POST",headers:i,body:JSON.stringify(s)};if((i=await _r(()=>fetch(n,a))).ok)return{fid:(s=await i.json()).fid||r,registrationStatus:2,refreshToken:s.refreshToken,authToken:fr(s.authToken)};throw await mr("Create Installation",i)})(t,r);return Lr(t.appConfig,e)}catch(e){throw pr(e)&&409===e.customData.serverCode?await Mr(t.appConfig):await Lr(t.appConfig,{fid:r.fid,registrationStatus:0}),e}})(e,r),{installationEntry:r,registrationPromise:n}):(r=Promise.reject(Br.create("app-offline")),{installationEntry:t,registrationPromise:r}):1===t.registrationStatus?{installationEntry:t,registrationPromise:(async e=>{let t=await Hr(e.appConfig);for(;1===t.registrationStatus;)await yr(100),t=await Hr(e.appConfig);var r,n;return 0!==t.registrationStatus?t:({installationEntry:r,registrationPromise:n}=await Gr(e),n||r)})(e)}:{installationEntry:t}})(r,t);return n=t.registrationPromise,t.installationEntry});return e.fid===Er?{installationEntry:await n}:{installationEntry:e,registrationPromise:n}}function Hr(e){return Ur(e,e=>{if(e)return Vr(e);throw Br.create("installation-not-found")})}function Vr(e){var t;return 1===(t=e).registrationStatus&&t.registrationTime+lr<Date.now()?{fid:e.fid,registrationStatus:0}:e}async function qr({appConfig:e,heartbeatServiceProvider:t},r){[i,s]=[e,r.fid];let n=gr(i)+`/${s}/authTokens:generate`;var i,s,a=vr(e,r),o=t.getImmediate({optional:!0}),o=(o&&(o=await o.getHeartbeatsHeader())&&a.append("x-firebase-client",o),{installation:{sdkVersion:hr,appId:e.appId}});let l={method:"POST",headers:a,body:JSON.stringify(o)};a=await _r(()=>fetch(n,l));if(a.ok)return fr(await a.json());throw await mr("Generate Auth Token",a)}async function jr(n,i=!1){let s;var e=await Ur(n.appConfig,e=>{if(!zr(e))throw Br.create("not-registered");var t,r=e.authToken;if(i||2!==(t=r).requestStatus||(e=>{var t=Date.now();return t<e.creationTime||e.creationTime+e.expiresIn<t+dr})(t)){if(1===r.requestStatus)return s=(async(e,t)=>{let r=await Kr(e.appConfig);for(;1===r.authToken.requestStatus;)await yr(100),r=await Kr(e.appConfig);var n=r.authToken;return 0===n.requestStatus?jr(e,t):n})(n,i),e;if(navigator.onLine)return t=e,r={requestStatus:1,requestTime:Date.now()},r={...t,authToken:r},s=(async(t,r)=>{try{var e=await qr(t,r),n={...r,authToken:e};return await Lr(t.appConfig,n),e}catch(e){var i;throw!pr(e)||401!==e.customData.serverCode&&404!==e.customData.serverCode?(i={...r,authToken:{requestStatus:0}},await Lr(t.appConfig,i)):await Mr(t.appConfig),e}})(n,r),r;throw Br.create("app-offline")}return e});return s?await s:e.authToken}function Kr(e){return Ur(e,e=>{var t,r;if(zr(e))return t=e.authToken,1===(r=t).requestStatus&&r.requestTime+lr<Date.now()?{...e,authToken:{requestStatus:0}}:e;throw Br.create("not-registered")})}function zr(e){return void 0!==e&&2===e.registrationStatus}async function Jr(e,t=!1){var r=e,n=(await(!(n=(await Gr(r)).registrationPromise)||!await n),await jr(r,t));return n.token}function Wr(t,i){let s=t.appConfig;{t=s;var r=i,n=(Nr(),br(t));let e=Ir.get(n);e||(e=new Set,Ir.set(n,e)),e.add(r)}return()=>{var e,t,r,n;e=s,t=i,r=br(e),(n=Ir.get(r))&&(n.delete(t),0===n.size&&Ir.delete(r),Ar())}}function Qr(e){return Br.create("missing-app-config-values",{valueName:e})}let Yr="installations",$r=e=>{var t=e.getProvider("app").getImmediate();return{app:t,appConfig:(e=>{if(!e||!e.options)throw Qr("App Configuration");if(!e.name)throw Qr("App Name");var t;for(t of["projectId","apiKey","appId"])if(!e.options[t])throw Qr(t);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}})(t),heartbeatServiceProvider:kt(t,"heartbeat"),_delete:()=>Promise.resolve()}},Xr=e=>{let t=kt(e.getProvider("app").getImmediate(),Yr).getImmediate();return{getId:()=>(async e=>{var t=e,{installationEntry:r,registrationPromise:n}=await Gr(t);return(n||jr(t)).catch(console.error),r.fid})(t),getToken:e=>Jr(t,e)}};St(new Ve(Yr,$r,"PUBLIC")),St(new Ve("installations-internal",Xr,"PRIVATE")),Ht(ar,t),Ht(ar,t,"esm2020");let Zr="analytics",en="firebase_id",tn="origin",rn=6e4,nn="https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig",sn="https://www.googletagmanager.com/gtag/js",an=new $e("@firebase/analytics"),on=new pe("analytics","Analytics",{"already-exists":"A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.","already-initialized":"initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-initialized instance.","already-initialized-settings":"Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.","interop-component-reg-failed":"Firebase Analytics Interop Component failed to instantiate: {$reason}","invalid-analytics-context":"Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","indexeddb-unavailable":"IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","fetch-throttle":"The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.","config-fetch-failed":"Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}","no-api-key":'The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.',"no-app-id":'The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.',"no-client-id":'The "client_id" field is empty.',"invalid-gtag-resource":"Trusted Types detected an invalid gtag resource: {$gtagURL}."});function ln(e){var t;return e.startsWith(sn)?e:(t=on.create("invalid-gtag-resource",{gtagURL:e}),an.warn(t.message),"")}function hn(e){return Promise.all(e.map(e=>e.catch(e=>e)))}function un(e,t){var r=((e,t)=>{let r;return r=window.trustedTypes?window.trustedTypes.createPolicy(e,t):r})("firebase-js-sdk-policy",{createScriptURL:ln}),n=document.createElement("script"),i=sn+`?l=${e}&id=`+t;n.src=r?r?.createScriptURL(i):i,n.async=!0,document.head.appendChild(n)}function cn(T,S,k,N){return async function(e,...t){try{if("event"===e){var[r,n]=t,i=T,s=S,a=k,o=r,l=n;try{let r=[];if(l&&l.send_to){let e=l.send_to;Array.isArray(e)||(e=[e]);var h=await hn(a);for(let t of e){var u=h.find(e=>e.measurementId===t),c=u&&s[u.appId];if(!c){r=[];break}r.push(c)}}0===r.length&&(r=Object.values(s)),await Promise.all(r),i("event",o,l||{})}catch(e){an.error(e)}}else if("config"===e){var d,[B,p]=t,g=T,f=S,m=k,C=B,v=p,_=N[C];try{_?await f[_]:(d=(await hn(m)).find(e=>e.measurementId===C))&&await f[d.appId]}catch(e){an.error(e)}g("config",C,v)}else{var y,w,E,D,b,I;"consent"===e?([y,w]=t,T("consent",y,w)):"get"===e?([E,D,b]=t,T("get",E,D,b)):"set"===e?([I]=t,T("set",I)):T(e,...t)}}catch(e){an.error(e)}}}let dn=30;let Bn=new class{constructor(e={},t=1e3){this.throttleMetadata=e,this.intervalMillis=t}getThrottleMetadata(e){return this.throttleMetadata[e]}setThrottleMetadata(e,t){this.throttleMetadata[e]=t}deleteThrottleMetadata(e){delete this.throttleMetadata[e]}};async function pn(e){var{appId:t,apiKey:r}=e,r={method:"GET",headers:new Headers({Accept:"application/json","x-goog-api-key":r})},t=nn.replace("{app-id}",t),t=await fetch(t,r);if(200===t.status||304===t.status)return t.json();{let e="";try{var n=await t.json();n.error?.message&&(e=n.error.message)}catch(e){}throw on.create("config-fetch-failed",{httpStatus:t.status,responseMessage:e})}}async function gn(e,t=Bn){var{appId:r,apiKey:n,measurementId:i}=e.options;if(!r)throw on.create("no-app-id");if(!n){if(i)return{measurementId:i,appId:r};throw on.create("no-api-key")}var s=t.getThrottleMetadata(r)||{backoffCount:0,throttleEndTimeMillis:Date.now()};let a=new Cn;return setTimeout(async()=>{a.abort()},rn),async function i(s,{throttleEndTimeMillis:e,backoffCount:a},o,l=Bn){let{appId:h,measurementId:u}=s;try{await fn(o,e)}catch(e){if(u)return an.warn("Timed out fetching this Firebase app's measurement ID from the server. Falling back to the measurement ID "+u+` provided in the "measurementId" field in the local Firebase config. [${e?.message}]`),{appId:h,measurementId:u};throw e}try{let e=await pn(s);return l.deleteThrottleMetadata(h),e}catch(e){let t=e;if(!mn(t)){if(l.deleteThrottleMetadata(h),u)return an.warn("Failed to fetch this Firebase app's measurement ID from the server. Falling back to the measurement ID "+u+` provided in the "measurementId" field in the local Firebase config. [${t?.message}]`),{appId:h,measurementId:u};throw e}let r=503===Number(t?.customData?.httpStatus)?Ue(a,l.intervalMillis,dn):Ue(a,l.intervalMillis),n={throttleEndTimeMillis:Date.now()+r,backoffCount:a+1};return l.setThrottleMetadata(h,n),an.debug(`Calling attemptFetch again in ${r} millis`),i(s,n,o,l)}}({appId:r,apiKey:n,measurementId:i},s,a,t)}function fn(i,s){return new Promise((e,t)=>{var r=Math.max(s-Date.now(),0);let n=setTimeout(e,r);i.addEventListener(()=>{clearTimeout(n),t(on.create("fetch-throttle",{throttleEndTimeMillis:s}))})})}function mn(e){var t;return!!(e instanceof Be&&e.customData)&&(429===(t=Number(e.customData.httpStatus))||500===t||503===t||504===t)}class Cn{constructor(){this.listeners=[]}addEventListener(e){this.listeners.push(e)}abort(){this.listeners.forEach(e=>e())}}async function vn(t,e,r,n,i,s,a){var o=gn(t),l=(o.then(e=>{r[e.measurementId]=e.appId,t.options.measurementId&&e.measurementId!==t.options.measurementId&&an.warn(`The measurement ID in the local Firebase config (${t.options.measurementId})`+` does not match the measurement ID fetched from the server (${e.measurementId}).`+" To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.")}).catch(e=>an.error(e)),e.push(o),(async()=>{if(!ue())return an.warn(on.create("indexeddb-unavailable",{errorInfo:"IndexedDB is not available in this environment."}).message),!1;try{await ce()}catch(e){return an.warn(on.create("indexeddb-unavailable",{errorInfo:e?.toString()}).message),!1}return!0})().then(e=>{if(e)return n.getId()})),[o,l]=await Promise.all([o,l]),h=((e=>{var t,r=window.document.getElementsByTagName("script");for(t of Object.values(r))if(t.src&&t.src.includes(sn)&&t.src.includes(e))return t})(s)||un(s,o.measurementId),i("js",new Date),a?.config??{});return h[tn]="firebase",h.update=!0,null!=l&&(h[en]=l),i("config",o.measurementId,h),o.measurementId}let _n=class{constructor(e){this.app=e}_delete(){return delete yn[this.app.options.appId],Promise.resolve()}},yn={},wn=[],En={},Dn="dataLayer",bn="gtag",In,Tn,Sn=!1;function kn(e){if(Sn)throw on.create("already-initialized");e.dataLayerName&&(Dn=e.dataLayerName),e.gtagName&&(bn=e.gtagName)}function Nn(e,t,r){n=[],se()&&n.push("This is a browser extension environment."),de()||n.push("Cookies are not available."),0<n.length&&(n=n.map((e,t)=>`(${t+1}) `+e).join(" "),n=on.create("invalid-analytics-context",{errorInfo:n}),an.warn(n.message));var n=e.options.appId;if(!n)throw on.create("no-app-id");if(!e.options.apiKey){if(!e.options.measurementId)throw on.create("no-api-key");an.warn('The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest measurement ID for this Firebase app. Falling back to the measurement ID '+e.options.measurementId+' provided in the "measurementId" field in the local Firebase config.')}if(null!=yn[n])throw on.create("already-exists",{id:n});if(!Sn){{var i=Dn;let e=[];Array.isArray(window[i])?e=window[i]:window[i]=e,e}var{wrappedGtag:s,gtagCore:a}=((e,t,r,n,i)=>{let s=function(){window[n].push(arguments)};return window[i]&&"function"==typeof window[i]&&(s=window[i]),window[i]=cn(s,e,t,r),{gtagCore:s,wrappedGtag:window[i]}})(yn,wn,En,Dn,bn);Tn=s,In=a,Sn=!0}return yn[n]=vn(e,wn,En,t,In,Dn,r),new _n(e)}async function An(){if(se())return!1;if(!de())return!1;if(!ue())return!1;try{return await ce()}catch(e){return!1}}function Rn(e,t,r){e=_(e),(async(e,t,r,n)=>{if(n&&n.global)return e("set",{screen_name:r}),Promise.resolve();e("config",await t,{update:!0,screen_name:r})})(Tn,yn[e.app.options.appId],t,r).catch(e=>an.error(e))}function On(e,t,r){e=_(e),(async(e,t,r,n)=>{if(n&&n.global)return e("set",{user_id:r}),Promise.resolve();e("config",await t,{update:!0,user_id:r})})(Tn,yn[e.app.options.appId],t,r).catch(e=>an.error(e))}function Pn(e,t,r){e=_(e),(async(e,t,r,n)=>{if(n&&n.global){var i,s={};for(i of Object.keys(r))s["user_properties."+i]=r[i];return e("set",s),Promise.resolve()}e("config",await t,{update:!0,user_properties:r})})(Tn,yn[e.app.options.appId],t,r).catch(e=>an.error(e))}function xn(e,t){e=_(e),(async(e,t)=>{var r=await e;window["ga-disable-"+r]=!t})(yn[e.app.options.appId],t).catch(e=>an.error(e))}function Fn(e,t,r,n){e=_(e),(async(e,t,r,n,i)=>{var s;i&&i.global?e("event",r,n):(s=await t,e("event",r,{...n,send_to:s}))})(Tn,yn[e.app.options.appId],t,r,n).catch(e=>an.error(e))}let Ln="@firebase/analytics",Mn="0.10.23";St(new Ve(Zr,(e,{options:t})=>Nn(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),t),"PUBLIC")),St(new Ve("analytics-internal",function(e){try{let n=e.getProvider(Zr).getImmediate();return{logEvent:(e,t,r)=>Fn(n,e,t,r),setUserProperties:(e,t)=>Pn(n,e,t)}}catch(e){throw on.create("interop-component-reg-failed",{reason:e})}},"PRIVATE")),Ht(Ln,Mn),Ht(Ln,Mn,"esm2020");class Un{constructor(e,t){this.app=e,this._delegate=t}logEvent(e,t,r){Fn(this._delegate,e,t,r)}setCurrentScreen(e,t){Rn(this._delegate,e,t)}setUserId(e,t){On(this._delegate,e,t)}setUserProperties(e,t){Pn(this._delegate,e,t)}setAnalyticsCollectionEnabled(e){xn(this._delegate,e)}}(a=_f=_f||{}).ADD_SHIPPING_INFO="add_shipping_info",a.ADD_PAYMENT_INFO="add_payment_info",a.ADD_TO_CART="add_to_cart",a.ADD_TO_WISHLIST="add_to_wishlist",a.BEGIN_CHECKOUT="begin_checkout",a.CHECKOUT_PROGRESS="checkout_progress",a.EXCEPTION="exception",a.GENERATE_LEAD="generate_lead",a.LOGIN="login",a.PAGE_VIEW="page_view",a.PURCHASE="purchase",a.REFUND="refund",a.REMOVE_FROM_CART="remove_from_cart",a.SCREEN_VIEW="screen_view",a.SEARCH="search",a.SELECT_CONTENT="select_content",a.SELECT_ITEM="select_item",a.SELECT_PROMOTION="select_promotion",a.SET_CHECKOUT_OPTION="set_checkout_option",a.SHARE="share",a.SIGN_UP="sign_up",a.TIMING_COMPLETE="timing_complete",a.VIEW_CART="view_cart",a.VIEW_ITEM="view_item",a.VIEW_ITEM_LIST="view_item_list",a.VIEW_PROMOTION="view_promotion",a.VIEW_SEARCH_RESULTS="view_search_results";let Gn=e=>{var t=e.getProvider("app-compat").getImmediate(),r=e.getProvider("analytics").getImmediate();return new Un(t,r)};sr={Analytics:Un,settings:kn,isSupported:An,EventName:_f},or.INTERNAL.registerComponent(new Ve("analytics-compat",Gn,"PUBLIC").setServiceProps(sr).setMultipleInstances(!0)),or.registerVersion("@firebase/analytics-compat","0.2.29");let Hn=new Map,Vn={activated:!1,tokenObservers:[]},qn={initialized:!1,enabled:!1};function jn(e){return Hn.get(e)||{...Vn}}let Kn="https://content-firebaseappcheck.googleapis.com/v1",zn="exchangeDebugToken",Jn={RETRIAL_MIN_WAIT:3e4,RETRIAL_MAX_WAIT:96e4};class Wn{constructor(e,t,r,n,i){if(this.operation=e,this.retryPolicy=t,this.getWaitDuration=r,this.lowerBound=n,this.upperBound=i,this.pending=null,i<(this.nextErrorWaitInterval=n))throw new Error("Proactive refresh lower bound greater than upper bound!")}start(){this.nextErrorWaitInterval=this.lowerBound,this.process(!0).catch(()=>{})}stop(){this.pending&&(this.pending.reject("cancelled"),this.pending=null)}isRunning(){return!!this.pending}async process(e){this.stop();try{this.pending=new Z,this.pending.promise.catch(e=>{}),t=this.getNextRun(e),await new Promise(e=>{setTimeout(e,t)}),this.pending.resolve(),await this.pending.promise,this.pending=new Z,this.pending.promise.catch(e=>{}),await this.operation(),this.pending.resolve(),await this.pending.promise,this.process(!0).catch(()=>{})}catch(e){this.retryPolicy(e)?this.process(!1).catch(()=>{}):this.stop()}var t}getNextRun(e){var t;return e?(this.nextErrorWaitInterval=this.lowerBound,this.getWaitDuration()):(t=this.nextErrorWaitInterval,this.nextErrorWaitInterval*=2,this.nextErrorWaitInterval>this.upperBound&&(this.nextErrorWaitInterval=this.upperBound),t)}}let Qn=new pe("appCheck","AppCheck",{"already-initialized":"You have already called initializeAppCheck() for FirebaseApp {$appName} with different options. To avoid this error, call initializeAppCheck() with the same options as when it was originally called. This will return the already initialized instance.","use-before-activation":"App Check is being used before initializeAppCheck() is called for FirebaseApp {$appName}. Call initializeAppCheck() before instantiating other Firebase services.","fetch-network-error":"Fetch failed to connect to a network. Check Internet connection. Original error: {$originalErrorMessage}.","fetch-parse-error":"Fetch client could not parse response. Original error: {$originalErrorMessage}.","fetch-status-error":"Fetch server returned an HTTP error status. HTTP status: {$httpStatus}.","storage-open":"Error thrown when opening storage. Original error: {$originalErrorMessage}.","storage-get":"Error thrown when reading from storage. Original error: {$originalErrorMessage}.","storage-set":"Error thrown when writing to storage. Original error: {$originalErrorMessage}.","recaptcha-error":"ReCAPTCHA error.","initial-throttle":"{$httpStatus} error. Attempts allowed again after {$time}",throttled:"Requests throttled due to previous {$httpStatus} error. Attempts allowed again after {$time}"});function Yn(e=!1){return e?self.grecaptcha?.enterprise:self.grecaptcha}function $n(e){if(!jn(e).activated)throw Qn.create("use-before-activation",{appName:e.name})}function Xn(e){var t=Math.round(e/1e3),r=Math.floor(t/86400),n=Math.floor((t-3600*r*24)/3600),i=Math.floor((t-3600*r*24-3600*n)/60),t=t-3600*r*24-3600*n-60*i;let s="";return r&&(s+=Zn(r)+"d:"),n&&(s+=Zn(n)+"h:"),s+=Zn(i)+"m:"+Zn(t)+"s"}function Zn(e){return 0===e?"00":10<=e?e.toString():"0"+e}async function ei({url:e,body:t},r){var n={"Content-Type":"application/json"},i=r.getImmediate({optional:!0}),i=(i&&(i=await i.getHeartbeatsHeader())&&(n["X-Firebase-Client"]=i),{method:"POST",body:JSON.stringify(t),headers:n});let s;try{s=await fetch(e,i)}catch(e){throw Qn.create("fetch-network-error",{originalErrorMessage:e?.message})}if(200!==s.status)throw Qn.create("fetch-status-error",{httpStatus:s.status});let a;try{a=await s.json()}catch(e){throw Qn.create("fetch-parse-error",{originalErrorMessage:e?.message})}var n=a.ttl.match(/^([\d.]+)(s)$/);if(n&&n[2]&&!isNaN(Number(n[1])))return i=1e3*Number(n[1]),n=Date.now(),{token:a.token,expireTimeMillis:n+i,issuedAtTimeMillis:n};throw Qn.create("fetch-parse-error",{originalErrorMessage:"ttl field (timeToLive) is not in standard Protobuf Duration format: "+a.ttl})}function ti(e,t){var{projectId:r,appId:n,apiKey:i}=e.options;return{url:`${Kn}/projects/${r}/apps/${n}:${zn}?key=`+i,body:{debug_token:t}}}let ri="firebase-app-check-database",ni=1,ii="firebase-app-check-store",si="debug-token",ai=null;function oi(){return ai=ai||new Promise((t,r)=>{try{var e=indexedDB.open(ri,ni);e.onsuccess=e=>{t(e.target.result)},e.onerror=e=>{r(Qn.create("storage-open",{originalErrorMessage:e.target.error?.message}))},e.onupgradeneeded=e=>{var t=e.target.result;0===e.oldVersion&&t.createObjectStore(ii,{keyPath:"compositeKey"})}}catch(e){r(Qn.create("storage-open",{originalErrorMessage:e?.message}))}})}async function li(e,t){let n=(await oi()).transaction(ii,"readwrite"),i=n.objectStore(ii).put({compositeKey:e,value:t});return new Promise((t,r)=>{i.onsuccess=e=>{t()},n.onerror=e=>{r(Qn.create("storage-set",{originalErrorMessage:e.target.error?.message}))}})}async function hi(e){let n=(await oi()).transaction(ii,"readonly"),i=n.objectStore(ii).get(e);return new Promise((r,t)=>{i.onsuccess=e=>{var t=e.target.result;r(t?t.value:void 0)},n.onerror=e=>{t(Qn.create("storage-get",{originalErrorMessage:e.target.error?.message}))}})}function ui(e){return e.options.appId+"-"+e.name}let ci=new $e("@firebase/app-check");async function di(t){if(ue()){let e=void 0;try{e=await hi(ui(t))}catch(e){ci.warn("Failed to read token from IndexedDB. Error: "+e)}return e}}function Bi(e,t){return ue()?li(ui(e),t).catch(e=>{ci.warn("Failed to write token to IndexedDB. Error: "+e)}):Promise.resolve()}async function pi(){let e=void 0;try{e=await hi(si)}catch(e){}var t,r;return e||(t=crypto.randomUUID(),r=t,li(si,r).catch(e=>ci.warn("Failed to persist debug token to IndexedDB. Error: "+e)),t)}function gi(){return qn.enabled}async function fi(){var e=qn;if(e.enabled&&e.token)return e.token.promise;throw Error(`
7
+ `)}catch{}let or=e;Ht("@firebase/app-compat","0.5.16",void 0);or.registerVersion("firebase","12.17.1","app-compat");var ar="@firebase/installations",t="0.6.23";let lr=1e4,hr="w:"+t,ur="FIS_v2",cr="https://firebaseinstallations.googleapis.com/v1",dr=36e5;let Br=new pe("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function pr(e){return e instanceof Be&&e.code.includes("request-failed")}function gr({projectId:e}){return cr+`/projects/${e}/installations`}function fr(e){return{token:e.token,requestStatus:2,expiresIn:Number(e.expiresIn.replace("s","000")),creationTime:Date.now()}}async function mr(e,t){var r=(await t.json()).error;return Br.create("request-failed",{requestName:e,serverCode:r.code,serverMessage:r.message,serverStatus:r.status})}function Cr({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function vr(e,{refreshToken:t}){var r=Cr(e);return r.append("Authorization",(e=t,ur+" "+e)),r}async function _r(e){var t=await e();return 500<=t.status&&t.status<600?e():t}function yr(t){return new Promise(e=>{setTimeout(e,t)})}let wr=/^[cdef][\w-]{21}$/,Er="";function Dr(){try{var e=new Uint8Array(17),t=((self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16,(e=>btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_"))(e).substr(0,22));return wr.test(t)?t:Er}catch{return Er}}function br(e){return e.appName+"!"+e.appId}let Ir=new Map;function Tr(e,t){var r=br(e),e=(Sr(r,t),r),r=Nr();r&&r.postMessage({key:e,fid:t}),Ar()}function Sr(e,t){var r=Ir.get(e);if(r)for(var n of r)n(t)}let kr=null;function Nr(){return!kr&&"BroadcastChannel"in self&&((kr=new BroadcastChannel("[Firebase] FID Change")).onmessage=e=>{Sr(e.data.key,e.data.fid)}),kr}function Ar(){0===Ir.size&&kr&&(kr.close(),kr=null)}let Rr="firebase-installations-database",Or=1,Pr="firebase-installations-store",xr=null;function Fr(){return xr=xr||ct(Rr,Or,{upgrade:(e,t)=>{0===t&&e.createObjectStore(Pr)}})}async function Lr(e,t){var r=br(e),n=(await Fr()).transaction(Pr,"readwrite"),i=n.objectStore(Pr),s=await i.get(r);return await i.put(t,r),await n.done,s&&s.fid===t.fid||Tr(e,t.fid),t}async function Mr(e){var t=br(e),r=(await Fr()).transaction(Pr,"readwrite");await r.objectStore(Pr).delete(t),await r.done}async function Ur(e,t){var r=br(e),n=(await Fr()).transaction(Pr,"readwrite"),i=n.objectStore(Pr),s=await i.get(r),a=t(s);return void 0===a?await i.delete(r):await i.put(a,r),await n.done,!a||s&&s.fid===a.fid||Tr(e,a.fid),a}async function Gr(r){let n;var e=await Ur(r.appConfig,e=>{var t=Vr(e||{fid:Dr(),registrationStatus:0}),t=((e,t)=>{var r,n;return 0===t.registrationStatus?navigator.onLine?(r={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},n=(async(t,r)=>{try{var e=await(async({appConfig:e,heartbeatServiceProvider:t},{fid:r})=>{let n=gr(e);var i=Cr(e),s=((s=t.getImmediate({optional:!0}))&&(s=await s.getHeartbeatsHeader())&&i.append("x-firebase-client",s),{fid:r,authVersion:ur,appId:e.appId,sdkVersion:hr});let a={method:"POST",headers:i,body:JSON.stringify(s)};if((i=await _r(()=>fetch(n,a))).ok)return{fid:(s=await i.json()).fid||r,registrationStatus:2,refreshToken:s.refreshToken,authToken:fr(s.authToken)};throw await mr("Create Installation",i)})(t,r);return Lr(t.appConfig,e)}catch(e){throw pr(e)&&409===e.customData.serverCode?await Mr(t.appConfig):await Lr(t.appConfig,{fid:r.fid,registrationStatus:0}),e}})(e,r),{installationEntry:r,registrationPromise:n}):(r=Promise.reject(Br.create("app-offline")),{installationEntry:t,registrationPromise:r}):1===t.registrationStatus?{installationEntry:t,registrationPromise:(async e=>{let t=await Hr(e.appConfig);for(;1===t.registrationStatus;)await yr(100),t=await Hr(e.appConfig);var r,n;return 0!==t.registrationStatus?t:({installationEntry:r,registrationPromise:n}=await Gr(e),n||r)})(e)}:{installationEntry:t}})(r,t);return n=t.registrationPromise,t.installationEntry});return e.fid===Er?{installationEntry:await n}:{installationEntry:e,registrationPromise:n}}function Hr(e){return Ur(e,e=>{if(e)return Vr(e);throw Br.create("installation-not-found")})}function Vr(e){var t;return 1===(t=e).registrationStatus&&t.registrationTime+lr<Date.now()?{fid:e.fid,registrationStatus:0}:e}async function qr({appConfig:e,heartbeatServiceProvider:t},r){[i,s]=[e,r.fid];let n=gr(i)+`/${s}/authTokens:generate`;var i,s,a=vr(e,r),o=t.getImmediate({optional:!0}),o=(o&&(o=await o.getHeartbeatsHeader())&&a.append("x-firebase-client",o),{installation:{sdkVersion:hr,appId:e.appId}});let l={method:"POST",headers:a,body:JSON.stringify(o)};a=await _r(()=>fetch(n,l));if(a.ok)return fr(await a.json());throw await mr("Generate Auth Token",a)}async function jr(n,i=!1){let s;var e=await Ur(n.appConfig,e=>{if(!zr(e))throw Br.create("not-registered");var t,r=e.authToken;if(i||2!==(t=r).requestStatus||(e=>{var t=Date.now();return t<e.creationTime||e.creationTime+e.expiresIn<t+dr})(t)){if(1===r.requestStatus)return s=(async(e,t)=>{let r=await Kr(e.appConfig);for(;1===r.authToken.requestStatus;)await yr(100),r=await Kr(e.appConfig);var n=r.authToken;return 0===n.requestStatus?jr(e,t):n})(n,i),e;if(navigator.onLine)return t=e,r={requestStatus:1,requestTime:Date.now()},r={...t,authToken:r},s=(async(t,r)=>{try{var e=await qr(t,r),n={...r,authToken:e};return await Lr(t.appConfig,n),e}catch(e){var i;throw!pr(e)||401!==e.customData.serverCode&&404!==e.customData.serverCode?(i={...r,authToken:{requestStatus:0}},await Lr(t.appConfig,i)):await Mr(t.appConfig),e}})(n,r),r;throw Br.create("app-offline")}return e});return s?await s:e.authToken}function Kr(e){return Ur(e,e=>{var t,r;if(zr(e))return t=e.authToken,1===(r=t).requestStatus&&r.requestTime+lr<Date.now()?{...e,authToken:{requestStatus:0}}:e;throw Br.create("not-registered")})}function zr(e){return void 0!==e&&2===e.registrationStatus}async function Jr(e,t=!1){var r=e,n=(await(!(n=(await Gr(r)).registrationPromise)||!await n),await jr(r,t));return n.token}function Wr(t,i){let s=t.appConfig;{t=s;var r=i,n=(Nr(),br(t));let e=Ir.get(n);e||(e=new Set,Ir.set(n,e)),e.add(r)}return()=>{var e,t,r,n;e=s,t=i,r=br(e),(n=Ir.get(r))&&(n.delete(t),0===n.size&&Ir.delete(r),Ar())}}function Qr(e){return Br.create("missing-app-config-values",{valueName:e})}let Yr="installations",$r=e=>{var t=e.getProvider("app").getImmediate();return{app:t,appConfig:(e=>{if(!e||!e.options)throw Qr("App Configuration");if(!e.name)throw Qr("App Name");var t;for(t of["projectId","apiKey","appId"])if(!e.options[t])throw Qr(t);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}})(t),heartbeatServiceProvider:kt(t,"heartbeat"),_delete:()=>Promise.resolve()}},Xr=e=>{let t=kt(e.getProvider("app").getImmediate(),Yr).getImmediate();return{getId:()=>(async e=>{var t=e,{installationEntry:r,registrationPromise:n}=await Gr(t);return(n||jr(t)).catch(console.error),r.fid})(t),getToken:e=>Jr(t,e)}};St(new Ve(Yr,$r,"PUBLIC")),St(new Ve("installations-internal",Xr,"PRIVATE")),Ht(ar,t),Ht(ar,t,"esm2020");let Zr="analytics",en="firebase_id",tn="origin",rn=6e4,nn="https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig",sn="https://www.googletagmanager.com/gtag/js",an=new $e("@firebase/analytics"),on=new pe("analytics","Analytics",{"already-exists":"A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.","already-initialized":"initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-initialized instance.","already-initialized-settings":"Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.","interop-component-reg-failed":"Firebase Analytics Interop Component failed to instantiate: {$reason}","invalid-analytics-context":"Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","indexeddb-unavailable":"IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","fetch-throttle":"The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.","config-fetch-failed":"Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}","no-api-key":'The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.',"no-app-id":'The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.',"no-client-id":'The "client_id" field is empty.',"invalid-gtag-resource":"Trusted Types detected an invalid gtag resource: {$gtagURL}."});function ln(e){var t;return e.startsWith(sn)?e:(t=on.create("invalid-gtag-resource",{gtagURL:e}),an.warn(t.message),"")}function hn(e){return Promise.all(e.map(e=>e.catch(e=>e)))}function un(e,t){var r=((e,t)=>{let r;return r=window.trustedTypes?window.trustedTypes.createPolicy(e,t):r})("firebase-js-sdk-policy",{createScriptURL:ln}),n=document.createElement("script"),i=sn+`?l=${e}&id=`+t;n.src=r?r?.createScriptURL(i):i,n.async=!0,document.head.appendChild(n)}function cn(T,S,k,N){return async function(e,...t){try{if("event"===e){var[r,n]=t,i=T,s=S,a=k,o=r,l=n;try{let r=[];if(l&&l.send_to){let e=l.send_to;Array.isArray(e)||(e=[e]);var h=await hn(a);for(let t of e){var u=h.find(e=>e.measurementId===t),c=u&&s[u.appId];if(!c){r=[];break}r.push(c)}}0===r.length&&(r=Object.values(s)),await Promise.all(r),i("event",o,l||{})}catch(e){an.error(e)}}else if("config"===e){var d,[B,p]=t,g=T,f=S,m=k,C=B,v=p,_=N[C];try{_?await f[_]:(d=(await hn(m)).find(e=>e.measurementId===C))&&await f[d.appId]}catch(e){an.error(e)}g("config",C,v)}else{var y,w,E,D,b,I;"consent"===e?([y,w]=t,T("consent",y,w)):"get"===e?([E,D,b]=t,T("get",E,D,b)):"set"===e?([I]=t,T("set",I)):T(e,...t)}}catch(e){an.error(e)}}}let dn=30;let Bn=new class{constructor(e={},t=1e3){this.throttleMetadata=e,this.intervalMillis=t}getThrottleMetadata(e){return this.throttleMetadata[e]}setThrottleMetadata(e,t){this.throttleMetadata[e]=t}deleteThrottleMetadata(e){delete this.throttleMetadata[e]}};async function pn(e){var{appId:t,apiKey:r}=e,r={method:"GET",headers:new Headers({Accept:"application/json","x-goog-api-key":r})},t=nn.replace("{app-id}",t),t=await fetch(t,r);if(200===t.status||304===t.status)return t.json();{let e="";try{var n=await t.json();n.error?.message&&(e=n.error.message)}catch(e){}throw on.create("config-fetch-failed",{httpStatus:t.status,responseMessage:e})}}async function gn(e,t=Bn){var{appId:r,apiKey:n,measurementId:i}=e.options;if(!r)throw on.create("no-app-id");if(!n){if(i)return{measurementId:i,appId:r};throw on.create("no-api-key")}var s=t.getThrottleMetadata(r)||{backoffCount:0,throttleEndTimeMillis:Date.now()};let a=new Cn;return setTimeout(async()=>{a.abort()},rn),async function i(s,{throttleEndTimeMillis:e,backoffCount:a},o,l=Bn){let{appId:h,measurementId:u}=s;try{await fn(o,e)}catch(e){if(u)return an.warn("Timed out fetching this Firebase app's measurement ID from the server. Falling back to the measurement ID "+u+` provided in the "measurementId" field in the local Firebase config. [${e?.message}]`),{appId:h,measurementId:u};throw e}try{let e=await pn(s);return l.deleteThrottleMetadata(h),e}catch(e){let t=e;if(!mn(t)){if(l.deleteThrottleMetadata(h),u)return an.warn("Failed to fetch this Firebase app's measurement ID from the server. Falling back to the measurement ID "+u+` provided in the "measurementId" field in the local Firebase config. [${t?.message}]`),{appId:h,measurementId:u};throw e}let r=503===Number(t?.customData?.httpStatus)?Ue(a,l.intervalMillis,dn):Ue(a,l.intervalMillis),n={throttleEndTimeMillis:Date.now()+r,backoffCount:a+1};return l.setThrottleMetadata(h,n),an.debug(`Calling attemptFetch again in ${r} millis`),i(s,n,o,l)}}({appId:r,apiKey:n,measurementId:i},s,a,t)}function fn(i,s){return new Promise((e,t)=>{var r=Math.max(s-Date.now(),0);let n=setTimeout(e,r);i.addEventListener(()=>{clearTimeout(n),t(on.create("fetch-throttle",{throttleEndTimeMillis:s}))})})}function mn(e){var t;return!!(e instanceof Be&&e.customData)&&(429===(t=Number(e.customData.httpStatus))||500===t||503===t||504===t)}class Cn{constructor(){this.listeners=[]}addEventListener(e){this.listeners.push(e)}abort(){this.listeners.forEach(e=>e())}}async function vn(t,e,r,n,i,s,a){var o=gn(t),l=(o.then(e=>{r[e.measurementId]=e.appId,t.options.measurementId&&e.measurementId!==t.options.measurementId&&an.warn(`The measurement ID in the local Firebase config (${t.options.measurementId})`+` does not match the measurement ID fetched from the server (${e.measurementId}).`+" To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.")}).catch(e=>an.error(e)),e.push(o),(async()=>{if(!ue())return an.warn(on.create("indexeddb-unavailable",{errorInfo:"IndexedDB is not available in this environment."}).message),!1;try{await ce()}catch(e){return an.warn(on.create("indexeddb-unavailable",{errorInfo:e?.toString()}).message),!1}return!0})().then(e=>{if(e)return n.getId()})),[o,l]=await Promise.all([o,l]),h=((e=>{var t,r=window.document.getElementsByTagName("script");for(t of Object.values(r))if(t.src&&t.src.includes(sn)&&t.src.includes(e))return t})(s)||un(s,o.measurementId),i("js",new Date),a?.config??{});return h[tn]="firebase",h.update=!0,null!=l&&(h[en]=l),i("config",o.measurementId,h),o.measurementId}let _n=class{constructor(e){this.app=e}_delete(){return delete yn[this.app.options.appId],Promise.resolve()}},yn={},wn=[],En={},Dn="dataLayer",bn="gtag",In,Tn,Sn=!1;function kn(e){if(Sn)throw on.create("already-initialized");e.dataLayerName&&(Dn=e.dataLayerName),e.gtagName&&(bn=e.gtagName)}function Nn(e,t,r){n=[],se()&&n.push("This is a browser extension environment."),de()||n.push("Cookies are not available."),0<n.length&&(n=n.map((e,t)=>`(${t+1}) `+e).join(" "),n=on.create("invalid-analytics-context",{errorInfo:n}),an.warn(n.message));var n=e.options.appId;if(!n)throw on.create("no-app-id");if(!e.options.apiKey){if(!e.options.measurementId)throw on.create("no-api-key");an.warn('The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest measurement ID for this Firebase app. Falling back to the measurement ID '+e.options.measurementId+' provided in the "measurementId" field in the local Firebase config.')}if(null!=yn[n])throw on.create("already-exists",{id:n});if(!Sn){{var i=Dn;let e=[];Array.isArray(window[i])?e=window[i]:window[i]=e,e}var{wrappedGtag:s,gtagCore:a}=((e,t,r,n,i)=>{let s=function(){window[n].push(arguments)};return window[i]&&"function"==typeof window[i]&&(s=window[i]),window[i]=cn(s,e,t,r),{gtagCore:s,wrappedGtag:window[i]}})(yn,wn,En,Dn,bn);Tn=s,In=a,Sn=!0}return yn[n]=vn(e,wn,En,t,In,Dn,r),new _n(e)}async function An(){if(se())return!1;if(!de())return!1;if(!ue())return!1;try{return await ce()}catch(e){return!1}}function Rn(e,t,r){e=_(e),(async(e,t,r,n)=>{if(n&&n.global)return e("set",{screen_name:r}),Promise.resolve();e("config",await t,{update:!0,screen_name:r})})(Tn,yn[e.app.options.appId],t,r).catch(e=>an.error(e))}function On(e,t,r){e=_(e),(async(e,t,r,n)=>{if(n&&n.global)return e("set",{user_id:r}),Promise.resolve();e("config",await t,{update:!0,user_id:r})})(Tn,yn[e.app.options.appId],t,r).catch(e=>an.error(e))}function Pn(e,t,r){e=_(e),(async(e,t,r,n)=>{if(n&&n.global){var i,s={};for(i of Object.keys(r))s["user_properties."+i]=r[i];return e("set",s),Promise.resolve()}e("config",await t,{update:!0,user_properties:r})})(Tn,yn[e.app.options.appId],t,r).catch(e=>an.error(e))}function xn(e,t){e=_(e),(async(e,t)=>{var r=await e;window["ga-disable-"+r]=!t})(yn[e.app.options.appId],t).catch(e=>an.error(e))}function Fn(e,t,r,n){e=_(e),(async(e,t,r,n,i)=>{var s;i&&i.global?e("event",r,n):(s=await t,e("event",r,{...n,send_to:s}))})(Tn,yn[e.app.options.appId],t,r,n).catch(e=>an.error(e))}let Ln="@firebase/analytics",Mn="0.10.23";St(new Ve(Zr,(e,{options:t})=>Nn(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),t),"PUBLIC")),St(new Ve("analytics-internal",function(e){try{let n=e.getProvider(Zr).getImmediate();return{logEvent:(e,t,r)=>Fn(n,e,t,r),setUserProperties:(e,t)=>Pn(n,e,t)}}catch(e){throw on.create("interop-component-reg-failed",{reason:e})}},"PRIVATE")),Ht(Ln,Mn),Ht(Ln,Mn,"esm2020");class Un{constructor(e,t){this.app=e,this._delegate=t}logEvent(e,t,r){Fn(this._delegate,e,t,r)}setCurrentScreen(e,t){Rn(this._delegate,e,t)}setUserId(e,t){On(this._delegate,e,t)}setUserProperties(e,t){Pn(this._delegate,e,t)}setAnalyticsCollectionEnabled(e){xn(this._delegate,e)}}(a=_f=_f||{}).ADD_SHIPPING_INFO="add_shipping_info",a.ADD_PAYMENT_INFO="add_payment_info",a.ADD_TO_CART="add_to_cart",a.ADD_TO_WISHLIST="add_to_wishlist",a.BEGIN_CHECKOUT="begin_checkout",a.CHECKOUT_PROGRESS="checkout_progress",a.EXCEPTION="exception",a.GENERATE_LEAD="generate_lead",a.LOGIN="login",a.PAGE_VIEW="page_view",a.PURCHASE="purchase",a.REFUND="refund",a.REMOVE_FROM_CART="remove_from_cart",a.SCREEN_VIEW="screen_view",a.SEARCH="search",a.SELECT_CONTENT="select_content",a.SELECT_ITEM="select_item",a.SELECT_PROMOTION="select_promotion",a.SET_CHECKOUT_OPTION="set_checkout_option",a.SHARE="share",a.SIGN_UP="sign_up",a.TIMING_COMPLETE="timing_complete",a.VIEW_CART="view_cart",a.VIEW_ITEM="view_item",a.VIEW_ITEM_LIST="view_item_list",a.VIEW_PROMOTION="view_promotion",a.VIEW_SEARCH_RESULTS="view_search_results";let Gn=e=>{var t=e.getProvider("app-compat").getImmediate(),r=e.getProvider("analytics").getImmediate();return new Un(t,r)};sr={Analytics:Un,settings:kn,isSupported:An,EventName:_f},or.INTERNAL.registerComponent(new Ve("analytics-compat",Gn,"PUBLIC").setServiceProps(sr).setMultipleInstances(!0)),or.registerVersion("@firebase/analytics-compat","0.2.29");let Hn=new Map,Vn={activated:!1,tokenObservers:[]},qn={initialized:!1,enabled:!1};function jn(e){return Hn.get(e)||{...Vn}}let Kn="https://content-firebaseappcheck.googleapis.com/v1",zn="exchangeDebugToken",Jn={RETRIAL_MIN_WAIT:3e4,RETRIAL_MAX_WAIT:96e4};class Wn{constructor(e,t,r,n,i){if(this.operation=e,this.retryPolicy=t,this.getWaitDuration=r,this.lowerBound=n,this.upperBound=i,this.pending=null,i<(this.nextErrorWaitInterval=n))throw new Error("Proactive refresh lower bound greater than upper bound!")}start(){this.nextErrorWaitInterval=this.lowerBound,this.process(!0).catch(()=>{})}stop(){this.pending&&(this.pending.reject("cancelled"),this.pending=null)}isRunning(){return!!this.pending}async process(e){this.stop();try{this.pending=new Z,this.pending.promise.catch(e=>{}),t=this.getNextRun(e),await new Promise(e=>{setTimeout(e,t)}),this.pending.resolve(),await this.pending.promise,this.pending=new Z,this.pending.promise.catch(e=>{}),await this.operation(),this.pending.resolve(),await this.pending.promise,this.process(!0).catch(()=>{})}catch(e){this.retryPolicy(e)?this.process(!1).catch(()=>{}):this.stop()}var t}getNextRun(e){var t;return e?(this.nextErrorWaitInterval=this.lowerBound,this.getWaitDuration()):(t=this.nextErrorWaitInterval,this.nextErrorWaitInterval*=2,this.nextErrorWaitInterval>this.upperBound&&(this.nextErrorWaitInterval=this.upperBound),t)}}let Qn=new pe("appCheck","AppCheck",{"already-initialized":"You have already called initializeAppCheck() for FirebaseApp {$appName} with different options. To avoid this error, call initializeAppCheck() with the same options as when it was originally called. This will return the already initialized instance.","use-before-activation":"App Check is being used before initializeAppCheck() is called for FirebaseApp {$appName}. Call initializeAppCheck() before instantiating other Firebase services.","fetch-network-error":"Fetch failed to connect to a network. Check Internet connection. Original error: {$originalErrorMessage}.","fetch-parse-error":"Fetch client could not parse response. Original error: {$originalErrorMessage}.","fetch-status-error":"Fetch server returned an HTTP error status. HTTP status: {$httpStatus}.","storage-open":"Error thrown when opening storage. Original error: {$originalErrorMessage}.","storage-get":"Error thrown when reading from storage. Original error: {$originalErrorMessage}.","storage-set":"Error thrown when writing to storage. Original error: {$originalErrorMessage}.","recaptcha-error":"ReCAPTCHA error.","initial-throttle":"{$httpStatus} error. Attempts allowed again after {$time}",throttled:"Requests throttled due to previous {$httpStatus} error. Attempts allowed again after {$time}"});function Yn(e=!1){return e?self.grecaptcha?.enterprise:self.grecaptcha}function $n(e){if(!jn(e).activated)throw Qn.create("use-before-activation",{appName:e.name})}function Xn(e){var t=Math.round(e/1e3),r=Math.floor(t/86400),n=Math.floor((t-3600*r*24)/3600),i=Math.floor((t-3600*r*24-3600*n)/60),t=t-3600*r*24-3600*n-60*i;let s="";return r&&(s+=Zn(r)+"d:"),n&&(s+=Zn(n)+"h:"),s+=Zn(i)+"m:"+Zn(t)+"s"}function Zn(e){return 0===e?"00":10<=e?e.toString():"0"+e}async function ei({url:e,body:t},r){var n={"Content-Type":"application/json"},i=r.getImmediate({optional:!0}),i=(i&&(i=await i.getHeartbeatsHeader())&&(n["X-Firebase-Client"]=i),{method:"POST",body:JSON.stringify(t),headers:n});let s;try{s=await fetch(e,i)}catch(e){throw Qn.create("fetch-network-error",{originalErrorMessage:e?.message})}if(200!==s.status)throw Qn.create("fetch-status-error",{httpStatus:s.status});let a;try{a=await s.json()}catch(e){throw Qn.create("fetch-parse-error",{originalErrorMessage:e?.message})}var n=a.ttl.match(/^([\d.]+)(s)$/);if(n&&n[2]&&!isNaN(Number(n[1])))return i=1e3*Number(n[1]),n=Date.now(),{token:a.token,expireTimeMillis:n+i,issuedAtTimeMillis:n};throw Qn.create("fetch-parse-error",{originalErrorMessage:"ttl field (timeToLive) is not in standard Protobuf Duration format: "+a.ttl})}function ti(e,t){var{projectId:r,appId:n,apiKey:i}=e.options;return{url:`${Kn}/projects/${r}/apps/${n}:${zn}?key=`+i,body:{debug_token:t}}}let ri="firebase-app-check-database",ni=1,ii="firebase-app-check-store",si="debug-token",ai=null;function oi(){return ai=ai||new Promise((t,r)=>{try{var e=indexedDB.open(ri,ni);e.onsuccess=e=>{t(e.target.result)},e.onerror=e=>{r(Qn.create("storage-open",{originalErrorMessage:e.target.error?.message}))},e.onupgradeneeded=e=>{var t=e.target.result;0===e.oldVersion&&t.createObjectStore(ii,{keyPath:"compositeKey"})}}catch(e){r(Qn.create("storage-open",{originalErrorMessage:e?.message}))}})}async function li(e,t){let n=(await oi()).transaction(ii,"readwrite"),i=n.objectStore(ii).put({compositeKey:e,value:t});return new Promise((t,r)=>{i.onsuccess=e=>{t()},n.onerror=e=>{r(Qn.create("storage-set",{originalErrorMessage:e.target.error?.message}))}})}async function hi(e){let n=(await oi()).transaction(ii,"readonly"),i=n.objectStore(ii).get(e);return new Promise((r,t)=>{i.onsuccess=e=>{var t=e.target.result;r(t?t.value:void 0)},n.onerror=e=>{t(Qn.create("storage-get",{originalErrorMessage:e.target.error?.message}))}})}function ui(e){return e.options.appId+"-"+e.name}let ci=new $e("@firebase/app-check");async function di(t){if(ue()){let e=void 0;try{e=await hi(ui(t))}catch(e){ci.warn("Failed to read token from IndexedDB. Error: "+e)}return e}}function Bi(e,t){return ue()?li(ui(e),t).catch(e=>{ci.warn("Failed to write token to IndexedDB. Error: "+e)}):Promise.resolve()}async function pi(){let e=void 0;try{e=await hi(si)}catch(e){}var t,r;return e||(t=crypto.randomUUID(),r=t,li(si,r).catch(e=>ci.warn("Failed to persist debug token to IndexedDB. Error: "+e)),t)}function gi(){return qn.enabled}async function fi(){var e=qn;if(e.enabled&&e.token)return e.token.promise;throw Error(`
8
8
  Can't get debug token in production mode.
9
- `)}let mi={error:"UNKNOWN_ERROR"};async function Ci(e,t=!1,r=!1){var n,i=e.app;$n(i);let s=jn(i),a=s.token,o=void 0;if(a&&!Ei(a)&&(s.token=void 0,a=void 0),a||(n=await s.cachedTokenPromise)&&(Ei(n)?a=n:await Bi(i,void 0)),!t&&a&&Ei(a))return{token:a.token};let l=!1;if(gi())try{var h=await fi(),u=(s.exchangeTokenPromise||(s.exchangeTokenPromise=ei(ti(i,h),e.heartbeatServiceProvider).finally(()=>{s.exchangeTokenPromise=void 0}),l=!0),await s.exchangeTokenPromise);return await Bi(i,u),{token:(s.token=u).token}}catch(e){return"appCheck/throttled"===e.code||"appCheck/initial-throttle"===e.code?ci.warn(e.message):r&&ci.error(e),Di(e)}try{s.exchangeTokenPromise||(s.exchangeTokenPromise=s.provider.getToken().finally(()=>{s.exchangeTokenPromise=void 0}),l=!0),a=await jn(i).exchangeTokenPromise}catch(e){"appCheck/throttled"===e.code||"appCheck/initial-throttle"===e.code?ci.warn(e.message):r&&ci.error(e),o=e}let c;return a?o?c=Ei(a)?{token:a.token,internalError:o}:Di(o):(c={token:a.token},await Bi(i,s.token=a)):c=Di(o),l&&wi(i,c),c}function vi(t,e,r,n){var i=t.app,i=jn(i),s={next:r,error:n,type:e};if(i.tokenObservers=[...i.tokenObservers,s],i.token&&Ei(i.token)){let e=i.token;Promise.resolve().then(()=>{r({token:e.token}),yi(t)}).catch(()=>{})}i.cachedTokenPromise.then(()=>yi(t))}function _i(e,t){var r=jn(e),n=r.tokenObservers.filter(e=>e.next!==t);0===n.length&&r.tokenRefresher&&r.tokenRefresher.isRunning()&&r.tokenRefresher.stop(),r.tokenObservers=n}function yi(e){var t=e.app,t=jn(t);let r=t.tokenRefresher;r||(r=(r=>{let n=r.app;return new Wn(async()=>{var e=jn(n);let t;if((t=e.token?await Ci(r,!0):await Ci(r)).error)throw t.error;if(t.internalError)throw t.internalError},()=>!0,()=>{var e,t=jn(n);return t.token?(e=t.token.issuedAtTimeMillis+.5*(t.token.expireTimeMillis-t.token.issuedAtTimeMillis)+3e5,t=t.token.expireTimeMillis-3e5,e=Math.min(e,t),Math.max(0,e-Date.now())):0},Jn.RETRIAL_MIN_WAIT,Jn.RETRIAL_MAX_WAIT)})(e),t.tokenRefresher=r),!r.isRunning()&&t.isTokenAutoRefreshEnabled&&r.start()}function wi(e,t){var r;for(r of jn(e).tokenObservers)try{"EXTERNAL"===r.type&&null!=t.error?r.error(t.error):r.next(t)}catch(e){}}function Ei(e){return 0<e.expireTimeMillis-Date.now()}function Di(e){return{token:(t=mi,G.encodeString(JSON.stringify(t),!1)),error:e};var t}let bi=class{constructor(e,t){this.app=e,this.heartbeatServiceProvider=t}_delete(){var e,t=jn(this.app).tokenObservers;for(e of t)_i(this.app,e.next);return Promise.resolve()}};function Ii(t){return{getToken:e=>Ci(t,e),getLimitedUseToken:()=>(async e=>{var t=e.app,r=($n(t),jn(t)).provider;return gi()?{token:t=((t=ti(t,await fi())).body.limited_use=!0,await ei(t,e.heartbeatServiceProvider)).token}:{token:t=(await r.getToken(!0)).token}})(t),addTokenListener:e=>vi(t,"INTERNAL",e),removeTokenListener:e=>_i(t.app,e)}}let Ti="https://www.google.com/recaptcha/api.js",Si="https://www.google.com/recaptcha/enterprise.js";function ki(t,r){let n=new Z;jn(t).reCAPTCHAState={initialized:n};let i=Ri(t);var e,s=Yn(!1);return s?Ai(t,r,s,i,n):(e=()=>{var e=Yn(!1);if(!e)throw new Error("no recaptcha");Ai(t,r,e,i,n)},(s=document.createElement("script")).src=Ti,s.onload=e,document.head.appendChild(s)),n.promise}function Ni(t,r){let n=new Z;jn(t).reCAPTCHAState={initialized:n};let i=Ri(t);var e,s=Yn(!0);return s?Ai(t,r,s,i,n):(e=()=>{var e=Yn(!0);if(!e)throw new Error("no recaptcha");Ai(t,r,e,i,n)},(s=document.createElement("script")).src=Si+"?render=explicit",s.onload=e,document.head.appendChild(s)),n.promise}function Ai(n,i,s,a,o){s.ready(()=>{var e,t,r;e=n,t=s.render(a,{sitekey:i,size:"invisible",callback:()=>{jn(e).reCAPTCHAState.succeeded=!0},"error-callback":()=>{jn(e).reCAPTCHAState.succeeded=!1}}),(r=jn(e)).reCAPTCHAState={...r.reCAPTCHAState,widgetId:t},o.resolve(s)})}function Ri(e){var t="fire_app_check_"+e.name,r=document.createElement("div");return r.id=t,r.style.display="none",document.body.appendChild(r),t}async function Oi(n){$n(n);let i=await jn(n).reCAPTCHAState.initialized.promise;return new Promise((e,t)=>{let r=jn(n).reCAPTCHAState;i.ready(()=>{e(i.execute(r.widgetId,{action:"fire_app_check"}))})})}class Pi{constructor(e){this._siteKey=e,this._throttleData=null}async getToken(e=!1){Mi(this._throttleData);var t=await Oi(this._app).catch(e=>{throw Qn.create("recaptcha-error")});if(!jn(this._app).reCAPTCHAState?.succeeded)throw Qn.create("recaptcha-error");let r;try{var n=((e,t)=>{var{projectId:r,appId:n,apiKey:i}=e.options;return{url:Kn+`/projects/${r}/apps/${n}:exchangeRecaptchaV3Token?key=`+i,body:{recaptcha_v3_token:t}}})(this._app,t);e&&(n.body.limited_use=!0),r=await ei(n,this._heartbeatServiceProvider)}catch(e){throw e.code?.includes("fetch-status-error")?(this._throttleData=Li(Number(e.customData?.httpStatus),this._throttleData),Qn.create("initial-throttle",{time:Xn(this._throttleData.allowRequestsAfter-Date.now()),httpStatus:this._throttleData.httpStatus})):e}return this._throttleData=null,r}initialize(e){this._app=e,this._heartbeatServiceProvider=kt(e,"heartbeat"),ki(e,this._siteKey).catch(()=>{})}isEqual(e){return e instanceof Pi&&this._siteKey===e._siteKey}}class xi{constructor(e){this._siteKey=e,this._throttleData=null}async getToken(e=!1){Mi(this._throttleData);var t=await Oi(this._app).catch(e=>{throw Qn.create("recaptcha-error")});if(!jn(this._app).reCAPTCHAState?.succeeded)throw Qn.create("recaptcha-error");let r;try{var n=((e,t)=>{var{projectId:r,appId:n,apiKey:i}=e.options;return{url:Kn+`/projects/${r}/apps/${n}:exchangeRecaptchaEnterpriseToken?key=`+i,body:{recaptcha_enterprise_token:t}}})(this._app,t);e&&(n.body.limited_use=!0),r=await ei(n,this._heartbeatServiceProvider)}catch(e){throw e.code?.includes("fetch-status-error")?(this._throttleData=Li(Number(e.customData?.httpStatus),this._throttleData),Qn.create("initial-throttle",{time:Xn(this._throttleData.allowRequestsAfter-Date.now()),httpStatus:this._throttleData.httpStatus})):e}return this._throttleData=null,r}initialize(e){this._app=e,this._heartbeatServiceProvider=kt(e,"heartbeat"),Ni(e,this._siteKey).catch(()=>{})}isEqual(e){return e instanceof xi&&this._siteKey===e._siteKey}}class Fi{constructor(e){this._customProviderOptions=e}async getToken(){var e,t=await this._customProviderOptions.getToken(),r=(e=t.token,"object"==typeof(r=me(e).claims)&&r.hasOwnProperty("iat")?r.iat:null),r=null!==r&&r<Date.now()&&0<r?1e3*r:Date.now();return{...t,issuedAtTimeMillis:r}}initialize(e){this._app=e}isEqual(e){return e instanceof Fi&&this._customProviderOptions.getToken.toString()===e._customProviderOptions.getToken.toString()}}function Li(e,t){var r,n;return 404===e||403===e?{backoffCount:1,allowRequestsAfter:Date.now()+864e5,httpStatus:e}:(n=Ue(r=t?t.backoffCount:0,1e3,2),{backoffCount:r+1,allowRequestsAfter:Date.now()+n,httpStatus:e})}function Mi(e){if(e&&Date.now()-e.allowRequestsAfter<=0)throw Qn.create("throttled",{time:Xn(e.allowRequestsAfter-Date.now()),httpStatus:e.httpStatus})}function Ui(e=Ut(),r){var t=kt(e=_(e),"app-check");if(qn.initialized||(i=z(),(n=qn).initialized=!0,"string"!=typeof i.FIREBASE_APPCHECK_DEBUG_TOKEN&&!0!==i.FIREBASE_APPCHECK_DEBUG_TOKEN)||(n.enabled=!0,s=new Z,n.token=s,"string"==typeof i.FIREBASE_APPCHECK_DEBUG_TOKEN?s.resolve(i.FIREBASE_APPCHECK_DEBUG_TOKEN):s.resolve(pi())),gi()&&fi().then(e=>console.log(`App Check debug token: ${e}. You will need to add it to your app's App Check settings in the Firebase console for it to work.`)),t.isInitialized()){var n=t.getImmediate(),i=t.getOptions();if(i&&!!i.isTokenAutoRefreshEnabled==!!r.isTokenAutoRefreshEnabled&&i.provider?.isEqual(r.provider))return n;throw Qn.create("already-initialized",{appName:e.name})}var s=t.initialize({options:r});{var[a,r,o=!1]=[e,r.provider,r.isTokenAutoRefreshEnabled];let t=((e,t)=>(Hn.set(e,t),Hn.get(e)))(a,{...Vn});t.activated=!0,t.provider=r,t.cachedTokenPromise=di(a).then(e=>(e&&Ei(e)&&(t.token=e,wi(a,{token:e.token})),e)),t.isTokenAutoRefreshEnabled=o&&a.automaticDataCollectionEnabled,!a.automaticDataCollectionEnabled&&o&&ci.warn("`isTokenAutoRefreshEnabled` is true but `automaticDataCollectionEnabled` was set to false during `initializeApp()`. This blocks automatic token refresh."),t.provider.initialize(a)}return jn(e).isTokenAutoRefreshEnabled&&vi(s,"INTERNAL",()=>{}),s}let Gi="app-check-internal";St(new Ve("app-check",e=>{var t,r=e.getProvider("app").getImmediate(),n=e.getProvider("heartbeat");return e=r,t=n,new bi(e,t)},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider(Gi).initialize()})),St(new Ve(Gi,e=>Ii(e.getProvider("app-check").getImmediate()),"PUBLIC").setInstantiationMode("EXPLICIT")),Ht("@firebase/app-check","0.13.0");let Hi=new pe("appCheck","AppCheck",{"use-before-activation":"App Check is being used before activate() is called for FirebaseApp {$appName}. Call activate() before instantiating other Firebase services."});class Vi{constructor(e){this.app=e}activate(e,t){let r;r="string"==typeof e?new Pi(e):e instanceof xi||e instanceof Pi||e instanceof Fi?e:new Fi({getToken:e.getToken}),this._delegate=Ui(this.app,{provider:r,isTokenAutoRefreshEnabled:t})}setTokenAutoRefreshEnabled(e){if(!this._delegate)throw Hi.create("use-before-activation",{appName:this.app.name});var t,r;t=this._delegate,e=e,(r=jn(t.app)).tokenRefresher&&(!0===e?r.tokenRefresher.start():r.tokenRefresher.stop()),r.isTokenAutoRefreshEnabled=e}getToken(e){if(this._delegate)return(async(e,t)=>{var r=await Ci(e,t);if(r.error)throw r.error;if(r.internalError)throw r.internalError;return{token:r.token}})(this._delegate,e);throw Hi.create("use-before-activation",{appName:this.app.name})}onTokenChanged(r,n,e){if(this._delegate){var i=this._delegate;let e=()=>{},t=()=>{};return e=null!=r.next?r.next.bind(r):r,null!=r.error?t=r.error.bind(r):n&&(t=n),vi(i,"EXTERNAL",e,t),()=>_i(i.app,e)}throw Hi.create("use-before-activation",{appName:this.app.name})}}let qi=e=>{var t=e.getProvider("app-compat").getImmediate();return new Vi(t)};or.INTERNAL.registerComponent(new Ve("appCheck-compat",qi,"PUBLIC").setServiceProps({ReCaptchaEnterpriseProvider:xi,ReCaptchaV3Provider:Pi,CustomProvider:Fi})),or.registerVersion("@firebase/app-check-compat","0.4.6");let ji={FACEBOOK:"facebook.com",GITHUB:"github.com",GOOGLE:"google.com",PASSWORD:"password",TWITTER:"twitter.com"},Ki={EMAIL_SIGNIN:"EMAIL_SIGNIN",PASSWORD_RESET:"PASSWORD_RESET",RECOVER_EMAIL:"RECOVER_EMAIL",REVERT_SECOND_FACTOR_ADDITION:"REVERT_SECOND_FACTOR_ADDITION",VERIFY_AND_CHANGE_EMAIL:"VERIFY_AND_CHANGE_EMAIL",VERIFY_EMAIL:"VERIFY_EMAIL"};function zi(){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."}}function Ji(){return{"admin-restricted-operation":"This operation is restricted to administrators only.","argument-error":"","app-not-authorized":"This app, identified by the domain where it's hosted, is not authorized to use Firebase Authentication with the provided API key. Review your key configuration in the Google API console.","app-not-installed":"The requested mobile application corresponding to the identifier (Android package name or iOS bundle ID) provided is not installed on this device.","captcha-check-failed":"The reCAPTCHA response token provided is either invalid, expired, already used or the domain associated with it does not match the list of whitelisted domains.","code-expired":"The SMS code has expired. Please re-send the verification code to try again.","cordova-not-ready":"Cordova framework is not ready.","cors-unsupported":"This browser is not supported.","credential-already-in-use":"This credential is already associated with a different user account.","custom-token-mismatch":"The custom token corresponds to a different audience.","requires-recent-login":"This operation is sensitive and requires recent authentication. Log in again before retrying this request.","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.","dynamic-link-not-activated":"Please activate Dynamic Links in the Firebase Console and agree to the terms and conditions.","email-change-needs-verification":"Multi-factor users must always have a verified email.","email-already-in-use":"The email address is already in use by another account.","emulator-config-failed":'Auth instance has already been used to make a network call. Auth can no longer be configured to use the emulator. Try calling "connectAuthEmulator()" sooner.',"expired-action-code":"The action code has expired.","cancelled-popup-request":"This operation has been cancelled due to another conflicting popup being opened.","internal-error":"An internal AuthError has occurred.","invalid-app-credential":"The phone verification request contains an invalid application verifier. The reCAPTCHA token response is either invalid or expired.","invalid-app-id":"The mobile app identifier is not registered for the current project.","invalid-user-token":"This user's credential isn't valid for this project. This can happen if the user's token has been tampered with, or if the user isn't for the project associated with this API key.","invalid-auth-event":"An internal AuthError has occurred.","invalid-verification-code":"The SMS verification code used to create the phone auth credential is invalid. Please resend the verification code sms and be sure to use the verification code provided by the user.","invalid-continue-uri":"The continue URL provided in the request is invalid.","invalid-cordova-configuration":"The following Cordova plugins must be installed to enable OAuth sign-in: cordova-plugin-buildinfo, cordova-universal-links-plugin, cordova-plugin-browsertab, cordova-plugin-inappbrowser and cordova-plugin-customurlscheme.","invalid-custom-token":"The custom token format is incorrect. Please check the documentation.","invalid-dynamic-link-domain":"The provided dynamic link domain is not configured or authorized for the current project.","invalid-email":"The email address is badly formatted.","invalid-emulator-scheme":"Emulator URL must start with a valid scheme (http:// or https://).","invalid-api-key":"Your API key is invalid, please check you have copied it correctly.","invalid-cert-hash":"The SHA-1 certificate hash provided is invalid.","invalid-credential":"The supplied auth credential is incorrect, malformed or has expired.","invalid-message-payload":"The email template corresponding to this action contains invalid characters in its message. Please fix by going to the Auth email templates section in the Firebase Console.","invalid-multi-factor-session":"The request does not contain a valid proof of first factor successful sign-in.","invalid-oauth-provider":"EmailAuthProvider is not supported for this operation. This operation only supports OAuth providers.","invalid-oauth-client-id":"The OAuth client ID provided is either invalid or does not match the specified API key.","unauthorized-domain":"This domain is not authorized for OAuth operations for your Firebase project. Edit the list of authorized domains from the Firebase console.","invalid-action-code":"The action code is invalid. This can happen if the code is malformed, expired, or has already been used.","wrong-password":"The password is invalid or the user does not have a password.","invalid-persistence-type":"The specified persistence type is invalid. It can only be local, session or none.","invalid-phone-number":"The format of the phone number provided is incorrect. Please enter the phone number in a format that can be parsed into E.164 format. E.164 phone numbers are written in the format [+][country code][subscriber number including area code].","invalid-provider-id":"The specified provider ID is invalid.","invalid-recipient-email":"The email corresponding to this action failed to send as the provided recipient email address is invalid.","invalid-sender":"The email template corresponding to this action contains an invalid sender email or name. Please fix by going to the Auth email templates section in the Firebase Console.","invalid-verification-id":"The verification ID used to create the phone auth credential is invalid.","invalid-tenant-id":"The Auth instance's tenant ID is invalid.","login-blocked":"Login blocked by user-provided method: {$originalMessage}","missing-android-pkg-name":"An Android Package Name must be provided if the Android App is required to be installed.","auth-domain-config-required":"Be sure to include authDomain when calling firebase.initializeApp(), by following the instructions in the Firebase console.","missing-app-credential":"The phone verification request is missing an application verifier assertion. A reCAPTCHA response token needs to be provided.","missing-verification-code":"The phone auth credential was created with an empty SMS verification code.","missing-continue-uri":"A continue URL must be provided in the request.","missing-iframe-start":"An internal AuthError has occurred.","missing-ios-bundle-id":"An iOS Bundle ID must be provided if an App Store ID is provided.","missing-or-invalid-nonce":"The request does not contain a valid nonce. This can occur if the SHA-256 hash of the provided raw nonce does not match the hashed nonce in the ID token payload.","missing-password":"A non-empty password must be provided","missing-multi-factor-info":"No second factor identifier is provided.","missing-multi-factor-session":"The request is missing proof of first factor successful sign-in.","missing-phone-number":"To send verification codes, provide a phone number for the recipient.","missing-verification-id":"The phone auth credential was created with an empty verification ID.","app-deleted":"This instance of FirebaseApp has been deleted.","multi-factor-info-not-found":"The user does not have a second factor matching the identifier provided.","multi-factor-auth-required":"Proof of ownership of a second factor is required to complete sign-in.","account-exists-with-different-credential":"An account already exists with the same email address but different sign-in credentials. Sign in using a provider associated with this email address.","network-request-failed":"A network AuthError (such as timeout, interrupted connection or unreachable host) has occurred.","no-auth-event":"An internal AuthError has occurred.","no-such-provider":"User was not linked to an account with the given provider.","null-user":"A null user object was provided as the argument for an operation which requires a non-null user object.","operation-not-allowed":"The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section.","operation-not-supported-in-this-environment":'This operation is not supported in the environment this application is running on. "location.protocol" must be http, https or chrome-extension and web storage must be enabled.',"popup-blocked":"Unable to establish a connection with the popup. It may have been blocked by the browser.","popup-closed-by-user":"The popup has been closed by the user before finalizing the operation.","provider-already-linked":"User can only be linked to one identity for the given provider.","quota-exceeded":"The project's quota for this operation has been exceeded.","redirect-cancelled-by-user":"The redirect operation has been cancelled by the user before finalizing.","redirect-operation-pending":"A redirect sign-in operation is already pending.","rejected-credential":"The request contains malformed or mismatching credentials.","second-factor-already-in-use":"The second factor is already enrolled on this account.","maximum-second-factor-count-exceeded":"The maximum allowed number of second factors on a user has been exceeded.","tenant-id-mismatch":"The provided tenant ID does not match the Auth instance's tenant ID",timeout:"The operation has timed out.","user-token-expired":"The user's credential is no longer valid. The user must sign in again.","too-many-requests":"We have blocked all requests from this device due to unusual activity. Try again later.","unauthorized-continue-uri":"The domain of the continue URL is not whitelisted. Please whitelist the domain in the Firebase console.","unsupported-first-factor":"Enrolling a second factor or signing in with a multi-factor account requires sign-in with a supported first factor.","unsupported-persistence-type":"The current environment does not support the specified persistence type.","unsupported-tenant-operation":"This operation is not supported in a multi-tenant context.","unverified-email":"The operation requires a verified email.","user-cancelled":"The user did not grant your application the permissions it requested.","user-not-found":"There is no user record corresponding to this identifier. The user may have been deleted.","user-disabled":"The user account has been disabled by an administrator.","user-mismatch":"The supplied credentials do not correspond to the previously signed in user.","user-signed-out":"","weak-password":"The password must be 6 characters long or more.","web-storage-unsupported":"This browser is not supported or 3rd party cookies and data may be disabled.","already-initialized":"initializeAuth() has already been called with different options. To avoid this error, call initializeAuth() with the same options as when it was originally called, or call getAuth() to return the already initialized instance.","missing-recaptcha-token":"The reCAPTCHA token is missing when sending request to the backend.","invalid-recaptcha-token":"The reCAPTCHA token is invalid when sending request to the backend.","invalid-recaptcha-action":"The reCAPTCHA action is invalid when sending request to the backend.","recaptcha-not-enabled":"reCAPTCHA Enterprise integration is not enabled for this project.","missing-client-type":"The reCAPTCHA client type is missing when sending request to the backend.","missing-recaptcha-version":"The reCAPTCHA version is missing when sending request to the backend.","invalid-req-type":"Invalid request parameters.","invalid-recaptcha-version":"The reCAPTCHA version is invalid when sending request to the backend.","unsupported-password-policy-schema-version":"The password policy received from the backend uses a schema version that is not supported by this version of the Firebase SDK.","password-does-not-meet-requirements":"The password does not meet the requirements.","invalid-hosting-link-domain":"The provided Hosting link domain is not configured in Firebase Hosting or is not owned by the current project. This cannot be a default Hosting domain (`web.app` or `firebaseapp.com`)."}}let Wi=zi,Qi=new pe("auth","Firebase",zi()),Yi=new $e("@firebase/auth");function $i(e,...t){Yi.logLevel<=B.WARN&&Yi.warn(`Auth (${Lt}): `+e,...t)}function Xi(e,...t){Yi.logLevel<=B.ERROR&&Yi.error(`Auth (${Lt}): `+e,...t)}function Zi(e,...t){throw is(e,...t)}function es(e,...t){return is(e,...t)}function ts(e,t,r){var n={...Wi(),[t]:r};return new pe("auth","Firebase",n).create(t,{appName:e.name})}function rs(e){return ts(e,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function ns(e,t,r){var n=r;if(!(t instanceof n))throw n.name!==t.constructor.name&&Zi(e,"argument-error"),ts(e,"argument-error",`Type of ${t.constructor.name} does not match expected instance.`+"Did you pass a reference from a different Auth SDK?")}function is(e,...t){var r,n;return"string"!=typeof e?(r=t[0],(n=[...t.slice(1)])[0]&&(n[0].appName=e.name),e._errorFactory.create(r,...n)):Qi.create(e,...t)}function f(e,t,...r){if(!e)throw is(t,...r)}function ss(e){var t="INTERNAL ASSERTION FAILED: "+e;throw Xi(t),new Error(t)}function as(e,t){e||ss(t)}function os(){return"undefined"!=typeof self&&self.location?.href||""}function ls(){return"http:"===hs()||"https:"===hs()}function hs(){return"undefined"!=typeof self&&self.location?.protocol||null}class us{constructor(e,t){as((this.shortDelay=e)<(this.longDelay=t),"Short delay should be less than long delay!"),this.isMobile=re()||ae()}get(){return"undefined"!=typeof navigator&&navigator&&"onLine"in navigator&&"boolean"==typeof navigator.onLine&&(ls()||se()||"connection"in navigator)&&!navigator.onLine?Math.min(5e3,this.shortDelay):this.isMobile?this.longDelay:this.shortDelay}}function cs(e,t){as(e.emulator,"Emulator should always be set here");var r=e.emulator.url;return t?""+r+(t.startsWith("/")?t.slice(1):t):r}class ds{static initialize(e,t,r){this.fetchImpl=e,t&&(this.headersImpl=t),r&&(this.responseImpl=r)}static fetch(){return this.fetchImpl||("undefined"!=typeof self&&"fetch"in self?self.fetch:"undefined"!=typeof globalThis&&globalThis.fetch?globalThis.fetch:"undefined"!=typeof fetch?fetch:void ss("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill"))}static headers(){return this.headersImpl||("undefined"!=typeof self&&"Headers"in self?self.Headers:"undefined"!=typeof globalThis&&globalThis.Headers?globalThis.Headers:"undefined"!=typeof Headers?Headers:void ss("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill"))}static response(){return this.responseImpl||("undefined"!=typeof self&&"Response"in self?self.Response:"undefined"!=typeof globalThis&&globalThis.Response?globalThis.Response:"undefined"!=typeof Response?Response:void ss("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill"))}}let Bs={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"},ps=["/v1/accounts:signInWithCustomToken","/v1/accounts:signInWithEmailLink","/v1/accounts:signInWithIdp","/v1/accounts:signInWithPassword","/v1/accounts:signInWithPhoneNumber","/v1/token"],gs=new us(3e4,6e4);function fs(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function ms(i,s,a,o,e={}){return Cs(i,e,async()=>{let e={},t={};o&&("GET"===s?t=o:e={body:JSON.stringify(o)});var r=De({...t,key:i.config.apiKey}).slice(1),n=await i._getAdditionalHeaders(),n=(n["Content-Type"]="application/json",i.languageCode&&(n["X-Firebase-Locale"]=i.languageCode),{method:s,headers:n,...e});return"undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||(n.referrerPolicy="strict-origin-when-cross-origin"),i.emulatorConfig&&Ge(i.emulatorConfig.host)&&(n.credentials="include"),ds.fetch()(await _s(i,i.config.apiHost,a,r),n)})}async function Cs(t,e,r){t._canInitEmulator=!1;var n={...Bs,...e};try{var i=new ys(t),s=await Promise.race([r(),i.promise]),a=(i.clearNetworkTimeout(),await s.json());if("needConfirmation"in a)throw ws(t,"account-exists-with-different-credential",a);if(s.ok&&!("errorMessage"in a))return a;var[o,l]=(s.ok?a.errorMessage:a.error.message).split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===o)throw ws(t,"credential-already-in-use",a);if("EMAIL_EXISTS"===o)throw ws(t,"email-already-in-use",a);if("USER_DISABLED"===o)throw ws(t,"user-disabled",a);var h=n[o]||o.toLowerCase().replace(/[_\s]+/g,"-");if(l)throw ts(t,h,l);Zi(t,h)}catch(e){if(e instanceof Be)throw e;Zi(t,"network-request-failed",{message:String(e)})}}async function vs(e,t,r,n,i={}){var s=await ms(e,t,r,n,i);return"mfaPendingCredential"in s&&Zi(e,"multi-factor-auth-required",{_serverResponse:s}),s}async function _s(e,t,r,n){var i=""+t+r+"?"+n,s=e,i=s.config.emulator?cs(e.config,i):e.config.apiScheme+"://"+i;if(ps.includes(r)&&(await s._persistenceManagerAvailable,"COOKIE"===s._getPersistenceType()))return s._getPersistence()._getFinalTarget(i).toString();return i}class ys{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(es(this.auth,"network-request-failed")),gs.get())})}}function ws(e,t,r){var n={appName:e.name},n=(r.email&&(n.email=r.email),r.phoneNumber&&(n.phoneNumber=r.phoneNumber),es(e,t,n));return n.customData._tokenResponse=r,n}function Es(e){return void 0!==e&&void 0!==e.getResponse}function Ds(e){return void 0!==e&&void 0!==e.enterprise}class bs{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],void 0===e.recaptchaKey)throw new Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(t){if(this.recaptchaEnforcementState&&0!==this.recaptchaEnforcementState.length)for(let e of this.recaptchaEnforcementState)if(e.provider&&e.provider===t){switch(e.enforcementState){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}return}return null}isProviderEnabled(e){return"ENFORCE"===this.getProviderEnforcementState(e)||"AUDIT"===this.getProviderEnforcementState(e)}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function Is(e,t){return ms(e,"GET","/v2/recaptchaConfig",fs(e,t))}async function Ts(e,t){return ms(e,"POST","/v1/accounts:lookup",t)}function Ss(e){if(e)try{var t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(e){}}function ks(e){return 1e3*Number(e)}function Ns(e){var[t,r,n]=e.split(".");if(void 0===t||void 0===r||void 0===n)return Xi("JWT malformed, contained fewer than 3 sections"),null;try{var i=j(r);return i?JSON.parse(i):(Xi("Failed to decode base64 JWT payload"),null)}catch(e){return Xi("Caught error parsing JWT payload as JSON",e?.toString()),null}}function As(e){var t=Ns(e);return f(t,"internal-error"),f(void 0!==t.exp,"internal-error"),f(void 0!==t.iat,"internal-error"),Number(t.exp)-Number(t.iat)}async function Rs(t,e,r=!1){if(r)return e;try{return await e}catch(e){throw e instanceof Be&&(r=[e.code][0],"auth/user-disabled"===r||"auth/user-token-expired"===r)&&(t.auth.currentUser===t&&await t.auth.signOut()),e}}class Os{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,null!==this.timerId)&&clearTimeout(this.timerId)}getInterval(e){var t;return e?(t=this.errorBackoff,this.errorBackoff=Math.min(2*this.errorBackoff,96e4),t):(this.errorBackoff=3e4,t=(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5,Math.max(0,t))}schedule(e=!1){var t;this.isRunning&&(t=this.getInterval(e),this.timerId=setTimeout(async()=>{await this.iteration()},t))}async iteration(){try{await this.user.getIdToken(!0)}catch(e){return void("auth/network-request-failed"===e?.code&&this.schedule(!0))}this.schedule()}}class Ps{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Ss(this.lastLoginAt),this.creationTime=Ss(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}async function xs(e){var t,r,n=e.auth,i=await e.getIdToken(),i=await Rs(e,Ts(n,{idToken:i})),n=(f(i?.users.length,n,"internal-error"),i.users[0]),i=(e._notifyReloadListener(n),n.providerUserInfo?.length?Fs(n.providerUserInfo):[]),i=(t=e.providerData,r=i,[...t.filter(t=>!r.some(e=>e.providerId===t.providerId)),...r]),s=!(e.email&&n.passwordHash||i.length),s=!!e.isAnonymous&&s,i={uid:n.localId,displayName:n.displayName||null,photoURL:n.photoUrl||null,email:n.email||null,emailVerified:n.emailVerified||!1,phoneNumber:n.phoneNumber||null,tenantId:n.tenantId||null,providerData:i,metadata:new Ps(n.createdAt,n.lastLoginAt),isAnonymous:s};Object.assign(e,i)}function Fs(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}))}class Ls{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){f(e.idToken,"internal-error"),f(void 0!==e.idToken,"internal-error"),f(void 0!==e.refreshToken,"internal-error");var t="expiresIn"in e&&void 0!==e.expiresIn?Number(e.expiresIn):As(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){f(0!==e.length,"internal-error");var t=As(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return t||!this.accessToken||this.isExpired?(f(this.refreshToken,e,"user-token-expired"),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null):this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){i=t;var n,i,{accessToken:r,refreshToken:s,expiresIn:a}=await{accessToken:(r=await Cs(n=e,{},async()=>{var e=De({grant_type:"refresh_token",refresh_token:i}).slice(1),{tokenApiHost:t,apiKey:r}=n.config,t=await _s(n,t,"/v1/token","key="+r),r=await n._getAdditionalHeaders(),r=(r["Content-Type"]="application/x-www-form-urlencoded",{method:"POST",headers:r,body:e});return n.emulatorConfig&&Ge(n.emulatorConfig.host)&&(r.credentials="include"),ds.fetch()(t,r)})).access_token,expiresIn:r.expires_in,refreshToken:r.refresh_token};this.updateTokensAndExpiration(r,s,Number(a))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*r}static fromJSON(e,t){var{refreshToken:r,accessToken:n,expirationTime:i}=t,s=new Ls;return r&&(f("string"==typeof r,"internal-error",{appName:e}),s.refreshToken=r),n&&(f("string"==typeof n,"internal-error",{appName:e}),s.accessToken=n),i&&(f("number"==typeof i,"internal-error",{appName:e}),s.expirationTime=i),s}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 Ls,this.toJSON())}_performRefresh(){return ss("not implemented")}}function Ms(e,t){f("string"==typeof e||void 0===e,"internal-error",{appName:t})}class Us{constructor({uid:e,auth:t,stsTokenManager:r,...n}){this.providerId="firebase",this.proactiveRefresh=new Os(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=r,this.accessToken=r.accessToken,this.displayName=n.displayName||null,this.email=n.email||null,this.emailVerified=n.emailVerified||!1,this.phoneNumber=n.phoneNumber||null,this.photoURL=n.photoURL||null,this.isAnonymous=n.isAnonymous||!1,this.tenantId=n.tenantId||null,this.providerData=n.providerData?[...n.providerData]:[],this.metadata=new Ps(n.createdAt||void 0,n.lastLoginAt||void 0)}async getIdToken(e){var t=await Rs(this,this.stsTokenManager.getToken(this.auth,e));return f(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return(async(e,t=!1)=>{var r=_(e),n=await r.getIdToken(t),i=Ns(n),s=(f(i&&i.exp&&i.auth_time&&i.iat,r.auth,"internal-error"),(r="object"==typeof i.firebase?i.firebase:void 0)?.sign_in_provider);return{claims:i,token:n,authTime:Ss(ks(i.auth_time)),issuedAtTime:Ss(ks(i.iat)),expirationTime:Ss(ks(i.exp)),signInProvider:s||null,signInSecondFactor:r?.sign_in_second_factor||null}})(this,e)}reload(){return(async e=>{var t=_(e);await xs(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)})(this)}_assign(e){this!==e&&(f(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(e){var t=new Us({...this,auth:e,stsTokenManager:this.stsTokenManager._clone()});return t.metadata._copy(this.metadata),t}_onReload(e){f(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),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 r=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),r=!0),t&&await xs(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){var e;return Rt(this.auth.app)?Promise.reject(rs(this.auth)):(e=await this.getIdToken(),await Rs(this,(async(e,t)=>ms(e,"POST","/v1/accounts:delete",t))(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(e,t){var r=t.displayName??void 0,n=t.email??void 0,i=t.phoneNumber??void 0,s=t.photoURL??void 0,a=t.tenantId??void 0,o=t._redirectEventId??void 0,l=t.createdAt??void 0,h=t.lastLoginAt??void 0,{uid:u,emailVerified:c,isAnonymous:d,providerData:B,stsTokenManager:p}=t,p=(f(u&&p,e,"internal-error"),Ls.fromJSON(this.name,p)),u=(f("string"==typeof u,e,"internal-error"),Ms(r,e.name),Ms(n,e.name),f("boolean"==typeof c,e,"internal-error"),f("boolean"==typeof d,e,"internal-error"),Ms(i,e.name),Ms(s,e.name),Ms(a,e.name),Ms(o,e.name),Ms(l,e.name),Ms(h,e.name),new Us({uid:u,auth:e,email:n,emailVerified:c,displayName:r,isAnonymous:d,photoURL:s,phoneNumber:i,tenantId:a,stsTokenManager:p,createdAt:l,lastLoginAt:h}));return B&&Array.isArray(B)&&(u.providerData=B.map(e=>({...e}))),o&&(u._redirectEventId=o),u}static async _fromIdTokenResponse(e,t,r=!1){var n=new Ls,n=(n.updateFromServerResponse(t),new Us({uid:t.localId,auth:e,stsTokenManager:n,isAnonymous:r}));return await xs(n),n}static async _fromGetAccountInfoResponse(e,t,r){var n=t.users[0],i=(f(void 0!==n.localId,"internal-error"),void 0!==n.providerUserInfo?Fs(n.providerUserInfo):[]),s=!(n.email&&n.passwordHash||i?.length),a=new Ls,a=(a.updateFromIdToken(r),new Us({uid:n.localId,auth:e,stsTokenManager:a,isAnonymous:s})),s={uid:n.localId,displayName:n.displayName||null,photoURL:n.photoUrl||null,email:n.email||null,emailVerified:n.emailVerified||!1,phoneNumber:n.phoneNumber||null,tenantId:n.tenantId||null,providerData:i,metadata:new Ps(n.createdAt,n.lastLoginAt),isAnonymous:!(n.email&&n.passwordHash||i?.length)};return Object.assign(a,s),a}}let Gs=new Map;function Hs(e){as(e instanceof Function,"Expected a class definition");var t=Gs.get(e);return t?as(t instanceof e,"Instance stored in cache mismatched with class"):(t=new e,Gs.set(e,t)),t}class Vs{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){var t=this.storage[e];return void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}Vs.type="NONE";let qs=Vs;function js(e,t,r){return`firebase:${e}:${t}:`+r}class Ks{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;var{config:n,name:i}=this.auth;this.fullUserKey=js(this.userKey,n.apiKey,i),this.fullPersistenceKey=js("persistence",n.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(){var e,t=await this.persistence._get(this.fullUserKey);return t?"string"==typeof t?(e=await Ts(this.auth,{idToken:t}).catch(()=>{}))?Us._fromGetAccountInfoResponse(this.auth,e,t):null:Us._fromJSON(this.auth,t):null}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){var t;if(this.persistence!==e)return t=await this.getCurrentUser(),await this.removeCurrentUser(),this.persistence=e,t?this.setCurrentUser(t):void 0}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(t,e,r="authUser"){if(!e.length)return new Ks(Hs(qs),t,r);var n,i=(await Promise.all(e.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e);let s=i[0]||Hs(qs),a=js(r,t.config.apiKey,t.name),o=null;for(n of e)try{var l=await n._get(a);if(l){let e;if("string"==typeof l){var h=await Ts(t,{idToken:l}).catch(()=>{});if(!h)break;e=await Us._fromGetAccountInfoResponse(t,h,l)}else e=Us._fromJSON(t,l);n!==s&&(o=e),s=n;break}}catch{}i=i.filter(e=>e._shouldAllowMigration);return s._shouldAllowMigration&&i.length&&(s=i[0],o&&await s._set(a,o.toJSON()),await Promise.all(e.map(async e=>{if(e!==s)try{await e._remove(a)}catch{}}))),new Ks(s,t,r)}}function zs(e){var t=e.toLowerCase();return t.includes("opera/")||t.includes("opr/")||t.includes("opios/")?"Opera":Ys(t)?"IEMobile":t.includes("msie")||t.includes("trident/")?"IE":t.includes("edge/")?"Edge":Js(t)?"Firefox":t.includes("silk/")?"Silk":Xs(t)?"Blackberry":Zs(t)?"Webos":Ws(t)?"Safari":!t.includes("chrome/")&&!Qs(t)||t.includes("edge/")?$s(t)?"Android":2===(t=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/))?.length?t[1]:"Other":"Chrome"}function Js(e=te()){return/firefox\//i.test(e)}function Ws(e=te()){var t=e.toLowerCase();return t.includes("safari/")&&!t.includes("chrome/")&&!t.includes("crios/")&&!t.includes("android")}function Qs(e=te()){return/crios\//i.test(e)}function Ys(e=te()){return/iemobile/i.test(e)}function $s(e=te()){return/android/i.test(e)}function Xs(e=te()){return/blackberry/i.test(e)}function Zs(e=te()){return/webos/i.test(e)}function ea(e=te()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function ta(e=te()){return ea(e)||$s(e)||Zs(e)||Xs(e)||/windows phone/i.test(e)||Ys(e)}function ra(e,t=[]){let r;switch(e){case"Browser":r=zs(te());break;case"Worker":r=zs(te())+"-"+e;break;default:r=e}var n=t.length?t.join(","):"FirebaseCore-web";return`${r}/JsCore/${Lt}/`+n}class na{constructor(e){this.auth=e,this.queue=[]}pushCallback(n,e){var t=r=>new Promise((e,t)=>{try{e(n(r))}catch(e){t(e)}});t.onAbort=e,this.queue.push(t);let r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser!==e){var t=[];try{for(var r of this.queue)await r(e),r.onAbort&&t.push(r.onAbort)}catch(e){t.reverse();for(var n of t)try{n()}catch(e){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:e?.message})}}}}class ia{constructor(e){var t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??6,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),void 0!==t.containsLowercaseCharacter&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),void 0!==t.containsUppercaseCharacter&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),void 0!==t.containsNumericCharacter&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),void 0!==t.containsNonAlphanumericCharacter&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,"ENFORCEMENT_STATE_UNSPECIFIED"===this.enforcementState&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join("")??"",this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){var t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&(t.isValid=t.meetsMinPasswordLength??!0),t.isValid&&(t.isValid=t.meetsMaxPasswordLength??!0),t.isValid&&(t.isValid=t.containsLowercaseLetter??!0),t.isValid&&(t.isValid=t.containsUppercaseLetter??!0),t.isValid&&(t.isValid=t.containsNumericCharacter??!0),t.isValid&&(t.isValid=t.containsNonAlphanumericCharacter??!0),t}validatePasswordLengthOptions(e,t){var r=this.customStrengthOptions.minPasswordLength,n=this.customStrengthOptions.maxPasswordLength;r&&(t.meetsMinPasswordLength=e.length>=r),n&&(t.meetsMaxPasswordLength=e.length<=n)}validatePasswordCharacterOptions(e,t){var r;this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);for(let n=0;n<e.length;n++)r=e.charAt(n),this.updatePasswordCharacterOptionsStatuses(t,"a"<=r&&r<="z","A"<=r&&r<="Z","0"<=r&&r<="9",this.allowedNonAlphanumericCharacters.includes(r))}updatePasswordCharacterOptionsStatuses(e,t,r,n,i){this.customStrengthOptions.containsLowercaseLetter&&!e.containsLowercaseLetter&&(e.containsLowercaseLetter=t),this.customStrengthOptions.containsUppercaseLetter&&!e.containsUppercaseLetter&&(e.containsUppercaseLetter=r),this.customStrengthOptions.containsNumericCharacter&&!e.containsNumericCharacter&&(e.containsNumericCharacter=n),this.customStrengthOptions.containsNonAlphanumericCharacter&&!e.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter=i)}}class sa{constructor(e,t,r,n){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=r,this.config=n,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new oa(this),this.idTokenSubscription=new oa(this),this.beforeStateQueue=new na(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=Qi,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=n.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=Hs(t)),this._initializationPromise=this.queue(async()=>{if(!this._deleted&&(this.persistenceManager=await Ks.create(this,e),this._resolvePersistenceManagerAvailable?.(),!this._deleted)){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(e){}await this.initializeCurrentUser(t),this.lastNotifiedUid=this.currentUser?.uid||null,this._deleted||(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){var e;!this._deleted&&(e=await this.assertedPersistence.getCurrentUser(),this.currentUser||e)&&(this.currentUser&&e&&this.currentUser.uid===e.uid?(this._currentUser._assign(e),await this.currentUser.getIdToken()):await this._updateCurrentUser(e,!0))}async initializeCurrentUserFromIdToken(e){try{var t=await Ts(this,{idToken:e}),r=await Us._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(r)}catch(e){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if(Rt(this.app)){let t=this.app.settings.authIdToken;return t?new Promise(e=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(t).then(e,e))}):this.directlySetCurrentUser(null)}var t,r,n,i=await this.assertedPersistence.getCurrentUser();let s=i,a=!1;if(e&&this.config.authDomain&&(await this.getOrInitRedirectPersistenceManager(),t=this.redirectUser?._redirectEventId,r=s?._redirectEventId,n=await this.tryRedirectSignIn(e),t&&t!==r||!n?.user||(s=n.user,a=!0)),!s)return this.directlySetCurrentUser(null);if(s._redirectEventId)return f(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===s._redirectEventId?this.directlySetCurrentUser(s):this.reloadAndSetCurrentUserOrClear(s);if(a)try{await this.beforeStateQueue.runMiddleware(s)}catch(e){s=i,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return s?this.reloadAndSetCurrentUserOrClear(s):this.directlySetCurrentUser(null)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(e){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await xs(e)}catch(e){if("auth/network-request-failed"!==e?.code)return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){var e;this.languageCode="undefined"!=typeof navigator&&((e=navigator).languages&&e.languages[0]||e.language)||null}async _delete(){this._deleted=!0}async updateCurrentUser(e){var t;return Rt(this.app)?Promise.reject(rs(this)):((t=e?_(e):null)&&f(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&&f(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 Rt(this.app)?Promise.reject(rs(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Rt(this.app)?Promise.reject(rs(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(Hs(e))})}_getRecaptchaConfig(){return null==this.tenantId?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();var t=this._getPasswordPolicyInternal();return t.schemaVersion!==this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return null===this.tenantId?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){var e,t=await ms(e=this,"GET","/v2/passwordPolicy",fs(e,{})),t=new ia(t);null===this.tenantId?this._projectPasswordPolicy=t:this._tenantPasswordPolicies[this.tenantId]=t}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new pe("auth","Firebase",e())}onAuthStateChanged(e,t,r){return this.registerStateListener(this.authStateSubscription,e,t,r)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,r){return this.registerStateListener(this.idTokenSubscription,e,t,r)}authStateReady(){return new Promise((t,r)=>{if(this.currentUser)t();else{let e=this.onAuthStateChanged(()=>{e(),t()},r)}})}async revokeAccessToken(e){var t;this.currentUser&&(t={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:await this.currentUser.getIdToken()},null!=this.tenantId&&(t.tenantId=this.tenantId),await ms(e=this,"POST","/v2/accounts:revokeToken",fs(e,t)))}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){var r=await this.getOrInitRedirectPersistenceManager(t);return null===e?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){var t;return this.redirectPersistenceManager||(f(t=e&&Hs(e)||this._popupRedirectResolver,this,"argument-error"),this.redirectPersistenceManager=await Ks.create(this,[Hs(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()),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(){var e;this._isInitialized&&(this.idTokenSubscription.next(this.currentUser),e=this.currentUser?.uid??null,this.lastNotifiedUid!==e)&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(t,r,n,i){if(this._deleted)return()=>{};let e="function"==typeof r?r:r.next.bind(r),s=!1;var a=this._isInitialized?Promise.resolve():this._initializationPromise;if(f(a,this,"internal-error"),a.then(()=>{s||e(this.currentUser)}),"function"==typeof r){let e=t.addObserver(r,n,i);return()=>{s=!0,e()}}{let e=t.addObserver(r);return()=>{s=!0,e()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),(this.currentUser=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 f(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){e&&!this.frameworks.includes(e)&&(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=ra(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e={"X-Client-Version":this.clientVersion},t=(this.app.options.appId&&(e["X-Firebase-gmpid"]=this.app.options.appId),await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader()),t=(t&&(e["X-Firebase-Client"]=t),await this._getAppCheckToken());return t&&(e["X-Firebase-AppCheck"]=t),e}async _getAppCheckToken(){var e;return Rt(this.app)&&this.app.settings.appCheckToken?this.app.settings.appCheckToken:((e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken())?.error&&$i("Error while retrieving App Check token: "+e.error),e?.token)}}function aa(e){return _(e)}class oa{constructor(e){this.auth=e,this.observer=null,this.addObserver=Se(e=>this.observer=e)}get next(){return f(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}let la={async loadJS(){throw new Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function ha(e){return la.loadJS(e)}function ua(e){return"__"+e+Math.floor(1e6*Math.random())}class ca{constructor(e){this.auth=e,this.counter=1e12,this._widgets=new Map}render(e,t){var r=this.counter;return this._widgets.set(r,new pa(e,this.auth.name,t||{})),this.counter++,r}reset(e){var t=e||1e12;this._widgets.get(t)?.delete(),this._widgets.delete(t)}getResponse(e){return this._widgets.get(e||1e12)?.getResponse()||""}async execute(e){return this._widgets.get(e||1e12)?.execute(),""}}class da{constructor(){this.enterprise=new Ba}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class Ba{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class pa{constructor(e,t,r){this.params=r,this.timerId=null,this.deleted=!1,this.responseToken=null,this.clickHandler=()=>{this.execute()};var n="string"==typeof e?document.getElementById(e):e;f(n,"argument-error",{appName:t}),this.container=n,this.isVisible="invisible"!==this.params.size,this.isVisible?this.execute():this.container.addEventListener("click",this.clickHandler)}getResponse(){return this.checkIfDeleted(),this.responseToken}delete(){this.checkIfDeleted(),this.deleted=!0,this.timerId&&(clearTimeout(this.timerId),this.timerId=null),this.container.removeEventListener("click",this.clickHandler)}execute(){this.checkIfDeleted(),this.timerId||(this.timerId=window.setTimeout(()=>{this.responseToken=(e=>{var t=[],r="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let n=0;n<e;n++)t.push(r.charAt(Math.floor(Math.random()*r.length)));return t.join("")})(50);let{callback:e,"expired-callback":t}=this.params;if(e)try{e(this.responseToken)}catch(e){}this.timerId=window.setTimeout(()=>{if(this.timerId=null,this.responseToken=null,t)try{t()}catch(e){}this.isVisible&&this.execute()},6e4)},500))}checkIfDeleted(){if(this.deleted)throw new Error("reCAPTCHA mock was already deleted!")}}let ga="NO_RECAPTCHA",fa="onFirebaseAuthREInstanceReady";class ma{constructor(e){this.type="recaptcha-enterprise",this.auth=aa(e)}async verify(i="verify",e=!1){function s(e,t,r){let n=window.grecaptcha;Ds(n)?n.enterprise.ready(()=>{n.enterprise.execute(e,{action:i}).then(e=>{t(e)}).catch(()=>{t(ga)})}):r(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?(new da).execute("siteKey",{action:"verify"}):new Promise((r,n)=>{(async i=>{if(!e){if(null==i.tenantId&&null!=i._agentRecaptchaConfig)return i._agentRecaptchaConfig.siteKey;if(null!=i.tenantId&&void 0!==i._tenantRecaptchaConfigs[i.tenantId])return i._tenantRecaptchaConfigs[i.tenantId].siteKey}return new Promise(async(r,n)=>{Is(i,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(e=>{var t;if(void 0!==e.recaptchaKey)return t=new bs(e),null==i.tenantId?i._agentRecaptchaConfig=t:i._tenantRecaptchaConfigs[i.tenantId]=t,r(t.siteKey);n(new Error("recaptcha Enterprise site key undefined"))}).catch(e=>{n(e)})})})(this.auth).then(async t=>{if(!e&&Ds(window.grecaptcha)&&ma.scriptInjectionDeferred)await ma.scriptInjectionDeferred.promise,s(t,r,n);else if("undefined"==typeof window)n(new Error("RecaptchaVerifier is only supported in browser"));else{let e=la.recaptchaEnterpriseScript;0!==e.length&&(e+=t+("&onload="+fa)),ma.scriptInjectionDeferred=new Z,window[fa]=()=>{ma.scriptInjectionDeferred?.resolve()},ha(e).then(()=>ma.scriptInjectionDeferred?.promise).then(()=>{s(t,r,n)}).catch(e=>{n(e)})}}).catch(e=>{n(e)})})}}async function Ca(e,t,r,n=!1,i=!1){var s=new ma(e);let a;if(i)a=ga;else try{a=await s.verify(r)}catch(e){a=await s.verify(r,!0)}var o,l,s={...t};return"mfaSmsEnrollment"===r||"mfaSmsSignIn"===r?"phoneEnrollmentInfo"in s?(l=s.phoneEnrollmentInfo.phoneNumber,o=s.phoneEnrollmentInfo.recaptchaToken,Object.assign(s,{phoneEnrollmentInfo:{phoneNumber:l,recaptchaToken:o,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})):"phoneSignInInfo"in s&&(l=s.phoneSignInInfo.recaptchaToken,Object.assign(s,{phoneSignInInfo:{recaptchaToken:l,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})):(n?Object.assign(s,{captchaResp:a}):Object.assign(s,{captchaResponse:a}),Object.assign(s,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(s,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"})),s}async function va(r,n,i,s,e){var t;return"EMAIL_PASSWORD_PROVIDER"===e?r._getRecaptchaConfig()?.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")?(t=await Ca(r,n,i,"getOobCode"===i),s(r,t)):s(r,n).catch(async e=>{var t;return"auth/missing-recaptcha-token"===e.code?(console.log(i+" is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow."),t=await Ca(r,n,i,"getOobCode"===i),s(r,t)):Promise.reject(e)}):"PHONE_PROVIDER"===e?r._getRecaptchaConfig()?.isProviderEnabled("PHONE_PROVIDER")?(t=await Ca(r,n,i),s(r,t).catch(async e=>{var t;if("AUDIT"===r._getRecaptchaConfig()?.getProviderEnforcementState("PHONE_PROVIDER")&&("auth/missing-recaptcha-token"===e.code||"auth/invalid-app-credential"===e.code))return console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${i} flow.`),t=await Ca(r,n,i,!1,!0),s(r,t);return Promise.reject(e)})):(t=await Ca(r,n,i,!1,!0),s(r,t)):Promise.reject(e+" provider is not supported.")}function _a(e,t,r){var n=aa(e),i=(f(/^https?:\/\//.test(t),n,"invalid-emulator-scheme"),!!r?.disableWarnings),s=ya(t),{host:a,port:o}=(e=>{var t,r=ya(e);return(r=/(\/\/)?([^?#/]+)/.exec(e.substr(r.length)))?(r=r[2].split("@").pop()||"",(t=/^(\[[^\]]+\])(:|$)/.exec(r))?{host:t=t[1],port:wa(r.substr(t.length+1))}:([t,r]=r.split(":"),{host:t,port:wa(r)})):{host:"",port:null}})(t),l=null===o?"":":"+o,h={url:s+`//${a}${l}/`},o=Object.freeze({host:a,port:o,protocol:s.replace(":",""),options:Object.freeze({disableWarnings:i})});function u(){var 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)}n._canInitEmulator?(n.config.emulator=h,n.emulatorConfig=o,n.settings.appVerificationDisabledForTesting=!0,Ge(a)?He(s+"//"+a+l):i||("undefined"!=typeof console&&"function"==typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),"undefined"!=typeof window&&"undefined"!=typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",u):u()))):(f(n.config.emulator&&n.emulatorConfig,n,"emulator-config-failed"),f(we(h,n.config.emulator)&&we(o,n.emulatorConfig),n,"emulator-config-failed"))}function ya(e){var t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function wa(e){var t;return!e||(t=Number(e),isNaN(t))?null:t}ma.scriptInjectionDeferred=null;class Ea{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return ss("not implemented")}_getIdTokenResponse(e){return ss("not implemented")}_linkToIdToken(e,t){return ss("not implemented")}_getReauthenticationResolver(e){return ss("not implemented")}}async function Da(e,t){return ms(e,"POST","/v1/accounts:resetPassword",fs(e,t))}async function ba(e,t){return ms(e,"POST","/v1/accounts:signUp",t)}async function Ia(e,t){return vs(e,"POST","/v1/accounts:signInWithPassword",fs(e,t))}async function Ta(e,t){return ms(e,"POST","/v1/accounts:sendOobCode",fs(e,t))}async function Sa(e,t){return Ta(e,t)}async function ka(e,t){return Ta(e,t)}class Na extends Ea{constructor(e,t,r,n=null){super("password",r),this._email=e,this._password=t,this._tenantId=n}static _fromEmailAndPassword(e,t){return new Na(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new Na(e,t,"emailLink",r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){var t="string"==typeof e?JSON.parse(e):e;if(t?.email&&t?.password){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":return va(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signInWithPassword",Ia,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return(async(e,t)=>vs(e,"POST","/v1/accounts:signInWithEmailLink",fs(e,t)))(e,{email:this._email,oobCode:this._password});default:Zi(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return va(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",ba,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return(async(e,t)=>vs(e,"POST","/v1/accounts:signInWithEmailLink",fs(e,t)))(e,{idToken:t,email:this._email,oobCode:this._password});default:Zi(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}async function Aa(e,t){return vs(e,"POST","/v1/accounts:signInWithIdp",fs(e,t))}class Ra extends Ea{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){var t=new Ra(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):Zi("argument-error"),t}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(e){var t;let{providerId:r,signInMethod:n,...i}="string"==typeof e?JSON.parse(e):e;return r&&n?((t=new Ra(r,n)).idToken=i.idToken||void 0,t.accessToken=i.accessToken||void 0,t.secret=i.secret,t.nonce=i.nonce,t.pendingToken=i.pendingToken||null,t):null}_getIdTokenResponse(e){return Aa(e,this.buildRequest())}_linkToIdToken(e,t){var r=this.buildRequest();return r.idToken=t,Aa(e,r)}_getReauthenticationResolver(e){var t=this.buildRequest();return t.autoCreate=!1,Aa(e,t)}buildRequest(){var e,t={requestUri:"http://localhost",returnSecureToken:!0};return this.pendingToken?t.pendingToken=this.pendingToken:(e={},this.idToken&&(e.id_token=this.idToken),this.accessToken&&(e.access_token=this.accessToken),this.secret&&(e.oauth_token_secret=this.secret),e.providerId=this.providerId,this.nonce&&!this.pendingToken&&(e.nonce=this.nonce),t.postBody=De(e)),t}}async function Oa(e,t){return ms(e,"POST","/v1/accounts:sendVerificationCode",fs(e,t))}let Pa={USER_NOT_FOUND:"user-not-found"};class xa extends Ea{constructor(e){super("phone","phone"),this.params=e}static _fromVerification(e,t){return new xa({verificationId:e,verificationCode:t})}static _fromTokenResponse(e,t){return new xa({phoneNumber:e,temporaryProof:t})}_getIdTokenResponse(e){return(async(e,t)=>vs(e,"POST","/v1/accounts:signInWithPhoneNumber",fs(e,t)))(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return(async(e,t)=>{var r=await vs(e,"POST","/v1/accounts:signInWithPhoneNumber",fs(e,t));if(r.temporaryProof)throw ws(e,"account-exists-with-different-credential",r);return r})(e,{idToken:t,...this._makeVerificationRequest()})}_getReauthenticationResolver(e){return(async(e,t)=>vs(e,"POST","/v1/accounts:signInWithPhoneNumber",fs(e,{...t,operation:"REAUTH"}),Pa))(e,this._makeVerificationRequest())}_makeVerificationRequest(){var{temporaryProof:e,phoneNumber:t,verificationId:r,verificationCode:n}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:r,code:n}}toJSON(){var e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(e){var{verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}=e="string"==typeof e?JSON.parse(e):e;return r||t||n||i?new xa({verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}):null}}class Fa{constructor(e){var t=be(Ie(e)),r=t.apiKey??null,n=t.oobCode??null,i=(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}})(t.mode??null);f(r&&n&&i,"argument-error"),this.apiKey=r,this.operation=i,this.code=n,this.continueUrl=t.continueUrl??null,this.languageCode=t.lang??null,this.tenantId=t.tenantId??null}static parseLink(e){t=be(Ie(e=e)).link,r=t?be(Ie(t)).deep_link_id:null;var t,r,n=((n=be(Ie(e)).deep_link_id)?be(Ie(n)).link:null)||n||r||t||e;try{return new Fa(n)}catch{return null}}}class La{constructor(){this.providerId=La.PROVIDER_ID}static credential(e,t){return Na._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){var r=Fa.parseLink(t);return f(r,"argument-error"),Na._fromEmailAndCode(e,r.code,r.tenantId)}}La.PROVIDER_ID="password",La.EMAIL_PASSWORD_SIGN_IN_METHOD="password",La.EMAIL_LINK_SIGN_IN_METHOD="emailLink";class Ma{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}}class Ua extends Ma{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}class Ga extends Ua{static credentialFromJSON(e){var t="string"==typeof e?JSON.parse(e):e;return f("providerId"in t&&"signInMethod"in t,"argument-error"),Ra._fromParams(t)}credential(e){return this._credential({...e,nonce:e.rawNonce})}_credential(e){return f(e.idToken||e.accessToken,"argument-error"),Ra._fromParams({...e,providerId:this.providerId,signInMethod:this.providerId})}static credentialFromResult(e){return Ga.oauthCredentialFromTaggedObject(e)}static credentialFromError(e){return Ga.oauthCredentialFromTaggedObject(e.customData||{})}static oauthCredentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{oauthIdToken:t,oauthAccessToken:r,oauthTokenSecret:n,pendingToken:i,nonce:s,providerId:a}=e;if(!(r||n||t||i))return null;if(!a)return null;try{return new Ga(a)._credential({idToken:t,accessToken:r,nonce:s,pendingToken:i})}catch(e){return null}}}class Ha extends Ua{constructor(){super("facebook.com")}static credential(e){return Ra._fromParams({providerId:Ha.PROVIDER_ID,signInMethod:Ha.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return Ha.credentialFromTaggedObject(e)}static credentialFromError(e){return Ha.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!(e&&"oauthAccessToken"in e))return null;if(!e.oauthAccessToken)return null;try{return Ha.credential(e.oauthAccessToken)}catch{return null}}}Ha.FACEBOOK_SIGN_IN_METHOD="facebook.com",Ha.PROVIDER_ID="facebook.com";class Va extends Ua{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return Ra._fromParams({providerId:Va.PROVIDER_ID,signInMethod:Va.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return Va.credentialFromTaggedObject(e)}static credentialFromError(e){return Va.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return Va.credential(t,r)}catch{return null}}}Va.GOOGLE_SIGN_IN_METHOD="google.com",Va.PROVIDER_ID="google.com";class qa extends Ua{constructor(){super("github.com")}static credential(e){return Ra._fromParams({providerId:qa.PROVIDER_ID,signInMethod:qa.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return qa.credentialFromTaggedObject(e)}static credentialFromError(e){return qa.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!(e&&"oauthAccessToken"in e))return null;if(!e.oauthAccessToken)return null;try{return qa.credential(e.oauthAccessToken)}catch{return null}}}qa.GITHUB_SIGN_IN_METHOD="github.com",qa.PROVIDER_ID="github.com";class ja extends Ea{constructor(e,t){super(e,e),this.pendingToken=t}_getIdTokenResponse(e){return Aa(e,this.buildRequest())}_linkToIdToken(e,t){var r=this.buildRequest();return r.idToken=t,Aa(e,r)}_getReauthenticationResolver(e){var t=this.buildRequest();return t.autoCreate=!1,Aa(e,t)}toJSON(){return{signInMethod:this.signInMethod,providerId:this.providerId,pendingToken:this.pendingToken}}static fromJSON(e){var{providerId:t,signInMethod:r,pendingToken:n}="string"==typeof e?JSON.parse(e):e;return t&&r&&n&&t===r?new ja(t,n):null}static _create(e,t){return new ja(e,t)}buildRequest(){return{requestUri:"http://localhost",returnSecureToken:!0,pendingToken:this.pendingToken}}}class Ka extends Ma{constructor(e){f(e.startsWith("saml."),"argument-error"),super(e)}static credentialFromResult(e){return Ka.samlCredentialFromTaggedObject(e)}static credentialFromError(e){return Ka.samlCredentialFromTaggedObject(e.customData||{})}static credentialFromJSON(e){var t=ja.fromJSON(e);return f(t,"argument-error"),t}static samlCredentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{pendingToken:t,providerId:r}=e;if(!t||!r)return null;try{return ja._create(r,t)}catch(e){return null}}}class za extends Ua{constructor(){super("twitter.com")}static credential(e,t){return Ra._fromParams({providerId:za.PROVIDER_ID,signInMethod:za.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return za.credentialFromTaggedObject(e)}static credentialFromError(e){return za.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return za.credential(t,r)}catch{return null}}}async function Ja(e,t){return vs(e,"POST","/v1/accounts:signUp",fs(e,t))}za.TWITTER_SIGN_IN_METHOD="twitter.com",za.PROVIDER_ID="twitter.com";class Wa{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,n=!1){var i=await Us._fromIdTokenResponse(e,r,n),s=Qa(r);return new Wa({user:i,providerId:s,_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){await e._updateTokensIfNecessary(r,!0);var n=Qa(r);return new Wa({user:e,providerId:n,_tokenResponse:r,operationType:t})}}function Qa(e){return e.providerId||("phoneNumber"in e?"phone":null)}class Ya extends Be{constructor(e,t,r,n){super(t.code,t.message),this.operationType=r,this.user=n,Object.setPrototypeOf(this,Ya.prototype),this.customData={appName:e.name,tenantId:e.tenantId??void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,n){return new Ya(e,t,r,n)}}function $a(t,r,e,n){return("reauthenticate"===r?e._getReauthenticationResolver(t):e._getIdTokenResponse(t)).catch(e=>{if("auth/multi-factor-auth-required"===e.code)throw Ya._fromErrorAndOperation(t,e,r,n);throw e})}function Xa(e){return new Set(e.map(({providerId:e})=>e).filter(e=>!!e))}async function Za(e,t){var r=_(e),n=(await to(!0,r,t),e=r.auth,t={idToken:await r.getIdToken(),deleteProvider:[t]},await ms(e,"POST","/v1/accounts:update",t)).providerUserInfo;let i=Xa(n||[]);return r.providerData=r.providerData.filter(e=>i.has(e.providerId)),i.has("phone")||(r.phoneNumber=null),await r.auth._persistUserIfCurrent(r),r}async function eo(e,t,r=!1){var n=await Rs(e,t._linkToIdToken(e.auth,await e.getIdToken()),r);return Wa._forOperation(e,"link",n)}async function to(e,t,r){await xs(t);var n=!1===e?"provider-already-linked":"no-such-provider";f(Xa(t.providerData).has(r)===e,t.auth,n)}async function ro(e,t,r=!1){var n=e.auth;if(Rt(n.app))return Promise.reject(rs(n));var i="reauthenticate";try{var s=await Rs(e,$a(n,i,t,e),r),a=(f(s.idToken,n,"internal-error"),Ns(s.idToken)),o=(f(a,n,"internal-error"),a).sub;return f(e.uid===o,n,"user-mismatch"),Wa._forOperation(e,i,s)}catch(e){throw"auth/user-not-found"===e?.code&&Zi(n,"user-mismatch"),e}}async function no(e,t,r=!1){var n;return Rt(e.app)?Promise.reject(rs(e)):(n=await $a(e,"signIn",t),n=await Wa._fromIdTokenResponse(e,"signIn",n),r||await e._updateCurrentUser(n.user),n)}async function io(e,t){return no(aa(e),t)}async function so(e,t){var r=_(e);return await to(!1,r,t.providerId),eo(r,t)}async function ao(e,t){return ro(_(e),t)}async function oo(e,t){var r,n;return Rt(e.app)?Promise.reject(rs(e)):(n=await vs(r=aa(e),"POST","/v1/accounts:signInWithCustomToken",fs(r,{token:t,returnSecureToken:!0})),n=await Wa._fromIdTokenResponse(r,"signIn",n),await r._updateCurrentUser(n.user),n)}class lo{constructor(e,t){this.factorId=e,this.uid=t.mfaEnrollmentId,this.enrollmentTime=new Date(t.enrolledAt).toUTCString(),this.displayName=t.displayName}static _fromServerResponse(e,t){return"phoneInfo"in t?ho._fromServerResponse(e,t):"totpInfo"in t?uo._fromServerResponse(e,t):Zi(e,"internal-error")}}class ho extends lo{constructor(e){super("phone",e),this.phoneNumber=e.phoneInfo}static _fromServerResponse(e,t){return new ho(t)}}class uo extends lo{constructor(e){super("totp",e)}static _fromServerResponse(e,t){return new uo(t)}}function co(e,t,r){f(0<r.url?.length,e,"invalid-continue-uri"),f(void 0===r.dynamicLinkDomain||0<r.dynamicLinkDomain.length,e,"invalid-dynamic-link-domain"),f(void 0===r.linkDomain||0<r.linkDomain.length,e,"invalid-hosting-link-domain"),t.continueUrl=r.url,t.dynamicLinkDomain=r.dynamicLinkDomain,t.linkDomain=r.linkDomain,t.canHandleCodeInApp=r.handleCodeInApp,r.iOS&&(f(0<r.iOS.bundleId.length,e,"missing-ios-bundle-id"),t.iOSBundleId=r.iOS.bundleId),r.android&&(f(0<r.android.packageName.length,e,"missing-android-pkg-name"),t.androidInstallApp=r.android.installApp,t.androidMinimumVersionCode=r.android.minimumVersion,t.androidPackageName=r.android.packageName)}async function Bo(e){var t=aa(e);t._getPasswordPolicyInternal()&&await t._updatePasswordPolicy()}async function po(e,t){await ms(e=_(e),"POST","/v1/accounts:update",fs(e,{oobCode:t}))}async function go(e,t){var r=_(e),n=await Da(r,{oobCode:t}),i=n.requestType;switch(f(i,r,"internal-error"),i){case"EMAIL_SIGNIN":break;case"VERIFY_AND_CHANGE_EMAIL":f(n.newEmail,r,"internal-error");break;case"REVERT_SECOND_FACTOR_ADDITION":f(n.mfaInfo,r,"internal-error");default:f(n.email,r,"internal-error")}let s=null;return n.mfaInfo&&(s=lo._fromServerResponse(aa(r),n.mfaInfo)),{data:{email:("VERIFY_AND_CHANGE_EMAIL"===n.requestType?n.newEmail:n.email)||null,previousEmail:("VERIFY_AND_CHANGE_EMAIL"===n.requestType?n.email:n.newEmail)||null,multiFactorInfo:s},operation:i}}async function fo(e,t){var r=ls()?os():"http://localhost",r=(await ms(e=_(e),"POST","/v1/accounts:createAuthUri",fs(e,{identifier:t,continueUri:r}))).signinMethods;return r||[]}async function mo(e,t){var r=_(e),n={requestType:"VERIFY_EMAIL",idToken:await e.getIdToken()},r=(t&&co(r.auth,n,t),await Ta(r.auth,n)).email;r!==e.email&&await e.reload()}async function Co(e,t,r){var n=_(e),i={requestType:"VERIFY_AND_CHANGE_EMAIL",idToken:await e.getIdToken(),newEmail:t},n=(r&&co(n.auth,i,r),await Ta(n.auth,i)).email;n!==e.email&&await e.reload()}async function vo(e,{displayName:t,photoURL:r}){var n,i,s;void 0===t&&void 0===r||(i=await(n=_(e)).getIdToken(),i=await Rs(n,(async(e,t)=>ms(e,"POST","/v1/accounts:update",t))(n.auth,{idToken:i,displayName:t,photoUrl:r,returnSecureToken:!0})),n.displayName=i.displayName||null,n.photoURL=i.photoUrl||null,(s=n.providerData.find(({providerId:e})=>"password"===e))&&(s.displayName=n.displayName,s.photoURL=n.photoURL),await n._updateTokensIfNecessary(i))}async function _o(e,t,r){var n=e.auth,i={idToken:await e.getIdToken(),returnSecureToken:!0},n=(t&&(i.email=t),r&&(i.password=r),await Rs(e,(async(e,t)=>ms(e,"POST","/v1/accounts:update",t))(n,i)));await e._updateTokensIfNecessary(n,!0)}class yo{constructor(e,t,r={}){this.isNewUser=e,this.providerId=t,this.profile=r}}class wo extends yo{constructor(e,t,r,n){super(e,t,r),this.username=n}}class Eo extends yo{constructor(e,t){super(e,"facebook.com",t)}}class Do extends wo{constructor(e,t){super(e,"github.com",t,"string"==typeof t?.login?t?.login:null)}}class bo extends yo{constructor(e,t){super(e,"google.com",t)}}class Io extends wo{constructor(e,t,r){super(e,"twitter.com",t,r)}}function To(e){var{user:t,_tokenResponse:r}=e;if(t.isAnonymous&&!r)return{providerId:null,isNewUser:!1,profile:null};var n=r;if(!n)return null;var i=n.providerId,s=n.rawUserInfo?JSON.parse(n.rawUserInfo):{},a=n.isNewUser||"identitytoolkit#SignupNewUserResponse"===n.kind;if(!i&&n?.idToken){t=Ns(n.idToken)?.firebase?.sign_in_provider;if(t)return t="anonymous"!==t&&"custom"!==t?t:null,new yo(a,t)}if(!i)return null;switch(i){case"facebook.com":return new Eo(a,s);case"github.com":return new Do(a,s);case"google.com":return new bo(a,s);case"twitter.com":return new Io(a,s,n.screenName||null);case"custom":case"anonymous":return new yo(a,null);default:return new yo(a,i,s)}}class So{constructor(e,t,r){this.type=e,this.credential=t,this.user=r}static _fromIdtoken(e,t){return new So("enroll",e,t)}static _fromMfaPendingCredential(e){return new So("signin",e)}toJSON(){return{multiFactorSession:{["enroll"===this.type?"idToken":"pendingCredential"]:this.credential}}}static fromJSON(e){if(e?.multiFactorSession){if(e.multiFactorSession?.pendingCredential)return So._fromMfaPendingCredential(e.multiFactorSession.pendingCredential);if(e.multiFactorSession?.idToken)return So._fromIdtoken(e.multiFactorSession.idToken)}return null}}class ko{constructor(e,t,r){this.session=e,this.hints=t,this.signInResolver=r}static _fromError(e,i){let s=aa(e),a=i.customData._serverResponse;var t=(a.mfaInfo||[]).map(e=>lo._fromServerResponse(s,e));f(a.mfaPendingCredential,s,"internal-error");let o=So._fromMfaPendingCredential(a.mfaPendingCredential);return new ko(o,t,async e=>{var t=await e._process(s,o),r=(delete a.mfaInfo,delete a.mfaPendingCredential,{...a,idToken:t.idToken,refreshToken:t.refreshToken});switch(i.operationType){case"signIn":var n=await Wa._fromIdTokenResponse(s,i.operationType,r);return await s._updateCurrentUser(n.user),n;case"reauthenticate":return f(i.user,s,"internal-error"),Wa._forOperation(i.user,i.operationType,r);default:Zi(s,"internal-error")}})}async resolveSignIn(e){return this.signInResolver(e)}}function No(e,t){return ms(e,"POST","/v2/accounts/mfaEnrollment:start",fs(e,t))}class Ao{constructor(t){this.user=t,this.enrolledFactors=[],t._onReload(e=>{e.mfaInfo&&(this.enrolledFactors=e.mfaInfo.map(e=>lo._fromServerResponse(t.auth,e)))})}static _fromUser(e){return new Ao(e)}async getSession(){return So._fromIdtoken(await this.user.getIdToken(),this.user)}async enroll(e,t){var r=e,n=await this.getSession(),r=await Rs(this.user,r._process(this.user.auth,n,t));return await this.user._updateTokensIfNecessary(r),this.user.reload()}async unenroll(e){let t="string"==typeof e?e:e.uid;var r,n,i=await this.user.getIdToken();try{var s=await Rs(this.user,(r=this.user.auth,n={idToken:i,mfaEnrollmentId:t},ms(r,"POST","/v2/accounts/mfaEnrollment:withdraw",fs(r,n))));this.enrolledFactors=this.enrolledFactors.filter(({uid:e})=>e!==t),await this.user._updateTokensIfNecessary(s),await this.user.reload()}catch(e){throw e}}}let Ro=new WeakMap;let Oo="__sak";class Po{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(Oo,"1"),this.storage.removeItem(Oo),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){var 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()}}class xo extends Po{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=ta(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(var t of Object.keys(this.listeners)){var r=this.storage.getItem(t),n=this.localCache[t];r!==n&&e(t,n,r)}}onStorageEvent(e,r=!1){if(e.key){let t=e.key;r?this.detachListener():this.stopPolling();var n=()=>{var e=this.storage.getItem(t);!r&&this.localCache[t]===e||this.notifyListeners(t,e)},i=this.storage.getItem(t);oe()&&10===document.documentMode&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(n,10):n()}else this.forAllChangedKeys((e,t,r)=>{this.notifyListeners(e,r)})}notifyListeners(e,t){this.localCache[e]=t;var r=this.listeners[e];if(r)for(var n of Array.from(r))n(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(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),0===this.listeners[e].size)&&delete this.listeners[e],0===Object.keys(this.listeners).length&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){var t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}xo.type="LOCAL";let Fo=xo;class Lo extends Po{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}Lo.type="SESSION";let Mo=Lo;class Uo{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(t){var e=this.receivers.find(e=>e.isListeningto(t));return e||(e=new Uo(t),this.receivers.push(e),e)}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let t=e,{eventId:r,eventType:n,data:i}=t.data;var s=this.handlersMap[n];s?.size&&(t.ports[0].postMessage({status:"ack",eventId:r,eventType:n}),s=Array.from(s).map(async e=>e(t.origin,i)),s=await Promise.all(s.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(e){return{fulfilled:!1,reason:e}}})),t.ports[0].postMessage({status:"done",eventId:r,eventType:n,response:s}))}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&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&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}function Go(e="",t=10){let r="";for(let n=0;n<t;n++)r+=Math.floor(10*Math.random());return e+r}Uo.receivers=[];class Ho{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,a=50){let o="undefined"!=typeof MessageChannel?new MessageChannel:null;if(!o)throw new Error("connection_unavailable");let l,h;return new Promise((r,n)=>{let i=Go("",20),s=(o.port1.start(),setTimeout(()=>{n(new Error("unsupported_event"))},a));h={messageChannel:o,onMessage(e){var t=e;if(t.data.eventId===i)switch(t.data.status){case"ack":clearTimeout(s),l=setTimeout(()=>{n(new Error("timeout"))},3e3);break;case"done":clearTimeout(l),r(t.data.response);break;default:clearTimeout(s),clearTimeout(l),n(new Error("invalid_response"))}}},this.handlers.add(h),o.port1.addEventListener("message",h.onMessage),this.target.postMessage({eventType:e,eventId:i,data:t},[o.port2])}).finally(()=>{h&&this.removeMessageHandler(h)})}}function Vo(){return window}function qo(){return void 0!==Vo().WorkerGlobalScope&&"function"==typeof Vo().importScripts}let jo="firebaseLocalStorageDb",Ko="firebaseLocalStorage",zo="fbase_key";class Jo{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 Wo(e,t){return e.transaction([Ko],t?"readwrite":"readonly").objectStore(Ko)}function Qo(){let n=indexedDB.open(jo,1);return new Promise((t,r)=>{n.addEventListener("error",()=>{r(n.error)}),n.addEventListener("upgradeneeded",()=>{var e=n.result;try{e.createObjectStore(Ko,{keyPath:zo})}catch(e){r(e)}}),n.addEventListener("success",async()=>{var e=n.result;e.objectStoreNames.contains(Ko)?t(e):(e.close(),e=indexedDB.deleteDatabase(jo),await new Jo(e).toPromise(),t(await Qo()))})})}async function Yo(e,t,r){var n=Wo(e,!0).put({fbase_key:t,value:r});return new Jo(n).toPromise()}function $o(e,t){var r=Wo(e,!0).delete(t);return new Jo(r).toPromise()}class Xo{registerLifecycleListeners(){"undefined"!=typeof window&&"function"==typeof window.addEventListener&&(window.addEventListener("pagehide",this.onPageHide),window.addEventListener("pageshow",this.onPageShow)),"undefined"!=typeof document&&"function"==typeof document.addEventListener&&document.addEventListener("visibilitychange",this.onVisibilityChange)}unregisterLifecycleListeners(){"undefined"!=typeof window&&"function"==typeof window.removeEventListener&&(window.removeEventListener("pagehide",this.onPageHide),window.removeEventListener("pageshow",this.onPageShow)),"undefined"!=typeof document&&"function"==typeof document.removeEventListener&&document.removeEventListener("visibilitychange",this.onVisibilityChange)}constructor(){this.type="LOCAL",this.dbPromise=null,this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.isHiding=!1,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this.onPageHide=()=>{this.isHiding=!0,this.stopPolling(),this.dbPromise&&(this.dbPromise.then(e=>e.close()).catch(()=>{}),this.dbPromise=null)},this.onPageShow=()=>{this.isHiding&&(this.isHiding=!1,0<Object.keys(this.listeners).length)&&this.startPolling()},this.onVisibilityChange=()=>{"undefined"!=typeof document&&("hidden"===document.visibilityState?this.onPageHide():"visible"===document.visibilityState&&this.onPageShow())},this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){if(this.isHiding)throw new Error("Database is closing/hidden");return this.dbPromise||(this.dbPromise=Qo(),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.isHiding)throw e;if(3<t++)throw e;this.dbPromise&&((await this.dbPromise).close(),this.dbPromise=null)}}async initializeServiceWorkerMessaging(){return qo()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=Uo._getInstance(qo()?self:null),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e;this.activeServiceWorker=await(async()=>{if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}})(),this.activeServiceWorker&&(this.sender=new Ho(this.activeServiceWorker),e=await this.sender._send("ping",{},800))&&e[0]?.fulfilled&&e[0]?.value.includes("keyChanged")&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(this.sender&&this.activeServiceWorker&&(navigator?.serviceWorker?.controller||null)===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 Yo(e,Oo,"1"),await $o(e,Oo)}),!0):!1}catch{}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(t,r){return this._withPendingWrite(async()=>(await this._withRetries(e=>Yo(e,t,r)),this.localCache[t]=r,this.notifyServiceWorker(t)))}async _get(t){var e=await this._withRetries(e=>(async(e,t)=>{var r=Wo(e,!1).get(t);return void 0===(r=await new Jo(r).toPromise())?null:r.value})(e,t));return this.localCache[t]=e}async _remove(t){return this._withPendingWrite(async()=>(await this._withRetries(e=>$o(e,t)),delete this.localCache[t],this.notifyServiceWorker(t)))}async _poll(){if(this.isHiding)return[];try{var e=await this._withRetries(e=>{var t=Wo(e,!1).getAll();return new Jo(t).toPromise()});if(this.isHiding)return[];if(!e)return[];if(0!==this.pendingWrites)return[];var t,r=[],n=new Set;if(0!==e.length)for(var{fbase_key:i,value:s}of e)n.add(i),JSON.stringify(this.localCache[i])!==JSON.stringify(s)&&(this.notifyListeners(i,s),r.push(i));for(t of Object.keys(this.localCache))this.localCache[t]&&!n.has(t)&&(this.notifyListeners(t,null),r.push(t));return r}catch(e){return this.isHiding||$i("Firebase Auth cross-tab polling failed with error: "+e),[]}}notifyListeners(e,t){this.localCache[e]=t;var r=this.listeners[e];if(r)for(var n of Array.from(r))n(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&(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),0===this.listeners[e].size)&&delete this.listeners[e],0===Object.keys(this.listeners).length&&(this.stopPolling(),this.unregisterLifecycleListeners())}}Xo.type="LOCAL";let Zo=Xo;function el(e,t){return ms(e,"POST","/v2/accounts/mfaSignIn:start",fs(e,t))}let tl=ua("rcb"),rl=new us(3e4,6e4);class nl{constructor(){this.hostLanguage="",this.counter=0,this.librarySeparatelyLoaded=!!Vo().grecaptcha?.render}load(i,s=""){var e;return f((e=s).length<=6&&/^\s*[a-zA-Z0-9\-]*\s*$/.test(e),i,"argument-error"),this.shouldResolveImmediately(s)&&Es(Vo().grecaptcha)?Promise.resolve(Vo().grecaptcha):new Promise((t,r)=>{let n=Vo().setTimeout(()=>{r(es(i,"network-request-failed"))},rl.get());Vo()[tl]=()=>{Vo().clearTimeout(n),delete Vo()[tl];var e=Vo().grecaptcha;if(e&&Es(e)){let n=e.render;e.render=(e,t)=>{var r=n(e,t);return this.counter++,r},this.hostLanguage=s,t(e)}else r(es(i,"internal-error"))},ha(la.recaptchaV2Script+"?"+De({onload:tl,render:"explicit",hl:s})).catch(()=>{clearTimeout(n),r(es(i,"internal-error"))})})}clearedOneInstance(){this.counter--}shouldResolveImmediately(e){return!!Vo().grecaptcha?.render&&(e===this.hostLanguage||0<this.counter||this.librarySeparatelyLoaded)}}class il{async load(e){return new ca(e)}clearedOneInstance(){}}let sl="recaptcha",al={theme:"light",type:"image"},ol=class{constructor(e,t,r={...al}){this.parameters=r,this.type=sl,this.destroyed=!1,this.widgetId=null,this.tokenChangeListeners=new Set,this.renderPromise=null,this.recaptcha=null,this.auth=aa(e),this.isInvisible="invisible"===this.parameters.size,f("undefined"!=typeof document,this.auth,"operation-not-supported-in-this-environment");var n="string"==typeof t?document.getElementById(t):t;f(n,this.auth,"argument-error"),this.container=n,this.parameters.callback=this.makeTokenCallback(this.parameters.callback),this._recaptchaLoader=new(this.auth.settings.appVerificationDisabledForTesting?il:nl),this.validateStartingState()}async verify(){this.assertNotDestroyed();let e=await this.render(),n=this.getAssertedRecaptcha();var t=n.getResponse(e);return t||new Promise(t=>{let r=e=>{e&&(this.tokenChangeListeners.delete(r),t(e))};this.tokenChangeListeners.add(r),this.isInvisible&&n.execute(e)})}render(){try{this.assertNotDestroyed()}catch(e){return Promise.reject(e)}return this.renderPromise||(this.renderPromise=this.makeRenderPromise().catch(e=>{throw this.renderPromise=null,e})),this.renderPromise}_reset(){this.assertNotDestroyed(),null!==this.widgetId&&this.getAssertedRecaptcha().reset(this.widgetId)}clear(){this.assertNotDestroyed(),this.destroyed=!0,this._recaptchaLoader.clearedOneInstance(),this.isInvisible||this.container.childNodes.forEach(e=>{this.container.removeChild(e)})}validateStartingState(){f(!this.parameters.sitekey,this.auth,"argument-error"),f(this.isInvisible||!this.container.hasChildNodes(),this.auth,"argument-error"),f("undefined"!=typeof document,this.auth,"operation-not-supported-in-this-environment")}makeTokenCallback(r){return t=>{var e;this.tokenChangeListeners.forEach(e=>e(t)),"function"==typeof r?r(t):"string"==typeof r&&"function"==typeof(e=Vo()[r])&&e(t)}}assertNotDestroyed(){f(!this.destroyed,this.auth,"internal-error")}async makeRenderPromise(){if(await this.init(),!this.widgetId){let e=this.container;var t;this.isInvisible||(t=document.createElement("div"),e.appendChild(t),e=t),this.widgetId=this.getAssertedRecaptcha().render(e,this.parameters)}return this.widgetId}async init(){f(ls()&&!qo(),this.auth,"internal-error"),await(()=>{let t=null;return new Promise(e=>{"complete"===document.readyState?e():(t=()=>e(),window.addEventListener("load",t))}).catch(e=>{throw t&&window.removeEventListener("load",t),e})})(),this.recaptcha=await this._recaptchaLoader.load(this.auth,this.auth.languageCode||void 0);var e=await((await ms(this.auth,"GET","/v1/recaptchaParams")).recaptchaSiteKey||"");f(e,this.auth,"internal-error"),this.parameters.sitekey=e}getAssertedRecaptcha(){return f(this.recaptcha,this.auth,"internal-error"),this.recaptcha}};class ll{constructor(e,t){this.verificationId=e,this.onConfirmation=t}confirm(e){var t=xa._fromVerification(this.verificationId,e);return this.onConfirmation(t)}}async function hl(t,r,n){if(!t._getRecaptchaConfig())try{e=aa(t),i=await Is(e,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}),i=new bs(i),null==e.tenantId?e._agentRecaptchaConfig=i:e._tenantRecaptchaConfigs[e.tenantId]=i,await(!i.isAnyProviderEnabled()||!new ma(e).verify())}catch(e){console.log("Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.")}var e,i,s,a,o,l,h;try{let e;return("session"in(e="string"==typeof r?{phoneNumber:r}:r)?(s=e.session,"phoneNumber"in e?(f("enroll"===s.type,t,"internal-error"),a={idToken:s.credential,phoneEnrollmentInfo:{phoneNumber:e.phoneNumber,clientType:"CLIENT_TYPE_WEB"}},(await va(t,a,"mfaSmsEnrollment",async(e,t)=>t.phoneEnrollmentInfo.captchaResponse===ga?(f(n?.type===sl,e,"argument-error"),No(e,await ul(e,t,n))):No(e,t),"PHONE_PROVIDER").catch(e=>Promise.reject(e))).phoneSessionInfo):(f("signin"===s.type,t,"internal-error"),f(o=e.multiFactorHint?.uid||e.multiFactorUid,t,"missing-multi-factor-info"),l={mfaPendingCredential:s.credential,mfaEnrollmentId:o,phoneSignInInfo:{clientType:"CLIENT_TYPE_WEB"}},(await va(t,l,"mfaSmsSignIn",async(e,t)=>t.phoneSignInInfo.captchaResponse===ga?(f(n?.type===sl,e,"argument-error"),el(e,await ul(e,t,n))):el(e,t),"PHONE_PROVIDER").catch(e=>Promise.reject(e))).phoneResponseInfo)):(h={phoneNumber:e.phoneNumber,clientType:"CLIENT_TYPE_WEB"},await va(t,h,"sendVerificationCode",async(e,t)=>t.captchaResponse===ga?(f(n?.type===sl,e,"argument-error"),Oa(e,await ul(e,t,n))):Oa(e,t),"PHONE_PROVIDER").catch(e=>Promise.reject(e)))).sessionInfo}finally{n?._reset()}}async function ul(e,t,r){f(r.type===sl,e,"argument-error");var n,i,s,a,o=await r.verify(),l=(f("string"==typeof o,e,"argument-error"),{...t});return"phoneEnrollmentInfo"in l?(i=l.phoneEnrollmentInfo.phoneNumber,s=l.phoneEnrollmentInfo.captchaResponse,a=l.phoneEnrollmentInfo.clientType,n=l.phoneEnrollmentInfo.recaptchaVersion,Object.assign(l,{phoneEnrollmentInfo:{phoneNumber:i,recaptchaToken:o,captchaResponse:s,clientType:a,recaptchaVersion:n}})):"phoneSignInInfo"in l?(i=l.phoneSignInInfo.captchaResponse,s=l.phoneSignInInfo.clientType,a=l.phoneSignInInfo.recaptchaVersion,Object.assign(l,{phoneSignInInfo:{recaptchaToken:o,captchaResponse:i,clientType:s,recaptchaVersion:a}})):Object.assign(l,{recaptchaToken:o}),l}let cl=class Jh{constructor(e){this.providerId=Jh.PROVIDER_ID,this.auth=aa(e)}verifyPhoneNumber(e,t){return hl(this.auth,e,_(t))}static credential(e,t){return xa._fromVerification(e,t)}static credentialFromResult(e){var t=e;return Jh.credentialFromTaggedObject(t)}static credentialFromError(e){return Jh.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){var t,r;return e&&({phoneNumber:t,temporaryProof:r}=e,t)&&r?xa._fromTokenResponse(t,r):null}};function dl(e,t){return t?Hs(t):(f(e._popupRedirectResolver,e,"argument-error"),e._popupRedirectResolver)}cl.PROVIDER_ID="phone",cl.PHONE_SIGN_IN_METHOD="phone";class Bl extends Ea{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return Aa(e,this._buildIdpRequest())}_linkToIdToken(e,t){return Aa(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return Aa(e,this._buildIdpRequest())}_buildIdpRequest(e){var 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 pl(e){return no(e.auth,new Bl(e),e.bypassAuthState)}function gl(e){var{auth:t,user:r}=e;return f(r,t,"internal-error"),ro(r,new Bl(e),e.bypassAuthState)}async function fl(e){var{auth:t,user:r}=e;return f(r,t,"internal-error"),eo(r,new Bl(e),e.bypassAuthState)}class ml{constructor(e,t,r,n,i=!1){this.auth=e,this.resolver=r,this.user=n,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){var{urlResponse:t,sessionId:r,postBody:n,tenantId:i,error:s,type:a}=e;if(s)this.reject(s);else{s={auth:this.auth,requestUri:t,sessionId:r,tenantId:i||void 0,postBody:n||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(s))}catch(e){this.reject(e)}}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return pl;case"linkViaPopup":case"linkViaRedirect":return fl;case"reauthViaPopup":case"reauthViaRedirect":return gl;default:Zi(this.auth,"internal-error")}}resolve(e){as(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){as(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()}}let Cl=new us(2e3,1e4);class vl extends ml{constructor(e,t,r,n,i){super(e,t,n,i),this.provider=r,this.authWindow=null,this.pollId=null,vl.currentPopupAction&&vl.currentPopupAction.cancel(),vl.currentPopupAction=this}async executeNotNull(){var e=await this.execute();return f(e,this.auth,"internal-error"),e}async onExecution(){as(1===this.filter.length,"Popup operations only handle one event");var e=Go();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(es(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(es(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,vl.currentPopupAction=null}pollUserCancellation(){let e=()=>{this.authWindow?.window?.closed?this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(es(this.auth,"popup-closed-by-user"))},8e3):this.pollId=window.setTimeout(e,Cl.get())};e()}}vl.currentPopupAction=null;let _l="pendingRedirect",yl=new Map;class wl extends ml{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let t=yl.get(this.auth._key());if(!t){try{let e=await(async(e,t)=>{var r,n=Il(t),i=bl(e);return!!await i._isAvailable()&&(r="true"===await i._get(n),await i._remove(n),r)})(this.resolver,this.auth)?await super.execute():null;t=()=>Promise.resolve(e)}catch(e){t=()=>Promise.reject(e)}yl.set(this.auth._key(),t)}return this.bypassAuthState||yl.set(this.auth._key(),()=>Promise.resolve(null)),t()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);if("unknown"===e.type)this.resolve(null);else if(e.eventId){var t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function El(e,t){return bl(e)._set(Il(t),"true")}function Dl(e,t){yl.set(e._key(),t)}function bl(e){return Hs(e._redirectPersistence)}function Il(e){return js(_l,e.config.apiKey,e.name)}function Tl(e,t,r){return(async(e,t,r)=>{var n,i;return Rt(e.app)?Promise.reject(rs(e)):(n=aa(e),ns(e,t,Ma),await n._initializationPromise,await El(i=dl(n,r),n),i._openRedirect(n,t,"signInViaRedirect"))})(e,t,r)}function Sl(e,t,r){return(async(e,t,r)=>{var n=_(e);if(ns(n.auth,t,Ma),Rt(n.auth.app))return Promise.reject(rs(n.auth));await n.auth._initializationPromise;var i=dl(n.auth,r),s=(await El(i,n.auth),await Al(n));return i._openRedirect(n.auth,t,"reauthViaRedirect",s)})(e,t,r)}function kl(e,t,r){return(async(e,t,r)=>{var n=_(e),i=(ns(n.auth,t,Ma),await n.auth._initializationPromise,dl(n.auth,r)),s=(await to(!1,n,t.providerId),await El(i,n.auth),await Al(n));return i._openRedirect(n.auth,t,"linkViaRedirect",s)})(e,t,r)}async function Nl(e,t,r=!1){var n,i;return Rt(e.app)?Promise.reject(rs(e)):(i=dl(n=aa(e),t),(i=await new wl(n,i,r).execute())&&!r&&(delete i.user._redirectEventId,await n._persistUserIfCurrent(i.user),await n._setRedirectUser(null,t)),i)}async function Al(e){var t=Go(e.uid+":::");return e._redirectEventId=t,await e.auth._setRedirectUser(e),await e.auth._persistUserIfCurrent(e),t}class Rl{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(t){if(this.hasEventBeenHandled(t))return!1;let r=!1;return this.consumers.forEach(e=>{this.isEventForConsumer(t,e)&&(r=!0,this.sendToConsumer(t,e),this.saveEventToCache(t))}),this.hasHandledPotentialRedirect||!(e=>{switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return 1;case"unknown":return Pl(e);default:return}})(t)||(this.hasHandledPotentialRedirect=!0,r)||(this.queuedRedirectEvent=t,r=!0),r}sendToConsumer(e,t){var r;e.error&&!Pl(e)?(r=e.error.code?.split("auth/")[1]||"internal-error",t.onError(es(this.auth,r))):t.onAuthEvent(e)}isEventForConsumer(e,t){var r=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return 6e5<=Date.now()-this.lastProcessedEventTime&&this.cachedEventUids.clear(),this.cachedEventUids.has(Ol(e))}saveEventToCache(e){this.cachedEventUids.add(Ol(e)),this.lastProcessedEventTime=Date.now()}}function Ol(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join("-")}function Pl({type:e,error:t}){return"unknown"===e&&"auth/no-auth-event"===t?.code}async function xl(e,t={}){return ms(e,"GET","/v1/projects",t)}let Fl=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,Ll=/^https?/;async function Ml(e){if(!e.config.emulator){var t,r=(await xl(e)).authorizedDomains;for(t of r)try{if((e=>{var t,r=os(),{protocol:n,hostname:i}=new URL(r);return e.startsWith("chrome-extension://")?""===(t=new URL(e)).hostname&&""===i?"chrome-extension:"===n&&e.replace("chrome-extension://","")===r.replace("chrome-extension://",""):"chrome-extension:"===n&&t.hostname===i:Ll.test(n)&&(Fl.test(e)?i===e:(r=e.replace(/\./g,"\\."),(t=new RegExp("^(.+\\."+r+"|"+r+")$","i")).test(i)))})(t))return}catch{}Zi(e,"unauthorized-domain")}}let Ul=new us(3e4,6e4);function Gl(){var t=Vo().___jsl;if(t?.H)for(var r of Object.keys(t.H))if(t.H[r].r=t.H[r].r||[],t.H[r].L=t.H[r].L||[],t.H[r].r=[...t.H[r].L],t.CP)for(let e=0;e<t.CP.length;e++)t.CP[e]=null}function Hl(i){return new Promise((e,t)=>{function r(){Gl(),gapi.load("gapi.iframes",{callback:()=>{e(gapi.iframes.getContext())},ontimeout:()=>{Gl(),t(es(i,"network-request-failed"))},timeout:Ul.get()})}if(Vo().gapi?.iframes?.Iframe)e(gapi.iframes.getContext());else{var n;if(!Vo().gapi?.load)return n=ua("iframefcb"),Vo()[n]=()=>{gapi.load?r():t(es(i,"network-request-failed"))},ha(la.gapiScript+"?onload="+n).catch(e=>t(e));r()}}).catch(e=>{throw Vl=null,e})}let Vl=null;let ql=new us(5e3,15e3),jl="__/auth/iframe",Kl="emulator/auth/iframe",zl={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},Jl=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);async function Wl(a){e=a;var e,t,r,n=await(Vl=Vl||Hl(e)),i=Vo().gapi;return f(i,a,"internal-error"),n.open({where:document.body,url:(f((n=(e=a).config).authDomain,e,"auth-domain-config-required"),t=n.emulator?cs(n,Kl):`https://${e.config.authDomain}/`+jl,n={apiKey:n.apiKey,appName:e.name,v:Lt},(r=Jl.get(e.config.apiHost))&&(n.eid=r),(r=e._getFrameworks()).length&&(n.fw=r.join(",")),t+"?"+De(n).slice(1)),messageHandlersFilter:i.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:zl,dontclear:!0},s=>new Promise(async(e,t)=>{await s.restyle({setHideOnLeave:!1});let r=es(a,"network-request-failed"),n=Vo().setTimeout(()=>{t(r)},ql.get());function i(){Vo().clearTimeout(n),e(s)}s.ping(i).then(i,()=>{t(r)})}))}let Ql={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class Yl{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(e){}}}function $l(e,t,r,n=500,i=600){var s=Math.max((window.screen.availHeight-i)/2,0).toString(),a=Math.max((window.screen.availWidth-n)/2,0).toString();let o="";var l,s={...Ql,width:n.toString(),height:i.toString(),top:s,left:a},a=te().toLowerCase(),s=(r&&(o=Qs(a)?"_blank":r),Js(a)&&(t=t||"http://localhost",s.scrollbars="yes"),Object.entries(s).reduce((e,[t,r])=>""+e+t+`=${r},`,""));if([n=te()]=[a],ea(n)&&window.navigator?.standalone&&"_self"!==o)return i=t||"",r=o,(a=document.createElement("a")).href=i,a.target=r,(l=document.createEvent("MouseEvent")).initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),a.dispatchEvent(l),new Yl(null);a=window.open(t||"",o,s);f(a,e,"popup-blocked");try{a.focus()}catch(e){}return new Yl(a)}let Xl="__/auth/handler",Zl="emulator/auth/handler",eh=encodeURIComponent("fac");async function th(e,t,r,n,i,s){f(e.config.authDomain,e,"auth-domain-config-required"),f(e.config.apiKey,e,"invalid-api-key");var a={apiKey:e.config.apiKey,appName:e.name,authType:r,redirectUrl:n,v:Lt,eventId:i};if(t instanceof Ma){t.setDefaultLanguage(e.languageCode),a.providerId=t.providerId||"",_e(t.getCustomParameters())||(a.customParameters=JSON.stringify(t.getCustomParameters()));for(var[o,l]of Object.entries(s||{}))a[o]=l}t instanceof Ua&&0<(c=t.getScopes().filter(e=>""!==e)).length&&(a.scopes=c.join(",")),e.tenantId&&(a.tid=e.tenantId);var h,u=a;for(h of Object.keys(u))void 0===u[h]&&delete u[h];var c=await e._getAppCheckToken(),c=c?`#${eh}=`+encodeURIComponent(c):"";return`${r=[e.config][0],r.emulator?cs(r,Zl):`https://${r.authDomain}/`+Xl}?`+De(u).slice(1)+c}let rh="webStorageSupport";class nh{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=Mo,this._completeRedirectFn=Nl,this._overrideRedirectResult=Dl}async _openPopup(e,t,r,n){return as(this.eventManagers[e._key()]?.manager,"_initialize() not called before _openPopup()"),$l(e,await th(e,t,r,os(),n),Go())}async _openRedirect(e,t,r,n){await this._originValidation(e);var i=await th(e,t,r,os(),n);return Vo().location.href=i,new Promise(()=>{})}_initialize(e){let r=e._key();if(this.eventManagers[r]){let{manager:e,promise:t}=this.eventManagers[r];return e?Promise.resolve(e):(as(t,"If manager is not set, promise should be"),t)}let t=this.initAndGetManager(e);return this.eventManagers[r]={promise:t},t.catch(()=>{delete this.eventManagers[r]}),t}async initAndGetManager(t){var e=await Wl(t);let r=new Rl(t);return e.register("authEvent",e=>(f(e?.authEvent,t,"invalid-auth-event"),{status:r.onEvent(e.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[t._key()]={manager:r},this.iframes[t._key()]=e,r}_isIframeWebStorageSupported(r,n){this.iframes[r._key()].send(rh,{type:rh},e=>{var t=e?.[0]?.[rh];void 0!==t&&n(!!t),Zi(r,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){var t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=Ml(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return ta()||Ws()||ea()}}let ih=nh;class sh extends class{constructor(e){this.factorId=e}_process(e,t,r){switch(t.type){case"enroll":return this._finalizeEnroll(e,t.credential,r);case"signin":return this._finalizeSignIn(e,t.credential);default:return ss("unexpected MultiFactorSessionType")}}}{constructor(e){super("phone"),this.credential=e}static _fromCredential(e){return new sh(e)}_finalizeEnroll(e,t,r){return e=e,t={idToken:t,displayName:r,phoneVerificationInfo:this.credential._makeVerificationRequest()},ms(e,"POST","/v2/accounts/mfaEnrollment:finalize",fs(e,t))}_finalizeSignIn(e,t){return e=e,t={mfaPendingCredential:t,phoneVerificationInfo:this.credential._makeVerificationRequest()},ms(e,"POST","/v2/accounts/mfaSignIn:finalize",fs(e,t))}}class ah{constructor(){}static assertion(e){return sh._fromCredential(e)}}ah.FACTOR_ID="phone";e="@firebase/auth";class oh{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(t){var e;this.assertAuthConfigured(),this.internalListeners.has(t)||(e=this.auth.onIdTokenChanged(e=>{t(e?.stsTokenManager.accessToken||null)}),this.internalListeners.set(t,e),this.updateProactiveRefresh())}removeAuthTokenListener(e){this.assertAuthConfigured();var t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){f(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){0<this.internalListeners.size?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}var lh;function hh(){return window}Y()?._authIdTokenMaxAge,la={loadJS(n){return new Promise((e,r)=>{var t=document.createElement("script");t.setAttribute("src",n),t.onload=e,t.onerror=e=>{var t=es("internal-error");t.customData=e,r(t)},t.type="text/javascript",t.charset="UTF-8",(document.getElementsByTagName("head")?.[0]??document).appendChild(t)})},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="},lh="Browser",St(new Ve("auth",(e,{options:t})=>{var r=e.getProvider("app").getImmediate(),n=e.getProvider("heartbeat"),i=e.getProvider("app-check-internal"),{apiKey:s,authDomain:a}=r.options,s=(f(s&&!s.includes(":"),"invalid-api-key",{appName:r.name}),{apiKey:s,authDomain:a,clientPlatform:lh,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:ra(lh)}),a=new sa(r,n,i,s);return e=a,r=(t=t)?.persistence||[],r=(Array.isArray(r)?r:[r]).map(Hs),t?.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,t?.popupRedirectResolver),a},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),St(new Ve("auth-internal",e=>{var t=aa(e.getProvider("auth").getImmediate());return e=t,new oh(e)},"PRIVATE").setInstantiationMode("EXPLICIT")),Ht(e,"1.13.4",(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}})(lh)),Ht(e,"1.13.4","esm2020");async function uh(e,t,r){var n=hh().BuildInfo,i=(as(t.sessionId,"AuthEvent did not contain a session ID"),i=(e=>{if(as(/[0-9a-zA-Z]+/.test(e),"Can only convert alpha-numeric strings"),"undefined"!=typeof TextEncoder)return(new TextEncoder).encode(e);var t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r})(t.sessionId),i=await crypto.subtle.digest("SHA-256",i),await(i=Array.from(new Uint8Array(i))).map(e=>e.toString(16).padStart(2,"0")).join("")),s={};return ea()?s.ibi=n.packageName:$s()?s.apn=n.packageName:Zi(e,"operation-not-supported-in-this-environment"),n.displayName&&(s.appDisplayName=n.displayName),s.sessionId=i,th(e,r,t.type,void 0,t.eventId??void 0,s)}function ch(n){let i=hh().cordova;return new Promise(r=>{i.plugins.browsertab.isAvailable(e=>{let t=null;e?i.plugins.browsertab.openUrl(n):t=i.InAppBrowser.open(n,(e=te(),/(iPad|iPhone|iPod).*OS 7_\d/i.test(e)||/(iPad|iPhone|iPod).*OS 8_\d/i.test(e)?"_blank":"_system"),"location=yes"),r(t)})})}let dh=20;class Bh extends Rl{constructor(){super(...arguments),this.passiveListeners=new Set,this.initPromise=new Promise(e=>{this.resolveInitialized=e})}addPassiveListener(e){this.passiveListeners.add(e)}removePassiveListener(e){this.passiveListeners.delete(e)}resetRedirect(){this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1}onEvent(t){return this.resolveInitialized(),this.passiveListeners.forEach(e=>e(t)),super.onEvent(t)}async initialized(){await this.initPromise}}function ph(e,t,r=null){return{type:t,eventId:r,urlResponse:null,sessionId:(()=>{var e=[],t="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let n=0;n<dh;n++){var r=Math.floor(Math.random()*t.length);e.push(t.charAt(r))}return e.join("")})(),postBody:null,tenantId:e.tenantId,error:es(e,"no-auth-event")}}async function gh(e){var t=await mh()._get(Ch(e));return t&&await mh()._remove(Ch(e)),t}function fh(e,t){i=vh(t=t),r=i.link?decodeURIComponent(i.link):void 0,n=vh(r).link,i=i.deep_link_id?decodeURIComponent(i.deep_link_id):void 0;var r,n,i=vh(i).link||i||n||r||t;return i.includes("/__/auth/callback")?(n=(r=((n=vh(i)).firebaseError?(e=>{try{return JSON.parse(e)}catch(e){return null}})(decodeURIComponent(n.firebaseError)):null)?.code?.split("auth/")?.[1])?es(r):null)?{type:e.type,eventId:e.eventId,tenantId:e.tenantId,error:n,urlResponse:null,sessionId:null,postBody:null}:{type:e.type,eventId:e.eventId,tenantId:e.tenantId,sessionId:e.sessionId,urlResponse:i,postBody:null}:null}function mh(){return Hs(Fo)}function Ch(e){return js("authEvent",e.config.apiKey,e.name)}function vh(e){var t,r;return e?.includes("?")?([t,...r]=e.split("?"),be(r.join("?"))):{}}class _h{constructor(){this._redirectPersistence=Mo,this._shouldInitProactively=!0,this.eventManagers=new Map,this.originValidationPromises={},this._completeRedirectFn=Nl,this._overrideRedirectResult=Dl}async _initialize(e){var t=e._key();let r=this.eventManagers.get(t);return r||(r=new Bh(e),this.eventManagers.set(t,r),this.attachCallbackListeners(e,r)),r}_openPopup(e){Zi(e,"operation-not-supported-in-this-environment")}async _openRedirect(e,t,r,n){i=e,f("function"==typeof(s=hh())?.universalLinks?.subscribe,i,"invalid-cordova-configuration",{missingPlugin:"cordova-universal-links-plugin-fix"}),f(void 0!==s?.BuildInfo?.packageName,i,"invalid-cordova-configuration",{missingPlugin:"cordova-plugin-buildInfo"}),f("function"==typeof s?.cordova?.plugins?.browsertab?.openUrl,i,"invalid-cordova-configuration",{missingPlugin:"cordova-plugin-browsertab"}),f("function"==typeof s?.cordova?.plugins?.browsertab?.isAvailable,i,"invalid-cordova-configuration",{missingPlugin:"cordova-plugin-browsertab"}),f("function"==typeof s?.cordova?.InAppBrowser?.open,i,"invalid-cordova-configuration",{missingPlugin:"cordova-plugin-inappbrowser"});var i,s=await this._initialize(e),a=(await s.initialized(),s.resetRedirect(),yl.clear(),await this._originValidation(e),ph(e,r,n)),a=(i=e,r=a,await mh()._set(Ch(i),r),await uh(e,a,t));return(async(a,o,l)=>{let h=hh().cordova,u=()=>{};try{await new Promise((t,e)=>{let r=null;function n(){t();var e=h.plugins.browsertab?.close;"function"==typeof e&&e(),"function"==typeof l?.close&&l.close()}function i(){r=r||window.setTimeout(()=>{e(es(a,"redirect-cancelled-by-user"))},2e3)}function s(){"visible"===document?.visibilityState&&i()}o.addPassiveListener(n),document.addEventListener("resume",i,!1),$s()&&document.addEventListener("visibilitychange",s,!1),u=()=>{o.removePassiveListener(n),document.removeEventListener("resume",i,!1),document.removeEventListener("visibilitychange",s,!1),r&&window.clearTimeout(r)}})}finally{u()}})(e,s,await ch(a))}_isIframeWebStorageSupported(e,t){throw new Error("Method not implemented.")}_originValidation(e){var t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=(async e=>{var t=hh().BuildInfo,r={};ea()?r.iosBundleId=t.packageName:$s()?r.androidPackageName=t.packageName:Zi(e,"operation-not-supported-in-this-environment"),await xl(e,r)})(e)),this.originValidationPromises[t]}attachCallbackListeners(n,i){var{universalLinks:e,handleOpenURL:t,BuildInfo:r}=hh();let s=setTimeout(async()=>{await gh(n),i.onEvent(wh())},500),a=async e=>{clearTimeout(s);var t=await gh(n);let r=null;t&&e?.url&&(r=fh(t,e.url)),i.onEvent(r||wh())},o=(void 0!==e&&"function"==typeof e.subscribe&&e.subscribe(null,a),t),l=r.packageName.toLowerCase()+"://";hh().handleOpenURL=async e=>{if(e.toLowerCase().startsWith(l)&&a({url:e}),"function"==typeof o)try{o(e)}catch(e){console.error(e)}}}}let yh=_h;function wh(){return{type:"unknown",eventId:null,sessionId:null,urlResponse:null,postBody:null,tenantId:null,error:es("no-auth-event")}}function Eh(){return self?.location?.protocol||null}function Dh(e=te()){return!("file:"!==Eh()&&"ionic:"!==Eh()&&"capacitor:"!==Eh()||!e.toLowerCase().match(/iphone|ipad|ipod|android/))}function bh(e=te()){return oe()&&11===document?.documentMode||([e=te()]=[e],/Edge\/\d+/.test(e))}function Ih(){try{var e=self.localStorage,t=Go();if(e)return e.setItem(t,"1"),e.removeItem(t),!bh()||ue()}catch(e){return Th()&&ue()}return!1}function Th(){return"undefined"!=typeof global&&"WorkerGlobalScope"in global&&"importScripts"in global}function Sh(){return("http:"===Eh()||"https:"===Eh()||se()||Dh())&&!(ae()||ne())&&Ih()&&!Th()}function kh(){return Dh()&&"undefined"!=typeof document}let Nh={LOCAL:"local",NONE:"none",SESSION:"session"},Ah=f,Rh="persistence";async function Oh(e){await e._initializationPromise;var t=Ph(),r=js(Rh,e.config.apiKey,e.name);t&&t.setItem(r,e._getPersistenceType())}function Ph(){try{return("undefined"!=typeof window?window:null)?.sessionStorage||null}catch(e){return null}}let xh=f;class Fh{constructor(){this.browserResolver=Hs(ih),this.cordovaResolver=Hs(yh),this.underlyingResolver=null,this._redirectPersistence=Mo,this._completeRedirectFn=Nl,this._overrideRedirectResult=Dl}async _initialize(e){return await this.selectUnderlyingResolver(),this.assertedUnderlyingResolver._initialize(e)}async _openPopup(e,t,r,n){return await this.selectUnderlyingResolver(),this.assertedUnderlyingResolver._openPopup(e,t,r,n)}async _openRedirect(e,t,r,n){return await this.selectUnderlyingResolver(),this.assertedUnderlyingResolver._openRedirect(e,t,r,n)}_isIframeWebStorageSupported(e,t){this.assertedUnderlyingResolver._isIframeWebStorageSupported(e,t)}_originValidation(e){return this.assertedUnderlyingResolver._originValidation(e)}get _shouldInitProactively(){return kh()||this.browserResolver._shouldInitProactively}get assertedUnderlyingResolver(){return xh(this.underlyingResolver,"internal-error"),this.underlyingResolver}async selectUnderlyingResolver(){var e;this.underlyingResolver||(e=await(!!kh()&&new Promise(e=>{let t=setTimeout(()=>{e(!1)},1e3);document.addEventListener("deviceready",()=>{clearTimeout(t),e(!0)})})),this.underlyingResolver=e?this.cordovaResolver:this.browserResolver)}}function Lh(e){return e.unwrap()}function Mh(e,t){var r,n,i,s=t.customData?._tokenResponse;"auth/multi-factor-auth-required"===t?.code?t.resolver=new Vh(e,(r=t,n=_(e),f((i=r).customData.operationType,n,"argument-error"),f(i.customData._serverResponse?.mfaPendingCredential,n,"argument-error"),ko._fromError(n,i))):s&&(i=Uh(n=t))&&(n.credential=i,n.tenantId=s.tenantId||void 0,n.email=s.email||void 0,n.phoneNumber=s.phoneNumber||void 0)}function Uh(e){var t=(e instanceof Be?e.customData:e)._tokenResponse;if(!t)return null;if(!(e instanceof Be)&&"temporaryProof"in t&&"phoneNumber"in t)return cl.credentialFromResult(e);var r=t.providerId;if(!r||r===ji.PASSWORD)return null;let n;switch(r){case ji.GOOGLE:n=Va;break;case ji.FACEBOOK:n=Ha;break;case ji.GITHUB:n=qa;break;case ji.TWITTER:n=za;break;default:var{oauthIdToken:i,oauthAccessToken:s,oauthTokenSecret:a,pendingToken:o,nonce:l}=t;return s||a||i||o?o?r.startsWith("saml.")?ja._create(r,o):Ra._fromParams({providerId:r,signInMethod:r,pendingToken:o,idToken:i,accessToken:s}):new Ga(r).credential({idToken:i,accessToken:s,rawNonce:l}):null}return e instanceof Be?n.credentialFromError(e):n.credentialFromResult(e)}function Gh(t,e){return e.catch(e=>{throw e instanceof Be&&Mh(t,e),e}).then(e=>{var t=e.operationType,r=e.user;return{operationType:t,credential:Uh(e),additionalUserInfo:To(e),user:qh.getOrCreate(r)}})}async function Hh(t,e){let r=await e;return{verificationId:r.verificationId,confirm:e=>Gh(t,r.confirm(e))}}class Vh{constructor(e,t){this.resolver=t,this.auth=e.wrapped()}get session(){return this.resolver.session}get hints(){return this.resolver.hints}resolveSignIn(e){return Gh(Lh(this.auth),this.resolver.resolveSignIn(e))}}let qh=class bw{constructor(e){var t;this._delegate=e,this.multiFactor=(t=_(e),Ro.has(t)||Ro.set(t,Ao._fromUser(t)),Ro.get(t))}static getOrCreate(e){return bw.USER_MAP.has(e)||bw.USER_MAP.set(e,new bw(e)),bw.USER_MAP.get(e)}delete(){return this._delegate.delete()}reload(){return this._delegate.reload()}toJSON(){return this._delegate.toJSON()}getIdTokenResult(e){return this._delegate.getIdTokenResult(e)}getIdToken(e){return this._delegate.getIdToken(e)}linkAndRetrieveDataWithCredential(e){return this.linkWithCredential(e)}async linkWithCredential(e){return Gh(this.auth,so(this._delegate,e))}async linkWithPhoneNumber(e,t){return Hh(this.auth,(async(e,t,r)=>{let n=_(e);await to(!1,n,"phone");var i=await hl(n.auth,t,_(r));return new ll(i,e=>so(n,e))})(this._delegate,e,t))}async linkWithPopup(e){return Gh(this.auth,(async(e,t,r)=>{var n=_(e),i=(ns(n.auth,t,Ma),dl(n.auth,r));return new vl(n.auth,"linkViaPopup",t,i,n).executeNotNull()})(this._delegate,e,Fh))}async linkWithRedirect(e){return await Oh(aa(this.auth)),kl(this._delegate,e,Fh)}reauthenticateAndRetrieveDataWithCredential(e){return this.reauthenticateWithCredential(e)}async reauthenticateWithCredential(e){return Gh(this.auth,ao(this._delegate,e))}reauthenticateWithPhoneNumber(e,t){return Hh(this.auth,(async(e,t,r)=>{let n=_(e);var i;return Rt(n.auth.app)?Promise.reject(rs(n.auth)):(i=await hl(n.auth,t,_(r)),new ll(i,e=>ao(n,e)))})(this._delegate,e,t))}reauthenticateWithPopup(e){return Gh(this.auth,(async(e,t,r)=>{var n=_(e);if(Rt(n.auth.app))return Promise.reject(es(n.auth,"operation-not-supported-in-this-environment"));ns(n.auth,t,Ma);var i=dl(n.auth,r);return new vl(n.auth,"reauthViaPopup",t,i,n).executeNotNull()})(this._delegate,e,Fh))}async reauthenticateWithRedirect(e){return await Oh(aa(this.auth)),Sl(this._delegate,e,Fh)}sendEmailVerification(e){return mo(this._delegate,e)}async unlink(e){return await Za(this._delegate,e),this}updateEmail(e){return t=this._delegate,e=e,Rt((r=_(t)).auth.app)?Promise.reject(rs(r.auth)):_o(r,e,null);var t,r}updatePassword(e){return _o(_(this._delegate),null,e)}updatePhoneNumber(e){return(async(e,t)=>{var r=_(e);if(Rt(r.auth.app))return Promise.reject(rs(r.auth));await eo(r,t)})(this._delegate,e)}updateProfile(e){return vo(this._delegate,e)}verifyBeforeUpdateEmail(e,t){return Co(this._delegate,e,t)}get emailVerified(){return this._delegate.emailVerified}get isAnonymous(){return this._delegate.isAnonymous}get metadata(){return this._delegate.metadata}get phoneNumber(){return this._delegate.phoneNumber}get providerData(){return this._delegate.providerData}get refreshToken(){return this._delegate.refreshToken}get tenantId(){return this._delegate.tenantId}get displayName(){return this._delegate.displayName}get email(){return this._delegate.email}get photoURL(){return this._delegate.photoURL}get providerId(){return this._delegate.providerId}get uid(){return this._delegate.uid}get auth(){return this._delegate.auth}},jh=(qh.USER_MAP=new WeakMap,f);class Kh{constructor(e,t){var r,n;this.app=e,t.isInitialized()?this._delegate=t.getImmediate():(r=e.options.apiKey,jh(r,"invalid-api-key",{appName:e.name}),jh(r,"invalid-api-key",{appName:e.name}),n="undefined"!=typeof window?Fh:void 0,this._delegate=t.initialize({options:{persistence:((e,t)=>{var r=((e,t)=>{var r=Ph();if(!r)return[];var n=js(Rh,e,t);switch(r.getItem(n)){case Nh.NONE:return[qs];case Nh.LOCAL:return[Zo,Mo];case Nh.SESSION:return[Mo];default:return[]}})(e,t);if("undefined"==typeof self||r.includes(Zo)||r.push(Zo),"undefined"!=typeof window)for(var n of[Fo,Mo])r.includes(n)||r.push(n);return r.includes(qs)||r.push(qs),r})(r,e.name),popupRedirectResolver:n}}),this._delegate._updateErrorMap(Ji)),this.linkUnderlyingAuth()}get emulatorConfig(){return this._delegate.emulatorConfig}get currentUser(){return this._delegate.currentUser?qh.getOrCreate(this._delegate.currentUser):null}get languageCode(){return this._delegate.languageCode}set languageCode(e){this._delegate.languageCode=e}get settings(){return this._delegate.settings}get tenantId(){return this._delegate.tenantId}set tenantId(e){this._delegate.tenantId=e}useDeviceLanguage(){this._delegate.useDeviceLanguage()}signOut(){return this._delegate.signOut()}useEmulator(e,t){_a(this._delegate,e,t)}applyActionCode(e){return po(this._delegate,e)}checkActionCode(e){return go(this._delegate,e)}confirmPasswordReset(e,t){return(async(t,e,r)=>{await Da(_(t),{oobCode:e,newPassword:r}).catch(async e=>{throw"auth/password-does-not-meet-requirements"===e.code&&Bo(t),e})})(this._delegate,e,t)}async createUserWithEmailAndPassword(e,t){return Gh(this._delegate,(async(t,e,r)=>{var n,i;return Rt(t.app)?Promise.reject(rs(t)):(i=await va(n=aa(t),{returnSecureToken:!0,email:e,password:r,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",Ja,"EMAIL_PASSWORD_PROVIDER").catch(e=>{throw"auth/password-does-not-meet-requirements"===e.code&&Bo(t),e}),i=await Wa._fromIdTokenResponse(n,"signIn",i),await n._updateCurrentUser(i.user),i)})(this._delegate,e,t))}fetchProvidersForEmail(e){return this.fetchSignInMethodsForEmail(e)}fetchSignInMethodsForEmail(e){return fo(this._delegate,e)}isSignInWithEmailLink(e){return this._delegate,e=e,"EMAIL_SIGNIN"===Fa.parseLink(e)?.operation}async getRedirectResult(){jh(Sh(),this._delegate,"operation-not-supported-in-this-environment");e=this._delegate,t=Fh,await aa(e)._initializationPromise;var e,t,r=await Nl(e,t,!1);return r?Gh(this._delegate,Promise.resolve(r)):{credential:null,user:null}}addFrameworkForLogging(e){aa(this._delegate)._logFramework(e)}onAuthStateChanged(e,t,r){var{next:n,error:i,complete:s}=zh(e,t,r);return this._delegate.onAuthStateChanged(n,i,s)}onIdTokenChanged(e,t,r){var{next:n,error:i,complete:s}=zh(e,t,r);return this._delegate.onIdTokenChanged(n,i,s)}sendSignInLinkToEmail(e,t){return(async(e,t,r)=>{let n=aa(e);var i={requestType:"EMAIL_SIGNIN",email:t,clientType:"CLIENT_TYPE_WEB"};e=i,f((t=r).handleCodeInApp,n,"argument-error"),t&&co(n,e,t),await va(n,i,"getOobCode",ka,"EMAIL_PASSWORD_PROVIDER")})(this._delegate,e,t)}sendPasswordResetEmail(e,t){return(async(e,t,r)=>{var n=aa(e),i={requestType:"PASSWORD_RESET",email:t,clientType:"CLIENT_TYPE_WEB"};r&&co(n,i,r),await va(n,i,"getOobCode",Sa,"EMAIL_PASSWORD_PROVIDER")})(this._delegate,e,t||void 0)}async setPersistence(e){var t,r;t=this._delegate,r=e,Ah(Object.values(Nh).includes(r),t,"invalid-persistence-type"),ae()?Ah(r!==Nh.SESSION,t,"unsupported-persistence-type"):ne()?Ah(r===Nh.NONE,t,"unsupported-persistence-type"):Th()?Ah(r===Nh.NONE||r===Nh.LOCAL&&ue(),t,"unsupported-persistence-type"):Ah(r===Nh.NONE||Ih(),t,"unsupported-persistence-type");let n;switch(e){case Nh.SESSION:n=Mo;break;case Nh.LOCAL:var i=await Hs(Zo)._isAvailable();n=i?Zo:Fo;break;case Nh.NONE:n=qs;break;default:return Zi("argument-error",{appName:this._delegate.name})}return this._delegate.setPersistence(n)}signInAndRetrieveDataWithCredential(e){return this.signInWithCredential(e)}signInAnonymously(){return Gh(this._delegate,(async e=>{var t,r;return Rt(e.app)?Promise.reject(rs(e)):(await(t=aa(e))._initializationPromise,t.currentUser?.isAnonymous?new Wa({user:t.currentUser,providerId:null,operationType:"signIn"}):(r=await Ja(t,{returnSecureToken:!0}),r=await Wa._fromIdTokenResponse(t,"signIn",r,!0),await t._updateCurrentUser(r.user),r))})(this._delegate))}signInWithCredential(e){return Gh(this._delegate,io(this._delegate,e))}signInWithCustomToken(e){return Gh(this._delegate,oo(this._delegate,e))}signInWithEmailAndPassword(e,t){return Gh(this._delegate,(r=this._delegate,e=e,t=t,Rt(r.app)?Promise.reject(rs(r)):io(_(r),La.credential(e,t)).catch(async e=>{throw"auth/password-does-not-meet-requirements"===e.code&&Bo(r),e})));var r}signInWithEmailLink(e,t){return Gh(this._delegate,(async(e,t,r)=>{var n,i;return Rt(e.app)?Promise.reject(rs(e)):(n=_(e),f((i=La.credentialWithLink(t,r||os()))._tenantId===(n.tenantId||null),n,"tenant-id-mismatch"),io(n,i))})(this._delegate,e,t))}signInWithPhoneNumber(e,t){return Hh(this._delegate,(async(e,t,r)=>{if(Rt(e.app))return Promise.reject(rs(e));let n=aa(e);var i=await hl(n,t,_(r));return new ll(i,e=>io(n,e))})(this._delegate,e,t))}async signInWithPopup(e){return jh(Sh(),this._delegate,"operation-not-supported-in-this-environment"),Gh(this._delegate,(async(e,t,r)=>{var n,i;return Rt(e.app)?Promise.reject(es(e,"operation-not-supported-in-this-environment")):(n=aa(e),ns(e,t,Ma),i=dl(n,r),new vl(n,"signInViaPopup",t,i).executeNotNull())})(this._delegate,e,Fh))}async signInWithRedirect(e){return jh(Sh(),this._delegate,"operation-not-supported-in-this-environment"),await Oh(this._delegate),Tl(this._delegate,e,Fh)}updateCurrentUser(e){return this._delegate.updateCurrentUser(e)}verifyPasswordResetCode(e){return(async(e,t)=>{var r=(await go(_(e),t)).data;return r.email})(this._delegate,e)}unwrap(){return this._delegate}_delete(){return this._delegate._delete()}linkUnderlyingAuth(){this._delegate.wrapped=()=>this}}function zh(e,t,r){let n=e,i=("function"!=typeof e&&({next:n,error:t,complete:r}=e),n);return{next:e=>i(e&&qh.getOrCreate(e)),error:t,complete:r}}Kh.Persistence=Nh;class Jh{static credential(e,t){return cl.credential(e,t)}constructor(){this.providerId="phone",this._delegate=new cl(Lh(or.auth()))}verifyPhoneNumber(e,t){return this._delegate.verifyPhoneNumber(e,t)}unwrap(){return this._delegate}}Jh.PHONE_SIGN_IN_METHOD=cl.PHONE_SIGN_IN_METHOD,Jh.PROVIDER_ID=cl.PROVIDER_ID;let Wh=f;class Qh{constructor(e,t,r=or.app()){Wh(r.options?.apiKey,"invalid-api-key",{appName:r.name}),this._delegate=new ol(r.auth(),e,t),this.type=this._delegate.type}clear(){this._delegate.clear()}render(){return this._delegate.render()}verify(){return this._delegate.verify()}}(a=or).INTERNAL.registerComponent(new Ve("auth-compat",e=>{var t=e.getProvider("app-compat").getImmediate(),r=e.getProvider("auth");return new Kh(t,r)},"PUBLIC").setServiceProps({ActionCodeInfo:{Operation:{EMAIL_SIGNIN:Ki.EMAIL_SIGNIN,PASSWORD_RESET:Ki.PASSWORD_RESET,RECOVER_EMAIL:Ki.RECOVER_EMAIL,REVERT_SECOND_FACTOR_ADDITION:Ki.REVERT_SECOND_FACTOR_ADDITION,VERIFY_AND_CHANGE_EMAIL:Ki.VERIFY_AND_CHANGE_EMAIL,VERIFY_EMAIL:Ki.VERIFY_EMAIL}},EmailAuthProvider:La,FacebookAuthProvider:Ha,GithubAuthProvider:qa,GoogleAuthProvider:Va,OAuthProvider:Ga,SAMLAuthProvider:Ka,PhoneAuthProvider:Jh,PhoneMultiFactorGenerator:ah,RecaptchaVerifier:Qh,TwitterAuthProvider:za,Auth:Kh,AuthCredential:Ea,Error:Be}).setInstantiationMode("LAZY").setMultipleInstances(!1)),a.registerVersion("@firebase/auth-compat","0.6.9");let Yh="@firebase/database",$h="";function Xh(e){$h=e}class Zh{constructor(e){this.domStorage_=e,this.prefix_="firebase:"}set(e,t){null==t?this.domStorage_.removeItem(this.prefixedName_(e)):this.domStorage_.setItem(this.prefixedName_(e),fe(t))}get(e){var t=this.domStorage_.getItem(this.prefixedName_(e));return null==t?null:ge(t)}remove(e){this.domStorage_.removeItem(this.prefixedName_(e))}prefixedName_(e){return this.prefix_+e}toString(){return this.domStorage_.toString()}}class eu{constructor(){this.cache_={},this.isInMemoryStorage=!0}set(e,t){null==t?delete this.cache_[e]:this.cache_[e]=t}get(e){return Ce(this.cache_,e)?this.cache_[e]:null}remove(e){delete this.cache_[e]}}function tu(e){try{var t;if("undefined"!=typeof window&&void 0!==window[e])return(t=window[e]).setItem("firebase:sentinel","cache"),t.removeItem("firebase:sentinel"),new Zh(t)}catch(e){}return new eu}function ru(e){var t=(t=>{var r,n,i=[];let s=0;for(let a=0;a<t.length;a++){let e=t.charCodeAt(a);55296<=e&&e<=56319&&(r=e-55296,a++,g(a<t.length,"Surrogate pair missing trail surrogate."),n=t.charCodeAt(a)-56320,e=65536+(r<<10)+n),e<128?i[s++]=e:(e<2048?i[s++]=e>>6|192:(e<65536?i[s++]=e>>12|224:(i[s++]=e>>18|240,i[s++]=e>>12&63|128),i[s++]=e>>6&63|128),i[s++]=63&e|128)}return i})(e),r=new Te,t=(r.update(t),r.digest());return G.encodeByteArray(t)}function nu(t){return function(...e){mu(t,...e)}}function iu(...e){var t="FIREBASE INTERNAL ERROR: "+Bu(...e);cu.error(t)}function su(e,t){return e===t?0:e<t?-1:1}function au(e,t){if(t&&e in t)return t[e];throw new Error("Missing required key ("+e+") in object: "+fe(t))}function ou(e){if("object"!=typeof e||null===e)return fe(e);var t,r=[];for(t in e)r.push(t);r.sort();let n="{";for(let i=0;i<r.length;i++)0!==i&&(n+=","),n=(n=n+fe(r[i])+":")+ou(e[r[i]]);return n+="}"}function lu(e,t){var r=e.length;if(r<=t)return[e];var n=[];for(let i=0;i<r;i+=t)i+t>r?n.push(e.substring(i,r)):n.push(e.substring(i,i+t));return n}let hu=tu("localStorage"),uu=tu("sessionStorage"),cu=new $e("@firebase/database"),du=(()=>{let e=1;return function(){return e++}})(),Bu=function(...e){let t="";for(let n=0;n<e.length;n++){var r=e[n];Array.isArray(r)||r&&"object"==typeof r&&"number"==typeof r.length?t+=Bu.apply(null,r):t+="object"==typeof r?fe(r):r,t+=" "}return t},pu=null,gu=!0,fu=function(e,t){g(!t||!0===e||!1===e,"Can't turn on custom loggers persistently."),!0===e?(cu.logLevel=B.VERBOSE,pu=cu.log.bind(cu),t&&uu.set("logging_enabled",!0)):"function"==typeof e?pu=e:(pu=null,uu.remove("logging_enabled"))},mu=function(...e){var t;!0===gu&&(gu=!1,null===pu)&&!0===uu.get("logging_enabled")&&fu(!0),pu&&(t=Bu.apply(null,e),pu(t))},Cu=function(...e){var t="FIREBASE FATAL ERROR: "+Bu(...e);throw cu.error(t),new Error(t)},vu=function(...e){var t="FIREBASE WARNING: "+Bu(...e);cu.warn(t)},_u=function(){"undefined"!=typeof window&&window.location&&window.location.protocol&&-1!==window.location.protocol.indexOf("https:")&&vu("Insecure Firebase access from a secure page. Please use https in calls to new Firebase().")},yu=function(e){return"number"==typeof e&&(e!=e||e===Number.POSITIVE_INFINITY||e===Number.NEGATIVE_INFINITY)},wu="[MIN_NAME]",Eu="[MAX_NAME]",Du=function(e,t){var r,n;return e===t?0:e===wu||t===Eu?-1:t===wu||e===Eu?1:(r=Tu(e),n=Tu(t),null!==r?null!==n?r-n==0?e.length-t.length:r-n:-1:null===n&&e<t?-1:1)};function bu(e,t){for(var r in e)e.hasOwnProperty(r)&&t(r,e[r])}function Iu(e){g(!yu(e),"Invalid JSON number");let t,r,n,i,s;0===e?(r=0,n=0,t=1/e==-1/0?1:0):(t=e<0,e=Math.abs(e),n=e>=Math.pow(2,-1022)?(i=Math.min(Math.floor(Math.log(e)/Math.LN2),1023),r=i+1023,Math.round(e*Math.pow(2,52-i)-Math.pow(2,52))):(r=0,Math.round(e/Math.pow(2,-1074))));var a=[];for(s=52;s;--s)a.push(n%2?1:0),n=Math.floor(n/2);for(s=11;s;--s)a.push(r%2?1:0),r=Math.floor(r/2);a.push(t?1:0),a.reverse();var o=a.join("");let l="";for(s=0;s<64;s+=8){let e=parseInt(o.substr(s,8),2).toString(16);1===e.length&&(e="0"+e),l+=e}return l.toLowerCase()}function Tu(e){if(ku.test(e)){var t=Number(e);if(t>=Nu&&t<=Au)return t}return null}function Su(e,t){var r=setTimeout(e,t);return"number"==typeof r&&"undefined"!=typeof Deno&&Deno.unrefTimer?Deno.unrefTimer(r):"object"==typeof r&&r.unref&&r.unref(),r}let ku=new RegExp("^-?(0*)\\d{1,10}$"),Nu=-2147483648,Au=2147483647,Ru=function(e){try{e()}catch(t){setTimeout(()=>{var e=t.stack||"";throw vu("Exception was thrown by user callback.",e),t},Math.floor(0))}};class Ou{constructor(e,t){this.appCheckProvider=t,this.appName=e.name,Rt(e)&&e.settings.appCheckToken&&(this.serverAppAppCheckToken=e.settings.appCheckToken),this.appCheck=t?.getImmediate({optional:!0}),this.appCheck||t?.get().then(e=>this.appCheck=e)}getToken(r){if(this.serverAppAppCheckToken){if(r)throw new Error("Attempted reuse of `FirebaseServerApp.appCheckToken` after previous usage failed.");return Promise.resolve({token:this.serverAppAppCheckToken})}return this.appCheck?this.appCheck.getToken(r):new Promise((e,t)=>{setTimeout(()=>{this.appCheck?this.getToken(r).then(e,t):e(null)},0)})}addTokenChangeListener(t){this.appCheckProvider?.get().then(e=>e.addTokenListener(t))}notifyForInvalidToken(){vu(`Provided AppCheck credentials for the app named "${this.appName}" `+"are invalid. This usually indicates your app was not initialized correctly.")}}class Pu{constructor(e,t,r){this.appName_=e,this.firebaseOptions_=t,this.authProvider_=r,this.auth_=null,this.auth_=r.getImmediate({optional:!0}),this.auth_||r.onInit(e=>this.auth_=e)}getToken(r){return this.auth_?this.auth_.getToken(r).catch(e=>e&&"auth/token-not-initialized"===e.code?(mu("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(e)):new Promise((e,t)=>{setTimeout(()=>{this.auth_?this.getToken(r).then(e,t):e(null)},0)})}addTokenChangeListener(t){this.auth_?this.auth_.addAuthTokenListener(t):this.authProvider_.get().then(e=>e.addAuthTokenListener(t))}removeTokenChangeListener(t){this.authProvider_.get().then(e=>e.removeAuthTokenListener(t))}notifyForInvalidToken(){let e='Provided authentication credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly. ';"credential"in this.firebaseOptions_?e+='Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':"serviceAccount"in this.firebaseOptions_?e+='Make sure the "serviceAccount" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':e+='Make sure the "apiKey" and "databaseURL" properties provided to initializeApp() match the values provided for your app at https://console.firebase.google.com/.',vu(e)}}class xu{constructor(e){this.accessToken=e}getToken(e){return Promise.resolve({accessToken:this.accessToken})}addTokenChangeListener(e){e(this.accessToken)}removeTokenChangeListener(e){}notifyForInvalidToken(){}}xu.OWNER="owner";let Fu=/(console\.firebase|firebase-console-\w+\.corp|firebase\.corp)\.google\.com/,Lu="websocket",Mu="long_polling";class Uu{constructor(e,t,r,n,i=!1,s="",a=!1,o=!1,l=null){this.secure=t,this.namespace=r,this.webSocketOnly=n,this.nodeAdmin=i,this.persistenceKey=s,this.includeNamespaceInQueryParams=a,this.isUsingEmulator=o,this.emulatorOptions=l,this._host=e.toLowerCase(),this._domain=this._host.substr(this._host.indexOf(".")+1),this.internalHost=hu.get("host:"+e)||this._host}isCacheableHost(){return"s-"===this.internalHost.substr(0,2)}isCustomHost(){return"firebaseio.com"!==this._domain&&"firebaseio-demo.com"!==this._domain}get host(){return this._host}set host(e){e!==this.internalHost&&(this.internalHost=e,this.isCacheableHost())&&hu.set("host:"+this._host,this.internalHost)}toString(){let e=this.toURLString();return this.persistenceKey&&(e+="<"+this.persistenceKey+">"),e}toURLString(){var e=this.secure?"https://":"http://",t=this.includeNamespaceInQueryParams?"?ns="+this.namespace:"";return e+this.host+"/"+t}}function Gu(e,t,r){g("string"==typeof t,"typeof type must == string"),g("object"==typeof r,"typeof params must == object");let n;if(t===Lu)n=(e.secure?"wss://":"ws://")+e.internalHost+"/.ws?";else{if(t!==Mu)throw new Error("Unknown connection type: "+t);n=(e.secure?"https://":"http://")+e.internalHost+"/.lp?"}((t=e).host!==t.internalHost||t.isCustomHost()||t.includeNamespaceInQueryParams)&&(r.ns=e.namespace);let i=[];return bu(r,(e,t)=>{i.push(e+"="+t)}),n+i.join("&")}class Hu{constructor(){this.counters_={}}incrementCounter(e,t=1){Ce(this.counters_,e)||(this.counters_[e]=0),this.counters_[e]+=t}get(){return K(void 0,this.counters_)}}let Vu={},qu={};function ju(e){var t=e.toString();return Vu[t]||(Vu[t]=new Hu),Vu[t]}class Ku{constructor(e){this.onMessage_=e,this.pendingResponses=[],this.currentResponseNum=0,this.closeAfterResponse=-1,this.onClose=null}closeAfter(e,t){this.closeAfterResponse=e,this.onClose=t,this.closeAfterResponse<this.currentResponseNum&&(this.onClose(),this.onClose=null)}handleResponse(e,t){for(this.pendingResponses[e]=t;this.pendingResponses[this.currentResponseNum];){let e=this.pendingResponses[this.currentResponseNum];delete this.pendingResponses[this.currentResponseNum];for(let t=0;t<e.length;++t)e[t]&&Ru(()=>{this.onMessage_(e[t])});if(this.currentResponseNum===this.closeAfterResponse){this.onClose&&(this.onClose(),this.onClose=null);break}this.currentResponseNum++}}}class zu{constructor(e,t,r,n,i,s,a){this.connId=e,this.repoInfo=t,this.applicationId=r,this.appCheckToken=n,this.authToken=i,this.transportSessionId=s,this.lastSessionId=a,this.bytesSent=0,this.bytesReceived=0,this.everConnected_=!1,this.log_=nu(e),this.stats_=ju(t),this.urlFn=e=>(this.appCheckToken&&(e.ac=this.appCheckToken),Gu(t,Mu,e))}open(e,t){this.curSegmentNum=0,this.onDisconnect_=t,this.myPacketOrderer=new Ku(e),this.isClosed_=!1,this.connectTimeoutTimer_=setTimeout(()=>{this.log_("Timed out trying to connect."),this.onClosed_(),this.connectTimeoutTimer_=null},Math.floor(3e4));var r=()=>{var e;this.isClosed_||(this.scriptTagHolder=new Ju((...e)=>{var[t,r,n,,,]=e;if(this.incrementIncomingBytes_(e),this.scriptTagHolder)if(this.connectTimeoutTimer_&&(clearTimeout(this.connectTimeoutTimer_),this.connectTimeoutTimer_=null),this.everConnected_=!0,"start"===t)this.id=r,this.password=n;else{if("close"!==t)throw new Error("Unrecognized command received: "+t);r?(this.scriptTagHolder.sendNewPolls=!1,this.myPacketOrderer.closeAfter(r,()=>{this.onClosed_()})):this.onClosed_()}},(...e)=>{var[t,r]=e;this.incrementIncomingBytes_(e),this.myPacketOrderer.handleResponse(t,r)},()=>{this.onClosed_()},this.urlFn),(e={start:"t"}).ser=Math.floor(1e8*Math.random()),this.scriptTagHolder.uniqueCallbackIdentifier&&(e.cb=this.scriptTagHolder.uniqueCallbackIdentifier),e.v="5",this.transportSessionId&&(e.s=this.transportSessionId),this.lastSessionId&&(e.ls=this.lastSessionId),this.applicationId&&(e.p=this.applicationId),this.appCheckToken&&(e.ac=this.appCheckToken),"undefined"!=typeof location&&location.hostname&&Fu.test(location.hostname)&&(e.r="f"),e=this.urlFn(e),this.log_("Connecting via long-poll to "+e),this.scriptTagHolder.addTag(e,()=>{}))};if("complete"===document.readyState)r();else{let e=!1,t=function(){document.body?e||(e=!0,r()):setTimeout(t,Math.floor(10))};document.addEventListener?(document.addEventListener("DOMContentLoaded",t,!1),window.addEventListener("load",t,!1)):document.attachEvent&&(document.attachEvent("onreadystatechange",()=>{"complete"===document.readyState&&t()}),window.attachEvent("onload",t))}}start(){this.scriptTagHolder.startLongPoll(this.id,this.password),this.addDisconnectPingFrame(this.id,this.password)}static forceAllow(){zu.forceAllow_=!0}static forceDisallow(){zu.forceDisallow_=!0}static isAvailable(){return!!zu.forceAllow_||!(zu.forceDisallow_||"undefined"==typeof document||null==document.createElement||"object"==typeof window&&window.chrome&&window.chrome.extension&&!/^chrome/.test(window.location.href)||"object"==typeof Windows&&"object"==typeof Windows.UI)}markConnectionHealthy(){}shutdown_(){this.isClosed_=!0,this.scriptTagHolder&&(this.scriptTagHolder.close(),this.scriptTagHolder=null),this.myDisconnFrame&&(document.body.removeChild(this.myDisconnFrame),this.myDisconnFrame=null),this.connectTimeoutTimer_&&(clearTimeout(this.connectTimeoutTimer_),this.connectTimeoutTimer_=null)}onClosed_(){this.isClosed_||(this.log_("Longpoll is closing itself"),this.shutdown_(),this.onDisconnect_&&(this.onDisconnect_(this.everConnected_),this.onDisconnect_=null))}close(){this.isClosed_||(this.log_("Longpoll is being closed."),this.shutdown_())}send(e){var t=fe(e),t=(this.bytesSent+=t.length,this.stats_.incrementCounter("bytes_sent",t.length),V(t)),r=lu(t,1840);for(let n=0;n<r.length;n++)this.scriptTagHolder.enqueueSegment(this.curSegmentNum,r.length,r[n]),this.curSegmentNum++}addDisconnectPingFrame(e,t){this.myDisconnFrame=document.createElement("iframe");var r={dframe:"t"};r.id=e,r.pw=t,this.myDisconnFrame.src=this.urlFn(r),this.myDisconnFrame.style.display="none",document.body.appendChild(this.myDisconnFrame)}incrementIncomingBytes_(e){var t=fe(e).length;this.bytesReceived+=t,this.stats_.incrementCounter("bytes_received",t)}}class Ju{constructor(t,r,e,n){this.onDisconnect=e,this.urlFn=n,this.outstandingRequests=new Set,this.pendingSegs=[],this.currentSerial=Math.floor(1e8*Math.random()),this.sendNewPolls=!0;{this.uniqueCallbackIdentifier=du(),window["pLPCommand"+this.uniqueCallbackIdentifier]=t,window["pRTLPCB"+this.uniqueCallbackIdentifier]=r,this.myIFrame=Ju.createIFrame_();let e="";this.myIFrame.src&&"javascript:"===this.myIFrame.src.substr(0,"javascript:".length)&&(i=document.domain,e='<script>document.domain="'+i+'";<\/script>');var i="<html><body>"+e+"</body></html>";try{this.myIFrame.doc.open(),this.myIFrame.doc.write(i),this.myIFrame.doc.close()}catch(e){mu("frame writing exception"),e.stack&&mu(e.stack),mu(e)}}}static createIFrame_(){var t=document.createElement("iframe");if(t.style.display="none",!document.body)throw"Document body has not initialized. Wait to initialize Firebase until after the document is ready.";document.body.appendChild(t);try{t.contentWindow.document||mu("No IE domain setting required")}catch(e){var r=document.domain;t.src="javascript:void((function(){document.open();document.domain='"+r+"';document.close();})())"}return t.contentDocument?t.doc=t.contentDocument:t.contentWindow?t.doc=t.contentWindow.document:t.document&&(t.doc=t.document),t}close(){this.alive=!1,this.myIFrame&&(this.myIFrame.doc.body.textContent="",setTimeout(()=>{null!==this.myIFrame&&(document.body.removeChild(this.myIFrame),this.myIFrame=null)},Math.floor(0)));var e=this.onDisconnect;e&&(this.onDisconnect=null,e())}startLongPoll(e,t){for(this.myID=e,this.myPW=t,this.alive=!0;this.newRequest_(););}newRequest_(){if(this.alive&&this.sendNewPolls&&this.outstandingRequests.size<(0<this.pendingSegs.length?2:1)){this.currentSerial++;var r={},r=(r.id=this.myID,r.pw=this.myPW,r.ser=this.currentSerial,this.urlFn(r));let e="",t=0;for(;0<this.pendingSegs.length;){if(!(this.pendingSegs[0].d.length+30+e.length<=1870))break;var n=this.pendingSegs.shift();e=e+"&seg"+t+"="+n.seg+"&ts"+t+"="+n.ts+"&d"+t+"="+n.d,t++}return r+=e,this.addLongPollTag_(r,this.currentSerial),!0}return!1}enqueueSegment(e,t,r){this.pendingSegs.push({seg:e,ts:t,d:r}),this.alive&&this.newRequest_()}addLongPollTag_(e,t){this.outstandingRequests.add(t);let r=()=>{this.outstandingRequests.delete(t),this.newRequest_()},n=setTimeout(r,Math.floor(25e3));this.addTag(e,()=>{clearTimeout(n),r()})}addTag(e,r){setTimeout(()=>{try{if(this.sendNewPolls){let t=this.myIFrame.doc.createElement("script");t.type="text/javascript",t.async=!0,t.src=e,t.onload=t.onreadystatechange=function(){var e=t.readyState;e&&"loaded"!==e&&"complete"!==e||(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),r())},t.onerror=()=>{mu("Long-poll script failed to load: "+e),this.sendNewPolls=!1,this.close()},this.myIFrame.doc.body.appendChild(t)}}catch(e){}},Math.floor(1))}}let Wu=null;"undefined"!=typeof MozWebSocket?Wu=MozWebSocket:"undefined"!=typeof WebSocket&&(Wu=WebSocket);class Qu{constructor(e,t,r,n,i,s,a){this.connId=e,this.applicationId=r,this.appCheckToken=n,this.authToken=i,this.keepaliveTimer=null,this.frames=null,this.totalFrames=0,this.bytesSent=0,this.bytesReceived=0,this.log_=nu(this.connId),this.stats_=ju(t),this.connURL=Qu.connectionURL_(t,s,a,n,r),this.nodeAdmin=t.nodeAdmin}static connectionURL_(e,t,r,n,i){var s={v:"5"};return"undefined"!=typeof location&&location.hostname&&Fu.test(location.hostname)&&(s.r="f"),t&&(s.s=t),r&&(s.ls=r),n&&(s.ac=n),i&&(s.p=i),Gu(e,Lu,s)}open(e,t){this.onDisconnect=t,this.onMessage=e,this.log_("Websocket connecting to "+this.connURL),this.everConnected_=!1,hu.set("previous_websocket_failure",!0);try{d.NODE_ADMIN,this.mySock=new Wu(this.connURL,[],void 0)}catch(e){this.log_("Error instantiating WebSocket.");var r=e.message||e.data;return r&&this.log_(r),void this.onClosed_()}this.mySock.onopen=()=>{this.log_("Websocket connected."),this.everConnected_=!0},this.mySock.onclose=()=>{this.log_("Websocket connection was disconnected."),this.mySock=null,this.onClosed_()},this.mySock.onmessage=e=>{this.handleIncomingFrame(e)},this.mySock.onerror=e=>{this.log_("WebSocket error. Closing connection.");var t=e.message||e.data;t&&this.log_(t),this.onClosed_()}}start(){}static forceDisallow(){Qu.forceDisallow_=!0}static isAvailable(){let e=!1;var t;return!(e="undefined"!=typeof navigator&&navigator.userAgent&&(t=navigator.userAgent.match(/Android ([0-9]{0,}\.[0-9]{0,})/))&&1<t.length&&parseFloat(t[1])<4.4?!0:e)&&null!==Wu&&!Qu.forceDisallow_}static previouslyFailed(){return hu.isInMemoryStorage||!0===hu.get("previous_websocket_failure")}markConnectionHealthy(){hu.remove("previous_websocket_failure")}appendFrame_(e){var t;this.frames.push(e),this.frames.length===this.totalFrames&&(t=this.frames.join(""),this.frames=null,t=ge(t),this.onMessage(t))}handleNewFrameCount_(e){this.totalFrames=e,this.frames=[]}extractFrameCount_(e){if(g(null===this.frames,"We already have a frame buffer"),e.length<=6){var t=Number(e);if(!isNaN(t))return this.handleNewFrameCount_(t),null}return this.handleNewFrameCount_(1),e}handleIncomingFrame(e){var t;null!==this.mySock&&(t=e.data,this.bytesReceived+=t.length,this.stats_.incrementCounter("bytes_received",t.length),this.resetKeepAlive(),null!==this.frames?this.appendFrame_(t):null!==(t=this.extractFrameCount_(t))&&this.appendFrame_(t))}send(e){this.resetKeepAlive();var t=fe(e),r=(this.bytesSent+=t.length,this.stats_.incrementCounter("bytes_sent",t.length),lu(t,16384));1<r.length&&this.sendString_(String(r.length));for(let n=0;n<r.length;n++)this.sendString_(r[n])}shutdown_(){this.isClosed_=!0,this.keepaliveTimer&&(clearInterval(this.keepaliveTimer),this.keepaliveTimer=null),this.mySock&&(this.mySock.close(),this.mySock=null)}onClosed_(){this.isClosed_||(this.log_("WebSocket is closing itself"),this.shutdown_(),this.onDisconnect&&(this.onDisconnect(this.everConnected_),this.onDisconnect=null))}close(){this.isClosed_||(this.log_("WebSocket is being closed"),this.shutdown_())}resetKeepAlive(){clearInterval(this.keepaliveTimer),this.keepaliveTimer=setInterval(()=>{this.mySock&&this.sendString_("0"),this.resetKeepAlive()},Math.floor(45e3))}sendString_(e){try{this.mySock.send(e)}catch(e){this.log_("Exception thrown from WebSocket.send():",e.message||e.data,"Closing connection."),setTimeout(this.onClosed_.bind(this),0)}}}Qu.responsesRequiredToBeHealthy=2,Qu.healthyTimeout=3e4;class Yu{static get ALL_TRANSPORTS(){return[zu,Qu]}static get IS_TRANSPORT_INITIALIZED(){return this.globalTransportInitialized_}constructor(e){this.initTransports_(e)}initTransports_(e){var t=Qu&&Qu.isAvailable();let r=t&&!Qu.previouslyFailed();if(e.webSocketOnly&&(t||vu("wss:// URL used, but browser isn't known to support websockets. Trying anyway."),r=!0),r)this.transports_=[Qu];else{var n,i=this.transports_=[];for(n of Yu.ALL_TRANSPORTS)n&&n.isAvailable()&&i.push(n);Yu.globalTransportInitialized_=!0}}initialTransport(){if(0<this.transports_.length)return this.transports_[0];throw new Error("No transports available")}upgradeTransport(){return 1<this.transports_.length?this.transports_[1]:null}}Yu.globalTransportInitialized_=!1;class $u{constructor(e,t,r,n,i,s,a,o,l,h){this.id=e,this.repoInfo_=t,this.applicationId_=r,this.appCheckToken_=n,this.authToken_=i,this.onMessage_=s,this.onReady_=a,this.onDisconnect_=o,this.onKill_=l,this.lastSessionId=h,this.connectionCount=0,this.pendingDataMessages=[],this.state_=0,this.log_=nu("c:"+this.id+":"),this.transportManager_=new Yu(t),this.log_("Connection created"),this.start_()}start_(){var e=this.transportManager_.initialTransport();this.conn_=new e(this.nextTransportId_(),this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,null,this.lastSessionId),this.primaryResponsesRequired_=e.responsesRequiredToBeHealthy||0;let t=this.connReceiver_(this.conn_),r=this.disconnReceiver_(this.conn_);this.tx_=this.conn_,this.rx_=this.conn_,this.secondaryConn_=null,this.isHealthy_=!1,setTimeout(()=>{this.conn_&&this.conn_.open(t,r)},Math.floor(0));e=e.healthyTimeout||0;0<e&&(this.healthyTimeout_=Su(()=>{this.healthyTimeout_=null,this.isHealthy_||(this.conn_&&102400<this.conn_.bytesReceived?(this.log_("Connection exceeded healthy timeout but has received "+this.conn_.bytesReceived+" bytes. Marking connection healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()):this.conn_&&10240<this.conn_.bytesSent?this.log_("Connection exceeded healthy timeout but has sent "+this.conn_.bytesSent+" bytes. Leaving connection alive."):(this.log_("Closing unhealthy connection after timeout."),this.close()))},Math.floor(e)))}nextTransportId_(){return"c:"+this.id+":"+this.connectionCount++}disconnReceiver_(t){return e=>{t===this.conn_?this.onConnectionLost_(e):t===this.secondaryConn_?(this.log_("Secondary connection lost."),this.onSecondaryConnectionLost_()):this.log_("closing an old connection")}}connReceiver_(t){return e=>{2!==this.state_&&(t===this.rx_?this.onPrimaryMessageReceived_(e):t===this.secondaryConn_?this.onSecondaryMessageReceived_(e):this.log_("message on old connection"))}}sendRequest(e){this.sendData_({t:"d",d:e})}tryCleanupConnection(){this.tx_===this.secondaryConn_&&this.rx_===this.secondaryConn_&&(this.log_("cleaning up and promoting a connection: "+this.secondaryConn_.connId),this.conn_=this.secondaryConn_,this.secondaryConn_=null)}onSecondaryControl_(e){var t;"t"in e&&("a"===(t=e.t)?this.upgradeIfSecondaryHealthy_():"r"===t?(this.log_("Got a reset on secondary, closing it"),this.secondaryConn_.close(),this.tx_!==this.secondaryConn_&&this.rx_!==this.secondaryConn_||this.close()):"o"===t&&(this.log_("got pong on secondary."),this.secondaryResponsesRequired_--,this.upgradeIfSecondaryHealthy_()))}onSecondaryMessageReceived_(e){var t=au("t",e),r=au("d",e);if("c"===t)this.onSecondaryControl_(r);else{if("d"!==t)throw new Error("Unknown protocol layer: "+t);this.pendingDataMessages.push(r)}}upgradeIfSecondaryHealthy_(){this.secondaryResponsesRequired_<=0?(this.log_("Secondary connection is healthy."),this.isHealthy_=!0,this.secondaryConn_.markConnectionHealthy(),this.proceedWithUpgrade_()):(this.log_("sending ping on secondary."),this.secondaryConn_.send({t:"c",d:{t:"p",d:{}}}))}proceedWithUpgrade_(){this.secondaryConn_.start(),this.log_("sending client ack on secondary"),this.secondaryConn_.send({t:"c",d:{t:"a",d:{}}}),this.log_("Ending transmission on primary"),this.conn_.send({t:"c",d:{t:"n",d:{}}}),this.tx_=this.secondaryConn_,this.tryCleanupConnection()}onPrimaryMessageReceived_(e){var t=au("t",e),r=au("d",e);"c"===t?this.onControl_(r):"d"===t&&this.onDataMessage_(r)}onDataMessage_(e){this.onPrimaryResponse_(),this.onMessage_(e)}onPrimaryResponse_(){this.isHealthy_||(this.primaryResponsesRequired_--,this.primaryResponsesRequired_<=0&&(this.log_("Primary connection is healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()))}onControl_(e){var t=au("t",e);if("d"in e){var r=e.d;if("h"===t){var n={...r};this.repoInfo_.isUsingEmulator&&(n.h=this.repoInfo_.host),this.onHandshake_(n)}else if("n"===t){this.log_("recvd end transmission on primary"),this.rx_=this.secondaryConn_;for(let e=0;e<this.pendingDataMessages.length;++e)this.onDataMessage_(this.pendingDataMessages[e]);this.pendingDataMessages=[],this.tryCleanupConnection()}else"s"===t?this.onConnectionShutdown_(r):"r"===t?this.onReset_(r):"e"===t?iu("Server Error: "+r):"o"===t?(this.log_("got pong on primary."),this.onPrimaryResponse_(),this.sendPingOnPrimaryIfNecessary_()):iu("Unknown control packet command: "+t)}}onHandshake_(e){var t=e.ts,r=e.v,n=e.h;this.sessionId=e.s,this.repoInfo_.host=n,0===this.state_&&(this.conn_.start(),this.onConnectionEstablished_(this.conn_,t),"5"!==r&&vu("Protocol version mismatch detected"),this.tryStartUpgrade_())}tryStartUpgrade_(){var e=this.transportManager_.upgradeTransport();e&&this.startUpgrade_(e)}startUpgrade_(e){this.secondaryConn_=new e(this.nextTransportId_(),this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,this.sessionId),this.secondaryResponsesRequired_=e.responsesRequiredToBeHealthy||0;var t=this.connReceiver_(this.secondaryConn_),r=this.disconnReceiver_(this.secondaryConn_);this.secondaryConn_.open(t,r),Su(()=>{this.secondaryConn_&&(this.log_("Timed out trying to upgrade."),this.secondaryConn_.close())},Math.floor(6e4))}onReset_(e){this.log_("Reset packet received. New host: "+e),this.repoInfo_.host=e,1===this.state_?this.close():(this.closeConnections_(),this.start_())}onConnectionEstablished_(e,t){this.log_("Realtime connection established."),this.conn_=e,this.state_=1,this.onReady_&&(this.onReady_(t,this.sessionId),this.onReady_=null),0===this.primaryResponsesRequired_?(this.log_("Primary connection is healthy."),this.isHealthy_=!0):Su(()=>{this.sendPingOnPrimaryIfNecessary_()},Math.floor(5e3))}sendPingOnPrimaryIfNecessary_(){this.isHealthy_||1!==this.state_||(this.log_("sending ping on primary."),this.sendData_({t:"c",d:{t:"p",d:{}}}))}onSecondaryConnectionLost_(){var e=this.secondaryConn_;this.secondaryConn_=null,this.tx_!==e&&this.rx_!==e||this.close()}onConnectionLost_(e){this.conn_=null,e||0!==this.state_?1===this.state_&&this.log_("Realtime connection lost."):(this.log_("Realtime connection failed."),this.repoInfo_.isCacheableHost()&&(hu.remove("host:"+this.repoInfo_.host),this.repoInfo_.internalHost=this.repoInfo_.host)),this.close()}onConnectionShutdown_(e){this.log_("Connection shutdown command received. Shutting down..."),this.onKill_&&(this.onKill_(e),this.onKill_=null),this.onDisconnect_=null,this.close()}sendData_(e){if(1!==this.state_)throw"Connection is not connected";this.tx_.send(e)}close(){2!==this.state_&&(this.log_("Closing realtime connection."),this.state_=2,this.closeConnections_(),this.onDisconnect_)&&(this.onDisconnect_(),this.onDisconnect_=null)}closeConnections_(){this.log_("Shutting down all connections"),this.conn_&&(this.conn_.close(),this.conn_=null),this.secondaryConn_&&(this.secondaryConn_.close(),this.secondaryConn_=null),this.healthyTimeout_&&(clearTimeout(this.healthyTimeout_),this.healthyTimeout_=null)}}class Xu{put(e,t,r,n){}merge(e,t,r,n){}refreshAuthToken(e){}refreshAppCheckToken(e){}onDisconnectPut(e,t,r){}onDisconnectMerge(e,t,r){}onDisconnectCancel(e,t){}reportStats(e){}}var Zu,ar=class{constructor(e){this.allowedEvents_=e,this.listeners_={},g(Array.isArray(e)&&0<e.length,"Requires a non-empty array")}trigger(t,...r){if(Array.isArray(this.listeners_[t])){var n=[...this.listeners_[t]];for(let e=0;e<n.length;e++)n[e].callback.apply(n[e].context,r)}}on(e,t,r){this.validateEventType_(e),this.listeners_[e]=this.listeners_[e]||[],this.listeners_[e].push({callback:t,context:r});var n=this.getInitialEvent(e);n&&t.apply(r,n)}off(e,t,r){this.validateEventType_(e);var n=this.listeners_[e]||[];for(let i=0;i<n.length;i++)if(n[i].callback===t&&(!r||r===n[i].context))return void n.splice(i,1)}validateEventType_(t){g(this.allowedEvents_.find(e=>e===t),"Unknown event: "+t)}};class ec extends ar{static getInstance(){return new ec}constructor(){super(["online"]),this.online_=!0,"undefined"==typeof window||void 0===window.addEventListener||re()||(window.addEventListener("online",()=>{this.online_||(this.online_=!0,this.trigger("online",!0))},!1),window.addEventListener("offline",()=>{this.online_&&(this.online_=!1,this.trigger("online",!1))},!1))}getInitialEvent(e){return g("online"===e,"Unknown event type: "+e),[this.online_]}currentlyOnline(){return this.online_}}let tc=32,rc=768;class nc{constructor(r,e){if(void 0===e){this.pieces_=r.split("/");let e=0;for(let t=0;t<this.pieces_.length;t++)0<this.pieces_[t].length&&(this.pieces_[e]=this.pieces_[t],e++);this.pieces_.length=e,this.pieceNum_=0}else this.pieces_=r,this.pieceNum_=e}toString(){let e="";for(let t=this.pieceNum_;t<this.pieces_.length;t++)""!==this.pieces_[t]&&(e+="/"+this.pieces_[t]);return e||"/"}}function ic(){return new nc("")}function m(e){return e.pieceNum_>=e.pieces_.length?null:e.pieces_[e.pieceNum_]}function sc(e){return e.pieces_.length-e.pieceNum_}function ac(e){let t=e.pieceNum_;return t<e.pieces_.length&&t++,new nc(e.pieces_,t)}function oc(e){return e.pieceNum_<e.pieces_.length?e.pieces_[e.pieces_.length-1]:null}function lc(e,t=0){return e.pieces_.slice(e.pieceNum_+t)}function hc(e){if(e.pieceNum_>=e.pieces_.length)return null;var t=[];for(let r=e.pieceNum_;r<e.pieces_.length-1;r++)t.push(e.pieces_[r]);return new nc(t,0)}function uc(e,t){var r=[];for(let i=e.pieceNum_;i<e.pieces_.length;i++)r.push(e.pieces_[i]);if(t instanceof nc)for(let e=t.pieceNum_;e<t.pieces_.length;e++)r.push(t.pieces_[e]);else{var n=t.split("/");for(let e=0;e<n.length;e++)0<n[e].length&&r.push(n[e])}return new nc(r,0)}function C(e){return e.pieceNum_>=e.pieces_.length}function cc(e,t){var r=m(e),n=m(t);if(null===r)return t;if(r===n)return cc(ac(e),ac(t));throw new Error("INTERNAL ERROR: innerPath ("+t+") is not within outerPath ("+e+")")}function dc(e,t){var r=lc(e,0),n=lc(t,0);for(let s=0;s<r.length&&s<n.length;s++){var i=Du(r[s],n[s]);if(0!==i)return i}return r.length===n.length?0:r.length<n.length?-1:1}function Bc(e,t){if(sc(e)!==sc(t))return!1;for(let r=e.pieceNum_,n=t.pieceNum_;r<=e.pieces_.length;r++,n++)if(e.pieces_[r]!==t.pieces_[n])return!1;return!0}function pc(e,t){let r=e.pieceNum_,n=t.pieceNum_;if(sc(e)>sc(t))return!1;for(;r<e.pieces_.length;){if(e.pieces_[r]!==t.pieces_[n])return!1;++r,++n}return!0}class gc{constructor(e,t){this.errorPrefix_=t,this.parts_=lc(e,0),this.byteLength_=Math.max(1,this.parts_.length);for(let r=0;r<this.parts_.length;r++)this.byteLength_+=Pe(this.parts_[r]);fc(this)}}function fc(e){if(e.byteLength_>rc)throw new Error(e.errorPrefix_+"has a key path longer than "+rc+" bytes ("+e.byteLength_+").");if(e.parts_.length>tc)throw new Error(e.errorPrefix_+"path specified exceeds the maximum depth that can be written ("+tc+") or object contains a cycle "+mc(e))}function mc(e){return 0===e.parts_.length?"":"in property '"+e.parts_.join(".")+"'"}let Cc=class nU extends ar{static getInstance(){return new nU}constructor(){super(["visible"]);let t,e;"undefined"!=typeof document&&void 0!==document.addEventListener&&(void 0!==document.hidden?(e="visibilitychange",t="hidden"):void 0!==document.mozHidden?(e="mozvisibilitychange",t="mozHidden"):void 0!==document.msHidden?(e="msvisibilitychange",t="msHidden"):void 0!==document.webkitHidden&&(e="webkitvisibilitychange",t="webkitHidden")),this.visible_=!0,e&&document.addEventListener(e,()=>{var e=!document[t];e!==this.visible_&&(this.visible_=e,this.trigger("visible",e))},!1)}getInitialEvent(e){return g("visible"===e,"Unknown event type: "+e),[this.visible_]}};class vc extends Xu{constructor(e,t,r,n,i,s,a,o){if(super(),this.repoInfo_=e,this.applicationId_=t,this.onDataUpdate_=r,this.onConnectStatus_=n,this.onServerInfoUpdate_=i,this.authTokenProvider_=s,this.appCheckTokenProvider_=a,this.authOverride_=o,this.id=vc.nextPersistentConnectionId_++,this.log_=nu("p:"+this.id+":"),this.interruptReasons_={},this.listens=new Map,this.outstandingPuts_=[],this.outstandingGets_=[],this.outstandingPutCount_=0,this.outstandingGetCount_=0,this.onDisconnectRequestQueue_=[],this.connected_=!1,this.reconnectDelay_=1e3,this.maxReconnectDelay_=3e5,this.securityDebugCallback_=null,this.lastSessionId=null,this.establishConnectionTimer_=null,this.visible_=!1,this.requestCBHash_={},this.requestNumber_=0,this.realtime_=null,this.authToken_=null,this.appCheckToken_=null,this.forceTokenRefresh_=!1,this.invalidAuthTokenCount_=0,this.invalidAppCheckTokenCount_=0,this.firstConnection_=!0,this.lastConnectionAttemptTime_=null,this.lastConnectionEstablishedTime_=null,o)throw new Error("Auth override specified in options, but not supported on non Node.js platforms");Cc.getInstance().on("visible",this.onVisible_,this),-1===e.host.indexOf("fblocal")&&ec.getInstance().on("online",this.onOnline_,this)}sendRequest(e,t,r){var n=++this.requestNumber_,i={r:n,a:e,b:t};this.log_(fe(i)),g(this.connected_,"sendRequest call when we're not connected not allowed."),this.realtime_.sendRequest(i),r&&(this.requestCBHash_[n]=r)}get(e){this.initConnection_();let r=new Z;var t={p:e._path.toString(),q:e._queryObject},t=(this.outstandingGets_.push({action:"g",request:t,onComplete:e=>{var t=e.d;"ok"===e.s?r.resolve(t):r.reject(t)}}),this.outstandingGetCount_++,this.outstandingGets_.length-1);return this.connected_&&this.sendGet_(t),r.promise}listen(e,t,r,n){this.initConnection_();var i=e._queryIdentifier,s=e._path.toString(),a=(this.log_("Listen called for "+s+" "+i),this.listens.has(s)||this.listens.set(s,new Map),g(e._queryParams.isDefault()||!e._queryParams.loadsAllData(),"listen() called for non-default but complete query"),g(!this.listens.get(s).has(i),"listen() called twice for same path/queryId."),{onComplete:n,hashFn:t,query:e,tag:r});this.listens.get(s).set(i,a),this.connected_&&this.sendListen_(a)}sendGet_(t){let r=this.outstandingGets_[t];this.sendRequest("g",r.request,e=>{delete this.outstandingGets_[t],this.outstandingGetCount_--,0===this.outstandingGetCount_&&(this.outstandingGets_=[]),r.onComplete&&r.onComplete(e)})}sendListen_(i){let s=i.query,a=s._path.toString(),o=s._queryIdentifier;this.log_("Listen on "+a+" for "+o);var e={p:a};i.tag&&(e.q=s._queryObject,e.t=i.tag),e.h=i.hashFn(),this.sendRequest("q",e,e=>{var t=e.d,r=e.s,n=(vc.warnOnListenWarnings_(t,s),this.listens.get(a)&&this.listens.get(a).get(o));n===i&&(this.log_("listen response",e),"ok"!==r&&this.removeListen_(a,o),i.onComplete)&&i.onComplete(r,t)})}static warnOnListenWarnings_(e,t){var r,n;e&&"object"==typeof e&&Ce(e,"w")&&(r=ve(e,"w"),Array.isArray(r))&&~r.indexOf("no_index")&&(r='".indexOn": "'+t._queryParams.getIndex().toString()+'"',n=t._path.toString(),vu("Using an unspecified index. Your data will be downloaded and "+`filtered on the client. Consider adding ${r} at `+n+" to your security rules for better performance."))}refreshAuthToken(e){this.authToken_=e,this.log_("Auth token refreshed"),this.authToken_?this.tryAuth():this.connected_&&this.sendRequest("unauth",{},()=>{}),this.reduceReconnectDelayIfAdminCredential_(e)}reduceReconnectDelayIfAdminCredential_(e){var t;(e&&40===e.length||(e=e,"object"==typeof(t=me(e).claims)&&!0===t.admin))&&(this.log_("Admin auth credential detected. Reducing max reconnect time."),this.maxReconnectDelay_=3e4)}refreshAppCheckToken(e){this.appCheckToken_=e,this.log_("App check token refreshed"),this.appCheckToken_?this.tryAppCheck():this.connected_&&this.sendRequest("unappeck",{},()=>{})}tryAuth(){if(this.connected_&&this.authToken_){let n=this.authToken_;r=n;var e=!!(e=me(r).claims)&&"object"==typeof e&&e.hasOwnProperty("iat")?"auth":"gauth",t={cred:n};null===this.authOverride_?t.noauth=!0:"object"==typeof this.authOverride_&&(t.authvar=this.authOverride_),this.sendRequest(e,t,e=>{var t=e.s,r=e.d||"error";this.authToken_===n&&("ok"===t?this.invalidAuthTokenCount_=0:this.onAuthRevoked_(t,r))})}var r,e}tryAppCheck(){this.connected_&&this.appCheckToken_&&this.sendRequest("appcheck",{token:this.appCheckToken_},e=>{var t=e.s,r=e.d||"error";"ok"===t?this.invalidAppCheckTokenCount_=0:this.onAppCheckRevoked_(t,r)})}unlisten(e,t){var r=e._path.toString(),n=e._queryIdentifier,i=(this.log_("Unlisten called for "+r+" "+n),g(e._queryParams.isDefault()||!e._queryParams.loadsAllData(),"unlisten() called for non-default but complete query"),this.removeListen_(r,n));i&&this.connected_&&this.sendUnlisten_(r,n,e._queryObject,t)}sendUnlisten_(e,t,r,n){this.log_("Unlisten on "+e+" for "+t);var i={p:e};n&&(i.q=r,i.t=n),this.sendRequest("n",i)}onDisconnectPut(e,t,r){this.initConnection_(),this.connected_?this.sendOnDisconnect_("o",e,t,r):this.onDisconnectRequestQueue_.push({pathString:e,action:"o",data:t,onComplete:r})}onDisconnectMerge(e,t,r){this.initConnection_(),this.connected_?this.sendOnDisconnect_("om",e,t,r):this.onDisconnectRequestQueue_.push({pathString:e,action:"om",data:t,onComplete:r})}onDisconnectCancel(e,t){this.initConnection_(),this.connected_?this.sendOnDisconnect_("oc",e,null,t):this.onDisconnectRequestQueue_.push({pathString:e,action:"oc",data:null,onComplete:t})}sendOnDisconnect_(e,t,r,n){var i={p:t,d:r};this.log_("onDisconnect "+e,i),this.sendRequest(e,i,e=>{n&&setTimeout(()=>{n(e.s,e.d)},Math.floor(0))})}put(e,t,r,n){this.putInternal("p",e,t,r,n)}merge(e,t,r,n){this.putInternal("m",e,t,r,n)}putInternal(e,t,r,n,i){this.initConnection_();var s={p:t,d:r},s=(void 0!==i&&(s.h=i),this.outstandingPuts_.push({action:e,request:s,onComplete:n}),this.outstandingPutCount_++,this.outstandingPuts_.length-1);this.connected_?this.sendPut_(s):this.log_("Buffering put: "+t)}sendPut_(t){let r=this.outstandingPuts_[t].action;var e=this.outstandingPuts_[t].request;let n=this.outstandingPuts_[t].onComplete;this.outstandingPuts_[t].queued=this.connected_,this.sendRequest(r,e,e=>{this.log_(r+" response",e),delete this.outstandingPuts_[t],this.outstandingPutCount_--,0===this.outstandingPutCount_&&(this.outstandingPuts_=[]),n&&n(e.s,e.d)})}reportStats(e){var t;this.connected_&&(this.log_("reportStats",t={c:e}),this.sendRequest("s",t,e=>{var t;"ok"!==e.s&&(t=e.d,this.log_("reportStats","Error sending stats: "+t))}))}onDataMessage_(e){if("r"in e){this.log_("from server: "+fe(e));var t=e.r,r=this.requestCBHash_[t];r&&(delete this.requestCBHash_[t],r(e.b))}else{if("error"in e)throw"A server-side error has occurred: "+e.error;"a"in e&&this.onDataPush_(e.a,e.b)}}onDataPush_(e,t){this.log_("handleServerMessage",e,t),"d"===e?this.onDataUpdate_(t.p,t.d,!1,t.t):"m"===e?this.onDataUpdate_(t.p,t.d,!0,t.t):"c"===e?this.onListenRevoked_(t.p,t.q):"ac"===e?this.onAuthRevoked_(t.s,t.d):"apc"===e?this.onAppCheckRevoked_(t.s,t.d):"sd"===e?this.onSecurityDebugPacket_(t):iu("Unrecognized action received from server: "+fe(e)+"\nAre you using the latest client?")}onReady_(e,t){this.log_("connection ready"),this.connected_=!0,this.lastConnectionEstablishedTime_=(new Date).getTime(),this.handleTimestamp_(e),this.lastSessionId=t,this.firstConnection_&&this.sendConnectStats_(),this.restoreState_(),this.firstConnection_=!1,this.onConnectStatus_(!0)}scheduleConnect_(e){g(!this.realtime_,"Scheduling a connect when we're already connected/ing?"),this.establishConnectionTimer_&&clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=setTimeout(()=>{this.establishConnectionTimer_=null,this.establishConnection_()},Math.floor(e))}initConnection_(){!this.realtime_&&this.firstConnection_&&this.scheduleConnect_(0)}onVisible_(e){e&&!this.visible_&&this.reconnectDelay_===this.maxReconnectDelay_&&(this.log_("Window became visible. Reducing delay."),this.reconnectDelay_=1e3,this.realtime_||this.scheduleConnect_(0)),this.visible_=e}onOnline_(e){e?(this.log_("Browser went online."),this.reconnectDelay_=1e3,this.realtime_||this.scheduleConnect_(0)):(this.log_("Browser went offline. Killing connection."),this.realtime_&&this.realtime_.close())}onRealtimeDisconnect_(){var e;this.log_("data client disconnected"),this.connected_=!1,this.realtime_=null,this.cancelSentTransactions_(),this.requestCBHash_={},this.shouldReconnect_()&&(this.visible_?this.lastConnectionEstablishedTime_&&(3e4<(new Date).getTime()-this.lastConnectionEstablishedTime_&&(this.reconnectDelay_=1e3),this.lastConnectionEstablishedTime_=null):(this.log_("Window isn't visible. Delaying reconnect."),this.reconnectDelay_=this.maxReconnectDelay_,this.lastConnectionAttemptTime_=(new Date).getTime()),e=Math.max(0,(new Date).getTime()-this.lastConnectionAttemptTime_),e=Math.max(0,this.reconnectDelay_-e),e=Math.random()*e,this.log_("Trying to reconnect in "+e+"ms"),this.scheduleConnect_(e),this.reconnectDelay_=Math.min(this.maxReconnectDelay_,1.3*this.reconnectDelay_)),this.onConnectStatus_(!1)}async establishConnection_(){if(this.shouldReconnect_()){this.log_("Making a connection attempt"),this.lastConnectionAttemptTime_=(new Date).getTime(),this.lastConnectionEstablishedTime_=null;var n=this.onDataMessage_.bind(this),i=this.onReady_.bind(this);let e=this.onRealtimeDisconnect_.bind(this);var s=this.id+":"+vc.nextConnectionId_++,a=this.lastSessionId;let t=!1,r=null;var o=function(){r?r.close():(t=!0,e())},l=(this.realtime_={close:o,sendRequest:function(e){g(r,"sendRequest call when we're not connected not allowed."),r.sendRequest(e)}},this.forceTokenRefresh_);this.forceTokenRefresh_=!1;try{var[h,u]=await Promise.all([this.authTokenProvider_.getToken(l),this.appCheckTokenProvider_.getToken(l)]);t?mu("getToken() completed but was canceled"):(mu("getToken() completed. Creating connection."),this.authToken_=h&&h.accessToken,this.appCheckToken_=u&&u.token,r=new $u(s,this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,n,i,e,e=>{vu(e+" ("+this.repoInfo_.toString()+")"),this.interrupt("server_kill")},a))}catch(e){this.log_("Failed to get token: "+e),t||(this.repoInfo_.nodeAdmin&&vu(e),o())}}}interrupt(e){mu("Interrupting connection for reason: "+e),this.interruptReasons_[e]=!0,this.realtime_?this.realtime_.close():(this.establishConnectionTimer_&&(clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=null),this.connected_&&this.onRealtimeDisconnect_())}resume(e){mu("Resuming connection for reason: "+e),delete this.interruptReasons_[e],_e(this.interruptReasons_)&&(this.reconnectDelay_=1e3,this.realtime_||this.scheduleConnect_(0))}handleTimestamp_(e){var t=e-(new Date).getTime();this.onServerInfoUpdate_({serverTimeOffset:t})}cancelSentTransactions_(){for(let t=0;t<this.outstandingPuts_.length;t++){var e=this.outstandingPuts_[t];e&&"h"in e.request&&e.queued&&(e.onComplete&&e.onComplete("disconnect"),delete this.outstandingPuts_[t],this.outstandingPutCount_--)}0===this.outstandingPutCount_&&(this.outstandingPuts_=[])}onListenRevoked_(e,t){let r;r=t?t.map(e=>ou(e)).join("$"):"default";var n=this.removeListen_(e,r);n&&n.onComplete&&n.onComplete("permission_denied")}removeListen_(e,t){var r,n=new nc(e).toString();let i;return this.listens.has(n)?(r=this.listens.get(n),i=r.get(t),r.delete(t),0===r.size&&this.listens.delete(n)):i=void 0,i}onAuthRevoked_(e,t){mu("Auth token revoked: "+e+"/"+t),this.authToken_=null,this.forceTokenRefresh_=!0,this.realtime_.close(),"invalid_token"!==e&&"permission_denied"!==e||(this.invalidAuthTokenCount_++,3<=this.invalidAuthTokenCount_&&(this.reconnectDelay_=3e4,this.authTokenProvider_.notifyForInvalidToken()))}onAppCheckRevoked_(e,t){mu("App check token revoked: "+e+"/"+t),this.appCheckToken_=null,this.forceTokenRefresh_=!0,"invalid_token"!==e&&"permission_denied"!==e||(this.invalidAppCheckTokenCount_++,3<=this.invalidAppCheckTokenCount_&&this.appCheckTokenProvider_.notifyForInvalidToken())}onSecurityDebugPacket_(e){this.securityDebugCallback_?this.securityDebugCallback_(e):"msg"in e&&console.log("FIREBASE: "+e.msg.replace("\n","\nFIREBASE: "))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(var e of this.listens.values())for(var t of e.values())this.sendListen_(t);for(let n=0;n<this.outstandingPuts_.length;n++)this.outstandingPuts_[n]&&this.sendPut_(n);for(;this.onDisconnectRequestQueue_.length;){var r=this.onDisconnectRequestQueue_.shift();this.sendOnDisconnect_(r.action,r.pathString,r.data,r.onComplete)}for(let i=0;i<this.outstandingGets_.length;i++)this.outstandingGets_[i]&&this.sendGet_(i)}sendConnectStats_(){var e={};e["sdk.js."+$h.replace(/\./g,"-")]=1,re()?e["framework.cordova"]=1:ae()&&(e["framework.reactnative"]=1),this.reportStats(e)}shouldReconnect_(){var e=ec.getInstance().currentlyOnline();return _e(this.interruptReasons_)&&e}}vc.nextPersistentConnectionId_=0,vc.nextConnectionId_=0;class _c{constructor(e,t){this.name=e,this.node=t}static Wrap(e,t){return new _c(e,t)}}class yc{getCompare(){return this.compare.bind(this)}indexedValueChanged(e,t){var r=new _c(wu,e),n=new _c(wu,t);return 0!==this.compare(r,n)}minPost(){return _c.MIN}}let wc;class Ec extends yc{static get __EMPTY_NODE(){return wc}static set __EMPTY_NODE(e){wc=e}compare(e,t){return Du(e.name,t.name)}isDefinedOn(e){throw M("KeyIndex.isDefinedOn not expected to be called.")}indexedValueChanged(e,t){return!1}minPost(){return _c.MIN}maxPost(){return new _c(Eu,wc)}makePost(e,t){return g("string"==typeof e,"KeyIndex indexValue must always be a string."),new _c(e,wc)}toString(){return".key"}}let Dc=new Ec,bc=class{constructor(e,t,r,n,i=null){this.isReverse_=n,this.resultGenerator_=i,this.nodeStack_=[];let s=1;for(;!e.isEmpty();)if(s=t?r(e.key,t):1,n&&(s*=-1),s<0)e=this.isReverse_?e.left:e.right;else{if(0===s){this.nodeStack_.push(e);break}this.nodeStack_.push(e),e=this.isReverse_?e.right:e.left}}getNext(){if(0===this.nodeStack_.length)return null;let e=this.nodeStack_.pop(),t;if(t=this.resultGenerator_?this.resultGenerator_(e.key,e.value):{key:e.key,value:e.value},this.isReverse_)for(e=e.left;!e.isEmpty();)this.nodeStack_.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack_.push(e),e=e.left;return t}hasNext(){return 0<this.nodeStack_.length}peek(){var e;return 0===this.nodeStack_.length?null:(e=this.nodeStack_[this.nodeStack_.length-1],this.resultGenerator_?this.resultGenerator_(e.key,e.value):{key:e.key,value:e.value})}},Ic=class uC{constructor(e,t,r,n,i){this.key=e,this.value=t,this.color=null!=r?r:uC.RED,this.left=null!=n?n:Sc.EMPTY_NODE,this.right=null!=i?i:Sc.EMPTY_NODE}copy(e,t,r,n,i){return new uC(null!=e?e:this.key,null!=t?t:this.value,null!=r?r:this.color,null!=n?n:this.left,null!=i?i:this.right)}count(){return this.left.count()+1+this.right.count()}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||!!e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min_(){return this.left.isEmpty()?this:this.left.min_()}minKey(){return this.min_().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,r){let n=this;var i=r(e,n.key);return(n=i<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===i?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp_()}removeMin_(){if(this.left.isEmpty())return Sc.EMPTY_NODE;let e=this;return(e=(e=e.left.isRed_()||e.left.left.isRed_()?e:e.moveRedLeft_()).copy(null,null,null,e.left.removeMin_(),null)).fixUp_()}remove(e,t){let r,n;if(t(e,(r=this).key)<0)r=(r=r.left.isEmpty()||r.left.isRed_()||r.left.left.isRed_()?r:r.moveRedLeft_()).copy(null,null,null,r.left.remove(e,t),null);else{if(0===t(e,(r=(r=r.left.isRed_()?r.rotateRight_():r).right.isEmpty()||r.right.isRed_()||r.right.left.isRed_()?r:r.moveRedRight_()).key)){if(r.right.isEmpty())return Sc.EMPTY_NODE;n=r.right.min_(),r=r.copy(n.key,n.value,null,null,r.right.removeMin_())}r=r.copy(null,null,null,null,r.right.remove(e,t))}return r.fixUp_()}isRed_(){return this.color}fixUp_(){let e=this;return e=(e=(e=e.right.isRed_()&&!e.left.isRed_()?e.rotateLeft_():e).left.isRed_()&&e.left.left.isRed_()?e.rotateRight_():e).left.isRed_()&&e.right.isRed_()?e.colorFlip_():e}moveRedLeft_(){let e=this.colorFlip_();return e=e.right.left.isRed_()?(e=(e=e.copy(null,null,null,null,e.right.rotateRight_())).rotateLeft_()).colorFlip_():e}moveRedRight_(){let e=this.colorFlip_();return e=e.left.left.isRed_()?(e=e.rotateRight_()).colorFlip_():e}rotateLeft_(){var e=this.copy(null,null,uC.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight_(){var e=this.copy(null,null,uC.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip_(){var e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth_(){var e=this.check_();return Math.pow(2,e)<=this.count()+1}check_(){if(this.isRed_()&&this.left.isRed_())throw new Error("Red node has red child("+this.key+","+this.value+")");if(this.right.isRed_())throw new Error("Right child of ("+this.key+","+this.value+") is red");var e=this.left.check_();if(e!==this.right.check_())throw new Error("Black depths differ");return e+(this.isRed_()?0:1)}};Ic.RED=!0,Ic.BLACK=!1;class Tc{copy(e,t,r,n,i){return this}insert(e,t,r){return new Ic(e,t,null)}remove(e,t){return this}count(){return 0}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}check_(){return 0}isRed_(){return!1}}let Sc=class lC{constructor(e,t=lC.EMPTY_NODE){this.comparator_=e,this.root_=t}insert(e,t){return new lC(this.comparator_,this.root_.insert(e,t,this.comparator_).copy(null,null,Ic.BLACK,null,null))}remove(e){return new lC(this.comparator_,this.root_.remove(e,this.comparator_).copy(null,null,Ic.BLACK,null,null))}get(e){var t;let r=this.root_;for(;!r.isEmpty();){if(0===(t=this.comparator_(e,r.key)))return r.value;t<0?r=r.left:0<t&&(r=r.right)}return null}getPredecessorKey(e){let t,r=this.root_,n=null;for(;!r.isEmpty();){if(0===(t=this.comparator_(e,r.key))){if(r.left.isEmpty())return n?n.key:null;for(r=r.left;!r.right.isEmpty();)r=r.right;return r.key}t<0?r=r.left:0<t&&(r=(n=r).right)}throw new Error("Attempted to find predecessor key for a nonexistent key. What gives?")}isEmpty(){return this.root_.isEmpty()}count(){return this.root_.count()}minKey(){return this.root_.minKey()}maxKey(){return this.root_.maxKey()}inorderTraversal(e){return this.root_.inorderTraversal(e)}reverseTraversal(e){return this.root_.reverseTraversal(e)}getIterator(e){return new bc(this.root_,null,this.comparator_,!1,e)}getIteratorFrom(e,t){return new bc(this.root_,e,this.comparator_,!1,t)}getReverseIteratorFrom(e,t){return new bc(this.root_,e,this.comparator_,!0,t)}getReverseIterator(e){return new bc(this.root_,null,this.comparator_,!0,e)}};function kc(e,t){return Du(e.name,t.name)}function Nc(e,t){return Du(e,t)}Sc.EMPTY_NODE=new Tc;let Ac;function Rc(e){return"number"==typeof e?"number:"+Iu(e):"string:"+e}function Oc(e){var t;e.isLeafNode()?(t=e.val(),g("string"==typeof t||"number"==typeof t||"object"==typeof t&&Ce(t,".sv"),"Priority must be a string or number.")):g(e===Ac||e.isEmpty(),"priority of unexpected type."),g(e===Ac||e.getPriority().isEmpty(),"Priority nodes can't have a priority of their own.")}let Pc;class xc{static set __childrenNodeConstructor(e){Pc=e}static get __childrenNodeConstructor(){return Pc}constructor(e,t=xc.__childrenNodeConstructor.EMPTY_NODE){this.value_=e,this.priorityNode_=t,this.lazyHash_=null,g(null!=this.value_,"LeafNode shouldn't be created with null/undefined value."),Oc(this.priorityNode_)}isLeafNode(){return!0}getPriority(){return this.priorityNode_}updatePriority(e){return new xc(this.value_,e)}getImmediateChild(e){return".priority"===e?this.priorityNode_:xc.__childrenNodeConstructor.EMPTY_NODE}getChild(e){return C(e)?this:".priority"===m(e)?this.priorityNode_:xc.__childrenNodeConstructor.EMPTY_NODE}hasChild(){return!1}getPredecessorChildName(e,t){return null}updateImmediateChild(e,t){return".priority"===e?this.updatePriority(t):t.isEmpty()&&".priority"!==e?this:xc.__childrenNodeConstructor.EMPTY_NODE.updateImmediateChild(e,t).updatePriority(this.priorityNode_)}updateChild(e,t){var r=m(e);return null===r?t:t.isEmpty()&&".priority"!==r?this:(g(".priority"!==r||1===sc(e),".priority must be the last token in a path"),this.updateImmediateChild(r,xc.__childrenNodeConstructor.EMPTY_NODE.updateChild(ac(e),t)))}isEmpty(){return!1}numChildren(){return 0}forEachChild(e,t){return!1}val(e){return e&&!this.getPriority().isEmpty()?{".value":this.getValue(),".priority":this.getPriority().val()}:this.getValue()}hash(){if(null===this.lazyHash_){let e="";this.priorityNode_.isEmpty()||(e+="priority:"+Rc(this.priorityNode_.val())+":");var t=typeof this.value_;e=(e+=t+":")+("number"==t?Iu(this.value_):this.value_),this.lazyHash_=ru(e)}return this.lazyHash_}getValue(){return this.value_}compareTo(e){return e===xc.__childrenNodeConstructor.EMPTY_NODE?1:e instanceof xc.__childrenNodeConstructor?-1:(g(e.isLeafNode(),"Unknown node type"),this.compareToLeafNode_(e))}compareToLeafNode_(e){var t=typeof e.value_,r=typeof this.value_,n=xc.VALUE_TYPE_ORDER.indexOf(t),i=xc.VALUE_TYPE_ORDER.indexOf(r);return g(0<=n,"Unknown leaf type: "+t),g(0<=i,"Unknown leaf type: "+r),n===i?"object"==r?0:this.value_<e.value_?-1:this.value_===e.value_?0:1:i-n}withIndex(){return this}isIndexed(){return!0}equals(e){return e===this||!!e.isLeafNode()&&this.value_===e.value_&&this.priorityNode_.equals(e.priorityNode_)}}xc.VALUE_TYPE_ORDER=["object","boolean","number","string"];let Fc,Lc;class Mc extends yc{compare(e,t){var r=e.node.getPriority(),n=t.node.getPriority(),r=r.compareTo(n);return 0===r?Du(e.name,t.name):r}isDefinedOn(e){return!e.getPriority().isEmpty()}indexedValueChanged(e,t){return!e.getPriority().equals(t.getPriority())}minPost(){return _c.MIN}maxPost(){return new _c(Eu,new xc("[PRIORITY-POST]",Lc))}makePost(e,t){var r=Fc(e);return new _c(t,new xc("[PRIORITY-POST]",r))}toString(){return".priority"}}let Uc=new Mc,Gc=Math.log(2);class Hc{constructor(e){this.count=(t=e+1,parseInt(Math.log(t)/Gc,10)),this.current_=this.count-1,t=this.count;var t,r=parseInt(Array(t+1).join("1"),2);this.bits_=e+1&r}nextBitIsOne(){var e=!(this.bits_&1<<this.current_);return this.current_--,e}}function Vc(l,e,h,t){l.sort(e);let u=function(e,t){var r,n,i=t-e;let s,a;return 0==i?null:1==i?(s=l[e],a=h?h(s):s,new Ic(a,s.node,Ic.BLACK,null,null)):(i=parseInt(i/2,10)+e,r=u(e,i),n=u(i+1,t),s=l[i],a=h?h(s):s,new Ic(a,s.node,Ic.BLACK,r,n))};var r=(e=>{let s=null,a=null,o=l.length;function t(e,t){var r=o-e,n=o,n=(o-=e,u(1+r,n)),r=l[r],i=h?h(r):r,e=new Ic(i,r.node,t,null,n);s=(s?s.left=e:a=e,e)}for(let i=0;i<e.count;++i){var r=e.nextBitIsOne(),n=Math.pow(2,e.count-(i+1));r?t(n,Ic.BLACK):(t(n,Ic.BLACK),t(n,Ic.RED))}return a})(new Hc(l.length));return new Sc(t||e,r)}let qc,jc={};class Kc{static get Default(){return g((jc,Uc),"ChildrenNode.ts has not been loaded"),qc=qc||new Kc({".priority":jc},{".priority":Uc})}constructor(e,t){this.indexes_=e,this.indexSet_=t}get(e){var t=ve(this.indexes_,e);if(t)return t instanceof Sc?t:null;throw new Error("No index defined for "+e)}hasIndex(e){return Ce(this.indexSet_,e.toString())}addIndex(e,t){g(e!==Dc,"KeyIndex always exists and isn't meant to be added to the IndexMap.");var r=[];let n=!1;var i=t.getIterator(_c.Wrap);let s=i.getNext();for(;s;)n=n||e.isDefinedOn(s.node),r.push(s),s=i.getNext();let a;a=n?Vc(r,e.getCompare()):jc;var o=e.toString(),l={...this.indexSet_},h=(l[o]=e,{...this.indexes_});return h[o]=a,new Kc(h,l)}addToIndexes(s,a){var e=ye(this.indexes_,(t,e)=>{var r=ve(this.indexSet_,e);if(g(r,"Missing index implementation for "+e),t===jc){if(r.isDefinedOn(s.node)){var n=[],i=a.getIterator(_c.Wrap);let e=i.getNext();for(;e;)e.name!==s.name&&n.push(e),e=i.getNext();return n.push(s),Vc(n,r.getCompare())}return jc}{r=a.get(s.name);let e=t;return(e=r?e.remove(new _c(s.name,r)):e).insert(s,s.node)}});return new Kc(e,this.indexSet_)}removeFromIndexes(r,n){var e=ye(this.indexes_,e=>{var t;return e!==jc&&(t=n.get(r.name))?e.remove(new _c(r.name,t)):e});return new Kc(e,this.indexSet_)}}let zc;class v{static get EMPTY_NODE(){return zc=zc||new v(new Sc(Nc),null,Kc.Default)}constructor(e,t,r){this.children_=e,this.priorityNode_=t,this.indexMap_=r,this.lazyHash_=null,this.priorityNode_&&Oc(this.priorityNode_),this.children_.isEmpty()&&g(!this.priorityNode_||this.priorityNode_.isEmpty(),"An empty node cannot have a priority")}isLeafNode(){return!1}getPriority(){return this.priorityNode_||zc}updatePriority(e){return this.children_.isEmpty()?this:new v(this.children_,e,this.indexMap_)}getImmediateChild(e){var t;return".priority"===e?this.getPriority():null===(t=this.children_.get(e))?zc:t}getChild(e){var t=m(e);return null===t?this:this.getImmediateChild(t).getChild(ac(e))}hasChild(e){return null!==this.children_.get(e)}updateImmediateChild(r,n){if(g(n,"We should always be passing snapshot nodes"),".priority"===r)return this.updatePriority(n);{var i=new _c(r,n);let e,t;t=n.isEmpty()?(e=this.children_.remove(r),this.indexMap_.removeFromIndexes(i,this.children_)):(e=this.children_.insert(r,n),this.indexMap_.addToIndexes(i,this.children_));i=e.isEmpty()?zc:this.priorityNode_;return new v(e,i,t)}}updateChild(e,t){var r,n=m(e);return null===n?t:(g(".priority"!==m(e)||1===sc(e),".priority must be the last token in a path"),r=this.getImmediateChild(n).updateChild(ac(e),t),this.updateImmediateChild(n,r))}isEmpty(){return this.children_.isEmpty()}numChildren(){return this.children_.count()}val(r){if(this.isEmpty())return null;let n={},i=0,s=0,a=!0;if(this.forEachChild(Uc,(e,t)=>{n[e]=t.val(r),i++,a&&v.INTEGER_REGEXP_.test(e)?s=Math.max(s,Number(e)):a=!1}),!r&&a&&s<2*i){var e,t=[];for(e in n)t[e]=n[e];return t}return r&&!this.getPriority().isEmpty()&&(n[".priority"]=this.getPriority().val()),n}hash(){if(null===this.lazyHash_){let n="";this.getPriority().isEmpty()||(n+="priority:"+Rc(this.getPriority().val())+":"),this.forEachChild(Uc,(e,t)=>{var r=t.hash();""!==r&&(n+=":"+e+":"+r)}),this.lazyHash_=""===n?"":ru(n)}return this.lazyHash_}getPredecessorChildName(e,t,r){var n=this.resolveIndex_(r);return n?(n=n.getPredecessorKey(new _c(e,t)))?n.name:null:this.children_.getPredecessorKey(e)}getFirstChildName(e){var t=this.resolveIndex_(e);return t?(t=t.minKey())&&t.name:this.children_.minKey()}getFirstChild(e){var t=this.getFirstChildName(e);return t?new _c(t,this.children_.get(t)):null}getLastChildName(e){var t=this.resolveIndex_(e);return t?(t=t.maxKey())&&t.name:this.children_.maxKey()}getLastChild(e){var t=this.getLastChildName(e);return t?new _c(t,this.children_.get(t)):null}forEachChild(e,t){var r=this.resolveIndex_(e);return r?r.inorderTraversal(e=>t(e.name,e.node)):this.children_.inorderTraversal(t)}getIterator(e){return this.getIteratorFrom(e.minPost(),e)}getIteratorFrom(t,r){var e=this.resolveIndex_(r);if(e)return e.getIteratorFrom(t,e=>e);{var n=this.children_.getIteratorFrom(t.name,_c.Wrap);let e=n.peek();for(;null!=e&&r.compare(e,t)<0;)n.getNext(),e=n.peek();return n}}getReverseIterator(e){return this.getReverseIteratorFrom(e.maxPost(),e)}getReverseIteratorFrom(t,r){var e=this.resolveIndex_(r);if(e)return e.getReverseIteratorFrom(t,e=>e);{var n=this.children_.getReverseIteratorFrom(t.name,_c.Wrap);let e=n.peek();for(;null!=e&&0<r.compare(e,t);)n.getNext(),e=n.peek();return n}}compareTo(e){return this.isEmpty()?e.isEmpty()?0:-1:e.isLeafNode()||e.isEmpty()?1:e===Wc?-1:0}withIndex(e){var t;return e===Dc||this.indexMap_.hasIndex(e)?this:(t=this.indexMap_.addIndex(e,this.children_),new v(this.children_,this.priorityNode_,t))}isIndexed(e){return e===Dc||this.indexMap_.hasIndex(e)}equals(e){if(e===this)return!0;if(!e.isLeafNode()){var r=e;if(this.getPriority().equals(r.getPriority())){if(this.children_.count()!==r.children_.count())return!1;{var n=this.getIterator(Uc),i=r.getIterator(Uc);let e=n.getNext(),t=i.getNext();for(;e&&t;){if(e.name!==t.name||!e.node.equals(t.node))return!1;e=n.getNext(),t=i.getNext()}return null===e&&null===t}}}return!1}resolveIndex_(e){return e===Dc?null:this.indexMap_.get(e.toString())}}v.INTEGER_REGEXP_=/^(0|[1-9]\d*)$/;class Jc extends v{constructor(){super(new Sc(Nc),v.EMPTY_NODE,Kc.Default)}compareTo(e){return e===this?0:1}equals(e){return e===this}getPriority(){return this}getImmediateChild(e){return v.EMPTY_NODE}isEmpty(){return!1}}let Wc=new Jc,Qc=(Object.defineProperties(_c,{MIN:{value:new _c(wu,v.EMPTY_NODE)},MAX:{value:new _c(Eu,Wc)}}),Ec.__EMPTY_NODE=v.EMPTY_NODE,xc.__childrenNodeConstructor=v,a=Wc,Ac=a,a=Wc,Lc=a,!0);function Yc(s,e=null){if(null===s)return v.EMPTY_NODE;var t,r;if("object"==typeof s&&".priority"in s&&(e=s[".priority"]),g(null===e||"string"==typeof e||"number"==typeof e||"object"==typeof e&&".sv"in e,"Invalid priority type found: "+typeof e),"object"!=typeof(s="object"==typeof s&&".value"in s&&null!==s[".value"]?s[".value"]:s)||".sv"in s)return t=s,new xc(t,Yc(e));if(s instanceof Array||!Qc){let n=v.EMPTY_NODE;return bu(s,(e,t)=>{var r;!Ce(s,e)||"."===e.substring(0,1)||!(r=Yc(t)).isLeafNode()&&r.isEmpty()||(n=n.updateImmediateChild(e,r))}),n.updatePriority(Yc(e))}{let n=[],i=!1;return bu(s,(e,t)=>{var r;"."===e.substring(0,1)||(r=Yc(t)).isEmpty()||(i=i||!r.getPriority().isEmpty(),n.push(new _c(e,r)))}),0===n.length?v.EMPTY_NODE:(t=Vc(n,kc,e=>e.name,Nc),i?(r=Vc(n,Uc.getCompare()),new v(t,Yc(e),new Kc({".priority":r},{".priority":Uc}))):new v(t,Yc(e),Kc.Default))}}Fc=Yc;class $c extends yc{constructor(e){super(),this.indexPath_=e,g(!C(e)&&".priority"!==m(e),"Can't create PathIndex with empty path or .priority key")}extractChild(e){return e.getChild(this.indexPath_)}isDefinedOn(e){return!e.getChild(this.indexPath_).isEmpty()}compare(e,t){var r=this.extractChild(e.node),n=this.extractChild(t.node),r=r.compareTo(n);return 0===r?Du(e.name,t.name):r}makePost(e,t){var r=Yc(e),r=v.EMPTY_NODE.updateChild(this.indexPath_,r);return new _c(t,r)}maxPost(){var e=v.EMPTY_NODE.updateChild(this.indexPath_,Wc);return new _c(Eu,e)}toString(){return lc(this.indexPath_,0).join("/")}}class Xc extends yc{compare(e,t){var r=e.node.compareTo(t.node);return 0===r?Du(e.name,t.name):r}isDefinedOn(e){return!0}indexedValueChanged(e,t){return!e.equals(t)}minPost(){return _c.MIN}maxPost(){return _c.MAX}makePost(e,t){var r=Yc(e);return new _c(t,r)}toString(){return".value"}}let Zc=new Xc;function ed(e){return{type:"value",snapshotNode:e}}function td(e,t){return{type:"child_added",snapshotNode:t,childName:e}}function rd(e,t){return{type:"child_removed",snapshotNode:t,childName:e}}function nd(e,t,r){return{type:"child_changed",snapshotNode:t,childName:e,oldSnap:r}}class id{constructor(e){this.index_=e}updateChild(e,t,r,n,i,s){g(e.isIndexed(this.index_),"A node must be indexed if only a child is updated");var a=e.getImmediateChild(t);return a.getChild(n).equals(r.getChild(n))&&a.isEmpty()===r.isEmpty()||(null!=s&&(r.isEmpty()?e.hasChild(t)?s.trackChildChange(rd(t,a)):g(e.isLeafNode(),"A child remove without an old child only makes sense on a leaf node"):a.isEmpty()?s.trackChildChange(td(t,r)):s.trackChildChange(nd(t,r,a))),e.isLeafNode()&&r.isEmpty())?e:e.updateImmediateChild(t,r).withIndex(this.index_)}updateFullNode(n,r,i){return null!=i&&(n.isLeafNode()||n.forEachChild(Uc,(e,t)=>{r.hasChild(e)||i.trackChildChange(rd(e,t))}),r.isLeafNode()||r.forEachChild(Uc,(e,t)=>{var r;n.hasChild(e)?(r=n.getImmediateChild(e)).equals(t)||i.trackChildChange(nd(e,t,r)):i.trackChildChange(td(e,t))})),r.withIndex(this.index_)}updatePriority(e,t){return e.isEmpty()?v.EMPTY_NODE:e.updatePriority(t)}filtersNodes(){return!1}getIndexedFilter(){return this}getIndex(){return this.index_}}class sd{constructor(e){this.indexedFilter_=new id(e.getIndex()),this.index_=e.getIndex(),this.startPost_=sd.getStartPost_(e),this.endPost_=sd.getEndPost_(e),this.startIsInclusive_=!e.startAfterSet_,this.endIsInclusive_=!e.endBeforeSet_}getStartPost(){return this.startPost_}getEndPost(){return this.endPost_}matches(e){var t=this.startIsInclusive_?this.index_.compare(this.getStartPost(),e)<=0:this.index_.compare(this.getStartPost(),e)<0,r=this.endIsInclusive_?this.index_.compare(e,this.getEndPost())<=0:this.index_.compare(e,this.getEndPost())<0;return t&&r}updateChild(e,t,r,n,i,s){return this.matches(new _c(t,r))||(r=v.EMPTY_NODE),this.indexedFilter_.updateChild(e,t,r,n,i,s)}updateFullNode(e,t,r){let n=(t=t.isLeafNode()?v.EMPTY_NODE:t).withIndex(this.index_),i=(n=n.updatePriority(v.EMPTY_NODE),this);return t.forEachChild(Uc,(e,t)=>{i.matches(new _c(e,t))||(n=n.updateImmediateChild(e,v.EMPTY_NODE))}),this.indexedFilter_.updateFullNode(e,n,r)}updatePriority(e,t){return e}filtersNodes(){return!0}getIndexedFilter(){return this.indexedFilter_}getIndex(){return this.index_}static getStartPost_(e){var t;return e.hasStart()?(t=e.getIndexStartName(),e.getIndex().makePost(e.getIndexStartValue(),t)):e.getIndex().minPost()}static getEndPost_(e){var t;return e.hasEnd()?(t=e.getIndexEndName(),e.getIndex().makePost(e.getIndexEndValue(),t)):e.getIndex().maxPost()}}class ad{constructor(e){this.withinDirectionalStart=e=>this.reverse_?this.withinEndPost(e):this.withinStartPost(e),this.withinDirectionalEnd=e=>this.reverse_?this.withinStartPost(e):this.withinEndPost(e),this.withinStartPost=e=>{var t=this.index_.compare(this.rangedFilter_.getStartPost(),e);return this.startIsInclusive_?t<=0:t<0},this.withinEndPost=e=>{var t=this.index_.compare(e,this.rangedFilter_.getEndPost());return this.endIsInclusive_?t<=0:t<0},this.rangedFilter_=new sd(e),this.index_=e.getIndex(),this.limit_=e.getLimit(),this.reverse_=!e.isViewFromLeft(),this.startIsInclusive_=!e.startAfterSet_,this.endIsInclusive_=!e.endBeforeSet_}updateChild(e,t,r,n,i,s){return this.rangedFilter_.matches(new _c(t,r))||(r=v.EMPTY_NODE),e.getImmediateChild(t).equals(r)?e:e.numChildren()<this.limit_?this.rangedFilter_.getIndexedFilter().updateChild(e,t,r,n,i,s):this.fullLimitUpdateChild_(e,t,r,i,s)}updateFullNode(e,r,t){let n;if(r.isLeafNode()||r.isEmpty())n=v.EMPTY_NODE.withIndex(this.index_);else if(2*this.limit_<r.numChildren()&&r.isIndexed(this.index_)){n=v.EMPTY_NODE.withIndex(this.index_);let e,t=(e=this.reverse_?r.getReverseIteratorFrom(this.rangedFilter_.getEndPost(),this.index_):r.getIteratorFrom(this.rangedFilter_.getStartPost(),this.index_),0);for(;e.hasNext()&&t<this.limit_;){var i=e.getNext();if(this.withinDirectionalStart(i)){if(!this.withinDirectionalEnd(i))break;n=n.updateImmediateChild(i.name,i.node),t++}}}else{n=(n=r.withIndex(this.index_)).updatePriority(v.EMPTY_NODE);let e,t=(e=this.reverse_?n.getReverseIterator(this.index_):n.getIterator(this.index_),0);for(;e.hasNext();){var s=e.getNext();t<this.limit_&&this.withinDirectionalStart(s)&&this.withinDirectionalEnd(s)?t++:n=n.updateImmediateChild(s.name,v.EMPTY_NODE)}}return this.rangedFilter_.getIndexedFilter().updateFullNode(e,n,t)}updatePriority(e,t){return e}filtersNodes(){return!0}getIndexedFilter(){return this.rangedFilter_.getIndexedFilter()}getIndex(){return this.index_}fullLimitUpdateChild_(e,t,r,n,i){let s;if(this.reverse_){let r=this.index_.getCompare();s=(e,t)=>r(t,e)}else s=this.index_.getCompare();var a=e,o=(g(a.numChildren()===this.limit_,""),new _c(t,r)),l=this.reverse_?a.getFirstChild(this.index_):a.getLastChild(this.index_),h=this.rangedFilter_.matches(o);if(a.hasChild(t)){var u=a.getImmediateChild(t);let e=n.getChildAfterChild(this.index_,l,this.reverse_);for(;null!=e&&(e.name===t||a.hasChild(e.name));)e=n.getChildAfterChild(this.index_,e,this.reverse_);var c=null==e?1:s(e,o);return h&&!r.isEmpty()&&0<=c?(null!=i&&i.trackChildChange(nd(t,r,u)),a.updateImmediateChild(t,r)):(null!=i&&i.trackChildChange(rd(t,u)),c=a.updateImmediateChild(t,v.EMPTY_NODE),null!=e&&this.rangedFilter_.matches(e)?(null!=i&&i.trackChildChange(td(e.name,e.node)),c.updateImmediateChild(e.name,e.node)):c)}return!r.isEmpty()&&h&&0<=s(l,o)?(null!=i&&(i.trackChildChange(rd(l.name,l.node)),i.trackChildChange(td(t,r))),a.updateImmediateChild(t,r).updateImmediateChild(l.name,v.EMPTY_NODE)):e}}class od{constructor(){this.limitSet_=!1,this.startSet_=!1,this.startNameSet_=!1,this.startAfterSet_=!1,this.endSet_=!1,this.endNameSet_=!1,this.endBeforeSet_=!1,this.limit_=0,this.viewFrom_="",this.indexStartValue_=null,this.indexStartName_="",this.indexEndValue_=null,this.indexEndName_="",this.index_=Uc}hasStart(){return this.startSet_}isViewFromLeft(){return""===this.viewFrom_?this.startSet_:"l"===this.viewFrom_}getIndexStartValue(){return g(this.startSet_,"Only valid if start has been set"),this.indexStartValue_}getIndexStartName(){return g(this.startSet_,"Only valid if start has been set"),this.startNameSet_?this.indexStartName_:wu}hasEnd(){return this.endSet_}getIndexEndValue(){return g(this.endSet_,"Only valid if end has been set"),this.indexEndValue_}getIndexEndName(){return g(this.endSet_,"Only valid if end has been set"),this.endNameSet_?this.indexEndName_:Eu}hasLimit(){return this.limitSet_}hasAnchoredLimit(){return this.limitSet_&&""!==this.viewFrom_}getLimit(){return g(this.limitSet_,"Only valid if limit has been set"),this.limit_}getIndex(){return this.index_}loadsAllData(){return!(this.startSet_||this.endSet_||this.limitSet_)}isDefault(){return this.loadsAllData()&&this.index_===Uc}copy(){var e=new od;return e.limitSet_=this.limitSet_,e.limit_=this.limit_,e.startSet_=this.startSet_,e.startAfterSet_=this.startAfterSet_,e.indexStartValue_=this.indexStartValue_,e.startNameSet_=this.startNameSet_,e.indexStartName_=this.indexStartName_,e.endSet_=this.endSet_,e.endBeforeSet_=this.endBeforeSet_,e.indexEndValue_=this.indexEndValue_,e.endNameSet_=this.endNameSet_,e.indexEndName_=this.indexEndName_,e.index_=this.index_,e.viewFrom_=this.viewFrom_,e}}function ld(e,t,r){var n=e.copy();return n.startSet_=!0,n.indexStartValue_=t=void 0===t?null:t,null!=r?(n.startNameSet_=!0,n.indexStartName_=r):(n.startNameSet_=!1,n.indexStartName_=""),n}function hd(e,t,r){var n=e.copy();return n.endSet_=!0,n.indexEndValue_=t=void 0===t?null:t,void 0!==r?(n.endNameSet_=!0,n.indexEndName_=r):(n.endNameSet_=!1,n.indexEndName_=""),n}function ud(e,t){var r=e.copy();return r.index_=t,r}function cd(t){var r,n={};if(!t.isDefault()){let e;e=t.index_===Uc?"$priority":t.index_===Zc?"$value":t.index_===Dc?"$key":(g(t.index_ instanceof $c,"Unrecognized index type!"),t.index_.toString()),n.orderBy=fe(e),t.startSet_&&(n[r=t.startAfterSet_?"startAfter":"startAt"]=fe(t.indexStartValue_),t.startNameSet_)&&(n[r]+=","+fe(t.indexStartName_)),t.endSet_&&(n[r=t.endBeforeSet_?"endBefore":"endAt"]=fe(t.indexEndValue_),t.endNameSet_)&&(n[r]+=","+fe(t.indexEndName_)),t.limitSet_&&(t.isViewFromLeft()?n.limitToFirst=t.limit_:n.limitToLast=t.limit_)}return n}function dd(t){var r={};if(t.startSet_&&(r.sp=t.indexStartValue_,t.startNameSet_&&(r.sn=t.indexStartName_),r.sin=!t.startAfterSet_),t.endSet_&&(r.ep=t.indexEndValue_,t.endNameSet_&&(r.en=t.indexEndName_),r.ein=!t.endBeforeSet_),t.limitSet_){r.l=t.limit_;let e=t.viewFrom_;""===e&&(e=t.isViewFromLeft()?"l":"r"),r.vf=e}return t.index_!==Uc&&(r.i=t.index_.toString()),r}class Bd extends Xu{reportStats(e){throw new Error("Method not implemented.")}static getListenId_(e,t){return void 0!==t?"tag$"+t:(g(e._queryParams.isDefault(),"should have a tag if it's not a default query."),e._path.toString())}constructor(e,t,r,n){super(),this.repoInfo_=e,this.onDataUpdate_=t,this.authTokenProvider_=r,this.appCheckTokenProvider_=n,this.log_=nu("p:rest:"),this.listens_={}}listen(e,t,n,i){let s=e._path.toString(),a=(this.log_("Listen called for "+s+" "+e._queryIdentifier),Bd.getListenId_(e,n)),o={};this.listens_[a]=o;var r=cd(e._queryParams);this.restRequest_(s+".json",r,(t,e)=>{let r=e;if(null===(t=404===t?r=null:t)&&this.onDataUpdate_(s,r,!1,n),ve(this.listens_,a)===o){let e;e=t?401===t?"permission_denied":"rest_error:"+t:"ok",i(e,null)}})}unlisten(e,t){var r=Bd.getListenId_(e,t);delete this.listens_[r]}get(e){var t=cd(e._queryParams);let n=e._path.toString(),i=new Z;return this.restRequest_(n+".json",t,(e,t)=>{let r=t;null===(e=404===e?r=null:e)?(this.onDataUpdate_(n,r,!1,null),i.resolve(r)):i.reject(new Error(r))}),i.promise}refreshAuthToken(e){}restRequest_(i,s={},a){return s.format="export",Promise.all([this.authTokenProvider_.getToken(!1),this.appCheckTokenProvider_.getToken(!1)]).then(([e,t])=>{e&&e.accessToken&&(s.auth=e.accessToken),t&&t.token&&(s.ac=t.token);let r=(this.repoInfo_.secure?"https://":"http://")+this.repoInfo_.host+i+"?ns="+this.repoInfo_.namespace+De(s),n=(this.log_("Sending REST request for "+r),new XMLHttpRequest);n.onreadystatechange=()=>{if(a&&4===n.readyState){this.log_("REST Response for "+r+" received. status:",n.status,"response:",n.responseText);let e=null;if(200<=n.status&&n.status<300){try{e=ge(n.responseText)}catch(e){vu("Failed to parse JSON response for "+r+": "+n.responseText)}a(null,e)}else 401!==n.status&&404!==n.status&&vu("Got unsuccessful REST response for "+r+" Status: "+n.status),a(n.status);a=null}},n.open("GET",r,!0),n.send()})}}class pd{constructor(){this.rootNode_=v.EMPTY_NODE}getNode(e){return this.rootNode_.getChild(e)}updateSnapshot(e,t){this.rootNode_=this.rootNode_.updateChild(e,t)}}function gd(){return{value:null,children:new Map}}function fd(e,t,r){var n;C(t)?(e.value=r,e.children.clear()):null!==e.value?e.value=e.value.updateChild(t,r):(n=m(t),e.children.has(n)||e.children.set(n,gd()),fd(e.children.get(n),t=ac(t),r))}function md(e,r,n){var i;null!==e.value?n(r,e.value):(i=(e,t)=>{md(t,new nc(r.toString()+"/"+e),n)},e.children.forEach((e,t)=>{i(t,e)}))}class Cd{constructor(e){this.collection_=e,this.last_=null}get(){var e=this.collection_.get();let r={...e};return this.last_&&bu(this.last_,(e,t)=>{r[e]=r[e]-t}),this.last_=e,r}}class vd{constructor(e,t){this.server_=t,this.statsToReport_={},this.statsListener_=new Cd(e);var r=1e4+2e4*Math.random();Su(this.reportStats_.bind(this),Math.floor(r))}reportStats_(){var e=this.statsListener_.get();let r={},n=!1;bu(e,(e,t)=>{0<t&&Ce(this.statsToReport_,e)&&(r[e]=t,n=!0)}),n&&this.server_.reportStats(r),Su(this.reportStats_.bind(this),Math.floor(2*Math.random()*3e5))}}function _d(){return{fromUser:!0,fromServer:!1,queryId:null,tagged:!1}}function yd(){return{fromUser:!1,fromServer:!0,queryId:null,tagged:!1}}function wd(e){return{fromUser:!1,fromServer:!0,queryId:e,tagged:!0}}(a=Zu=Zu||{})[a.OVERWRITE=0]="OVERWRITE",a[a.MERGE=1]="MERGE",a[a.ACK_USER_WRITE=2]="ACK_USER_WRITE",a[a.LISTEN_COMPLETE=3]="LISTEN_COMPLETE";class Ed{constructor(e,t,r){this.path=e,this.affectedTree=t,this.revert=r,this.type=Zu.ACK_USER_WRITE,this.source=_d()}operationForChild(e){var t;return C(this.path)?null!=this.affectedTree.value?(g(this.affectedTree.children.isEmpty(),"affectedTree should not have overlapping affected paths."),this):(t=this.affectedTree.subtree(new nc(e)),new Ed(ic(),t,this.revert)):(g(m(this.path)===e,"operationForChild called for unrelated child."),new Ed(ac(this.path),this.affectedTree,this.revert))}}class Dd{constructor(e,t){this.source=e,this.path=t,this.type=Zu.LISTEN_COMPLETE}operationForChild(e){return C(this.path)?new Dd(this.source,ic()):new Dd(this.source,ac(this.path))}}class bd{constructor(e,t,r){this.source=e,this.path=t,this.snap=r,this.type=Zu.OVERWRITE}operationForChild(e){return C(this.path)?new bd(this.source,ic(),this.snap.getImmediateChild(e)):new bd(this.source,ac(this.path),this.snap)}}class Id{constructor(e,t,r){this.source=e,this.path=t,this.children=r,this.type=Zu.MERGE}operationForChild(e){var t;return C(this.path)?(t=this.children.subtree(new nc(e))).isEmpty()?null:t.value?new bd(this.source,ic(),t.value):new Id(this.source,ic(),t):(g(m(this.path)===e,"Can't get a merge for a child not on the path of the operation"),new Id(this.source,ac(this.path),this.children))}toString(){return"Operation("+this.path+": "+this.source.toString()+" merge: "+this.children.toString()+")"}}class Td{constructor(e,t,r){this.node_=e,this.fullyInitialized_=t,this.filtered_=r}isFullyInitialized(){return this.fullyInitialized_}isFiltered(){return this.filtered_}isCompleteForPath(e){var t;return C(e)?this.isFullyInitialized()&&!this.filtered_:(t=m(e),this.isCompleteForChild(t))}isCompleteForChild(e){return this.isFullyInitialized()&&!this.filtered_||this.node_.hasChild(e)}getNode(){return this.node_}}class Sd{constructor(e){this.query_=e,this.index_=this.query_._queryParams.getIndex()}}function kd(r,e,t,n){var i=[];let s=[];return e.forEach(e=>{var t;"child_changed"===e.type&&r.index_.indexedValueChanged(e.oldSnap,e.snapshotNode)&&s.push((t=e.childName,{type:"child_moved",snapshotNode:e.snapshotNode,childName:t}))}),Nd(r,i,"child_removed",e,n,t),Nd(r,i,"child_added",e,n,t),Nd(r,i,"child_moved",s,n,t),Nd(r,i,"child_changed",e,n,t),Nd(r,i,"value",e,n,t),i}function Nd(s,a,t,e,o,l){var r=e.filter(e=>e.type===t);r.sort((e,t)=>{var r=s;if(null==e.childName||null==t.childName)throw M("Should only compare child_ events.");var n=new _c(e.childName,e.snapshotNode),i=new _c(t.childName,t.snapshotNode);return r.index_.compare(n,i)}),r.forEach(t=>{e=s,i=l,"value"!==(n=t).type&&"child_removed"!==n.type&&(n.prevName=i.getPredecessorChildName(n.childName,n.snapshotNode,e.index_));let r=n;var e,n,i;o.forEach(e=>{e.respondsTo(t.type)&&a.push(e.createEvent(r,s.query_))})})}function Ad(e,t){return{eventCache:e,serverCache:t}}function Rd(e,t,r,n){return Ad(new Td(t,r,n),e.serverCache)}function Od(e,t,r,n){return Ad(e.eventCache,new Td(t,r,n))}function Pd(e){return e.eventCache.isFullyInitialized()?e.eventCache.getNode():null}function xd(e){return e.serverCache.isFullyInitialized()?e.serverCache.getNode():null}let Fd;class Ld{static fromObject(e){let r=new Ld(null);return bu(e,(e,t)=>{r=r.set(new nc(e),t)}),r}constructor(e,t=Fd=Fd||new Sc(su)){this.value=e,this.children=t}isEmpty(){return null===this.value&&this.children.isEmpty()}findRootMostMatchingPathAndValue(e,t){var r,n;return null!=this.value&&t(this.value)?{path:ic(),value:this.value}:!C(e)&&(r=m(e),null!==(n=this.children.get(r)))&&null!=(n=n.findRootMostMatchingPathAndValue(ac(e),t))?{path:uc(new nc(r),n.path),value:n.value}:null}findRootMostValueAndPath(e){return this.findRootMostMatchingPathAndValue(e,()=>!0)}subtree(e){var t;return C(e)?this:(t=m(e),null!==(t=this.children.get(t))?t.subtree(ac(e)):new Ld(null))}set(e,t){var r,n;return C(e)?new Ld(t,this.children):(n=m(e),r=(this.children.get(n)||new Ld(null)).set(ac(e),t),n=this.children.insert(n,r),new Ld(this.value,n))}remove(t){if(C(t))return this.children.isEmpty()?new Ld(null):new Ld(null,this.children);var r=m(t),n=this.children.get(r);if(n){n=n.remove(ac(t));let e;return e=n.isEmpty()?this.children.remove(r):this.children.insert(r,n),null===this.value&&e.isEmpty()?new Ld(null):new Ld(this.value,e)}return this}get(e){var t;return C(e)?this.value:(t=m(e),(t=this.children.get(t))?t.get(ac(e)):null)}setTree(t,r){if(C(t))return r;{var n=m(t),i=(this.children.get(n)||new Ld(null)).setTree(ac(t),r);let e;return e=i.isEmpty()?this.children.remove(n):this.children.insert(n,i),new Ld(this.value,e)}}fold(e){return this.fold_(ic(),e)}fold_(r,n){let i={};return this.children.inorderTraversal((e,t)=>{i[e]=t.fold_(uc(r,e),n)}),n(r,this.value,i)}findOnPath(e,t){return this.findOnPath_(e,ic(),t)}findOnPath_(e,t,r){var n,i=!!this.value&&r(t,this.value);return i||(!C(e)&&(i=m(e),n=this.children.get(i))?n.findOnPath_(ac(e),uc(t,i),r):null)}foreachOnPath(e,t){return this.foreachOnPath_(e,ic(),t)}foreachOnPath_(e,t,r){var n,i;return C(e)?this:(this.value&&r(t,this.value),n=m(e),(i=this.children.get(n))?i.foreachOnPath_(ac(e),uc(t,n),r):new Ld(null))}foreach(e){this.foreach_(ic(),e)}foreach_(r,n){this.children.inorderTraversal((e,t)=>{t.foreach_(uc(r,e),n)}),this.value&&n(r,this.value)}foreachChild(r){this.children.inorderTraversal((e,t)=>{t.value&&r(e,t.value)})}}class Md{constructor(e){this.writeTree_=e}static empty(){return new Md(new Ld(null))}}function Ud(t,r,n){if(C(r))return new Md(new Ld(n));var i=t.writeTree_.findRootMostValueAndPath(r);if(null==i)return s=new Ld(n),s=t.writeTree_.setTree(r,s),new Md(s);{var s=i.path;let e=i.value;i=cc(s,r);return e=e.updateChild(i,n),new Md(t.writeTree_.set(s,e))}}function Gd(e,r,t){let n=e;return bu(t,(e,t)=>{n=Ud(n,uc(r,e),t)}),n}function Hd(e,t){var r;return C(t)?Md.empty():(r=e.writeTree_.setTree(t,new Ld(null)),new Md(r))}function Vd(e,t){return null!=qd(e,t)}function qd(e,t){var r=e.writeTree_.findRootMostValueAndPath(t);return null!=r?e.writeTree_.get(r.path).getChild(cc(r.path,t)):null}function jd(e){let r=[];var t=e.writeTree_.value;return null!=t?t.isLeafNode()||t.forEachChild(Uc,(e,t)=>{r.push(new _c(e,t))}):e.writeTree_.children.inorderTraversal((e,t)=>{null!=t.value&&r.push(new _c(e,t.value))}),r}function Kd(e,t){var r;return C(t)?e:null!=(r=qd(e,t))?new Md(new Ld(r)):new Md(e.writeTree_.subtree(t))}function zd(e){return e.writeTree_.isEmpty()}function Jd(e,t){return function n(i,e,s){{if(null!=e.value)return s.updateChild(i,e.value);{let r=null;return e.children.inorderTraversal((e,t)=>{".priority"===e?(g(null!==t.value,"Priority writes must always be leaf nodes"),r=t.value):s=n(uc(i,e),t,s)}),s=s.getChild(i).isEmpty()||null===r?s:s.updateChild(uc(i,".priority"),r)}}}(ic(),e.writeTree_,t)}function Wd(e,t){return aB(t,e)}function Qd(t,r){var e,n=t.allWrites.findIndex(e=>e.writeId===r);g(0<=n,"removeWrite called with nonexistent writeId.");let i=t.allWrites[n],s=(t.allWrites.splice(n,1),i.visible),a=!1,o=t.allWrites.length-1;for(;s&&0<=o;){var l=t.allWrites[o];l.visible&&(o>=n&&((e,t)=>{if(e.snap)return pc(e.path,t);for(var r in e.children)if(e.children.hasOwnProperty(r)&&pc(uc(e.path,r),t))return 1})(l,i.path)?s=!1:pc(i.path,l.path)&&(a=!0)),o--}return!!s&&(a?((e=t).visibleWrites=$d(e.allWrites,Yd,ic()),0<e.allWrites.length?e.lastWriteId=e.allWrites[e.allWrites.length-1].writeId:e.lastWriteId=-1):i.snap?t.visibleWrites=Hd(t.visibleWrites,i.path):bu(i.children,e=>{t.visibleWrites=Hd(t.visibleWrites,uc(i.path,e))}),!0)}function Yd(e){return e.visible}function $d(e,t,r){let n=Md.empty();for(let a=0;a<e.length;++a){var i=e[a];if(t(i)){var s=i.path;let e;if(i.snap)pc(r,s)?(e=cc(r,s),n=Ud(n,e,i.snap)):pc(s,r)&&(e=cc(s,r),n=Ud(n,ic(),i.snap.getChild(e)));else{if(!i.children)throw M("WriteRecord should have .snap or .children");pc(r,s)?(e=cc(r,s),n=Gd(n,e,i.children)):pc(s,r)&&(C(e=cc(s,r))?n=Gd(n,ic(),i.children):(s=ve(i.children,m(e)))&&(i=s.getChild(ac(e)),n=Ud(n,ic(),i)))}}}return n}function Xd(e,t,r,n,i){var s;return n||i?(s=Kd(e.visibleWrites,t),!i&&zd(s)?r:i||null!=r||Vd(s,ic())?Jd($d(e.allWrites,function(e){return(e.visible||i)&&(!n||!~n.indexOf(e.writeId))&&(pc(e.path,t)||pc(t,e.path))},t),r||v.EMPTY_NODE):null):null!=(s=qd(e.visibleWrites,t))?s:zd(s=Kd(e.visibleWrites,t))?r:null!=r||Vd(s,ic())?Jd(s,r||v.EMPTY_NODE):null}function Zd(e,t,r,n){return Xd(e.writeTree,e.treePath,t,r,n)}function eB(e,t){{var r=e.writeTree;e=e.treePath;let i=v.EMPTY_NODE;var n=qd(r.visibleWrites,e);if(n)n.isLeafNode()||n.forEachChild(Uc,(e,t)=>{i=i.updateImmediateChild(e,t)});else if(t){let n=Kd(r.visibleWrites,e);t.forEachChild(Uc,(e,t)=>{var r=Jd(Kd(n,new nc(e)),t);i=i.updateImmediateChild(e,r)}),jd(n).forEach(e=>{i=i.updateImmediateChild(e.name,e.node)})}else jd(Kd(r.visibleWrites,e)).forEach(e=>{i=i.updateImmediateChild(e.name,e.node)});return i}}function tB(e,t,r,n){return i=e.writeTree,e=e.treePath,t=t,r=r,n=n,g(r||n,"Either existingEventSnap or existingServerSnap must exist"),s=uc(e,t),Vd(i.visibleWrites,s)?null:zd(s=Kd(i.visibleWrites,s))?n.getChild(t):Jd(s,n.getChild(t));var i,s}function rB(e,t){return r=e.writeTree,e=uc(e.treePath,t),qd(r.visibleWrites,e);var r}function nB(e,r,n,i,s,a){{var o=e.writeTree,l=(e=e.treePath,n),h=i;n=s,i=a;let t;var u=Kd(o.visibleWrites,e),c=qd(u,ic());if(null!=c)t=c;else{if(null==r)return[];t=Jd(u,r)}if((t=t.withIndex(i)).isEmpty()||t.isLeafNode())return[];{var d=[],B=i.getCompare(),p=n?t.getReverseIteratorFrom(l,i):t.getIteratorFrom(l,i);let e=p.getNext();for(;e&&d.length<h;)0!==B(e,l)&&d.push(e),e=p.getNext();return d}}}function iB(e,t,r){return n=e.writeTree,r=r,i=uc(e.treePath,e=t),null!=(s=qd(n.visibleWrites,i))?s:r.isCompleteForChild(e)?Jd(Kd(n.visibleWrites,i),r.getNode().getImmediateChild(e)):null;var n,i,s}function sB(e,t){return aB(uc(e.treePath,t),e.writeTree)}function aB(e,t){return{treePath:e,writeTree:t}}class oB{constructor(){this.changeMap=new Map}trackChildChange(e){var t=e.type,r=e.childName,n=(g("child_added"===t||"child_changed"===t||"child_removed"===t,"Only child changes supported for tracking"),g(".priority"!==r,"Only non-priority child changes can be tracked."),this.changeMap.get(r));if(n){var i=n.type;if("child_added"===t&&"child_removed"===i)this.changeMap.set(r,nd(r,e.snapshotNode,n.snapshotNode));else if("child_removed"===t&&"child_added"===i)this.changeMap.delete(r);else if("child_removed"===t&&"child_changed"===i)this.changeMap.set(r,rd(r,n.oldSnap));else if("child_changed"===t&&"child_added"===i)this.changeMap.set(r,td(r,e.snapshotNode));else{if("child_changed"!==t||"child_changed"!==i)throw M("Illegal combination of changes: "+e+" occurred after "+n);this.changeMap.set(r,nd(r,e.snapshotNode,n.oldSnap))}}else this.changeMap.set(r,e)}getChanges(){return Array.from(this.changeMap.values())}}let lB=new class{getCompleteChild(e){return null}getChildAfterChild(e,t,r){return null}};class hB{constructor(e,t,r=null){this.writes_=e,this.viewCache_=t,this.optCompleteServerCache_=r}getCompleteChild(e){var t=this.viewCache_.eventCache;return t.isCompleteForChild(e)?t.getNode().getImmediateChild(e):(t=null!=this.optCompleteServerCache_?new Td(this.optCompleteServerCache_,!0,!1):this.viewCache_.serverCache,iB(this.writes_,e,t))}getChildAfterChild(e,t,r){var n=null!=this.optCompleteServerCache_?this.optCompleteServerCache_:xd(this.viewCache_),n=nB(this.writes_,n,t,1,r,e);return 0===n.length?null:n[0]}}function uB(e,t,r,n,i){var s=new oB;let a,o;if(r.type===Zu.OVERWRITE){var l=r;a=l.source.fromUser?BB(e,t,l.path,l.snap,n,i,s):(g(l.source.fromServer,"Unknown source."),o=l.source.tagged||t.serverCache.isFiltered()&&!C(l.path),dB(e,t,l.path,l.snap,n,i,o,s))}else if(r.type===Zu.MERGE){var l=r;a=l.source.fromUser?((n,i,s,e,a,o,l)=>{let h=i;return e.foreach((e,t)=>{var r=uc(s,e);pB(i,m(r))&&(h=BB(n,h,r,t,a,o,l))}),e.foreach((e,t)=>{var r=uc(s,e);pB(i,m(r))||(h=BB(n,h,r,t,a,o,l))}),h})(e,t,l.path,l.children,n,i,s):(g(l.source.fromServer,"Unknown source."),o=l.source.tagged||t.serverCache.isFiltered(),fB(e,t,l.path,l.children,n,i,o,s))}else if(r.type===Zu.ACK_USER_WRITE){l=r;a=l.revert?((r,n,i,s,e,a)=>{let o;if(null!=rB(s,i))return n;{var l=new hB(s,n,e),h=n.eventCache.getNode();let t;if(C(i)||".priority"===m(i)){let e;e=e=n.serverCache.isFullyInitialized()?Zd(s,xd(n)):(u=n.serverCache.getNode(),g(u instanceof v,"serverChildren would be complete if leaf node"),eB(s,u)),t=r.filter.updateFullNode(h,e,a)}else{var u=m(i);let e=iB(s,u,n.serverCache);null==e&&n.serverCache.isCompleteForChild(u)&&(e=h.getImmediateChild(u)),(t=null!=e?r.filter.updateChild(h,u,e,ac(i),l,a):n.eventCache.getNode().hasChild(u)?r.filter.updateChild(h,u,v.EMPTY_NODE,ac(i),l,a):h).isEmpty()&&n.serverCache.isFullyInitialized()&&(o=Zd(s,xd(n))).isLeafNode()&&(t=r.filter.updateFullNode(t,o,a))}return o=n.serverCache.isFullyInitialized()||null!=rB(s,ic()),Rd(n,t,o,r.filter.filtersNodes())}})(e,t,l.path,n,i,s):((e,t,i,r,s,a,o)=>{if(null!=rB(s,i))return t;let l=t.serverCache.isFiltered(),h=t.serverCache;if(null!=r.value){if(C(i)&&h.isFullyInitialized()||h.isCompleteForPath(i))return dB(e,t,i,h.getNode().getChild(i),s,a,l,o);if(C(i)){let r=new Ld(null);return h.getNode().forEachChild(Dc,(e,t)=>{r=r.set(new nc(e),t)}),fB(e,t,i,r,s,a,l,o)}return t}{let n=new Ld(null);return r.foreach((e,t)=>{var r=uc(i,e);h.isCompleteForPath(r)&&(n=n.set(e,h.getNode().getChild(r)))}),fB(e,t,i,n,s,a,l,o)}})(e,t,l.path,l.affectedTree,n,i,s)}else{if(r.type!==Zu.LISTEN_COMPLETE)throw M("Unknown operation type: "+r.type);a=(i=e,e=r.path,r=n,n=s,l=t.serverCache,l=Od(t,l.getNode(),l.isFullyInitialized()||C(e),l.isFiltered()),cB(i,l,e,r,lB,n))}var h,u,s=s.getChanges(),i=t,e=a,r=s,c=e.eventCache;return c.isFullyInitialized()&&(h=c.getNode().isLeafNode()||c.getNode().isEmpty(),u=Pd(i),0<r.length||!i.eventCache.isFullyInitialized()||h&&!c.getNode().equals(u)||!c.getNode().getPriority().equals(u.getPriority()))&&r.push(ed(Pd(e))),{viewCache:a,changes:s}}function cB(n,i,s,a,o,l){var h=i.eventCache;if(null!=rB(a,s))return i;{let t,r;if(C(s))g(i.serverCache.isFullyInitialized(),"If change path is empty, we must have complete server data"),t=i.serverCache.isFiltered()?(u=eB(a,(u=xd(i))instanceof v?u:v.EMPTY_NODE),n.filter.updateFullNode(i.eventCache.getNode(),u,l)):(u=Zd(a,xd(i)),n.filter.updateFullNode(i.eventCache.getNode(),u,l));else{var u=m(s);if(".priority"===u){g(1===sc(s),"Can't have a priority with additional path components");var c=h.getNode(),d=tB(a,s,c,r=i.serverCache.getNode());t=null!=d?n.filter.updatePriority(c,d):h.getNode()}else{c=ac(s);let e;e=h.isCompleteForChild(u)?(r=i.serverCache.getNode(),null!=(d=tB(a,s,h.getNode(),r))?h.getNode().getImmediateChild(u).updateChild(c,d):h.getNode().getImmediateChild(u)):iB(a,u,i.serverCache),t=null!=e?n.filter.updateChild(h.getNode(),u,e,c,o,l):h.getNode()}}return Rd(i,t,h.isFullyInitialized()||C(s),n.filter.filtersNodes())}}function dB(e,t,r,n,i,s,a,o){var l=t.serverCache;let h;var u=a?e.filter:e.filter.getIndexedFilter();if(C(r))h=u.updateFullNode(l.getNode(),n,null);else if(u.filtersNodes()&&!l.isFiltered()){var c=l.getNode().updateChild(r,n);h=u.updateFullNode(l.getNode(),c,null)}else{c=m(r);if(!l.isCompleteForPath(r)&&1<sc(r))return t;var d=ac(r),B=l.getNode().getImmediateChild(c).updateChild(d,n);h=".priority"===c?u.updatePriority(l.getNode(),B):u.updateChild(l.getNode(),c,B,d,lB,null)}c=Od(t,h,l.isFullyInitialized()||C(r),u.filtersNodes());return cB(e,c,r,i,new hB(i,c,s),o)}function BB(t,r,n,i,e,s,a){var o=r.eventCache;let l,h;var u=new hB(e,r,s);if(C(n))h=t.filter.updateFullNode(r.eventCache.getNode(),i,a),l=Rd(r,h,!0,t.filter.filtersNodes());else{var c=m(n);if(".priority"===c)h=t.filter.updatePriority(r.eventCache.getNode(),i),l=Rd(r,h,o.isFullyInitialized(),o.isFiltered());else{var d,B=ac(n),p=o.getNode().getImmediateChild(c);let e;e=C(B)?i:null!=(d=u.getCompleteChild(c))?".priority"===oc(B)&&d.getChild(hc(B)).isEmpty()?d:d.updateChild(B,i):v.EMPTY_NODE,l=p.equals(e)?r:Rd(r,t.filter.updateChild(o.getNode(),c,e,B,u,a),o.isFullyInitialized(),t.filter.filtersNodes())}}return l}function pB(e,t){return e.eventCache.isCompleteForChild(t)}function gB(e,r,t){return t.foreach((e,t)=>{r=r.updateChild(e,t)}),r}function fB(n,i,e,t,s,a,o,l){if(i.serverCache.getNode().isEmpty()&&!i.serverCache.isFullyInitialized())return i;let h=i,r,u=(r=C(e)?t:new Ld(null).setTree(e,t),i.serverCache.getNode());return r.children.inorderTraversal((e,t)=>{var r;u.hasChild(e)&&(r=gB(0,i.serverCache.getNode().getImmediateChild(e),t),h=dB(n,h,new nc(e),r,s,a,o,l))}),r.children.inorderTraversal((e,t)=>{var r=!i.serverCache.isCompleteForChild(e)&&null===t.value;u.hasChild(e)||r||(r=gB(0,i.serverCache.getNode().getImmediateChild(e),t),h=dB(n,h,new nc(e),r,s,a,o,l))}),h}class mB{constructor(e,t){this.query_=e,this.eventRegistrations_=[];var r=this.query_._queryParams,n=new id(r.getIndex()),r=(e=r).loadsAllData()?new id(e.getIndex()):new(e.hasLimit()?ad:sd)(e),i=(this.processor_={filter:r},t.serverCache),s=t.eventCache,a=n.updateFullNode(v.EMPTY_NODE,i.getNode(),null),o=r.updateFullNode(v.EMPTY_NODE,s.getNode(),null),a=new Td(a,i.isFullyInitialized(),n.filtersNodes()),i=new Td(o,s.isFullyInitialized(),r.filtersNodes());this.viewCache_=Ad(i,a),this.eventGenerator_=new Sd(this.query_)}get query(){return this.query_}}function CB(e){return 0===e.eventRegistrations_.length}function vB(n,i,s){let a=[];if(s){g(null==i,"A cancel should cancel all event registrations.");let r=n.query._path;n.eventRegistrations_.forEach(e=>{var t=e.createCancelEvent(s,r);t&&a.push(t)})}if(i){let e=[];for(let t=0;t<n.eventRegistrations_.length;++t){var r=n.eventRegistrations_[t];if(r.matches(i)){if(i.hasAnyCallback()){e=e.concat(n.eventRegistrations_.slice(t+1));break}}else e.push(r)}n.eventRegistrations_=e}else n.eventRegistrations_=[];return a}function _B(e,t,r,n){t.type===Zu.MERGE&&null!==t.source.queryId&&(g(xd(e.viewCache_),"We should always have a full cache before handling merges"),g(Pd(e.viewCache_),"Missing event cache, even though we have a server cache"));var i=e.viewCache_,s=uB(e.processor_,i,t,r,n);return t=e.processor_,r=s.viewCache,g(r.eventCache.getNode().isIndexed(t.filter.getIndex()),"Event snap not indexed"),g(r.serverCache.getNode().isIndexed(t.filter.getIndex()),"Server snap not indexed"),g(s.viewCache.serverCache.isFullyInitialized()||!i.serverCache.isFullyInitialized(),"Once a server snap is complete, it should never go back"),e.viewCache_=s.viewCache,yB(e,s.changes,s.viewCache.eventCache.getNode(),null)}function yB(e,t,r,n){var i=n?[n]:e.eventRegistrations_;return kd(e.eventGenerator_,t,r,i)}let wB;class EB{constructor(){this.views=new Map}}function DB(t,r,n,i){var e=r.source.queryId;if(null!==e)return e=t.views.get(e),g(null!=e,"SyncTree gave us an op for an invalid query."),_B(e,r,n,i);{let e=[];for(var s of t.views.values())e=e.concat(_B(s,r,n,i));return e}}function bB(e,r,n,i,s){var a=r._queryIdentifier,a=e.views.get(a);if(a)return a;{let e=Zd(n,s?i:null),t=!1;t=!!e||(e=i instanceof v?eB(n,i):v.EMPTY_NODE,!1);a=Ad(new Td(e,t,!1),new Td(i,s,!1));return new mB(r,a)}}function IB(e,t,n,i,s,r){var a=bB(e,t,i,s,r);e.views.has(t._queryIdentifier)||e.views.set(t._queryIdentifier,a),a.eventRegistrations_.push(n);{s=n,a=(i=a).viewCache_.eventCache;let r=[];return a.getNode().isLeafNode()||a.getNode().forEachChild(Uc,(e,t)=>{r.push(td(e,t))}),a.isFullyInitialized()&&r.push(ed(a.getNode())),yB(i,r,a.getNode(),s)}}function TB(e,t,r,n){var i=t._queryIdentifier,s=[];let a=[];var o=RB(e);if("default"===i)for(var[l,h]of e.views.entries())a=a.concat(vB(h,r,n)),CB(h)&&(e.views.delete(l),h.query._queryParams.loadsAllData()||s.push(h.query));else{var u=e.views.get(i);u&&(a=a.concat(vB(u,r,n)),CB(u))&&(e.views.delete(i),u.query._queryParams.loadsAllData()||s.push(u.query))}return o&&!RB(e)&&s.push((g(wB,"Reference.ts has not been loaded"),new wB(t._repo,t._path))),{removed:s,events:a}}function SB(e){var t,r=[];for(t of e.views.values())t.query._queryParams.loadsAllData()||r.push(t);return r}function kB(e,t){let r=null;for(var n of e.views.values())r=r||(i=n,s=t,n=void 0,(n=xd(i.viewCache_))&&(i.query._queryParams.loadsAllData()||!C(s)&&!n.getImmediateChild(m(s)).isEmpty())?n.getChild(s):null);var i,s;return r}function NB(e,t){var r;return t._queryParams.loadsAllData()?OB(e):(r=t._queryIdentifier,e.views.get(r))}function AB(e,t){return null!=NB(e,t)}function RB(e){return null!=OB(e)}function OB(e){for(var t of e.views.values())if(t.query._queryParams.loadsAllData())return t;return null}let PB;let xB=1;class FB{constructor(e){this.listenProvider_=e,this.syncPointTree_=new Ld(null),this.pendingWriteTree_={visibleWrites:Md.empty(),allWrites:[],lastWriteId:-1},this.tagToQueryMap=new Map,this.queryToTagMap=new Map}}function LB(e,t,r,n,i){var s,a,o,l;return s=e.pendingWriteTree_,a=t,o=r,n=n,l=i,g(n>s.lastWriteId,"Stacking an older write on top of newer ones"),s.allWrites.push({path:a,snap:o,writeId:n,visible:l=void 0===l?!0:l}),l&&(s.visibleWrites=Ud(s.visibleWrites,a,o)),s.lastWriteId=n,i?zB(e,new bd(_d(),t,r)):[]}function MB(e,t,r,n){i=e.pendingWriteTree_,s=t,a=r,n=n,g(n>i.lastWriteId,"Stacking an older merge on top of newer ones"),i.allWrites.push({path:s,children:a,writeId:n,visible:!0}),i.visibleWrites=Gd(i.visibleWrites,s,a),i.lastWriteId=n;var i,s,a,o=Ld.fromObject(r);return zB(e,new Id(_d(),t,o))}function UB(e,t,r=!1){var n=((e,t)=>{for(let n=0;n<e.allWrites.length;n++){var r=e.allWrites[n];if(r.writeId===t)return r}return null})(e.pendingWriteTree_,t);if(Qd(e.pendingWriteTree_,t)){let t=new Ld(null);return null!=n.snap?t=t.set(ic(),!0):bu(n.children,e=>{t=t.set(new nc(e),!0)}),zB(e,new Ed(n.path,t,r))}return[]}function GB(e,t,r){return zB(e,new bd(yd(),t,r))}function HB(r,t,n,i,s=!1){var a=t._path,o=r.syncPointTree_.get(a);let l=[];if(o&&("default"===t._queryIdentifier||AB(o,t))){var h=TB(o,t,n,i),o=(0===o.views.size&&(r.syncPointTree_=r.syncPointTree_.remove(a)),h.removed);if(l=h.events,!s){var h=-1!==o.findIndex(e=>e._queryParams.loadsAllData()),u=r.syncPointTree_.findOnPath(a,(e,t)=>RB(t));if(h&&!u){a=r.syncPointTree_.subtree(a);if(!a.isEmpty()){var c=a.fold((e,t,n)=>{if(t&&RB(t))return[OB(t)];{let r=[];return t&&(r=SB(t)),bu(n,(e,t)=>{r=r.concat(t)}),r}});for(let e=0;e<c.length;++e){var d=c[e],B=d.query,d=WB(r,d);r.listenProvider_.startListening(ep(B),QB(r,B),d.hashFn,d.onComplete)}}}!u&&0<o.length&&!i&&(h?r.listenProvider_.stopListening(ep(t),null):o.forEach(e=>{var t=r.queryToTagMap.get(YB(e));r.listenProvider_.stopListening(ep(e),t)}))}var p=r,g=o;for(let e=0;e<g.length;++e){var f,m=g[e];m._queryParams.loadsAllData()||(m=YB(m),f=p.queryToTagMap.get(m),p.queryToTagMap.delete(m),p.tagToQueryMap.delete(f))}}return l}function VB(e,t,r,n){var i,s,a=$B(e,n);return null!=a?(i=(a=XB(a)).path,a=a.queryId,s=cc(i,t),ZB(e,i,new bd(wd(a),s,r))):[]}function qB(e,t,r,n=!1){let i=t._path,s=null,a=!1,o=(e.syncPointTree_.foreachOnPath(i,(e,t)=>{var r=cc(e,i);s=s||kB(t,r),a=a||RB(t)}),e.syncPointTree_.get(i));o?(a=a||RB(o),s=s||kB(o,ic())):(o=new EB,e.syncPointTree_=e.syncPointTree_.set(i,o));let l;null!=s?l=!0:(l=!1,s=v.EMPTY_NODE,e.syncPointTree_.subtree(i).foreachChild((e,t)=>{var r=kB(t,ic());r&&(s=s.updateImmediateChild(e,r))}));var h,u=AB(o,t),c=(u||t._queryParams.loadsAllData()||(h=YB(t),g(!e.queryToTagMap.has(h),"View does not exist, but we have a tag"),c=xB++,e.queryToTagMap.set(h,c),e.tagToQueryMap.set(c,h)),Wd(e.pendingWriteTree_,i));let d=IB(o,t,r,c,s,l);return u||a||n||(h=NB(o,t),d=d.concat(((t,e,r)=>{var n=e._path,i=QB(t,e),s=WB(t,r),s=t.listenProvider_.startListening(ep(e),i,s.hashFn,s.onComplete),n=t.syncPointTree_.subtree(n);if(i)g(!RB(n.value),"If we're adding a query, it shouldn't be shadowed");else{var a=n.fold((e,t,n)=>{if(!C(e)&&t&&RB(t))return[OB(t).query];{let r=[];return t&&(r=r.concat(SB(t).map(e=>e.query))),bu(n,(e,t)=>{r=r.concat(t)}),r}});for(let e=0;e<a.length;++e){var o=a[e];t.listenProvider_.stopListening(ep(o),QB(t,o))}}return s})(e,t,h))),d}function jB(e,n,t){var r=e.pendingWriteTree_,i=e.syncPointTree_.findOnPath(n,(e,t)=>{var r=kB(t,cc(e,n));if(r)return r});return Xd(r,n,i,t,!0)}function KB(e,t){let n=t._path,i=null,r=(e.syncPointTree_.foreachOnPath(n,(e,t)=>{var r=cc(e,n);i=i||kB(t,r)}),e.syncPointTree_.get(n));r?i=i||kB(r,ic()):(r=new EB,e.syncPointTree_=e.syncPointTree_.set(n,r));var s=null!=i,a=s?new Td(i,!0,!1):null,o=Wd(e.pendingWriteTree_,t._path);return Pd(bB(r,t,o,s?a.getNode():v.EMPTY_NODE,s).viewCache_)}function zB(e,t){return function a(t,o,l,h){{if(C(t.path))return JB(t,o,l,h);{let e=o.get(ic()),r=(null==l&&null!=e&&(l=kB(e,ic())),[]),n=m(t.path),i=t.operationForChild(n),s=o.children.get(n);if(s&&i){let e=l?l.getImmediateChild(n):null,t=sB(h,n);r=r.concat(a(i,s,e,t))}return r=e?r.concat(DB(e,t,h,l)):r}}}(t,e.syncPointTree_,null,Wd(e.pendingWriteTree_,ic()))}function JB(s,e,a,o){var t=e.get(ic());null==a&&null!=t&&(a=kB(t,ic()));let l=[];return e.children.inorderTraversal((e,t)=>{var r=a?a.getImmediateChild(e):null,n=sB(o,e),i=s.operationForChild(e);i&&(l=l.concat(JB(i,t,r,n)))}),l=t?l.concat(DB(t,s,o,a)):l}function WB(o,e){let l=e.query,h=QB(o,l);return{hashFn:()=>(e.viewCache_.serverCache.getNode()||v.EMPTY_NODE).hash(),onComplete:e=>{var t,r,n,i,s,a;return"ok"===e?h?(t=o,r=l._path,n=h,(a=$B(t,n))?(i=(a=XB(a)).path,a=a.queryId,s=cc(i,r),ZB(t,i,new Dd(wd(a),s))):[]):(n=o,r=l._path,zB(n,new Dd(yd(),r))):(i=((e,t)=>{let r="Unknown Error";"too_big"===e?r="The data requested exceeds the maximum size that can be accessed with a single request.":"permission_denied"===e?r="Client doesn't have permission to access the desired data.":"unavailable"===e&&(r="The service is unavailable");var n=new Error(e+" at "+t._path.toString()+": "+r);return n.code=e.toUpperCase(),n})(e,l),HB(o,l,null,i))}}}function QB(e,t){var r=YB(t);return e.queryToTagMap.get(r)}function YB(e){return e._path.toString()+"$"+e._queryIdentifier}function $B(e,t){return e.tagToQueryMap.get(t)}function XB(e){var t=e.indexOf("$");return g(-1!==t&&t<e.length-1,"Bad queryKey."),{queryId:e.substr(t+1),path:new nc(e.substr(0,t))}}function ZB(e,t,r){var n=e.syncPointTree_.get(t),i=(g(n,"Missing sync point for query tag that we're tracking"),Wd(e.pendingWriteTree_,t));return DB(n,r,i,null)}function ep(e){return e._queryParams.loadsAllData()&&!e._queryParams.isDefault()?(g(PB,"Reference.ts has not been loaded"),new PB(e._repo,e._path)):e}class tp{constructor(e){this.node_=e}getImmediateChild(e){var t=this.node_.getImmediateChild(e);return new tp(t)}node(){return this.node_}}class rp{constructor(e,t){this.syncTree_=e,this.path_=t}getImmediateChild(e){var t=uc(this.path_,e);return new rp(this.syncTree_,t)}node(){return jB(this.syncTree_,this.path_)}}let np=function(e){return(e=e||{}).timestamp=e.timestamp||(new Date).getTime(),e},ip=function(e,t,r){return e&&"object"==typeof e?(g(".sv"in e,"Unexpected leaf node or priority contents"),"string"==typeof e[".sv"]?sp(e[".sv"],t,r):"object"==typeof e[".sv"]?ap(e[".sv"],t):void g(!1,"Unexpected server value: "+JSON.stringify(e,null,2))):e},sp=function(e,t,r){if("timestamp"===e)return r.timestamp;g(!1,"Unexpected server value: "+e)},ap=function(e,t,r){e.hasOwnProperty("increment")||g(!1,"Unexpected server value: "+JSON.stringify(e,null,2));var n=e.increment,i=("number"!=typeof n&&g(!1,"Unexpected increment value: "+n),t.node());return g(null!=i,"Expected ChildrenNode.EMPTY_NODE for nulls"),!i.isLeafNode()||"number"!=typeof(i=i.getValue())?n:i+n},op=function(e,t,r,n){return hp(t,new rp(r,e),n)},lp=function(e,t,r){return hp(e,new tp(t),r)};function hp(e,n,i){var t,r,s=e.getPriority().val(),s=ip(s,n.getImmediateChild(".priority"),i);let a;return e.isLeafNode()?(r=e,(t=ip(r.getValue(),n,i))!==r.getValue()||s!==r.getPriority().val()?new xc(t,Yc(s)):e):(r=e,s!==(a=r).getPriority().val()&&(a=a.updatePriority(new xc(s))),r.forEachChild(Uc,(e,t)=>{var r=hp(t,n.getImmediateChild(e),i);r!==t&&(a=a.updateImmediateChild(e,r))}),a)}class up{constructor(e="",t=null,r={children:{},childCount:0}){this.name=e,this.parent=t,this.node=r}}function cp(e,t){let r=t instanceof nc?t:new nc(t),n=e,i=m(r);for(;null!==i;){var s=ve(n.node.children,i)||{children:{},childCount:0};n=new up(i,n,s),r=ac(r),i=m(r)}return n}function dp(e){return e.node.value}function Bp(e,t){e.node.value=t,mp(e)}function pp(e){return 0<e.node.childCount}function gp(r,n){bu(r.node.children,(e,t)=>{n(new up(e,r,t))})}function fp(e){return new nc(null===e.parent?e.name:fp(e.parent)+"/"+e.name)}function mp(e){var t,r,n,i;null!==e.parent&&(t=e.parent,r=e.name,n=(e=>void 0===dp(e)&&!pp(e))(e=e),i=Ce(t.node.children,r),n&&i?(delete t.node.children[r],t.node.childCount--,mp(t)):n||i||(t.node.children[r]=e.node,t.node.childCount++,mp(t)))}function Cp(e,t,r,n){n&&void 0===t||Ap(Ae(e,"value"),t,r)}function vp(e,t,n,r){let i=Ae(e,"values");if(!t||"object"!=typeof t||Array.isArray(t))throw new Error(i+" must be an object containing the children to replace.");let s=[];bu(t,(e,t)=>{var r=new nc(e);if(Ap(i,t,uc(n,r)),".priority"===oc(r)&&!Np(t))throw new Error(i+"contains an invalid value for '"+r.toString()+"', which must be a valid Firebase priority (a string, finite number, server value, or null).");s.push(r)});{var a=i,o=s;let t,r;for(t=0;t<o.length;t++){var l=lc(r=o[t]);for(let e=0;e<l.length;e++)if((".priority"!==l[e]||e!==l.length-1)&&!Tp(l[e]))throw new Error(a+"contains an invalid key ("+l[e]+") in path "+r.toString()+'. Keys must be non-empty strings and can\'t contain ".", "#", "$", "/", "[", or "]"')}o.sort(dc);let e=null;for(t=0;t<o.length;t++){if(r=o[t],null!==e&&pc(e,r))throw new Error(a+"contains a path "+e.toString()+" that is ancestor of another path "+r.toString());e=r}}}function _p(e,t,r){if(yu(t))throw new Error(Ae(e,"priority")+"is "+t.toString()+", but must be a valid Firebase priority (a string, finite number, server value, or null).");if(!Np(t))throw new Error(Ae(e,"priority")+"must be a valid Firebase priority (a string, finite number, server value, or null).")}function yp(e,t,r,n){if(void 0!==r&&!Tp(r))throw new Error(Ae(e,t)+'was an invalid key = "'+r+'". Firebase keys must be non-empty strings and can\'t contain ".", "#", "$", "/", "[", or "]").')}function wp(e,t,r,n){r=r&&r.replace(/^\/*\.info(\/|$)/,"/"),Rp(e,t,r)}function Ep(e,t){if(".info"===m(t))throw new Error(e+" failed = Can't modify data under /.info/")}let Dp=/[\[\].#$\/\u0000-\u001F\u007F]/,bp=/[\[\].#$\u0000-\u001F\u007F]/,Ip=10485760,Tp=function(e){return"string"==typeof e&&0!==e.length&&!Dp.test(e)},Sp=function(e){return"string"==typeof e&&0!==e.length&&!bp.test(e)},kp=function(e){return e=e&&e.replace(/^\/*\.info(\/|$)/,"/"),Sp(e)},Np=function(e){return null===e||"string"==typeof e||"number"==typeof e&&!yu(e)||e&&"object"==typeof e&&Ce(e,".sv")},Ap=function(a,e,t){let o=t instanceof nc?new gc(t,a):t;if(void 0===e)throw new Error(a+"contains undefined "+mc(o));if("function"==typeof e)throw new Error(a+"contains a function "+mc(o)+" with contents = "+e.toString());if(yu(e))throw new Error(a+"contains "+e.toString()+" "+mc(o));if("string"==typeof e&&e.length>Ip/3&&Pe(e)>Ip)throw new Error(a+"contains a string greater than "+Ip+" utf8 bytes "+mc(o)+" ('"+e.substring(0,50)+"...')");if(e&&"object"==typeof e){let i=!1,s=!1;if(bu(e,(e,t)=>{if(".value"===e)i=!0;else if(".priority"!==e&&".sv"!==e&&(s=!0,!Tp(e)))throw new Error(a+" contains an invalid key ("+e+") "+mc(o)+'. Keys must be non-empty strings and can\'t contain ".", "#", "$", "/", "[", or "]"');var r,n;r=o,e=e,0<r.parts_.length&&(r.byteLength_+=1),r.parts_.push(e),r.byteLength_+=Pe(e),fc(r),Ap(a,t,o),e=o,n=e.parts_.pop(),e.byteLength_-=Pe(n),0<e.parts_.length&&--e.byteLength_}),i&&s)throw new Error(a+' contains ".value" child '+mc(o)+" in addition to actual children.")}},Rp=function(e,t,r,n){if(!Sp(r))throw new Error(Ae(e,t)+'was an invalid path = "'+r+'". Paths must be non-empty strings and can\'t contain ".", "#", "$", "[", or "]"')},Op=function(e,t){var r=t.path.toString();if("string"!=typeof t.repoInfo.host||0===t.repoInfo.host.length||!Tp(t.repoInfo.namespace)&&"localhost"!==t.repoInfo.host.split(":")[0]||0!==r.length&&!kp(r))throw new Error(Ae(e,"url")+'must be a valid firebase URL and the path can\'t contain ".", "#", "$", "[", or "]".')};class Pp{constructor(){this.eventLists_=[],this.recursionDepth_=0}}function xp(e,t){let r=null;for(let s=0;s<t.length;s++){var n=t[s],i=n.getPath();null===r||Bc(i,r.path)||(e.eventLists_.push(r),r=null),(r=null===r?{events:[],path:i}:r).events.push(n)}r&&e.eventLists_.push(r)}function Fp(e,t,r){xp(e,r),Mp(e,e=>Bc(e,t))}function Lp(e,t,r){xp(e,r),Mp(e,e=>pc(e,t)||pc(t,e))}function Mp(t,e){t.recursionDepth_++;let r=!0;for(let o=0;o<t.eventLists_.length;o++){var n=t.eventLists_[o];if(n)if(e(n.path)){s=a=i=void 0;var i=t.eventLists_[o];for(let e=0;e<i.events.length;e++){var s,a=i.events[e];null!==a&&(i.events[e]=null,s=a.getEventRunner(),pu&&mu("event: "+a.toString()),Ru(s))}t.eventLists_[o]=null}else r=!1}r&&(t.eventLists_=[]),t.recursionDepth_--}let Up="repo_interrupt",Gp=25;class Hp{constructor(e,t,r,n){this.repoInfo_=e,this.forceRestClient_=t,this.authTokenProvider_=r,this.appCheckProvider_=n,this.dataUpdateCount=0,this.statsListener_=null,this.eventQueue_=new Pp,this.nextWriteId_=1,this.interceptServerDataCallback_=null,this.onDisconnect_=gd(),this.transactionQueueTree_=new up,this.persistentConnection_=null,this.key=this.repoInfo_.toURLString()}toString(){return(this.repoInfo_.secure?"https://":"http://")+this.repoInfo_.host}}function Vp(a,e,t){if(a.stats_=ju(a.repoInfo_),a.forceRestClient_||0<=("object"==typeof window&&window.navigator&&window.navigator.userAgent||"").search(/googlebot|google webmaster tools|bingbot|yahoo! slurp|baiduspider|yandexbot|duckduckbot/i))a.server_=new Bd(a.repoInfo_,(e,t,r,n)=>{Kp(a,e,t,r,n)},a.authTokenProvider_,a.appCheckProvider_),setTimeout(()=>zp(a,!0),0);else{if(null!=t){if("object"!=typeof t)throw new Error("Only objects are supported for option databaseAuthVariableOverride");try{fe(t)}catch(e){throw new Error("Invalid authOverride provided: "+e)}}a.persistentConnection_=new vc(a.repoInfo_,e,(e,t,r,n)=>{Kp(a,e,t,r,n)},e=>{zp(a,e)},e=>{var r;r=a,bu(e,(e,t)=>{Jp(r,e,t)})},a.authTokenProvider_,a.appCheckProvider_,t),a.server_=a.persistentConnection_}var r;a.authTokenProvider_.addTokenChangeListener(e=>{a.server_.refreshAuthToken(e)}),a.appCheckProvider_.addTokenChangeListener(e=>{a.server_.refreshAppCheckToken(e.token)}),a.statsReporter_=(e=()=>new vd(a.stats_,a.server_),r=a.repoInfo_.toString(),qu[r]||(qu[r]=e()),qu[r]),a.infoData_=new pd,a.infoSyncTree_=new FB({startListening:(e,t,r,n)=>{let i=[];var s=a.infoData_.getNode(e._path);return s.isEmpty()||(i=GB(a.infoSyncTree_,e._path,s),setTimeout(()=>{n("ok")},0)),i},stopListening:()=>{}}),Jp(a,"connected",!1),a.serverSyncTree_=new FB({startListening:(n,e,t,i)=>(a.server_.listen(n,t,e,(e,t)=>{var r=i(e,t);Lp(a.eventQueue_,n._path,r)}),[]),stopListening:(e,t)=>{a.server_.unlisten(e,t)}})}function qp(e){var t=e.infoData_.getNode(new nc(".info/serverTimeOffset")).val()||0;return(new Date).getTime()+t}function jp(e){return np({timestamp:qp(e)})}function Kp(e,t,r,n,i){e.dataUpdateCount++;var s,a,o,l,h,u,c=new nc(t);r=e.interceptServerDataCallback_?e.interceptServerDataCallback_(t,r):r;let d=[],B=c;0<(d=i?n?(u=ye(r,e=>Yc(e)),t=e.serverSyncTree_,s=c,a=u,(u=$B(t,i))?(o=(u=XB(u)).path,u=u.queryId,l=cc(o,s),h=Ld.fromObject(a),ZB(t,o,new Id(wd(u),l,h))):[]):(o=Yc(r),VB(e.serverSyncTree_,c,o,i)):n?(u=ye(r,e=>Yc(e)),s=e.serverSyncTree_,a=c,t=u,l=Ld.fromObject(t),zB(s,new Id(yd(),a,l))):(h=Yc(r),GB(e.serverSyncTree_,c,h))).length&&(B=ig(e,c)),Lp(e.eventQueue_,B,d)}function zp(e,t){if(Jp(e,"connected",t),!1===t){var a=e;eg(a,"onDisconnectEvents");let n=jp(a),i=gd(),s=(md(a.onDisconnect_,ic(),(e,t)=>{var r=op(e,t,a.serverSyncTree_,n);fd(i,e,r)}),[]);md(i,ic(),(e,t)=>{s=s.concat(GB(a.serverSyncTree_,e,t));var r=lg(a,e);ig(a,r)}),a.onDisconnect_=gd(),Lp(a.eventQueue_,ic(),s)}}function Jp(e,t,r){var n=new nc("/.info/"+t),i=Yc(r),i=(e.infoData_.updateSnapshot(n,i),GB(e.infoSyncTree_,n,i));Lp(e.eventQueue_,n,i)}function Wp(e){return e.nextWriteId_++}function Qp(n,i,e,t,s){eg(n,"set",{path:i.toString(),value:e,priority:t});var r=jp(n),a=Yc(e,t),o=jB(n.serverSyncTree_,i),o=lp(a,o,r);let l=Wp(n);r=LB(n.serverSyncTree_,i,o,l,!0),xp(n.eventQueue_,r),n.server_.put(i.toString(),a.val(!0),(e,t)=>{var r="ok"===e,r=(r||vu("set at "+i+" failed: "+e),UB(n.serverSyncTree_,l,!r));Lp(n.eventQueue_,i,r),tg(0,s,e,t)}),o=lg(n,i);ig(n,o),Lp(n.eventQueue_,o,[])}function Yp(r,n,i){r.server_.onDisconnectCancel(n.toString(),(e,t)=>{"ok"===e&&!function e(r,t){var n;return C(t)?(r.value=null,r.children.clear(),!0):null!==r.value?!r.value.isLeafNode()&&(n=r.value,r.value=null,n.forEachChild(Uc,(e,t)=>{fd(r,new nc(e),t)}),e(r,t)):!(0<r.children.size)||(n=m(t),t=ac(t),r.children.has(n)&&e(r.children.get(n),t)&&r.children.delete(n),0===r.children.size)}(r.onDisconnect_,n),tg(0,i,e,t)})}function $p(r,n,e,i){let s=Yc(e);r.server_.onDisconnectPut(n.toString(),s.val(!0),(e,t)=>{"ok"===e&&fd(r.onDisconnect_,n,s),tg(0,i,e,t)})}function Xp(e,t,r){let n;n=".info"===m(t._path)?HB(e.infoSyncTree_,t,r):HB(e.serverSyncTree_,t,r),Fp(e.eventQueue_,t._path,n)}function Zp(e){e.persistentConnection_&&e.persistentConnection_.interrupt(Up)}function eg(e,...t){let r="";e.persistentConnection_&&(r=e.persistentConnection_.id+":"),mu(r,...t)}function tg(e,n,i,s){n&&Ru(()=>{if("ok"===i)n(null);else{var t=(i||"error").toUpperCase();let e=t;s&&(e+=": "+s);var r=new Error(e);r.code=t,n(r)}})}function rg(e,t,r){return jB(e.serverSyncTree_,t,r)||v.EMPTY_NODE}function ng(o,l=o.transactionQueueTree_){if(l||og(o,l),dp(l)){var h=ag(o,l),e=(g(0<h.length,"Sending zero length transaction queue"),h.every(e=>0===e.status));if(e){var u=o;var c=fp(l);var d=h;let e=d.map(e=>e.currentWriteId),t=rg(u,c,e),r=t,n=t.hash();for(let a=0;a<d.length;a++){var B=d[a],p=(g(0===B.status,"tryToSendTransactionQueue_: items in queue should all be run."),B.status=1,B.retryCount++,cc(c,B.path));r=r.updateChild(p,B.currentOutputSnapshotRaw)}let i=r.val(!0),s=c;u.server_.put(s.toString(),i,t=>{eg(u,"transaction put response",{path:s.toString(),status:t});let r=[];if("ok"===t){var n=[];for(let e=0;e<d.length;e++)d[e].status=2,r=r.concat(UB(u.serverSyncTree_,d[e].currentWriteId)),d[e].onComplete&&n.push(()=>d[e].onComplete(null,!0,d[e].currentOutputSnapshotResolved)),d[e].unwatcher();og(u,cp(u.transactionQueueTree_,c)),ng(u,u.transactionQueueTree_),Lp(u.eventQueue_,c,r);for(let t=0;t<n.length;t++)Ru(n[t])}else{if("datastale"===t)for(let e=0;e<d.length;e++)3===d[e].status?d[e].status=4:d[e].status=0;else{vu("transaction at "+s.toString()+" failed: "+t);for(let e=0;e<d.length;e++)d[e].status=4,d[e].abortReason=t}ig(u,c)}},n)}}else pp(l)&&gp(l,e=>{ng(o,e)})}function ig(e,t){var r=sg(e,t),n=fp(r),r=ag(e,r),i=e,s=r,a=n;if(0!==s.length){var o=[];let r=[];var l=s.filter(e=>0===e.status).map(e=>e.currentWriteId);for(let n=0;n<s.length;n++){var h=s[n],u=cc(a,h.path);let e=!1,t;if(g(null!==u,"rerunTransactionsUnderNode_: relativePath should not be null."),4===h.status)e=!0,t=h.abortReason,r=r.concat(UB(i.serverSyncTree_,h.currentWriteId,!0));else if(0===h.status)if(h.retryCount>=Gp)e=!0,t="maxretry",r=r.concat(UB(i.serverSyncTree_,h.currentWriteId,!0));else{var u=rg(i,h.path,l),c=(h.currentInputSnapshot=u,s[n].update(u.val()));if(void 0!==c){Ap("transaction failed: Data returned ",c,h.path);let e=Yc(c);"object"==typeof c&&null!=c&&Ce(c,".priority")||(e=e.updatePriority(u.getPriority()));var c=h.currentWriteId,d=jp(i),u=lp(e,u,d);h.currentOutputSnapshotRaw=e,h.currentOutputSnapshotResolved=u,h.currentWriteId=Wp(i),l.splice(l.indexOf(c),1),r=(r=r.concat(LB(i.serverSyncTree_,h.path,u,h.currentWriteId,h.applyLocally))).concat(UB(i.serverSyncTree_,c,!0))}else e=!0,t="nodata",r=r.concat(UB(i.serverSyncTree_,h.currentWriteId,!0))}Lp(i.eventQueue_,a,r),r=[],e&&(s[n].status=2,(e=>{setTimeout(e,Math.floor(0))})(s[n].unwatcher),s[n].onComplete)&&("nodata"===t?o.push(()=>s[n].onComplete(null,!1,s[n].currentInputSnapshot)):o.push(()=>s[n].onComplete(new Error(t),!1,null)))}og(i,i.transactionQueueTree_);for(let e=0;e<o.length;e++)Ru(o[e]);ng(i,i.transactionQueueTree_)}return n}function sg(e,t){let r,n=e.transactionQueueTree_;for(r=m(t);null!==r&&void 0===dp(n);)n=cp(n,r),t=ac(t),r=m(t);return n}function ag(e,t){var r=[];return function t(r,e,n){let i=dp(e);if(i)for(let e=0;e<i.length;e++)n.push(i[e]);gp(e,e=>{t(r,e,n)})}(e,t,r),r.sort((e,t)=>e.order-t.order),r}function og(t,r){var n=dp(r);if(n){let e=0;for(let t=0;t<n.length;t++)2!==n[t].status&&(n[e]=n[t],e++);n.length=e,Bp(r,0<n.length?n:void 0)}gp(r,e=>{og(t,e)})}function lg(t,e){var r=fp(sg(t,e)),n=cp(t.transactionQueueTree_,e);return((e,t)=>{let r=e.parent;for(;null!==r;){if(t(r))return;r=r.parent}})(n,e=>{hg(t,e)}),hg(t,n),function t(e,r,n){n&&r(e),gp(e,e=>{t(e,r,!0)})}(n,e=>{hg(t,e)}),r}function hg(i,s){var a=dp(s);if(a){var o=[];let e=[],t=-1;for(let r=0;r<a.length;r++)3!==a[r].status&&(1===a[r].status?(g(t===r-1,"All SENT items should be at beginning of queue."),a[t=r].status=3,a[r].abortReason="set"):(g(0===a[r].status,"Unexpected transaction status in abort"),a[r].unwatcher(),e=e.concat(UB(i.serverSyncTree_,a[r].currentWriteId,!0)),a[r].onComplete&&o.push(a[r].onComplete.bind(null,new Error("set"),!1,null))));-1===t?Bp(s,void 0):a.length=t+1,Lp(i.eventQueue_,fp(s),e);for(let n=0;n<o.length;n++)Ru(o[n])}}let ug=function(e,t){var r=cg(e),n=r.namespace,i=("firebase.com"===r.domain&&Cu(r.host+" is no longer supported. Please use <YOUR FIREBASE>.firebaseio.com instead"),n&&"undefined"!==n||"localhost"===r.domain||Cu("Cannot parse Firebase url. Please use https://<YOUR FIREBASE>.firebaseio.com"),r.secure||_u(),"ws"===r.scheme||"wss"===r.scheme);return{repoInfo:new Uu(r.host,r.secure,n,i,t,"",n!==r.subdomain),path:new nc(r.pathString)}},cg=function(n){let i="",s="",a="",o="",l="",h=!0,u="https",c=443;if("string"==typeof n){let e=n.indexOf("//"),t=(0<=e&&(u=n.substring(0,e-1),n=n.substring(e+2)),n.indexOf("/")),r=(-1===t&&(t=n.length),n.indexOf("?"));-1===r&&(r=n.length),i=n.substring(0,Math.min(t,r)),t<r&&(o=(e=>{let t="";var r=e.split("/");for(let n=0;n<r.length;n++)if(0<r[n].length){let e=r[n];try{e=decodeURIComponent(e.replace(/\+/g," "))}catch(e){}t+="/"+e}return t})(n.substring(t,r)));var d=(e=>{var t,r,n={};for(t of(e="?"===e.charAt(0)?e.substring(1):e).split("&"))0!==t.length&&(2===(r=t.split("=")).length?n[decodeURIComponent(r[0])]=decodeURIComponent(r[1]):vu(`Invalid query segment '${t}' in query '${e}'`));return n})(n.substring(Math.min(n.length,r))),B=(0<=(e=i.indexOf(":"))?(h="https"===u||"wss"===u,c=parseInt(i.substring(e+1),10)):e=i.length,i.slice(0,e));"localhost"===B.toLowerCase()?s="localhost":B.split(".").length<=2?s=B:(B=i.indexOf("."),a=i.substring(0,B).toLowerCase(),s=i.substring(B+1),l=a),"ns"in d&&(l=d.ns)}return{host:i,port:c,domain:s,subdomain:a,secure:h,scheme:u,pathString:o,namespace:l}},dg="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz",Bg=(()=>{let s=0,a=[];return function(e){var t=e===s;s=e;let r;var n=new Array(8);for(r=7;0<=r;r--)n[r]=dg.charAt(e%64),e=Math.floor(e/64);g(0===e,"Cannot push at time == 0");let i=n.join("");if(t){for(r=11;0<=r&&63===a[r];r--)a[r]=0;a[r]++}else for(r=0;r<12;r++)a[r]=Math.floor(64*Math.random());for(r=0;r<12;r++)i+=dg.charAt(a[r]);return g(20===i.length,"nextPushId: Length should be 20."),i}})();class pg{constructor(e,t,r,n){this.eventType=e,this.eventRegistration=t,this.snapshot=r,this.prevName=n}getPath(){var e=this.snapshot.ref;return("value"===this.eventType?e:e.parent)._path}getEventType(){return this.eventType}getEventRunner(){return this.eventRegistration.getEventRunner(this)}toString(){return this.getPath().toString()+":"+this.eventType+":"+fe(this.snapshot.exportVal())}}class gg{constructor(e,t,r){this.eventRegistration=e,this.error=t,this.path=r}getPath(){return this.path}getEventType(){return"cancel"}getEventRunner(){return this.eventRegistration.getEventRunner(this)}toString(){return this.path.toString()+":cancel"}}class fg{constructor(e,t){this.snapshotCallback=e,this.cancelCallback=t}onValue(e,t){this.snapshotCallback.call(null,e,t)}onCancel(e){return g(this.hasCancelCallback,"Raising a cancel event on a listener with no cancel callback"),this.cancelCallback.call(null,e)}get hasCancelCallback(){return!!this.cancelCallback}matches(e){return this.snapshotCallback===e.snapshotCallback||void 0!==this.snapshotCallback.userCallback&&this.snapshotCallback.userCallback===e.snapshotCallback.userCallback&&this.snapshotCallback.context===e.snapshotCallback.context}}let mg=class{constructor(e,t){this._repo=e,this._path=t}cancel(){var e=new Z;return Yp(this._repo,this._path,e.wrapCallback(()=>{})),e.promise}remove(){Ep("OnDisconnect.remove",this._path);var e=new Z;return $p(this._repo,this._path,null,e.wrapCallback(()=>{})),e.promise}set(e){Ep("OnDisconnect.set",this._path),Cp("OnDisconnect.set",e,this._path,!1);var t=new Z;return $p(this._repo,this._path,e,t.wrapCallback(()=>{})),t.promise}setWithPriority(e,t){Ep("OnDisconnect.setWithPriority",this._path),Cp("OnDisconnect.setWithPriority",e,this._path,!1),_p("OnDisconnect.setWithPriority",t);var n=new Z;{var i=this._repo,s=this._path,a=n.wrapCallback(()=>{});let r=Yc(e,t);i.server_.onDisconnectPut(s.toString(),r.val(!0),(e,t)=>{"ok"===e&&fd(i.onDisconnect_,s,r),tg(0,a,e,t)})}return n.promise}update(e){Ep("OnDisconnect.update",this._path),vp("OnDisconnect.update",e,this._path);var n,i,r,s,t=new Z;return n=this._repo,i=this._path,r=e,s=t.wrapCallback(()=>{}),_e(r)?(mu("onDisconnect().update() called with empty data. Don't do anything."),tg(0,s,"ok",void 0)):n.server_.onDisconnectMerge(i.toString(),r,(e,t)=>{"ok"===e&&bu(r,(e,t)=>{var r=Yc(t);fd(n.onDisconnect_,uc(i,e),r)}),tg(0,s,e,t)}),t.promise}};class Cg{constructor(e,t,r,n){this._repo=e,this._path=t,this._queryParams=r,this._orderByCalled=n}get key(){return C(this._path)?null:oc(this._path)}get ref(){return new wg(this._repo,this._path)}get _queryIdentifier(){var e=dd(this._queryParams),e=ou(e);return"{}"===e?"default":e}get _queryObject(){return dd(this._queryParams)}isEqual(e){var t,r,n;return(e=_(e))instanceof Cg&&(t=this._repo===e._repo,r=Bc(this._path,e._path),n=this._queryIdentifier===e._queryIdentifier,t)&&r&&n}toJSON(){return this.toString()}toString(){return this._repo.toString()+(e=>{let t="";for(let r=e.pieceNum_;r<e.pieces_.length;r++)""!==e.pieces_[r]&&(t+="/"+encodeURIComponent(String(e.pieces_[r])));return t||"/"})(this._path)}}function vg(e,t){if(!0===e._orderByCalled)throw new Error(t+": You can't combine multiple orderBy calls.")}function _g(e){let t=null,r=null;if(e.hasStart()&&(t=e.getIndexStartValue()),e.hasEnd()&&(r=e.getIndexEndValue()),e.getIndex()===Dc){var n="Query: When ordering by key, you may only pass one argument to startAt(), endAt(), or equalTo().",i="Query: When ordering by key, the argument passed to startAt(), startAfter(), endAt(), endBefore(), or equalTo() must be a string.";if(e.hasStart()){if(e.getIndexStartName()!==wu)throw new Error(n);if("string"!=typeof t)throw new Error(i)}if(e.hasEnd()){if(e.getIndexEndName()!==Eu)throw new Error(n);if("string"!=typeof r)throw new Error(i)}}else if(e.getIndex()===Uc){if(null!=t&&!Np(t)||null!=r&&!Np(r))throw new Error("Query: When ordering by priority, the first argument passed to startAt(), startAfter() endAt(), endBefore(), or equalTo() must be a valid priority value (null, a number, or a string).")}else if(g(e.getIndex()instanceof $c||e.getIndex()===Zc,"unknown index type."),null!=t&&"object"==typeof t||null!=r&&"object"==typeof r)throw new Error("Query: First argument passed to startAt(), startAfter(), endAt(), endBefore(), or equalTo() cannot be an object.")}function yg(e){if(e.hasStart()&&e.hasEnd()&&e.hasLimit()&&!e.hasAnchoredLimit())throw new Error("Query: Can't combine startAt(), startAfter(), endAt(), endBefore(), and limit(). Use limitToFirst() or limitToLast() instead.")}class wg extends Cg{constructor(e,t){super(e,t,new od,!1)}get parent(){var e=hc(this._path);return null===e?null:new wg(this._repo,e)}get root(){let e=this;for(;null!==e.parent;)e=e.parent;return e}}let Eg=class ff{constructor(e,t,r){this._node=e,this.ref=t,this._index=r}get priority(){return this._node.getPriority().val()}get key(){return this.ref.key}get size(){return this._node.numChildren()}child(e){var t=new nc(e),r=Ig(this.ref,e);return new ff(this._node.getChild(t),r,Uc)}exists(){return!this._node.isEmpty()}exportVal(){return this._node.val(!0)}forEach(r){return!this._node.isLeafNode()&&!!this._node.forEachChild(this._index,(e,t)=>r(new ff(t,Ig(this.ref,e),Uc)))}hasChild(e){var t=new nc(e);return!this._node.getChild(t).isEmpty()}hasChildren(){return!this._node.isLeafNode()&&!this._node.isEmpty()}toJSON(){return this.exportVal()}val(){return this._node.val()}};function Dg(e,t){return(e=_(e))._checkNotDeleted("ref"),void 0!==t?Ig(e._root,t):e._root}function bg(e,t){(e=_(e))._checkNotDeleted("refFromURL");var r=ug(t,e._repo.repoInfo_.nodeAdmin),n=(Op("refFromURL",r),r.repoInfo);return e._repo.repoInfo_.isCustomHost()||n.host===e._repo.repoInfo_.host||Cu("refFromURL: Host name does not match the current database: (found "+n.host+" but expected "+e._repo.repoInfo_.host+")"),Dg(e,r.path.toString())}function Ig(e,t){return(null===m((e=_(e))._path)?wp:Rp)("child","path",t),new wg(e._repo,uc(e._path,t))}function Tg(e,t){e=_(e),Ep("set",e._path),Cp("set",t,e._path,!1);var r=new Z;return Qp(e._repo,e._path,t,null,r.wrapCallback(()=>{})),r.promise}function Sg(e,t){vp("update",t,e._path);var i=new Z;{var a=e._repo,o=e._path,l=(e=t,i.wrapCallback(()=>{}));eg(a,"update",{path:o.toString(),value:e});let r=!0,n=jp(a),s={};if(bu(e,(e,t)=>{r=!1,s[e]=op(uc(o,e),Yc(t),a.serverSyncTree_,n)}),r)mu("update() called with empty data. Don't do anything."),tg(0,l,"ok",void 0);else{let i=Wp(a);var h=MB(a.serverSyncTree_,o,s,i);xp(a.eventQueue_,h),a.server_.merge(o.toString(),e,(e,t)=>{var r="ok"===e,r=(r||vu("update at "+o+" failed: "+e),UB(a.serverSyncTree_,i,!r)),n=0<r.length?ig(a,o):o;Lp(a.eventQueue_,n,r),tg(0,l,e,t)}),bu(e,e=>{var t=lg(a,uc(o,e));ig(a,t)}),Lp(a.eventQueue_,o,[])}}return i.promise}function kg(t){t=_(t);var i,s,a,e=new fg(()=>{}),e=new Ng(e);return i=t._repo,s=t,a=e,(null!=(e=KB(i.serverSyncTree_,s))?Promise.resolve(e):i.server_.get(s).then(e=>{var t,r=Yc(e).withIndex(s._queryParams.getIndex());qB(i.serverSyncTree_,s,a,!0);let n;return n=s._queryParams.loadsAllData()?GB(i.serverSyncTree_,s._path,r):(t=QB(i.serverSyncTree_,s),VB(i.serverSyncTree_,s._path,r,t)),Lp(i.eventQueue_,s._path,n),HB(i.serverSyncTree_,s,a,null,!0),r},e=>(eg(i,"get for query "+fe(s)+" failed: "+e),Promise.reject(new Error(e))))).then(e=>new Eg(e,new wg(t._repo,t._path),t._queryParams.getIndex()))}class Ng{constructor(e){this.callbackContext=e}respondsTo(e){return"value"===e}createEvent(e,t){var r=t._queryParams.getIndex();return new pg("value",this,new Eg(e.snapshotNode,new wg(t._repo,t._path),r))}getEventRunner(e){return"cancel"===e.getEventType()?()=>this.callbackContext.onCancel(e.error):()=>this.callbackContext.onValue(e.snapshot,null)}createCancelEvent(e,t){return this.callbackContext.hasCancelCallback?new gg(this,e,t):null}matches(e){return e instanceof Ng&&(!e.callbackContext||!this.callbackContext||e.callbackContext.matches(this.callbackContext))}hasAnyCallback(){return null!==this.callbackContext}}class Ag{constructor(e,t){this.eventType=e,this.callbackContext=t}respondsTo(e){var t="children_added"===e?"child_added":e;return this.eventType===("children_removed"===t?"child_removed":t)}createCancelEvent(e,t){return this.callbackContext.hasCancelCallback?new gg(this,e,t):null}createEvent(e,t){g(null!=e.childName,"Child events should have a childName.");var r=Ig(new wg(t._repo,t._path),e.childName),n=t._queryParams.getIndex();return new pg(e.type,this,new Eg(e.snapshotNode,r,n),e.prevName)}getEventRunner(e){return"cancel"===e.getEventType()?()=>this.callbackContext.onCancel(e.error):()=>this.callbackContext.onValue(e.snapshot,e.prevName)}matches(e){return e instanceof Ag&&this.eventType===e.eventType&&(!this.callbackContext||!e.callbackContext||this.callbackContext.matches(e.callbackContext))}hasAnyCallback(){return!!this.callbackContext}}function Rg(n,e,t,r,i){let s;if("object"==typeof r&&(s=void 0,i=r),"function"==typeof r&&(s=r),i&&i.onlyOnce){let r=t;var a=(e,t)=>{Xp(n._repo,n,o),r(e,t)};a.userCallback=t.userCallback,a.context=t.context,t=a}a=new fg(t,s||void 0);let o="value"===e?new Ng(a):new Ag(e,a);{r=n._repo,i=n,t=o;let e;e=".info"===m(i._path)?qB(r.infoSyncTree_,i,t):qB(r.serverSyncTree_,i,t),Fp(r.eventQueue_,i._path,e)}return()=>Xp(n._repo,n,o)}function Og(e,t,r,n){return Rg(e,"value",t,r,n)}function Pg(e,t,r,n){Rg(e,"child_added",t,r,n)}function xg(e,t,r,n){Rg(e,"child_changed",t,r,n)}function Fg(e,t,r,n){Rg(e,"child_moved",t,r,n)}function Lg(e,t,r,n){Rg(e,"child_removed",t,r,n)}function Mg(e,t,r){let n=null;var i=r?new fg(r):null;"value"===t?n=new Ng(i):t&&(n=new Ag(t,i)),Xp(e._repo,e,n)}t=class{};let Ug=class extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="endAt"}_apply(e){Cp("endAt",this._value,e._path,!0);var t=hd(e._queryParams,this._value,this._key);if(yg(t),_g(t),e._queryParams.hasEnd())throw new Error("endAt: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new Cg(e._repo,e._path,t,e._orderByCalled)}};class Gg extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="endBefore"}_apply(e){Cp("endBefore",this._value,e._path,!1);var t=((e,t,r)=>{let n;return(n=e.index_===Dc||r?hd(e,t,r):hd(e,t,wu)).endBeforeSet_=!0,n})(e._queryParams,this._value,this._key);if(yg(t),_g(t),e._queryParams.hasEnd())throw new Error("endBefore: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new Cg(e._repo,e._path,t,e._orderByCalled)}}let Hg=class extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="startAt"}_apply(e){Cp("startAt",this._value,e._path,!0);var t=ld(e._queryParams,this._value,this._key);if(yg(t),_g(t),e._queryParams.hasStart())throw new Error("startAt: Starting point was already set (by another call to startAt, startBefore or equalTo).");return new Cg(e._repo,e._path,t,e._orderByCalled)}};class Vg extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="startAfter"}_apply(e){Cp("startAfter",this._value,e._path,!1);var t=((e,t,r)=>{let n;return(n=e.index_===Dc||r?ld(e,t,r):ld(e,t,Eu)).startAfterSet_=!0,n})(e._queryParams,this._value,this._key);if(yg(t),_g(t),e._queryParams.hasStart())throw new Error("startAfter: Starting point was already set (by another call to startAt, startAfter, or equalTo).");return new Cg(e._repo,e._path,t,e._orderByCalled)}}class qg extends t{constructor(e){super(),this._limit=e,this.type="limitToFirst"}_apply(e){if(e._queryParams.hasLimit())throw new Error("limitToFirst: Limit was already set (by another call to limitToFirst or limitToLast).");return new Cg(e._repo,e._path,(t=e._queryParams,r=this._limit,(n=t.copy()).limitSet_=!0,n.limit_=r,n.viewFrom_="l",n),e._orderByCalled);var t,r,n}}class jg extends t{constructor(e){super(),this._limit=e,this.type="limitToLast"}_apply(e){if(e._queryParams.hasLimit())throw new Error("limitToLast: Limit was already set (by another call to limitToFirst or limitToLast).");return new Cg(e._repo,e._path,(t=e._queryParams,r=this._limit,(n=t.copy()).limitSet_=!0,n.limit_=r,n.viewFrom_="r",n),e._orderByCalled);var t,r,n}}class Kg extends t{constructor(e){super(),this._path=e,this.type="orderByChild"}_apply(e){vg(e,"orderByChild");var t=new nc(this._path);if(C(t))throw new Error("orderByChild: cannot pass in empty path. Use orderByValue() instead.");t=new $c(t),t=ud(e._queryParams,t);return _g(t),new Cg(e._repo,e._path,t,!0)}}class zg extends t{constructor(){super(...arguments),this.type="orderByKey"}_apply(e){vg(e,"orderByKey");var t=ud(e._queryParams,Dc);return _g(t),new Cg(e._repo,e._path,t,!0)}}class Jg extends t{constructor(){super(...arguments),this.type="orderByPriority"}_apply(e){vg(e,"orderByPriority");var t=ud(e._queryParams,Uc);return _g(t),new Cg(e._repo,e._path,t,!0)}}class Wg extends t{constructor(){super(...arguments),this.type="orderByValue"}_apply(e){vg(e,"orderByValue");var t=ud(e._queryParams,Zc);return _g(t),new Cg(e._repo,e._path,t,!0)}}class Qg extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="equalTo"}_apply(e){if(Cp("equalTo",this._value,e._path,!1),e._queryParams.hasStart())throw new Error("equalTo: Starting point was already set (by another call to startAt/startAfter or equalTo).");if(e._queryParams.hasEnd())throw new Error("equalTo: Ending point was already set (by another call to endAt/endBefore or equalTo).");return new Ug(this._value,this._key)._apply(new Hg(this._value,this._key)._apply(e))}}function Yg(e,...t){let r=_(e);for(var n of t)r=n._apply(r);return r}a=wg,g(!wB,"__referenceConstructor has already been defined"),wB=a,a=wg,g(!PB,"__referenceConstructor has already been defined"),PB=a;let $g="FIREBASE_DATABASE_EMULATOR_HOST",Xg={},Zg=!1;function ef(e,t,r,n,i){let s=n||e.options.databaseURL,a=(void 0===s&&(e.options.projectId||Cu("Can't determine Firebase Database URL. Be sure to include a Project ID when calling firebase.initializeApp()."),mu("Using default host for project ",e.options.projectId),s=e.options.projectId+"-default-rtdb.firebaseio.com"),ug(s,i)),o=a.repoInfo,l,h=void 0;(h="undefined"!=typeof process&&process.env?process.env[$g]:h)?(l=!0,s=`http://${h}?ns=`+o.namespace,a=ug(s,i),o=a.repoInfo):l=!a.repoInfo.secure;var u=i&&l?new xu(xu.OWNER):new Pu(e.name,e.options,t),u=(Op("Invalid Firebase Database URL",a),C(a.path)||Cu("Database URL must point to the root of a Firebase Database (not including a child path)."),((e,t,r,n)=>{let i=Xg[t.name];var s;return i||(i={},Xg[t.name]=i),(s=i[e.toURLString()])&&Cu("Database initialized multiple times. Please make sure the format of the database URL matches with each database() call."),s=new Hp(e,Zg,r,n),i[e.toURLString()]=s})(o,e,u,new Ou(e,r)));return new tf(u,e)}let tf=class{constructor(e,t){this._repoInternal=e,this.app=t,this.type="database",this._instanceStarted=!1}get _repo(){return this._instanceStarted||(Vp(this._repoInternal,this.app.options.appId,this.app.options.databaseAuthVariableOverride),this._instanceStarted=!0),this._repoInternal}get _root(){return this._rootInternal||(this._rootInternal=new wg(this._repo,ic())),this._rootInternal}_delete(){var e,t,r;return null!==this._rootInternal&&(e=this._repo,t=this.app.name,(r=Xg[t])&&r[e.key]===e||Cu(`Database ${t}(${e.repoInfo_}) has already been deleted.`),Zp(e),delete r[e.key],this._repoInternal=null,this._rootInternal=null),Promise.resolve()}_checkNotDeleted(e){null===this._rootInternal&&Cu("Cannot call "+e+" on a deleted database.")}};function rf(){Yu.IS_TRANSPORT_INITIALIZED&&vu("Transport has already been initialized. Please call this function before calling ref or setting up a listener")}function nf(){rf(),zu.forceDisallow()}function sf(){rf(),Qu.forceDisallow(),zu.forceAllow()}function af(e,t,r,n={}){(e=_(e))._checkNotDeleted("useEmulator");var i,s=t+":"+r,a=e._repoInternal;if(e._instanceStarted){if(s===e._repoInternal.repoInfo_.host&&we(n,a.repoInfo_.emulatorOptions))return;Cu("connectDatabaseEmulator() cannot initialize or alter the emulator configuration after the database instance has started.")}let o=void 0;a.repoInfo_.nodeAdmin?(n.mockUserToken&&Cu('mockUserToken is not supported by the Admin SDK. For client access with mock users, please use the "firebase" package instead of "firebase-admin".'),o=new xu(xu.OWNER)):n.mockUserToken&&(i="string"==typeof n.mockUserToken?n.mockUserToken:ee(n.mockUserToken,e.app.options.projectId),o=new xu(i)),Ge(t)&&He(t),r=a,e=s,t=n,n=o,i=e.lastIndexOf(":"),i=Ge(e.substring(0,i)),r.repoInfo_=new Uu(e,i,r.repoInfo_.namespace,r.repoInfo_.webSocketOnly,r.repoInfo_.nodeAdmin,r.repoInfo_.persistenceKey,r.repoInfo_.includeNamespaceInQueryParams,!0,t),n&&(r.authTokenProvider_=n)}function of(e){(e=_(e))._checkNotDeleted("goOnline"),(e=e._repo).persistentConnection_&&e.persistentConnection_.resume(Up)}function lf(e,t){fu(e,t)}let hf={".sv":"timestamp"};let uf=class{constructor(e,t){this.committed=e,this.snapshot=t}toJSON(){return{committed:this.committed,snapshot:this.snapshot.toJSON()}}};function cf(i,e,t){if(i=_(i),Ep("Reference.transaction",i._path),".length"===i.key||".keys"===i.key)throw"Reference.transaction failed: "+i.key+" is a read-only object.";var r=t?.applyLocally??!0;let s=new Z;var n=Og(i,()=>{}),t=i._repo,a=i._path,o=(e,t,r)=>{var n;e?s.reject(e):(n=new Eg(r,new wg(i._repo,i._path),Uc),s.resolve(new uf(t,n)))},l=n,h=r;eg(t,"transaction on "+a);var u,n={path:a,update:e,onComplete:o,status:null,order:du(),applyLocally:h,retryCount:0,unwatcher:l,abortReason:null,currentWriteId:null,currentInputSnapshot:null,currentOutputSnapshotRaw:null,currentOutputSnapshotResolved:null},r=rg(t,a,void 0);if(n.currentInputSnapshot=r,void 0===(u=n.update(r.val())))n.unwatcher(),n.currentOutputSnapshotRaw=null,n.currentOutputSnapshotResolved=null,n.onComplete&&n.onComplete(null,!1,n.currentInputSnapshot);else{Ap("transaction failed: Data returned ",u,n.path),n.status=0;var c=cp(t.transactionQueueTree_,a),d=dp(c)||[];d.push(n),Bp(c,d);let e;"object"==typeof u&&null!==u&&Ce(u,".priority")?(e=ve(u,".priority"),g(Np(e),"Invalid priority returned by transaction. Priority must be a valid string, finite number, server value, or null.")):(c=jB(t.serverSyncTree_,a)||v.EMPTY_NODE,e=c.getPriority().val());d=jp(t),c=Yc(u,e),u=lp(c,r,d),r=(n.currentOutputSnapshotRaw=c,n.currentOutputSnapshotResolved=u,n.currentWriteId=Wp(t),LB(t.serverSyncTree_,a,u,n.currentWriteId,n.applyLocally));Lp(t.eventQueue_,a,r),ng(t,t.transactionQueueTree_)}return s.promise}vc.prototype.simpleListen=function(e,t){this.sendRequest("q",{p:e},t)},vc.prototype.echo=function(e,t){this.sendRequest("echo",{d:e},t)},Xh(Lt),St(new Ve("database",(e,{instanceIdentifier:t})=>ef(e.getProvider("app").getImmediate(),e.getProvider("auth-internal"),e.getProvider("app-check-internal"),t),"PUBLIC").setMultipleInstances(!0)),Ht(Yh,"1.1.4",AL),Ht(Yh,"1.1.4","esm2020");function df(e){var t="FIREBASE WARNING: "+e;Bf.warn(t)}let Bf=new $e("@firebase/database-compat");class pf{constructor(e){this._delegate=e}cancel(t){l("OnDisconnect.cancel",0,1,arguments.length),Re("OnDisconnect.cancel","onComplete",t,!0);var e=this._delegate.cancel();return t&&e.then(()=>t(null),e=>t(e)),e}remove(t){l("OnDisconnect.remove",0,1,arguments.length),Re("OnDisconnect.remove","onComplete",t,!0);var e=this._delegate.remove();return t&&e.then(()=>t(null),e=>t(e)),e}set(e,t){l("OnDisconnect.set",1,2,arguments.length),Re("OnDisconnect.set","onComplete",t,!0);var r=this._delegate.set(e);return t&&r.then(()=>t(null),e=>t(e)),r}setWithPriority(e,t,r){l("OnDisconnect.setWithPriority",2,3,arguments.length),Re("OnDisconnect.setWithPriority","onComplete",r,!0);var n=this._delegate.setWithPriority(e,t);return r&&n.then(()=>r(null),e=>r(e)),n}update(t,r){if(l("OnDisconnect.update",1,2,arguments.length),Array.isArray(t)){var n={};for(let e=0;e<t.length;++e)n[""+e]=t[e];t=n,df("Passing an Array to firebase.database.onDisconnect().update() is deprecated. Use set() if you want to overwrite the existing data, or an Object with integer keys if you really do want to only update some of the children.")}Re("OnDisconnect.update","onComplete",r,!0);var e=this._delegate.update(t);return r&&e.then(()=>r(null),e=>r(e)),e}}class gf{constructor(e,t){this.committed=e,this.snapshot=t}toJSON(){return l("TransactionResult.toJSON",0,1,arguments.length),{committed:this.committed,snapshot:this.snapshot.toJSON()}}}class ff{constructor(e,t){this._database=e,this._delegate=t}val(){return l("DataSnapshot.val",0,0,arguments.length),this._delegate.val()}exportVal(){return l("DataSnapshot.exportVal",0,0,arguments.length),this._delegate.exportVal()}toJSON(){return l("DataSnapshot.toJSON",0,1,arguments.length),this._delegate.toJSON()}exists(){return l("DataSnapshot.exists",0,0,arguments.length),this._delegate.exists()}child(e){return l("DataSnapshot.child",0,1,arguments.length),e=String(e),Rp("DataSnapshot.child","path",e),new ff(this._database,this._delegate.child(e))}hasChild(e){return l("DataSnapshot.hasChild",1,1,arguments.length),Rp("DataSnapshot.hasChild","path",e),this._delegate.hasChild(e)}getPriority(){return l("DataSnapshot.getPriority",0,0,arguments.length),this._delegate.priority}forEach(t){return l("DataSnapshot.forEach",1,1,arguments.length),Re("DataSnapshot.forEach","action",t,!1),this._delegate.forEach(e=>t(new ff(this._database,e)))}hasChildren(){return l("DataSnapshot.hasChildren",0,0,arguments.length),this._delegate.hasChildren()}get key(){return this._delegate.key}numChildren(){return l("DataSnapshot.numChildren",0,0,arguments.length),this._delegate.size}getRef(){return l("DataSnapshot.ref",0,0,arguments.length),new Cf(this._database,this._delegate.ref)}get ref(){return this.getRef()}}let mf=class AR{constructor(e,t){this.database=e,this._delegate=t}on(e,r,t,n){l("Query.on",2,4,arguments.length),Re("Query.on","callback",r,!1);let i=AR.getCancelAndContextArgs_("Query.on",t,n);var s=(e,t)=>{r.call(i.context,new ff(this.database,e),t)},a=(s.userCallback=r,s.context=i.context,i.cancel?.bind(i.context));switch(e){case"value":return Og(this._delegate,s,a),r;case"child_added":return Pg(this._delegate,s,a),r;case"child_removed":return Lg(this._delegate,s,a),r;case"child_changed":return xg(this._delegate,s,a),r;case"child_moved":return Fg(this._delegate,s,a),r;default:throw new Error(Ae("Query.on","eventType")+'must be a valid event type = "value", "child_added", "child_removed", "child_changed", or "child_moved".')}}off(e,t,r){l("Query.off",0,3,arguments.length);var n,i="Query.off",s=e;if(void 0!==s)switch(s){case"value":case"child_added":case"child_removed":case"child_changed":case"child_moved":break;default:throw new Error(Ae(i,"eventType")+'must be a valid event type = "value", "child_added", "child_removed", "child_changed", or "child_moved".')}Re("Query.off","callback",t,!0),Oe("Query.off","context",r),t?((n=()=>{}).userCallback=t,n.context=r,Mg(this._delegate,e,n)):Mg(this._delegate,e)}get(){return kg(this._delegate).then(e=>new ff(this.database,e))}once(e,n,t,r){l("Query.once",1,4,arguments.length),Re("Query.once","callback",n,!0);let i=AR.getCancelAndContextArgs_("Query.once",t,r),s=new Z;var a=(e,t)=>{var r=new ff(this.database,e);n&&n.call(i.context,r,t),s.resolve(r)},o=(a.userCallback=n,a.context=i.context,e=>{i.cancel&&i.cancel.call(i.context,e),s.reject(e)});switch(e){case"value":Og(this._delegate,a,o,{onlyOnce:!0});break;case"child_added":Pg(this._delegate,a,o,{onlyOnce:!0});break;case"child_removed":Lg(this._delegate,a,o,{onlyOnce:!0});break;case"child_changed":xg(this._delegate,a,o,{onlyOnce:!0});break;case"child_moved":Fg(this._delegate,a,o,{onlyOnce:!0});break;default:throw new Error(Ae("Query.once","eventType")+'must be a valid event type = "value", "child_added", "child_removed", "child_changed", or "child_moved".')}return s.promise}limitToFirst(e){return l("Query.limitToFirst",1,1,arguments.length),new AR(this.database,Yg(this._delegate,(e=>{if("number"!=typeof e||Math.floor(e)!==e||e<=0)throw new Error("limitToFirst: First argument must be a positive integer.");return new qg(e)})(e)))}limitToLast(e){return l("Query.limitToLast",1,1,arguments.length),new AR(this.database,Yg(this._delegate,(e=>{if("number"!=typeof e||Math.floor(e)!==e||e<=0)throw new Error("limitToLast: First argument must be a positive integer.");return new jg(e)})(e)))}orderByChild(e){return l("Query.orderByChild",1,1,arguments.length),new AR(this.database,Yg(this._delegate,(e=>{if("$key"===e)throw new Error('orderByChild: "$key" is invalid. Use orderByKey() instead.');if("$priority"===e)throw new Error('orderByChild: "$priority" is invalid. Use orderByPriority() instead.');if("$value"===e)throw new Error('orderByChild: "$value" is invalid. Use orderByValue() instead.');return Rp("orderByChild","path",e),new Kg(e)})(e)))}orderByKey(){return l("Query.orderByKey",0,0,arguments.length),new AR(this.database,Yg(this._delegate,new zg))}orderByPriority(){return l("Query.orderByPriority",0,0,arguments.length),new AR(this.database,Yg(this._delegate,new Jg))}orderByValue(){return l("Query.orderByValue",0,0,arguments.length),new AR(this.database,Yg(this._delegate,new Wg))}startAt(e=null,t){return l("Query.startAt",0,2,arguments.length),new AR(this.database,Yg(this._delegate,([e=null,t]=[e,t],yp("startAt","key",t),new Hg(e,t))))}startAfter(e=null,t){return l("Query.startAfter",0,2,arguments.length),new AR(this.database,Yg(this._delegate,(e=e,t=t,yp("startAfter","key",t),new Vg(e,t))))}endAt(e=null,t){return l("Query.endAt",0,2,arguments.length),new AR(this.database,Yg(this._delegate,(e=e,t=t,yp("endAt","key",t),new Ug(e,t))))}endBefore(e=null,t){return l("Query.endBefore",0,2,arguments.length),new AR(this.database,Yg(this._delegate,(e=e,t=t,yp("endBefore","key",t),new Gg(e,t))))}equalTo(e,t){return l("Query.equalTo",1,2,arguments.length),new AR(this.database,Yg(this._delegate,(e=e,t=t,yp("equalTo","key",t),new Qg(e,t))))}toString(){return l("Query.toString",0,0,arguments.length),this._delegate.toString()}toJSON(){return l("Query.toJSON",0,1,arguments.length),this._delegate.toJSON()}isEqual(e){if(l("Query.isEqual",1,1,arguments.length),e instanceof AR)return this._delegate.isEqual(e._delegate);throw new Error("Query.isEqual failed: First argument must be an instance of firebase.database.Query.")}static getCancelAndContextArgs_(e,t,r){var n={cancel:void 0,context:void 0};if(t&&r)n.cancel=t,Re(e,"cancel",n.cancel,!0),n.context=r,Oe(e,"context",n.context);else if(t)if("object"==typeof t&&null!==t)n.context=t;else{if("function"!=typeof t)throw new Error(Ae(e,"cancelOrContext")+" must either be a cancel callback or a context object.");n.cancel=t}return n}get ref(){return new Cf(this.database,new wg(this._delegate._repo,this._delegate._path))}},Cf=class Zx extends mf{constructor(e,t){super(e,new Cg(t._repo,t._path,new od,!1)),this.database=e,this._delegate=t}getKey(){return l("Reference.key",0,0,arguments.length),this._delegate.key}child(e){return l("Reference.child",1,1,arguments.length),"number"==typeof e&&(e=String(e)),new Zx(this.database,Ig(this._delegate,e))}getParent(){l("Reference.parent",0,0,arguments.length);var e=this._delegate.parent;return e?new Zx(this.database,e):null}getRoot(){return l("Reference.root",0,0,arguments.length),new Zx(this.database,this._delegate.root)}set(e,t){l("Reference.set",1,2,arguments.length),Re("Reference.set","onComplete",t,!0);var r=Tg(this._delegate,e);return t&&r.then(()=>t(null),e=>t(e)),r}update(t,r){if(l("Reference.update",1,2,arguments.length),Array.isArray(t)){var n={};for(let e=0;e<t.length;++e)n[""+e]=t[e];t=n,df("Passing an Array to Firebase.update() is deprecated. Use set() if you want to overwrite the existing data, or an Object with integer keys if you really do want to only update some of the children.")}Ep("Reference.update",this._delegate._path),Re("Reference.update","onComplete",r,!0);var e=Sg(this._delegate,t);return r&&e.then(()=>r(null),e=>r(e)),e}setWithPriority(e,t,r){l("Reference.setWithPriority",2,3,arguments.length),Re("Reference.setWithPriority","onComplete",r,!0);var n=((e,t,r)=>{if(Ep("setWithPriority",e._path),Cp("setWithPriority",t,e._path,!1),_p("setWithPriority",r),".length"===e.key||".keys"===e.key)throw"setWithPriority failed: "+e.key+" is a read-only object.";var n=new Z;return Qp(e._repo,e._path,t,r,n.wrapCallback(()=>{})),n.promise})(this._delegate,e,t);return r&&n.then(()=>r(null),e=>r(e)),n}remove(t){l("Reference.remove",0,1,arguments.length),Re("Reference.remove","onComplete",t,!0);e=this._delegate,Ep("remove",e._path);var e,r=Tg(e,null);return t&&r.then(()=>t(null),e=>t(e)),r}transaction(e,t,r){l("Reference.transaction",1,3,arguments.length),Re("Reference.transaction","transactionUpdate",e,!1),Re("Reference.transaction","onComplete",t,!0);var n="Reference.transaction",i="applyLocally",s=r;if(void 0!==s&&"boolean"!=typeof s)throw new Error(Ae(n,i)+"must be a boolean.");var a=cf(this._delegate,e,{applyLocally:r}).then(e=>new gf(e.committed,new ff(this.database,e.snapshot)));return t&&a.then(e=>t(null,e.committed,e.snapshot),e=>t(e,!1,null)),a}setPriority(e,t){l("Reference.setPriority",1,2,arguments.length),Re("Reference.setPriority","onComplete",t,!0);r=this._delegate,e=e,r=_(r),Ep("setPriority",r._path),_p("setPriority",e),n=new Z,Qp(r._repo,uc(r._path,".priority"),e,null,n.wrapCallback(()=>{}));var r,n=n.promise;return t&&n.then(()=>t(null),e=>t(e)),n}push(e,t){l("Reference.push",0,2,arguments.length),Re("Reference.push","onComplete",t,!0);var r=((e,t)=>{e=_(e),Ep("push",e._path),Cp("push",t,e._path,!0);var r=qp(e._repo),r=Bg(r),n=Ig(e,r);let i=Ig(e,r),s;return s=null!=t?Tg(i,t).then(()=>i):Promise.resolve(i),n.then=s.then.bind(s),n.catch=s.then.bind(s,void 0),n})(this._delegate,e),n=r.then(e=>new Zx(this.database,e)),r=(t&&n.then(()=>t(null),e=>t(e)),new Zx(this.database,r));return r.then=n.then.bind(n),r.catch=n.catch.bind(n,void 0),r}onDisconnect(){return Ep("Reference.onDisconnect",this._delegate._path),new pf(new mg(this._delegate._repo,this._delegate._path))}get key(){return this.getKey()}get parent(){return this.getParent()}get root(){return this.getRoot()}};class vf{constructor(e,t){this._delegate=e,this.app=t,this.INTERNAL={delete:()=>this._delegate._delete(),forceWebSockets:nf,forceLongPolling:sf}}useEmulator(e,t,r={}){af(this._delegate,e,t,r)}ref(e){var t;return l("database.ref",0,1,arguments.length),e instanceof Cf?(t=bg(this._delegate,e.toString()),new Cf(this,t)):(t=Dg(this._delegate,e),new Cf(this,t))}refFromURL(e){l("database.refFromURL",1,1,arguments.length);var t=bg(this._delegate,e);return new Cf(this,t)}goOffline(){var e;l("database.goOffline",0,0,arguments.length),(e=_(e=this._delegate))._checkNotDeleted("goOffline"),Zp(e._repo)}goOnline(){return l("database.goOnline",0,0,arguments.length),of(this._delegate)}}vf.ServerValue={TIMESTAMP:hf,increment:e=>({".sv":{increment:e}})};var _f=Object.freeze({__proto__:null,initStandalone:function({app:e,url:t,version:r,customAuthImpl:n,customAppCheckImpl:i,namespace:s,nodeAdmin:a=!1}){Xh(r);var o=new Ke("database-standalone"),l=new je("auth-internal",o);l.setComponent(new Ve("auth-internal",()=>n,"PRIVATE"));let h=void 0;return i&&(h=new je("app-check-internal",o)).setComponent(new Ve("app-check-internal",()=>i,"PRIVATE")),{instance:new vf(ef(e,l,h,t,a),e),namespace:s}}});let yf=vf.ServerValue;(a=or).INTERNAL.registerComponent(new Ve("database-compat",(e,{instanceIdentifier:t})=>{var r=e.getProvider("app-compat").getImmediate(),n=e.getProvider("database").getImmediate({identifier:t});return new vf(n,r)},"PUBLIC").setServiceProps({Reference:Cf,Query:mf,Database:vf,DataSnapshot:ff,enableLogging:lf,INTERNAL:_f,ServerValue:yf}).setMultipleInstances(!0)),a.registerVersion("@firebase/database-compat","2.1.5");var wf,Ef,Df,bf,If,Tf,Sf,kf,Nf,Af,sr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Rf=(!(function(){var e,t,s;function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.C=Array(this.blockSize),this.o=this.h=0,this.u()}function n(){}function a(e,t,r){r=r||0;var n=Array(16);if("string"==typeof t)for(var i=0;i<16;++i)n[i]=t.charCodeAt(r++)|t.charCodeAt(r++)<<8|t.charCodeAt(r++)<<16|t.charCodeAt(r++)<<24;else for(i=0;i<16;++i)n[i]=t[r++]|t[r++]<<8|t[r++]<<16|t[r++]<<24;t=e.g[0],r=e.g[1];var i=e.g[2],s=e.g[3],a=t+(s^r&(i^s))+n[0]+3614090360&4294967295;a=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=r+(a<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[1]+3905402710&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[2]+606105819&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[3]+3250441966&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[4]+4118548399&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[5]+1200080426&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[6]+2821735955&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[7]+4249261313&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[8]+1770035416&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[9]+2336552879&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[10]+4294925233&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[11]+2304563134&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[12]+1804603682&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[13]+4254626195&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[14]+2792965006&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[15]+1236535329&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^s&(r^i))+n[1]+4129170786&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[6]+3225465664&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[11]+643717713&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[0]+3921069994&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[5]+3593408605&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[10]+38016083&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[15]+3634488961&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[4]+3889429448&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[9]+568446438&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[14]+3275163606&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[3]+4107603335&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[8]+1163531501&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[13]+2850285829&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[2]+4243563512&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[7]+1735328473&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[12]+2368359562&4294967295)<<20&4294967295|a>>>12))+((a=t+(r^i^s)+n[5]+4294588738&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[8]+2272392833&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[11]+1839030562&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[14]+4259657740&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[1]+2763975236&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[4]+1272893353&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[7]+4139469664&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[10]+3200236656&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[13]+681279174&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[0]+3936430074&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[3]+3572445317&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[6]+76029189&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[9]+3654602809&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[12]+3873151461&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[15]+530742520&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[2]+3299628645&4294967295)<<23&4294967295|a>>>9))+((a=t+(i^(r|~s))+n[0]+4096336452&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[7]+1126891415&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[14]+2878612391&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[5]+4237533241&4294967295)<<21&4294967295|a>>>11))+((a=t+(i^(r|~s))+n[12]+1700485571&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[3]+2399980690&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[10]+4293915773&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[1]+2240044497&4294967295)<<21&4294967295|a>>>11))+((a=t+(i^(r|~s))+n[8]+1873313359&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[15]+4264355552&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[6]+2734768916&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[13]+1309151649&4294967295)<<21&4294967295|a>>>11))+((s=(t=r+((a=t+(i^(r|~s))+n[4]+4149444226&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[11]+3174756917&4294967295)<<10&4294967295|a>>>22))^((i=s+((a=i+(t^(s|~r))+n[2]+718787259&4294967295)<<15&4294967295|a>>>17))|~t))+n[9]+3951481745&4294967295,e.g[0]=e.g[0]+t&4294967295,e.g[1]=e.g[1]+(i+(a<<21&4294967295|a>>>11))&4294967295,e.g[2]=e.g[2]+i&4294967295,e.g[3]=e.g[3]+s&4294967295}function l(e,t){this.h=t;var r=[];let n=!0;for(let s=e.length-1;0<=s;s--){var i=0|e[s];n&&i==t||(r[s]=i,n=!1)}this.g=r}t=r,s=function(){this.blockSize=-1},n.prototype=s.prototype,t.F=s.prototype,t.prototype=new n,(t.prototype.constructor=t).D=function(e,t,r){for(var n=Array(arguments.length-2),i=2;i<arguments.length;i++)n[i-2]=arguments[i];return s.prototype[t].apply(e,n)},r.prototype.u=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0},r.prototype.v=function(e,t){var r=(t=void 0===t?e.length:t)-this.blockSize,n=this.C;let i=this.h,s=0;for(;s<t;){if(0==i)for(;s<=r;)a(this,e,s),s+=this.blockSize;if("string"==typeof e){for(;s<t;)if(n[i++]=e.charCodeAt(s++),i==this.blockSize){a(this,n),i=0;break}}else for(;s<t;)if(n[i++]=e[s++],i==this.blockSize){a(this,n),i=0;break}}this.h=i,this.o+=t},r.prototype.A=function(){var t=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);t[0]=128;for(var r=1;r<t.length-8;++r)t[r]=0;for(var r=8*this.o,n=t.length-8;n<t.length;++n)t[n]=255&r,r/=256;for(this.v(t),t=Array(16),n=r=0;n<4;++n)for(let e=0;e<32;e+=8)t[r++]=this.g[n]>>>e&255;return t};var i={};function o(e){return-128<=e&&e<128?(t=e,r=function(e){return new l([0|e],e<0?-1:0)},n=i,Object.prototype.hasOwnProperty.call(n,t)?n[t]:n[t]=r(t)):new l([0|e],e<0?-1:0);var t,r,n}function h(e){if(isNaN(e)||!isFinite(e))return u;if(e<0)return g(h(-e));var t=[];let r=1;for(let n=0;e>=r;n++)t[n]=e/r|0,r*=4294967296;return new l(t,0)}var u=o(0),c=o(1),d=o(16777216);function B(t){if(0==t.h){for(let e=0;e<t.g.length;e++)if(0!=t.g[e])return;return 1}}function p(e){return-1==e.h}function g(e){var t=e.g.length,r=[];for(let n=0;n<t;n++)r[n]=~e.g[n];return new l(r,~e.h).add(c)}function f(e,t){return e.add(g(t))}function m(e,t){for(;(65535&e[t])!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function C(e,t){this.g=e,this.h=t}function v(e,t){if(B(t))throw Error("division by zero");if(B(e))return new C(u,u);if(p(e))return t=v(g(e),t),new C(g(t.g),g(t.h));if(p(t))return t=v(e,g(t)),new C(g(t.g),t.h);if(30<e.g.length){if(p(e)||p(t))throw Error("slowDivide_ only works with positive integers.");for(var r=c,n=t;n.l(e)<=0;)r=_(r),n=_(n);for(var i=y(r,1),s=y(n,1),n=y(n,2),r=y(r,2);!B(n);){var a=s.add(n);a.l(e)<=0&&(i=i.add(r),s=a),n=y(n,1),r=y(r,1)}return t=f(e,i.j(t)),new C(i,t)}for(i=u;0<=e.l(t);){for(r=Math.max(1,Math.floor(e.m()/t.m())),n=(n=Math.ceil(Math.log(r)/Math.LN2))<=48?1:Math.pow(2,n-48),a=(s=h(r)).j(t);p(a)||0<a.l(e);)a=(s=h(r-=n)).j(t);B(s)&&(s=c),i=i.add(s),e=f(e,a)}return new C(i,e)}function _(e){var t=e.g.length+1,r=[];for(let n=0;n<t;n++)r[n]=e.i(n)<<1|e.i(n-1)>>>31;return new l(r,e.h)}function y(e,t){var r=t>>5,n=(t%=32,e.g.length-r),i=[];for(let s=0;s<n;s++)i[s]=0<t?e.i(s+r)>>>t|e.i(s+r+1)<<32-t:e.i(s+r);return new l(i,e.h)}(e=l.prototype).m=function(){if(p(this))return-g(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){var r=this.i(n);e+=(0<=r?r:4294967296+r)*t,t*=4294967296}return e},e.toString=function(t){if((t=t||10)<2||36<t)throw Error("radix out of range: "+t);if(B(this))return"0";if(p(this))return"-"+g(this).toString(t);var r=h(Math.pow(t,6)),n=this;let i="";for(;;){var s=v(n,r).g;let e=((0<(n=f(n,s.j(r))).g.length?n.g[0]:n.h)>>>0).toString(t);if(B(n=s))return e+i;for(;e.length<6;)e="0"+e;i=e+i}},e.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},e.l=function(e){return p(e=f(this,e))?-1:B(e)?0:1},e.abs=function(){return p(this)?g(this):this},e.add=function(e){var t=Math.max(this.g.length,e.g.length),r=[];let n=0;for(let a=0;a<=t;a++){var i=n+(65535&this.i(a))+(65535&e.i(a)),s=(i>>>16)+(this.i(a)>>>16)+(e.i(a)>>>16);n=s>>>16,i&=65535,s&=65535,r[a]=s<<16|i}return new l(r,-2147483648&r[r.length-1]?-1:0)},e.j=function(t){if(B(this)||B(t))return u;if(p(this))return p(t)?g(this).j(g(t)):g(g(this).j(t));if(p(t))return g(this.j(g(t)));if(this.l(d)<0&&t.l(d)<0)return h(this.m()*t.m());for(var e=this.g.length+t.g.length,r=[],n=0;n<2*e;n++)r[n]=0;for(n=0;n<this.g.length;n++)for(let e=0;e<t.g.length;e++){var i=this.i(n)>>>16,s=65535&this.i(n),a=t.i(e)>>>16,o=65535&t.i(e);r[2*n+2*e]+=s*o,m(r,2*n+2*e),r[2*n+2*e+1]+=i*o,m(r,2*n+2*e+1),r[2*n+2*e+1]+=s*a,m(r,2*n+2*e+1),r[2*n+2*e+2]+=i*a,m(r,2*n+2*e+2)}for(t=0;t<e;t++)r[t]=r[2*t+1]<<16|r[2*t];for(t=e;t<2*e;t++)r[t]=0;return new l(r,0)},e.B=function(e){return v(this,e).h},e.and=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)&e.i(n);return new l(r,this.h&e.h)},e.or=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)|e.i(n);return new l(r,this.h|e.h)},e.xor=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)^e.i(n);return new l(r,this.h^e.h)},r.prototype.digest=r.prototype.A,r.prototype.reset=r.prototype.u,r.prototype.update=r.prototype.v,Ef=r,l.prototype.multiply=l.prototype.j,l.prototype.modulo=l.prototype.B,l.prototype.compare=l.prototype.l,l.prototype.toNumber=l.prototype.m,l.prototype.getBits=l.prototype.i,l.fromNumber=h,l.fromString=function e(t,r){if(0==t.length)throw Error("number format error: empty string");if((r=r||10)<2||36<r)throw Error("radix out of range: "+r);if("-"==t.charAt(0))return g(e(t.substring(1),r));if(0<=t.indexOf("-"))throw Error('number format error: interior "-" character');var n=h(Math.pow(r,8));let i=u;for(let o=0;o<t.length;o+=8){var s=Math.min(8,t.length-o),a=parseInt(t.substring(o,o+s),r);i=(s<8?(s=h(Math.pow(r,s)),i.j(s)):i=i.j(n)).add(h(a))}return i},wf=l}).apply(void 0!==sr?sr:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{}),E=(!(function(){var e,F=Object.defineProperty;var L=(e=>{e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof Rf&&Rf];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")})(this);function M(e,t){if(t)e:{var r=L;e=e.split(".");for(var n=0;n<e.length-1;n++){var i=e[n];if(!(i in r))break e;r=r[i]}(t=t(n=r[e=e[e.length-1]]))!=n&&null!=t&&F(r,e,{configurable:!0,writable:!0,value:t})}}M("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),M("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),M("Object.entries",function(e){return e||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.push([t,e[t]]);return r}});var U=U||{},k=this||self;function G(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function H(e,t,r){return e.call.apply(e.bind,arguments)}function m(e,t,r){return(m=H).apply(null,arguments)}function V(t){var r=Array.prototype.slice.call(arguments,1);return function(){var e=r.slice();return e.push.apply(e,arguments),t.apply(this,e)}}function t(e,s){function t(){}t.prototype=s.prototype,e.Z=s.prototype,e.prototype=new t,(e.prototype.constructor=e).Ob=function(e,t,r){for(var n=Array(arguments.length-2),i=2;i<arguments.length;i++)n[i-2]=arguments[i];return s.prototype[t].apply(e,n)}}var q="undefined"!=typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function j(t){var r=t.length;if(0<r){var n=Array(r);for(let e=0;e<r;e++)n[e]=t[e];return n}return[]}function K(t){for(let e=1;e<arguments.length;e++){var r=arguments[e];if("array"==(n="object"!=(n=typeof r)?n:r?Array.isArray(r)?"array":n:"null")||"object"==n&&"number"==typeof r.length){var n=t.length||0,i=r.length||0;t.length=n+i;for(let e=0;e<i;e++)t[n+e]=r[e]}else t.push(r)}}var z=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return 0<this.h?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new J,e=>e.reset());class J{constructor(){this.next=this.g=this.h=null}set(e,t){this.h=e,this.g=t,this.next=null}reset(){this.next=this.g=this.h=null}}let r,n=!1,W=new class{constructor(){this.h=this.g=null}add(e,t){var r=z.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r}},Q=()=>{let e=Promise.resolve(void 0);r=()=>{e.then(Y)}};function Y(){for(var e;e=(()=>{let e=W,t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t})();){try{e.h.call(e.g)}catch(e){(e=>{k.setTimeout(()=>{throw e},0)})(e)}var t=z;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}n=!1}function i(){this.u=this.u,this.C=this.C}function o(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}i.prototype.u=!1,i.prototype.dispose=function(){this.u||(this.u=!0,this.N())},i.prototype[Symbol.dispose]=function(){this.dispose()},i.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},o.prototype.h=function(){this.defaultPrevented=!0};var $=(()=>{if(!k.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{var r=()=>{};k.addEventListener("test",r,t),k.removeEventListener("test",r,t)}catch(e){}return e})();function N(e){return/^[\s\xa0]*$/.test(e)}function s(e,t){o.call(this,e?e.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,e&&this.init(e,t)}t(s,o),s.prototype.init=function(e,t){var r=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,(t=e.relatedTarget)||("mouseover"==r?t=e.fromElement:"mouseout"==r&&(t=e.toElement)),this.relatedTarget=t,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0):(this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||"",this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType=e.pointerType,this.state=e.state,(this.i=e).defaultPrevented&&s.Z.h.call(this)},s.prototype.h=function(){s.Z.h.call(this);var e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var X="closure_listenable_"+(1e6*Math.random()|0),Z=0;function ee(e,t,r,n,i){this.listener=e,this.proxy=null,this.src=t,this.type=r,this.capture=!!n,this.ha=i,this.key=++Z,this.da=this.fa=!1}function te(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function re(e,t,r){for(var n in e)t.call(r,e[n],n,e)}function ne(e){var t,r={};for(t in e)r[t]=e[t];return r}let ie="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function se(t){let r,n;for(let i=1;i<arguments.length;i++){for(r in n=arguments[i])t[r]=n[r];for(let e=0;e<ie.length;e++)r=ie[e],Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}}function ae(e){this.src=e,this.g={},this.h=0}function oe(e,t){var r,n,i,s=t.type;s in e.g&&(r=e.g[s],(i=0<=(n=Array.prototype.indexOf.call(r,t,void 0)))&&Array.prototype.splice.call(r,n,1),i)&&(te(t),0==e.g[s].length)&&(delete e.g[s],e.h--)}function le(e,t,r,n){for(let s=0;s<e.length;++s){var i=e[s];if(!i.da&&i.listener==t&&i.capture==!!r&&i.ha==n)return s}return-1}ae.prototype.add=function(e,t,r,n,i){var s=e.toString(),a=((e=this.g[s])||(e=this.g[s]=[],this.h++),le(e,t,n,i));return-1<a?(t=e[a],r||(t.fa=!1)):((t=new ee(t,this.src,s,!!n,i)).fa=r,e.push(t)),t};var he="closure_lm_"+(1e6*Math.random()|0),ue={};function ce(r,n,i,s,a){if(Array.isArray(n)){for(let e=0;e<n.length;e++)ce(r,n[e],i,s,a);return null}if(i=me(i),r&&r[X])return r.J(n,i,!!G(s)&&!!s.capture,a);{var o=r,l=n,h=i,u=!1,c=s,d=a;if(!l)throw Error("Invalid event type");let e=G(c)?!!c.capture:!!c,t=ge(o);if(t||(o[he]=t=new ae(o)),!(h=t.add(l,h,u,e,d)).proxy)if(u=(()=>{let r=pe;return function e(t){return r.call(e.src,e.listener,t)}})(),(h.proxy=u).src=o,u.listener=h,o.addEventListener)void 0===(c=$?c:e)&&(c=!1),o.addEventListener(l.toString(),u,c);else if(o.attachEvent)o.attachEvent(Be(l.toString()),u);else{if(!o.addListener||!o.removeListener)throw Error("addEventListener and attachEvent are unavailable.");o.addListener(u)}return h}}function de(e){var t,r,n;"number"!=typeof e&&e&&!e.da&&((t=e.src)&&t[X]?oe(t.i,e):(r=e.type,n=e.proxy,t.removeEventListener?t.removeEventListener(r,n,e.capture):t.detachEvent?t.detachEvent(Be(r),n):t.addListener&&t.removeListener&&t.removeListener(n),(r=ge(t))?(oe(r,e),0==r.h&&(r.src=null,t[he]=null)):te(e)))}function Be(e){return e in ue?ue[e]:ue[e]="on"+e}function pe(e,t){var r,n;return e=!!e.da||(t=new s(t,this),r=e.listener,n=e.ha||e.src,e.fa&&de(e),r.call(n,t))}function ge(e){return(e=e[he])instanceof ae?e:null}var fe="__closure_events_fn_"+(1e9*Math.random()>>>0);function me(t){return"function"==typeof t?t:(t[fe]||(t[fe]=function(e){return t.handleEvent(e)}),t[fe])}function a(){i.call(this),this.i=new ae(this),(this.M=this).G=null}function l(e,t){var r,n,i=e.G;if(i)for(r=[];i;i=i.G)r.push(i);e=e.M,i=t.type||t,"string"==typeof t?t=new o(t,e):t instanceof o?t.target=t.target||e:(n=t,se(t=new o(i,e),n)),n=!0;let s,a;if(r)for(a=r.length-1;0<=a;a--)n=Ce(s=t.g=r[a],i,!0,t)&&n;if(n=Ce(s=t.g=e,i,!0,t)&&n,n=Ce(s,i,!1,t)&&n,r)for(a=0;a<r.length;a++)n=Ce(s=t.g=r[a],i,!1,t)&&n}function Ce(e,t,r,n){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let i=!0;for(let l=0;l<t.length;++l){var s,a,o=t[l];o&&!o.da&&o.capture==r&&(s=o.listener,a=o.ha||o.src,o.fa&&oe(e.i,o),i=!1!==s.call(a,n)&&i)}return i&&!n.defaultPrevented}function ve(e){e.g=((e,t)=>{if("function"!=typeof e){if(!e||"function"!=typeof e.handleEvent)throw Error("Invalid listener argument");e=m(e.handleEvent,e)}return 2147483647<Number(t)?-1:k.setTimeout(e,t||0)})(()=>{e.g=null,e.i&&(e.i=!1,ve(e))},e.l);var t=e.h;e.h=null,e.m.apply(null,t)}t(a,i),a.prototype[X]=!0,a.prototype.removeEventListener=function(e,t,r,n){!function e(t,r,n,i,s){if(Array.isArray(r))for(var a=0;a<r.length;a++)e(t,r[a],n,i,s);else i=G(i)?!!i.capture:!!i,n=me(n),t&&t[X]?(t=t.i,(a=String(r).toString())in t.g&&-1<(n=le(r=t.g[a],n,i,s))&&(te(r[n]),Array.prototype.splice.call(r,n,1),0==r.length)&&(delete t.g[a],t.h--)):(t=t&&ge(t))&&(r=t.g[r.toString()],n=(t=-1)<(t=r?le(r,n,i,s):t)?r[t]:null)&&de(n)}(this,e,t,r,n)},a.prototype.N=function(){if(a.Z.N.call(this),this.i){var t,r=this.i;for(t in r.g){var n=r.g[t];for(let e=0;e<n.length;e++)te(n[e]);delete r.g[t],r.h--}}this.G=null},a.prototype.J=function(e,t,r,n){return this.i.add(String(e),t,!1,r,n)},a.prototype.K=function(e,t,r,n){return this.i.add(String(e),t,!0,r,n)};class _e extends i{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:ve(this)}N(){super.N(),this.g&&(k.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function h(e){i.call(this),this.h=e,this.g={}}t(h,i);var ye=[];function we(e){re(e.g,function(e,t){this.g.hasOwnProperty(t)&&de(e)},e),e.g={}}h.prototype.N=function(){h.Z.N.call(this),we(this)},h.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var Ee=k.JSON.stringify,De=k.JSON.parse,be=class{stringify(e){return k.JSON.stringify(e,void 0)}parse(e){return k.JSON.parse(e,void 0)}};function Ie(){}function Te(){}var Se={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function ke(){o.call(this,"d")}function Ne(){o.call(this,"c")}t(ke,o),t(Ne,o);var u={},Ae=null;function Re(){return Ae=Ae||new a}function Oe(e){o.call(this,u.Ia,e)}function Pe(){var e=Re();l(e,new Oe(e))}function xe(e,t){o.call(this,u.STAT_EVENT,e),this.stat=t}function A(e){var t=Re();l(t,new xe(t,e))}function Fe(e,t){o.call(this,u.Ja,e),this.size=t}function C(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return k.setTimeout(function(){e()},t)}function c(){this.g=!0}function R(e,t,r,n){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+((e,t)=>{if(!e.g)return t;if(!t)return null;try{var r=JSON.parse(t);if(r)for(e=0;e<r.length;e++)if(Array.isArray(r[e])){var n=r[e];if(!(n.length<2)){var i=n[1];if(Array.isArray(i)&&!(i.length<1)){var s=i[0];if("noop"!=s&&"stop"!=s&&"close"!=s)for(let e=1;e<i.length;e++)i[e]=""}}}return Ee(r)}catch(e){return t}})(e,r)+(n?" "+n:"")})}u.Ia="serverreachability",t(Oe,o),u.STAT_EVENT="statevent",t(xe,o),u.Ja="timingevent",t(Fe,o),c.prototype.ua=function(){this.g=!1},c.prototype.info=function(){};var Le={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},Me={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function Ue(){}function d(e){return encodeURIComponent(String(e))}function B(e,t,r,n){this.j=e,this.i=t,this.l=r,this.S=n||1,this.V=new h(this),this.H=45e3,this.J=null,this.o=!1,this.u=this.B=this.A=this.M=this.F=this.T=this.D=null,this.G=[],this.g=null,this.C=0,this.m=this.v=null,this.X=-1,this.K=!1,this.P=0,this.O=null,this.W=this.L=this.U=this.R=!1,this.h=new Ge}function Ge(){this.i=null,this.g="",this.h=!1}t(Ue,Ie),Ue.prototype.g=function(){return new XMLHttpRequest};var He=new Ue,Ve={},qe={};function je(e,t,r){e.M=1,e.A=ot(g(t)),e.u=r,e.R=!0,Ke(e,null)}function Ke(e,t){e.F=Date.now(),Je(e),e.B=g(e.A);var a,o,l,h,u,c,r=e.B,n=e.S,i=(Array.isArray(n)||(n=[String(n)]),vt(r.i,"t",n),e.C=0,r=e.j.L,e.h=new Ge,e.g=er(e.j,r?t:null,!e.u),0<e.P&&(e.O=new _e(m(e.Y,e,e.g),e.P)),t=e.V,r=e.g,n=e.ba,"readystatechange");Array.isArray(i)||(i&&(ye[0]=i.toString()),i=ye);for(let d=0;d<i.length;d++){var s=ce(r,i[d],n||t.handleEvent,!1,t.h||t);if(!s)break;t.g[s.key]=s}t=e.J?ne(e.J):{},e.u?(e.v||(e.v="POST"),t["Content-Type"]="application/x-www-form-urlencoded",e.g.ea(e.B,e.v,e.u,t)):(e.v="GET",e.g.ea(e.B,e.v,null,t)),Pe(),a=e.i,o=e.v,l=e.B,h=e.l,u=e.S,c=e.u,a.info(function(){if(a.g)if(c){var t="",r=c.split("&");for(let e=0;e<r.length;e++){var n,i,s=r[e].split("=");1<s.length&&(n=s[0],s=s[1],t=2<=(i=n.split("_")).length&&"type"==i[1]?t+(n+"=")+s+"&":t+(n+"=redacted&"))}}else t=null;else t=c;return"XMLHTTP REQ ("+h+") [attempt "+u+"]: "+o+"\n"+l+"\n"+t})}function ze(e){return e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function Je(e){e.T=Date.now()+e.H,We(e,e.H)}function We(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=C(m(e.aa,e),t)}function Qe(e){e.D&&(k.clearTimeout(e.D),e.D=null)}function O(e){0==e.j.I||e.K||Yt(e.j,e)}function P(e){Qe(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,we(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dispose())}function Ye(e,t){try{var r=e.j;if(0!=r.I&&(r.g==e||tt(r.h,e)))if(!e.L&&tt(r.h,e)&&3==r.I){try{var n=r.Ba.g.parse(t)}catch(e){n=null}if(Array.isArray(n)&&3==n.length){var i=n;if(0==i[0]){e:if(!r.v){if(r.g){if(!(r.g.F+3e3<e.F))break e;Qt(r),Ut(r)}zt(r),A(18)}}else r.xa=i[1],0<r.xa-r.K&&i[2]<37500&&r.F&&0==r.A&&!r.C&&(r.C=C(m(r.Va,r),6e3));et(r.h)<=1&&r.ta&&(r.ta=void 0)}else I(r,11)}else if(!e.L&&r.g!=e||Qt(r),!N(t))for(i=r.Ba.g.parse(t),t=0;t<i.length;t++){var s,a,o,l,h,u,c,d,B,p,g=i[t],f=g[0];f<=r.K||(r.K=f,g=g[1],2==r.I?"c"==g[0]?(r.M=g[1],r.ba=g[2],null!=(s=g[3])&&(r.ka=s,r.j.info("VER="+r.ka)),null!=(a=g[4])&&(r.za=a,r.j.info("SVER="+r.za)),null!=(o=g[5])&&"number"==typeof o&&0<o&&(n=1.5*o,r.O=n,r.j.info("backChannelRequestTimeoutMs_="+n)),n=r,(l=e.g)&&(!(h=l.g?l.g.getResponseHeader("X-Client-Wire-Protocol"):null)||(u=n.h).g||-1==h.indexOf("spdy")&&-1==h.indexOf("quic")&&-1==h.indexOf("h2")||(u.j=u.l,u.g=new Set,u.h&&(rt(u,u.h),u.h=null)),n.G)&&(c=l.g?l.g.getResponseHeader("X-HTTP-Session-Id"):null)&&(n.wa=c,_(n.J,n.G,c)),r.I=3,r.l&&r.l.ra(),r.aa&&(r.T=Date.now()-e.F,r.j.info("Handshake RTT: "+r.T+"ms")),d=e,(n=r).na=Zt(n,n.L?n.ba:null,n.W),d.L?(nt(n.h,d),B=d,(p=n.O)&&(B.H=p),B.D&&(Qe(B),Je(B)),n.g=d):Kt(n),0<r.i.length&&Ht(r)):"stop"!=g[0]&&"close"!=g[0]||I(r,7):3==r.I&&("stop"==g[0]||"close"==g[0]?"stop"==g[0]?I(r,7):Mt(r):"noop"!=g[0]&&r.l&&r.l.qa(g),r.A=0))}Pe()}catch(e){}}B.prototype.ba=function(e){e=e.target;var t=this.O;t&&3==x(e)?t.j():this.Y(e)},B.prototype.Y=function(e){try{if(e==this.g)e:{var t=x(this.g),r=this.g.ya();this.g.ca();if(!(t<3)&&(3!=t||this.g&&(this.h.h||this.g.la()||xt(this.g)))){this.K||4!=t||7==r||Pe(),Qe(this);var n,i,s=this.g.ca(),a=(this.X=s,(e=>{if(!ze(e))return e.g.la();var t=xt(e.g);if(""===t)return"";let r="",n=t.length,i=4==x(e.g);if(!e.h.i){if("undefined"==typeof TextDecoder)return P(e),O(e),"";e.h.i=new k.TextDecoder}for(let s=0;s<n;s++)e.h.h=!0,r+=e.h.i.decode(t[s],{stream:!(i&&s==n-1)});return t.length=0,e.h.g+=r,e.C=0,e.h.g})(this));if(this.o=200==s,w=this.i,E=this.v,D=this.B,b=this.l,I=this.S,T=t,S=s,w.info(function(){return"XMLHTTP RESP ("+b+") [ attempt "+I+"]: "+E+"\n"+D+"\n"+T+" "+S}),this.o){if(this.U&&!this.L){t:{if(this.g){var o,l=this.g;if((o=l.g?l.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!N(o)){var h=o;break t}}h=null}if(!(e=h)){this.o=!1,this.m=3,A(12),P(this),O(this);break e}R(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,Ye(this,e)}if(this.R){for(e=!0;!this.K&&this.C<a.length;){if(v=a,y=_=void 0,_=(C=this).C,(n=-1==(y=v.indexOf("\n",_))?qe:(_=Number(v.substring(_,y)),isNaN(_)?Ve:(y+=1)+_>v.length?qe:(v=v.slice(y,y+_),C.C=y+_,v)))==qe){4==t&&(this.m=4,A(14),e=!1),R(this.i,this.l,null,"[Incomplete Response]");break}if(n==Ve){this.m=4,A(15),R(this.i,this.l,a,"[Invalid Chunk]"),e=!1;break}R(this.i,this.l,n,null),Ye(this,n)}ze(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=t||0!=a.length||this.h.h||(this.m=1,A(16),e=!1),this.o=this.o&&e,e?0<a.length&&!this.W&&(this.W=!0,(i=this.j).g==this)&&i.aa&&!i.P&&(i.j.info("Great, no buffering proxy detected. Bytes received: "+a.length),Jt(i),i.P=!0,A(11)):(R(this.i,this.l,a,"[Invalid Chunked Response]"),P(this),O(this))}else R(this.i,this.l,a,null),Ye(this,a);4==t&&P(this),this.o&&!this.K&&(4==t?Yt(this.j,this):(this.o=!1,Je(this)))}else{{var u=this.g;var c,d,B,p={};u=(u.g&&2<=x(u)&&u.g.getAllResponseHeaders()||"").split("\r\n");for(let e=0;e<u.length;e++)N(u[e])||(c=(e=>{for(var t=1,r=(e=e.split(":"),[]);0<t&&e.length;)r.push(e.shift()),t--;return e.length&&r.push(e.join(":")),r})(u[e]),d=c[0],"string"==typeof(c=c[1])&&(c=c.trim(),B=p[d]||[],(p[d]=B).push(c)));var g,f=p,m=function(e){return e.join(", ")};for(g in f)m.call(void 0,f[g],g,f)}400==s&&0<a.indexOf("Unknown SID")?(this.m=3,A(12)):(this.m=0,A(13)),P(this),O(this)}}}}catch(e){}var C,v,_,y,w,E,D,b,I,T,S},B.prototype.cancel=function(){this.K=!0,P(this)},B.prototype.aa=function(){this.D=null;var e,t,r=Date.now();0<=r-this.T?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(Pe(),A(17)),P(this),this.m=2,O(this)):We(this,this.T-r)};var $e=class{constructor(e,t){this.g=e,this.map=t}};function Xe(e){this.l=e||10,e=k.PerformanceNavigationTiming?0<(e=k.performance.getEntriesByType("navigation")).length&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(k.chrome&&k.chrome.loadTimes&&k.chrome.loadTimes()&&k.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function Ze(e){return e.h||e.g&&e.g.size>=e.j}function et(e){return e.h?1:e.g?e.g.size:0}function tt(e,t){return e.h?e.h==t:e.g&&e.g.has(t)}function rt(e,t){e.g?e.g.add(t):e.h=t}function nt(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function it(t){if(null!=t.h)return t.i.concat(t.h.G);if(null==t.g||0===t.g.size)return j(t.i);{let e=t.i;for(var r of t.g.values())e=e.concat(r.G);return e}}Xe.prototype.cancel=function(){if(this.i=it(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(var e of this.g.values())e.cancel();this.g.clear()}};var st=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function p(e){this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1;let t;e instanceof p?(this.l=e.l,f(this,e.j),this.o=e.o,this.g=e.g,v(this,e.u),this.h=e.h,at(this,_t(e.i)),this.m=e.m):e&&(t=String(e).match(st))?(this.l=!1,f(this,t[1]||"",!0),this.o=y(t[2]||""),this.g=y(t[3]||"",!0),v(this,t[4]),this.h=y(t[5]||"",!0),at(this,t[6]||"",!0),this.m=y(t[7]||"")):(this.l=!1,this.i=new gt(null,this.l))}function g(e){return new p(e)}function f(e,t,r){e.j=r?y(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function v(e,t){if(t){if(t=Number(t),isNaN(t)||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function at(e,t,r){var n,i;t instanceof gt?(e.i=t,n=e.i,(i=e.l)&&!n.j&&(w(n),n.i=null,n.g.forEach(function(e,t){var r=t.toLowerCase();t!=r&&(ft(this,t),vt(this,r,e))},n)),n.j=i):(r||(t=lt(t,Bt)),e.i=new gt(t,e.l))}function _(e,t,r){e.i.set(t,r)}function ot(e){return _(e,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),e}function y(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function lt(e,t,r){return"string"==typeof e?(e=encodeURI(e).replace(t,ht),e=r?e.replace(/%25([0-9a-fA-F]{2})/g,"%$1"):e):null}function ht(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}p.prototype.toString=function(){var e=[],t=this.j,r=(t&&e.push(lt(t,ut,!0),":"),this.g);return!r&&"file"!=t||(e.push("//"),(t=this.o)&&e.push(lt(t,ut,!0),"@"),e.push(d(r).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null==(r=this.u))||e.push(":",String(r)),(r=this.h)&&(this.g&&"/"!=r.charAt(0)&&e.push("/"),e.push(lt(r,"/"==r.charAt(0)?dt:ct,!0))),(r=this.i.toString())&&e.push("?",r),(r=this.m)&&e.push("#",lt(r,pt)),e.join("")},p.prototype.resolve=function(e){var t=g(this);let r=!!e.j;r?f(t,e.j):r=!!e.o,r?t.o=e.o:r=!!e.g,r?t.g=e.g:r=null!=e.u;var n=e.h;if(r)v(t,e.u);else if(r=!!e.h)if("/"!=n.charAt(0)&&(this.g&&!this.h?n="/"+n:-1!=(i=t.h.lastIndexOf("/"))&&(n=t.h.slice(0,i+1)+n)),".."==(i=n)||"."==i)n="";else if(-1!=i.indexOf("./")||-1!=i.indexOf("/.")){var n=0==i.lastIndexOf("/",0),i=i.split("/"),s=[];for(let e=0;e<i.length;){var a=i[e++];"."==a?n&&e==i.length&&s.push(""):".."==a?((1<s.length||1==s.length&&""!=s[0])&&s.pop(),n&&e==i.length&&s.push("")):(s.push(a),n=!0)}n=s.join("/")}else n=i;return r?t.h=n:r=""!==e.i.toString(),r?at(t,_t(e.i)):r=!!e.m,r&&(t.m=e.m),t};var ut=/[#\/\?@]/g,ct=/[#\?:]/g,dt=/[#\?]/g,Bt=/[#\?@]/g,pt=/#/g;function gt(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function w(r){if(!r.g&&(r.g=new Map,r.h=0,r.i)){var n=r.i,i=function(e,t){r.add(decodeURIComponent(e.replace(/\+/g," ")),t)};if(n){n=n.split("&");for(let r=0;r<n.length;r++){var s=n[r].indexOf("=");let e,t=null;0<=s?(e=n[r].substring(0,s),t=n[r].substring(s+1)):e=n[r],i(e,t?decodeURIComponent(t.replace(/\+/g," ")):"")}}}}function ft(e,t){w(e),t=E(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function mt(e,t){return w(e),t=E(e,t),e.g.has(t)}function Ct(e,t){w(e);let r=[];if("string"==typeof t)mt(e,t)&&(r=r.concat(e.g.get(E(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)r=r.concat(e[t]);return r}function vt(e,t,r){ft(e,t),0<r.length&&(e.i=null,e.g.set(E(e,t),j(r)),e.h+=r.length)}function _t(e){var t=new gt;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function E(e,t){return t=String(t),t=e.j?t.toLowerCase():t}function D(e,t,r,n,i){try{i&&(i.onload=null,i.onerror=null,i.onabort=null,i.ontimeout=null),n(r)}catch(e){}}function yt(){this.g=new be}function wt(e){this.i=e.Sb||null,this.h=e.ab||!1}function Et(e,t){a.call(this),this.H=e,this.o=t,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.A=new Headers,this.h=null,this.F="GET",this.D="",this.g=!1,this.B=this.j=this.l=null,this.v=new AbortController}function Dt(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function bt(e){e.readyState=4,e.l=null,e.j=null,e.B=null,It(e)}function It(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function Tt(e){let r="";return re(e,function(e,t){r=(r=r+t+":")+e+"\r\n"}),r}function St(e,t,r){e:{for(n in r){var n=!1;break e}n=!0}n||(r=Tt(r),"string"==typeof e?null!=r&&d(r):_(e,t,r))}function b(e){a.call(this),this.headers=new Map,this.L=e||null,this.h=!1,this.g=null,this.D="",this.o=0,this.l="",this.j=this.B=this.v=this.A=!1,this.m=null,this.F="",this.H=!1}(e=gt.prototype).add=function(e,t){w(this),this.i=null,e=E(this,e);let r=this.g.get(e);return r||this.g.set(e,r=[]),r.push(t),this.h+=1,this},e.forEach=function(r,n){w(this),this.g.forEach(function(e,t){e.forEach(function(e){r.call(n,e,t,this)},this)},this)},e.set=function(e,t){return w(this),this.i=null,mt(this,e=E(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},e.get=function(e,t){return e&&0<(e=Ct(this,e)).length?String(e[0]):t},e.toString=function(){if(this.i)return this.i;if(!this.g)return"";var r=[],e=Array.from(this.g.keys());for(let s=0;s<e.length;s++){var n=d(i=e[s]),i=Ct(this,i);for(let t=0;t<i.length;t++){let e=n;""!==i[t]&&(e+="="+d(i[t])),r.push(e)}}return this.i=r.join("&")},t(wt,Ie),wt.prototype.g=function(){return new Et(this.i,this.h)},t(Et,a),(e=Et.prototype).open=function(e,t){if(0!=this.readyState)throw this.abort(),Error("Error reopening a connection");this.F=e,this.D=t,this.readyState=1,It(this)},e.send=function(e){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");if(this.v.signal.aborted)throw this.abort(),Error("Request was aborted.");this.g=!0;var t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||k).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},e.abort=function(){this.response=this.responseText="",this.A=new Headers,this.status=0,this.v.abort(),this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,bt(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,It(this)),this.g)&&(this.readyState=3,It(this),this.g))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==k.ReadableStream&&"body"in e){if(this.j=e.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.B=new TextDecoder;Dt(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},e.Ma=function(e){var t;this.g&&(this.o&&e.value?this.response.push(e.value):!this.o&&(t=e.value||new Uint8Array(0),t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t),(e.done?bt:It)(this),3==this.readyState)&&Dt(this)},e.Oa=function(e){this.g&&(this.response=this.responseText=e,bt(this))},e.Na=function(e){this.g&&(this.response=e,bt(this))},e.ga=function(){this.g&&bt(this)},e.setRequestHeader=function(e,t){this.A.append(e,t)},e.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},e.getAllResponseHeaders=function(){if(!this.h)return"";for(var e=[],t=this.h.entries(),r=t.next();!r.done;)r=r.value,e.push(r[0]+": "+r[1]),r=t.next();return e.join("\r\n")},Object.defineProperty(Et.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),t(b,a);var kt=/^https?$/i,Nt=["POST","PUT"];function At(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,Rt(e),Pt(e)}function Rt(e){e.A||(e.A=!0,l(e,"complete"),l(e,"error"))}function Ot(t){if(t.h&&void 0!==U)if(t.v&&4==x(t))setTimeout(t.Ca.bind(t),0);else if(l(t,"readystatechange"),4==x(t)){t.h=!1;try{var e,r,n=t.ca();switch(n){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var i=!0;break;default:i=!1}if(!(e=i)){if(r=0===n){let e=String(t.D).match(st)[1]||null;!e&&k.self&&k.self.location&&(e=k.self.location.protocol.slice(0,-1)),r=!kt.test(e?e.toLowerCase():"")}e=r}if(e)l(t,"complete"),l(t,"success");else{t.o=6;try{var s=2<x(t)?t.g.statusText:""}catch(e){s=""}t.l=s+" ["+t.ca()+"]",Rt(t)}}finally{Pt(t)}}}function Pt(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);var r=e.g;e.g=null,t||l(e,"ready");try{r.onreadystatechange=null}catch(e){}}}function x(e){return e.g?e.g.readyState:0}function xt(e){try{if(e.g){if("response"in e.g)return e.g.response;switch(e.F){case"":case"text":return e.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in e.g)return e.g.mozResponseArrayBuffer}}return null}catch(e){return null}}function Ft(e,t,r){return r&&r.internalChannelParams&&r.internalChannelParams[e]||t}function Lt(e){this.za=0,this.i=[],this.j=new c,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=Ft("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=Ft("baseRetryDelayMs",5e3,e),this.Za=Ft("retryDelaySeedMs",1e4,e),this.Ta=Ft("forwardChannelMaxRetries",2,e),this.va=Ft("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 Xe(e&&e.concurrentRequestLimit),this.Ba=new yt,this.S=e&&e.fastHandshake||!1,this.R=e&&e.encodeInitMessageHeaders||!1,this.S&&this.R&&(this.R=!1),this.Ra=e&&e.Pb||!1,e&&e.ua&&this.j.ua(),e&&e.forceLongPolling&&(this.X=!1),this.aa=!this.S&&this.X&&e&&e.detectBufferingProxy||!1,this.ia=void 0,e&&e.longPollingTimeout&&0<e.longPollingTimeout&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function Mt(e){if(Gt(e),3==e.I){var t=e.V++,r=g(e.J);if(_(r,"SID",e.M),_(r,"RID",t),_(r,"TYPE","terminate"),qt(e,r),(t=new B(e,e.j,t)).M=2,t.A=ot(g(r)),r=!1,k.navigator&&k.navigator.sendBeacon)try{r=k.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!r&&k.Image&&((new Image).src=t.A,r=!0),r||(t.g=er(t.j,null),t.g.ea(t.A)),t.F=Date.now(),Je(t)}Xt(e)}function Ut(e){e.g&&(Jt(e),e.g.cancel(),e.g=null)}function Gt(e){Ut(e),e.v&&(k.clearTimeout(e.v),e.v=null),Qt(e),e.h.cancel(),e.m&&("number"==typeof e.m&&k.clearTimeout(e.m),e.m=null)}function Ht(e){var t;Ze(e.h)||e.m||(e.m=!0,t=e.Ea,r||Q(),n||(r(),n=!0),W.add(t,e),e.D=0)}function Vt(e,t){var r=t?t.l:e.V++,n=g(e.J);_(n,"SID",e.M),_(n,"RID",r),_(n,"AID",e.K),qt(e,n),e.u&&e.o&&St(n,e.u,e.o),r=new B(e,e.j,r,e.D+1),null===e.u&&(r.J=e.o),t&&(e.i=t.G.concat(e.i)),t=jt(e,r,1e3),r.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),rt(e.h,r),je(r,n,t)}function qt(e,r){e.H&&re(e.H,function(e,t){_(r,t,e)}),e.l&&re({},function(e,t){_(r,t,e)})}function jt(e,t,i){i=Math.min(e.i.length,i);var s=e.l?m(e.l.Ka,e.l,e):null;e:{let r=e.i,n=-1;for(;;){var a=["count="+i];-1==n?0<i?(n=r[0].g,a.push("ofs="+n)):n=0:a.push("ofs="+n);let e=!0;for(let t=0;t<i;t++){var o=r[t].g,l=r[t].map;if((o-=n)<0)n=Math.max(0,r[t].g-100),e=!1;else try{o="req"+o+"_"||"";try{var h,u,c=l instanceof Map?l:Object.entries(l);for([h,u]of c){let e=u;G(u)&&(e=Ee(u)),a.push(o+h+"="+encodeURIComponent(e))}}catch(e){throw a.push(o+"type="+encodeURIComponent("_badmap")),e}}catch(e){s&&s(l)}}if(e){c=a.join("&");break e}}c=void 0}return e=e.i.splice(0,i),t.G=e,c}function Kt(e){var t;e.g||e.v||(e.Y=1,t=e.Da,r||Q(),n||(r(),n=!0),W.add(t,e),e.A=0)}function zt(e){return!(e.g||e.v||3<=e.A)&&(e.Y++,e.v=C(m(e.Da,e),$t(e,e.A)),e.A++,1)}function Jt(e){null!=e.B&&(k.clearTimeout(e.B),e.B=null)}function Wt(e){e.g=new B(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=g(e.na),r=(_(t,"RID","rpc"),_(t,"SID",e.M),_(t,"AID",e.K),_(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&_(t,"TO",e.ia),_(t,"TYPE","xmlhttp"),qt(e,t),e.u&&e.o&&St(t,e.u,e.o),e.O&&(e.g.H=e.O),e.g);e=e.ba,r.M=1,r.A=ot(g(t)),r.u=null,r.R=!0,Ke(r,e)}function Qt(e){null!=e.C&&(k.clearTimeout(e.C),e.C=null)}function Yt(e,t){var r,n,i,s=null;if(e.g==t){Qt(e),Jt(e),e.g=null;var a=2}else{if(!tt(e.h,t))return;s=t.G,nt(e.h,t),a=1}if(0!=e.I)if(t.o)(1==a?(s=t.u?t.u.length:0,t=Date.now()-t.F,r=e.D,l(a=Re(),new Fe(a,s)),Ht):Kt)(e);else if(3==(r=t.m)||0==r&&0<t.X||(1!=a||(i=t,et((n=e).h)>=n.h.j-(n.m?1:0))||(n.m?(n.i=i.G.concat(n.i),0):1==n.I||2==n.I||n.D>=(n.Sa?0:n.Ta)||(n.m=C(m(n.Ea,n,i),$t(n,n.D)),n.D++,0)))&&(2!=a||!zt(e)))switch(s&&0<s.length&&(t=e.h,t.i=t.i.concat(s)),r){case 1:I(e,5);break;case 4:I(e,10);break;case 3:I(e,6);break;default:I(e,2)}}function $t(e,t){let r=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(r*=2),r*t}function I(e,t){var r,n,i;e.j.info("Error code "+t),2==t?(r=m(e.bb,e),n=!(i=e.Ua),i=new p(i||"//www.google.com/images/cleardot.gif"),k.location&&"http"==k.location.protocol||f(i,"https"),ot(i),(n?(t,r)=>{var n=new c;if(k.Image){let e=new Image;e.onload=V(D,n,"TestLoadImage: loaded",!0,r,e),e.onerror=V(D,n,"TestLoadImage: error",!1,r,e),e.onabort=V(D,n,"TestLoadImage: abort",!1,r,e),e.ontimeout=V(D,n,"TestLoadImage: timeout",!1,r,e),k.setTimeout(function(){e.ontimeout&&e.ontimeout()},1e4),e.src=t}else r(!1)}:(e,t)=>{let r=new c,n=new AbortController,i=setTimeout(()=>{n.abort(),D(r,0,!1,t)},1e4);fetch(e,{signal:n.signal}).then(e=>{clearTimeout(i),e.ok?D(r,0,!0,t):D(r,0,!1,t)}).catch(()=>{clearTimeout(i),D(r,0,!1,t)})})(i.toString(),r)):A(2),e.I=0,e.l&&e.l.pa(t),Xt(e),Gt(e)}function Xt(e){var t;e.I=0,e.ja=[],e.l&&(0==(t=it(e.h)).length&&0==e.i.length||(K(e.ja,t),K(e.ja,e.i),e.h.i.length=0,j(e.i),e.i.length=0),e.l.oa())}function Zt(e,t,r){var n,i,s=r instanceof p?g(r):new p(r);return""!=s.g?(t&&(s.g=t+"."+s.g),v(s,s.u)):(s=(n=k.location).protocol,t=t?t+"."+n.hostname:n.hostname,n=+n.port,i=new p(null),s&&f(i,s),t&&(i.g=t),n&&v(i,n),r&&(i.h=r),s=i),r=e.G,t=e.wa,r&&t&&_(s,r,t),_(s,"VER",e.ka),qt(e,s),s}function er(e,t,r){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=e.Aa&&!e.ma?new b(new wt({ab:r})):new b(e.ma)).Fa(e.L),t}function tr(){}function rr(){}function T(e,t){a.call(this),this.g=new Lt(t),this.l=e,this.h=t&&t.messageUrlParams||null,e=t&&t.messageHeaders||null,t&&t.clientProtocolHeaderRequired&&(e?e["X-Client-Protocol"]="webchannel":e={"X-Client-Protocol":"webchannel"}),this.g.o=e,e=t&&t.initMessageHeaders||null,t&&t.messageContentType&&(e?e["X-WebChannel-Content-Type"]=t.messageContentType:e={"X-WebChannel-Content-Type":t.messageContentType}),t&&t.sa&&(e?e["X-WebChannel-Client-Profile"]=t.sa:e={"X-WebChannel-Client-Profile":t.sa}),this.g.U=e,(e=t&&t.Qb)&&!N(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!N(t)&&(this.g.G=t,null!==(e=this.h))&&t in e&&t in(e=this.h)&&delete e[t],this.j=new S(this)}function nr(e){ke.call(this),e.__headers__&&(this.headers=e.__headers__,this.statusCode=e.__status__,delete e.__headers__,delete e.__status__);var t=e.__sm__;if(t){e:{for(var r in t){e=r;break e}e=void 0}(this.i=e)&&(e=this.i,t=null!==t&&e in t?t[e]:void 0),this.data=t}else this.data=e}function ir(){Ne.call(this),this.status=1}function S(e){this.g=e}(e=b.prototype).Fa=function(e){this.H=e},e.ea=function(e,t,r,n){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+e);t=t?t.toUpperCase():"GET",this.D=e,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=(this.L||He).g(),this.g.onreadystatechange=q(m(this.Ca,this));try{this.B=!0,this.g.open(t,String(e),!0),this.B=!1}catch(e){return void At(this,e)}if(e=r||"",r=new Map(this.headers),n)if(Object.getPrototypeOf(n)===Object.prototype)for(var i in n)r.set(i,n[i]);else{if("function"!=typeof n.keys||"function"!=typeof n.get)throw Error("Unknown input type for opt_headers: "+String(n));for(var s of n.keys())r.set(s,n.get(s))}n=Array.from(r.keys()).find(e=>"content-type"==e.toLowerCase()),i=k.FormData&&e instanceof k.FormData,0<=Array.prototype.indexOf.call(Nt,t,void 0)&&!n&&!i&&r.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(var[a,o]of r)this.g.setRequestHeader(a,o);this.F&&(this.g.responseType=this.F),"withCredentials"in this.g&&this.g.withCredentials!==this.H&&(this.g.withCredentials=this.H);try{this.m&&(clearTimeout(this.m),this.m=null),this.v=!0,this.g.send(e),this.v=!1}catch(e){At(this,e)}},e.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,l(this,"complete"),l(this,"abort"),Pt(this))},e.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Pt(this,!0)),b.Z.N.call(this)},e.Ca=function(){this.u||(this.B||this.v||this.j?Ot(this):this.Xa())},e.Xa=function(){Ot(this)},e.isActive=function(){return!!this.g},e.ca=function(){try{return 2<x(this)?this.g.status:-1}catch(e){return-1}},e.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},e.La=function(e){var t;if(this.g)return t=this.g.responseText,e&&0==t.indexOf(e)&&(t=t.substring(e.length)),De(t)},e.ya=function(){return this.o},e.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(e=Lt.prototype).ka=8,e.I=1,e.connect=function(e,t,r,n){A(0),this.W=e,this.H=t||{},r&&void 0!==n&&(this.H.OSID=r,this.H.OAID=n),this.F=this.X,this.J=Zt(this,null,this.W),Ht(this)},e.Ea=function(t){if(this.m)if(this.m=null,1==this.I){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var r=new B(this,this.j,t);let e=this.o;if(this.U&&(e?se(e=ne(e),this.U):e=this.U),null!==this.u||this.R||(r.J=e,e=null),this.S)e:{for(var n=0,i=0;i<this.i.length;i++){var s=this.i[i];if("__data__"in s.map&&"string"==typeof(s=s.map.__data__)?s=s.length:s=void 0,void 0===s)break;if(4096<(n+=s)){n=i;break e}if(4096===n||i===this.i.length-1){n=i+1;break e}}n=1e3}else n=1e3;n=jt(this,r,n),_(i=g(this.J),"RID",t),_(i,"CVER",22),this.G&&_(i,"X-HTTP-Session-Id",this.G),qt(this,i),e&&(this.R?n="headers="+d(Tt(e))+"&"+n:this.u&&St(i,this.u,e)),rt(this.h,r),this.Ra&&_(i,"TYPE","init"),this.S?(_(i,"$req",n),_(i,"SID","null"),r.U=!0,je(r,i,null)):je(r,i,n),this.I=2}}else 3==this.I&&(t?Vt(this,t):0==this.i.length||Ze(this.h)||Vt(this))},e.Da=function(){var e;this.v=null,Wt(this),this.aa&&!(this.P||null==this.g||this.T<=0)&&(e=4*this.T,this.j.info("BP detection timer enabled: "+e),this.B=C(m(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,A(10),Ut(this),Wt(this))},e.Va=function(){null!=this.C&&(this.C=null,Ut(this),zt(this),A(19))},e.bb=function(e){e?(this.j.info("Successfully pinged google.com"),A(2)):(this.j.info("Failed to ping google.com"),A(1))},e.isActive=function(){return!!this.l&&this.l.isActive(this)},(e=tr.prototype).ra=function(){},e.qa=function(){},e.pa=function(){},e.oa=function(){},e.isActive=function(){return!0},e.Ka=function(){},rr.prototype.g=function(e,t){return new T(e,t)},t(T,a),T.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},T.prototype.close=function(){Mt(this.g)},T.prototype.o=function(e){var t,r=this.g;"string"==typeof e?((t={}).__data__=e,e=t):this.v&&((t={}).__data__=Ee(e),e=t),r.i.push(new $e(r.Ya++,e)),3==r.I&&Ht(r)},T.prototype.N=function(){this.g.l=null,delete this.j,Mt(this.g),delete this.g,T.Z.N.call(this)},t(nr,ke),t(ir,Ne),t(S,tr),S.prototype.ra=function(){l(this.g,"a")},S.prototype.qa=function(e){l(this.g,new nr(e))},S.prototype.pa=function(e){l(this.g,new ir)},S.prototype.oa=function(){l(this.g,"b")},rr.prototype.createWebChannel=rr.prototype.g,T.prototype.send=T.prototype.o,T.prototype.open=T.prototype.m,Af=function(){return new rr},Nf=Re,kf=u,Sf={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},Le.NO_ERROR=0,Le.TIMEOUT=8,Le.HTTP_ERROR=6,Tf=Le,Me.COMPLETE="complete",If=Me,(Te.EventType=Se).OPEN="a",Se.CLOSE="b",Se.ERROR="c",Se.MESSAGE="d",a.prototype.listen=a.prototype.J,bf=Te,b.prototype.listenOnce=b.prototype.K,b.prototype.getLastError=b.prototype.Ha,b.prototype.getLastErrorCode=b.prototype.ya,b.prototype.getStatus=b.prototype.ca,b.prototype.getResponseJson=b.prototype.La,b.prototype.getResponseText=b.prototype.la,b.prototype.send=b.prototype.ea,b.prototype.setWithCredentials=b.prototype.Fa,Df=b}).apply(void 0!==Rf?Rf:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),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});const Of=1,Pf=2,xf=4,Ff=8,Lf=16,Mf=512;let Uf=new Int32Array(128),Gf=new Int32Array(128),Hf=65535;for(let cU=0;cU<128;cU++)97<=cU&&cU<=122?Uf[cU]=cU-32:Uf[cU]=cU,65<=cU&&cU<=90?Gf[cU]=cU+32:Gf[cU]=cU;var y=class{static CODES=new Map([["",7],["\b",8],["\t",9],["\n",10],["\v",11],["\f",12],["\r",13],[" ",32],['"',34],["$",36],["&",38],["'",39],["(",40],[")",41],["*",42],["+",43],["-",45],[".",46],["0",48],["1",49],["2",50],["3",51],["4",52],["5",53],["6",54],["7",55],["8",56],["9",57],[":",58],["<",60],[">",62],["?",63],["A",65],["B",66],["C",67],["F",70],["P",80],["Q",81],["U",85],["Z",90],["[",91],["\\",92],["]",93],["^",94],["_",95],["`",96],["a",97],["b",98],["f",102],["i",105],["m",109],["n",110],["r",114],["s",115],["t",116],["v",118],["x",120],["z",122],["{",123],["|",124],["}",125]]);static toUpperCase(e){var t,r,n;return e<128?Uf[e]:(r=(t=String.fromCodePoint(e).toUpperCase()).codePointAt(0)>Hf?2:1,t.length>r||(n=(r=String.fromCodePoint(t.codePointAt(0)).toLowerCase()).codePointAt(0)>Hf?2:1,r.length>n)||r.codePointAt(0)!==e?e:t.codePointAt(0))}static toLowerCase(e){var t,r,n;return e<128?Gf[e]:(r=(t=String.fromCodePoint(e).toLowerCase()).codePointAt(0)>Hf?2:1,t.length>r||(n=(r=String.fromCodePoint(t.codePointAt(0)).toUpperCase()).codePointAt(0)>Hf?2:1,r.length>n)||r.codePointAt(0)!==e?e:t.codePointAt(0))}},r=class{constructor(e,t=!1){this.data=e,this.isStride1=t,this.SIZE=t?2:3}getLo(e){return this.data[e*this.SIZE]}getHi(e){return this.data[e*this.SIZE+1]}getStride(e){return this.isStride1?1:this.data[e*this.SIZE+2]}get length(){return this.data.length/this.SIZE}};let Vf=new Uint8Array(256);for(let dU=0;dU<64;dU++)Vf["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-".charCodeAt(dU)]=dU;let qf=e=>{var t=[];let r=0,n=0;for(let s=0;s<e.length;s++){var i=Vf[e.charCodeAt(s)];r|=(31&i)<<n,0==(32&i)?(t.push(r),r=0,n=0):n+=5}return t},n=(e,t)=>{var r=qf(e),n=t?r.length/2:r.length/3,i=new Uint32Array(3*n);let s=0,a=0;for(let o=0;o<n;o++)s+=r[a++],i[3*o]=s,s+=r[a++],i[3*o+1]=s,i[3*o+2]=t?1:r[a++];return i},jf=class{constructor(e){this.initializer=e,this.cache=new Map}has(e){return e in this.initializer}get(e){var t;return this.cache.has(e)?this.cache.get(e):(t=(t=this.initializer[e])?t():null,this.cache.set(e,t),t)}};var Kf=class{static _CASE_ORBIT=null;static get CASE_ORBIT(){return this._CASE_ORBIT||(this._CASE_ORBIT=(e=>{var t=qf(e),r=new Map;let n=0;for(let s=0;s<t.length;s+=2){n+=t[s];var i=t[s+1];r.set(n,n+(i>>>1^-(1&i)))}return r})("rCgCIgCY+rQI4QiCuuBLgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCCgCBgCBgCBgCBgCBgCBgCB+7OB-BB-BB-BB-BB-BBskQB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BC-BB-BB-BB-BB-BB-BB-BByHBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBxHBCBBBCBBBCBBB3SBmMBkNBCBBBCBBB8MBCBBB6MB6MBCBBC+EB0MB2MBCBBB6MB+MBiGBmNBiNBCBBBmKBikzCBmNBqNBkIBsNBCBBBCBBBCBBB0NBCBBB0NDCBBB0NBCBBByNByNBCBBBCBBB2NBCBBDCBBCwDFCBCBDBCBCBDBCBCBDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB9EBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBCBDBCBBBhGBvDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBjICCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBH2iVBCBBBlKBwiVB+jVB+jVBCBBBlMBqEBuEBCBBBCBBBCBBBCBBBCBBB+hVB4hVB8hVBjNB7MC5MB5MCzMC1MB+0yCE5MB20yCC9MBu2yCBwyyCBo0yCChNBlNBo0yCBu-UBi0yCDlNC6-UBpNDrNIu+UDzNCm0yCBzNE0yyCBzNBpEBxNBxNBtEG1NLqxyCBkxyCnFoFrBCBBBCBBDCBBEkIBkIBkICoHHsCCqCBqCBqCCgEC+DB+DBmkOBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCC+BBgCBgCBgCBgCBgCBgCBgCBgCBrCBpCBpCBpCBmjOB-BB8BB-BB-BBgEB-BB-BByBBqgOBsDB-BBtwBB-BB-BB-BBsBBgDBCB-BB-BB-BBeB-BB-BB61OB-BB-BB-DB9DB9DBQB7DBmCE9CBrDBPBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBrFB-EBOBnHB3FB-FCCBBBNBCBBCjIBjIBjIBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB8kMB-BB6kMB-BB-BB-BB-BB-BB-BB-BB-BB-BBokMB-BB-BBkkMBkkMB-BB-BB-BB-BB-BB-BB-BB4jMB-BB-BB-BB-BB-BB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EBCBBBCBoiMBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBJCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBeBCBBBCBBBCBBBCBBBCBBBCBBBCBBBdBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDL-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-C64CgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOCgmOGgmODg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FDg8FBg8FBg8FhVg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBQBQBQBQBQBQDPBPBPBPBPBPjkC7mMB5mMBnmMBjmMBCBlmMB3lMBpiMBk8kCBCBBG-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FD-7FB-7FB-7F6FoglCEsuHRwjlCyDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCB0DBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBG1DD97OCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPEQCQCQCQCPCPCPCPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPB0EB0EBsFBsFBsFBsFBoGBoGBgIBgIBgHBgHB8HB8HDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQCSFPBPBzEBzEBRCxnOFSFrFBrFBrFBrFBREQBQClkOFPBPBnGBnGFQBQCljOCODPBPB-GB-GBNHSF-HB-HB7HB7HBRqJ53OE9tQBrmQH4Bc3BSgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfECBByZ0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzB34BgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CBCBBBt-UBruHBt+UB1iVBviVBCBBBCBBBCBBB3hVB5-UB9hVB7hVCCBBCCBBI9jVB9jVBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBICBBBCBBECBBN-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOC-lOG-lOzoeCBBBCBBBCBBBCBBBCBBBCBl8kCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBTCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBnECBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBKCBBBCBBBnglCBCBBBCBBBCBBBCBBBCBBECBBBvyyCDCBBBCBBBgDCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBn0yCB90yCB10yCBh0yCBn0yCCjxyCBzyyCBpxyCBg6BBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB-CBl0yCBvjlCBCBBBCBBBt2yCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBhkzCZCBB9a-5Bd-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCm6TCBB7gBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCH-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BmlBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvChDwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCFvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvC1DuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCCuCBuCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCCtCBtCk2BgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEO-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-D+CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCL-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-B74CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhrVgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BD1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BtxekCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjC")),this._CASE_ORBIT}static _Print=null;static get Print(){return this._Print||(this._Print=new r(n("hB9CBjBLBCpWBDFBFGBCCCBSBCsMBClBBDxBBDCBC2BBJaBFFBSVBC-FBCvBBD6BBDkDBP6BBDwBBDOBCbBDCCBJBGfBIqCBCgFBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYBDCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPBLCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGBCCBCHBDBBDVBCGBCBBCEBDIBDBBDCBICBFBBCEBDRBLBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBGMBCCBCWBCPBDIBCCBCDBIBBCCBCBBDDBDJBIVBCCBCWBCJBCEBDIBCCBCDBIBBGCBCDBDJBCCBNMBCCBCyBBCCBCFBFPBDZBCCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBN5BBFcBmBBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDBhBnCBCjBBFmBBCjBBCOBCMBmBlGBCGGD4LBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBH1CBDFBD-TBCbBE4CBIVBKXBKTBNMBCCBCBBN9CBDJBHJBHNBCKBH4CBIqBBGlCBLeBCLBFLBFEEBoBBDEBMrBBFZBHKBE9BBDgCBCcBDKBHJBHNBDtBBDLBVsCBClFBJ7BBEOBE9BBGqBBDKBJqBBG1QBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBSXBJuBBSBBDaBCMBEhBBPgBBQrEBF5UBXKBWz4BBD9LBGsBBCGGD3BBIBBPXBKGBCGBCGBCGBCGBCGBCGBCGBC9DBjBZBC4CBN1GBbPBC+BBC1CBDmDBGqBBC9CBC1CBKvBBCszcBE2BBK7KBV3FBJ8GBV7BBEJBH3BBJlCBJLBHzDBMdBEtCBCKBFgBBC2BBKNBDJBDmDBZbBLFBDFBDFBKGBCGBC7BBF9DBDJBHj9KBNWBFwBBloItLBDpDBnBGBNEBGZBCEBCCCBCCBCCBoUBhBpBBHyBBCSBCDBFEBCmEBF9FBEFBDFBDFBDCBEGBCGBOBBDLBCZBCSBCBBCOBDNBjB6DBGCBFsBBE3CBCMBEwBwBBsBBjEcBEwBBQbBFjBBKdBGqBBGdBCkBBFNBrB9EBDJBHjBBFjBBFnBBJzBBMLBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBCnCBJIBxBSBCBBGgBBEaBGaBnB3BBFTBDxBBCBBGHBCCBCcBDCBFJBIIBI-BBhBmBBFLBK1BBEcBDaBGZBIDBNGBxCoCB4ByBBOyBBItBBJJBHlBBEcBJBBxGeBCpBBCCBDBBRFBJIBiBtBBJpBBXZBnBbBVWBKtCBFjBBK9BBCEBOYBIJBH0BBCRBJmBBK-CBCTBMRBCuBB-BGBCCCBCBCOBCKBH6BBGJBHDBCHBDBBDVBCGBCBBCEBCJBDBBDCBDHHGGBDGBEEBMJBCDDClBBCJBCDDCDBCJBCBBJBBe7CBCEBfnCBJJBnF1BBDlBBjBkCBMJBHMBU5BBHJBHTBdaBDOBFWB6F7BBlDyCBNHBDDDBGBCBBCdBCBBDLBKJBnCHBDtBBDKBcnCBJyCBOoCBIJB3CHB5ChBBPJBHIBCsBBCNBLcBEfBDVBCNBqCGBCBBCrBBECCBCCBHBJJBHFBCBBCkBBCBBCFBIJBHrBBFJB3HYBIQBCoBBEcB2CQQBwBBO6cBnDuDBCEBMjGBtyCiDBOvhBBRVBL68DBGmSB61G5BBn2B4RBIeBCJBFwCBCJBHdBDFBLlCBLJBCGBCUBGSBxN5BBnG6CBGYBDYBtBqCBF4BBIQBhCEBMGBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBDDBh7D8HBEzNBHWBQQBQtBBDWBKzDB9B1HBLmBBDpCBJvDBWlCB7DTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBD9VBQEBCOBxiBeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBENBDJBFBBhKeBS5BBGxOxOBoBB3GqBBFhGhGBdBCVBJBBhHGBCDBCBBCOBCkGBDPBqBrCBFJBFBByYjCBtC8BBjGDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBBvIrBBFjDBNOBDOBCOBCkBBLtFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBmgB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIBnkzVvHB",!1))),this._Print}static CATEGORIES=new jf({C:()=>new r(n("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 r(n("AfgDgB",!0)),Cf:()=>new r(n("tFzqBzqBBEBXhGhGyBhMhMBxCxCs5D9-B9-BBDBbEByBEBCJBw03B6H6HBBBimEQQj7IPBhjiBDBwmFHBn0rYffB+CB",!1)),Cn:()=>new r(n("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 r(n("gg4B-nGh4hc9--BD9--B",!0)),Cs:()=>new r(n("gg2B--B",!0)),L:()=>new r(n("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICCiEEBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoCaBFDBuBqBBkBBBCiDBCQQBIIBLLBBBDRRCdBe4CBMZZBfBKBBFGGBUBFKKEYYBXBIKBGXBCGBRpBB7B1BBETTIJBQPBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNGB7BBBCCCBDBCXBCCCBIBCBBKDDBDBCWWBCBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNSSBkBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBkBFFkC4CBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBzC+C+CBtBBSHB3BdBOBBLrBBbjBBqBCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBhC1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBF1B1BB8zC8zCBjHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBxC2O2OBrBrBBDBGBBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBReBDlCByBIBDmDBDxCBVQBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBdRRBDBCJBLEBCoBBYCBCHBVWBEEEBwBBCEEBDDBDBDCCZCBDKBICBNFBDFBDFBKGBCGBCqBBCNBHyDBej9KBNWBFwBBloItLBDpDBnBGBNEBGCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBxB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOjBBnBbBKWB7HpBBHBBRFB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB1D-BBgBHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBqBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBGjCjCBLBhCBBCPPBNNB0mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBn7F0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFBmI9BBzEsBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCCBCBBCGBDEBKBBhHGBCDBCBBCOBCkGB8BjCBI1lB1lBBCBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),LC:()=>new r(n("hCZBHZB7BLLBVBCeBCiGBCDBFvGBDZBhGDBDBBECBCHHCCBCCCBSBCyCBCqEBJlFBClBBKoBB44ClBBCGGDqBBDCBhV1CBDFBjkCKBGqBBDCBhCrBBgCMBChBBmD1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGBmIFFDJBCEEBDBHGCBCBCFBFDDBCBGEBF1B1BB8zC8zCB6DBDmDBHDBEBBNlBBCGGzoetBBTbBnEtCBCWBEDBCsCBZBBE2Z2ZBpBBGIBIvCBh6TGBNEBqgBZBHZBmlBvCBhDjBBFjBB1DKBCOBCGBCBBCKBCOBCGBCBBk2ByBBOyBB+CVBLVB74C-BBhrV-BBhBYBDYBtpZ0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BJBCTBHFB2uCjCB",!1)),Ll:()=>new r(n("hDZB7BqBqBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDZBiGCCEEEBBBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBDCB5XFBjkCIBC2D2DBqBBgCMBChBBnD0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBBzIEEBEEcKFDBBJDBF2B2Bs1CvBBCEEBGCFCCBCCBEBGiDCBIICFFNlBBCGG0oesBCUaCoEMCBBBC+BCBGBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCbEE2ZqBBGIBIvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFB4vChBB",!1)),Lm:()=>new r(n("wVRBFLBPEBICCmEGG-OnHnHlFBBuIBBFgBgBKEEhFoFoF1mBgEgE2R72B72BsDkTkTxOFBvF+BBOjBjBBjBByVOORMBg-CBByHgGgG2OsBsBBDBGiDiDB+C+CBBB34bjnBjnBBEBvIzDzDdBB6DIBxCYYpDDBEBB2OXXqEtDtDWBBoDDBKngVngVuBBBh-BFBCpBBCIB0sBhBhB2K04D04DnrTDB9PCBpBBBnRMBhCBBCPPB9-P9-PBCBCGBCBByhM9BBqGGBud0Q0QsSAB",!1)),Lo:()=>new r(n("qFQQhIFFBCBxGBB7ZaBFDBuBfBCJBkBBBCiDBCZZBLLBBBDRRCdBe4CBMZZBfBWVBrBYBIKBGXBCGBRoBB8B1BBETTIJBROBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNFB8BBBCCCBDBCXBCCCBIBCBBKDDBDBYDBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNyDyDBnKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPByDrTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBpBkCkCBhBBC0BBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBxFuBBSHB3BdBOBBLrBBbjBBqBCBLdByDDBCFBCBBE7hB7hBBCB4-C3BBZWBKGBCGBCGBCGBCGBCGBCGBCGBoR2B2BF1CBJCCB4CBFGGBpBBC9CBSfBxBPBhQ-tGBhC0wUBC2jBBkCnBBJrIBFPBLBBjCyByBBkCBqFoDoDEGBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBuBEBDIBLEBCoBBYCBCHBVPBCFBEEEBwBBCEEBDDBDBDCCZBBEKBIPPBEBDFBDFBKGBCGByEiBBej9KBNWBFwBBloItLBDpDBkCCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBqDJBCsBBDeBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBhEtCBjDnBBJzBB9CzBBN2JBKVBLHB5EFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4FjBBnBDBCxJxJBoBBHBBRCBCBB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB0GHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBnBBCBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBB0BUBGSB0NnBB2MqCBGwFwFB0mHBqBfBiDyDBuwIiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBxzI2P2PBrBBiBiKiKBcBTrBBlPaBmHdBDwGwGBdBCCBCBBCGBDEBKiHiHBFBCDBCBBCOBCkGB8pBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Lt:()=>new r(n("lOGDnB2sH2sHBGBJHBJHBNQQwBAB",!1)),Lu:()=>new r(n("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBG+B+B9zCvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBB",!1)),M:()=>new r(n("gYvDB0IGBoIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCgBB3BCBCRBCGBLBBeCB5BCCBFBDBBDCBKLLBbbDCB5BCCBDBFBBDCBEffBEEMCB5BCCBGBCCBCCBVBBXFBCCB5BCCBFBDBBDCBICBLBBf8B8BBDBECBCDBKpBpBBDB4BCCBFBCCBCDBIBBMBBeCB5BCCBFBCCBCDBIBBMBBQNNBCB4BBBCGBCCBCDBKLLBeeBBBnCFFBEBCCCBGBTBB+BDDBFBNHBjDDDBHBMGBqCBBcECFBByBTBCBBGKBCjBBKlDlDBSBYDBFCBCCBDGBEDBOLBCLLBCBgWCBzdDBdCBeBBfBBhCfBKuBuBBBBC2D2DBjBjB3DLBFLB8GEB6BJBCcBDxBxBBsBBDLBVEBwBQBnBIBNCBfMB5BNBxBTB5ECBCUBFHHDCBnG-BBxWgBB--CCBuEhDhDBeBrRFBqDBB1udDBCJBhBBBxCBBxIEEFYYBDBF0C0CBzBzBBQBbRBOnBnBBGBaMBtBDBwBNBlBkCkCBMBNJJBuBuBBBBzBCCBBBDBBGBBCqBqBBDBGBBtHHBCBBx5TiXiXBOBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB7DCB2BOBqBDDBLLBCBuBKBI+B+BBBBlBNBRBBtBNNBBBxBNBJDBCBB9CLBHDD+ELBWDB4BBBCGBDBBDCBKLLBDDBFBEEBkCIBCDDCDBCEBCPPBzCzCBQBYyCyCBSBsHGBDIBcBBzCQBrDMBmDOBhIOB2HFBCBBDDBCCCBuEuEBFBDGBEddBIBpBGBCDBJKKBJBvBPBnGHBoGHBCHBzCVBCNB7DFBECCBCCBFBCjCjCBDBCBBCEB8KDBKBBCxBxBBFBEEBYmnFmnFHOBpmLRBhuCEB8BGB5gBCCB1BBIDByCMMBslTslTBizEizEBsBBDWB-QEBEFBJHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),Mc:()=>new r(n("joC4B4BDCBJDBCBBzBBB7BCBHBBDBBLsBsB7BCBjC7B7BBBBJCCB2B2BB7B7BCHHBDDBLLnDBBCBBECBCCBLqBqBBBB+BDB+BBB7BCCBDBDBBCBBKBBdPPB7B7BBBBGCBCCBLrBrBBsCsCBBBHHBTBBrKBBgCsFsFBFFHDDBaaBLLBBBDGBWBBDFBDLLBBB5zBffiEIIBGBCBB7KDBDCBFBBCFBhHBB7BCCKCCBJJBEByExBxBGCCBDBCBB+BffFBBD9B9BDCBCEEBxBxBBGBJBBsFWW35EBB0-dBBD5C5CBzBzBBOBvEBBwBxBxBBFFBDDBBBvDBBDBBZuBuBCuDuDDBBGuHuHBCCBCCBCC0gZCCgEuBuBBBBFBB0DZZB8B8BxBCBKBBO+C+CBBBEBBCrFrFBBBgBBB7BBBCDBDBBDCBKLLB1C1CBBBIDDCDBCBBCmDmDBBBJBBErDrDBBBHCCBCBDuHuHBBBHDBDyDyDBBBJBBCuDuDCBBHoDoDCBBFmImIBBBK4H4HBEBCBBFDDCvEvEBBBJDBF1C1CeBB-BqGqGECCoGPPrDIID2G2GBDBFBBC-K-KBNNxBBBJBBCpvQpvQBBBlxD2BBpDBB0rYBBHFB",!1)),Me:()=>new r(n("okBBB1xF-wB-wBBCBCCBsshBCB",!1)),Mn:()=>new r(n("gYvDB0IEBqIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCfB4BCCFHBFEEBFBLBBe7B7BFDBJVVBbbDBB6BFFBFFBDDBBBEffBEEMBB6BFFBDBCBBFVVBXXBEBC7B7BDCCBCBJIIBMMBff+BNNzBEE4BCCBBBGCBCDBIBBMBBe7B7BDHHGBBVBBdBB6BBBFDBJVVBeepCIIBBBC7C7CDGBNHBjDDDBHBMGBqCBBcEC4BNBCEBCBBGKBCjBBKnDnDBCBCFBCBBDBBaBBFCBRDBODDBHHQgWgWBBBzdCBeBBfBBfBBhCBBCGBJDDBJBKuBuBBBBC2D2DBjBjB3DCBFBBKHHBBB8GBBD7B7BCGBCCCDHBHJBDxBxBBMBCeBDLBVDBxBCCBDBCGGpBIBNBBhBDBDBBCCB5BCCBEECCB7BHBDBB5ECBCMBCGBFHHEBBnG-BBxWMBFEEBKB--CCBuEhDhDBeBrRDBsDBB1udFFBIBhBBBxCBBxIEEFaaBGG4EBBbRBOnBnBBGBaKBvBCBxBDDBCBDBBoBkCkCBEBDBBDBBNJJwB0B0BCCBDBBGBBCrBrBBJJvHDDFx5Tx5TiXPBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB8D3B3BBNBqBDDBLLBBByBDBDBBI+B+BBBBlBEBCHB-BNNB1B1BBHBLDBDgDgDBBBDCCBHHD+E+EEHBWBB6BBBEmBmBBFBEEBnCFBOECPBB2CHBDCBCYY1CFBCFFBCCBvHvHBCBHBBCBBcBB2CHBDCCBrDrDCDDBEBCmDmDCDDBCBCEBkIIBCBBhIBBCFFxEDBDBBFhBhBBIBpBFBDDBJKKBEBDCBvBMBCBBnGCCBBBCqGqGBFBCFBCzCzCBUBDGBCBBCBB7DFBECCBCCBFBCpCpCBEEC8K8KBMMB1B1BBDBGCCYmnFmnFHOBpmLLBECBhuCEB8BGB5gBgCgCBCByC5lT5lTBizEizEBsBBDWBhRCBSHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),N:()=>new r(n("wBJB5DBBGDDBBBitBJBnEJBnGJB9MJB3DJBFFBtDJB3DJB3DJBDFBvDMB0DJBJGBoDJBpDGBISBuDJBhDJB3DJBnCTBtIJBnCJBwWTBybCBwHJBHJBXJBtJJBhEKBmFJBHJB3FJB3CJBnEJBHJB3gBEEBEBHJBnGyBBDEB3W7BBvCVB3TdBqrBqYqYaIBPCB4KDBrEJBfHBCOBhBJBoBOBh7cJB9FJBhKFB7EJBnBJBnGJBXJB3CJB3MJB34UJBuPsBBN4BBSBB2KaBlBDBeJJnEEBrGJBvdHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBxBJBHJB3IeB-EJBrBDBxDGBnEdBhEJB9BJBxEJBITB8HJB3KJB3DJB3LJBnDJBHTBtCLBlNSB+CJB3UJB3CcBkHJBnCJB3BJBnLJBnDUBshBuDBimPJBnpCJB3CJBnEJBCGBvQJBnIWB+KCB6nXJBnuBTBNTBtDYB2iBxBBhqCJBnNJB3PJB4HJBtWIBhEJB4Y6BBCCBCDBtCsBBCOBjeMBk3CJB",!1)),Nd:()=>new r(n("wBJnxBJnEJnGJ9MJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJhDJ3DJnCJ3IJnCJn6BJnBJtJJhEJnFJHJ3FJ3CJnEJHJnuiBJnVJnBJnGJXJ3CJ3MJ34UJnsBJnkCJHJ9YJhEJ9BJxEJ3IJ3KJ3DJ3LJnDJHTtCJnNJnDJ3UJ3CJ3HJnCJ3BJnLJ3uQJnpCJ3CJnEJ3QJ37XJ12CxBhqCJnNJ3PJ4HJ2aJ30EJ",!0)),Nl:()=>new r(n("u3FCBwzCiBBDDB-zDaaBHBPCBs1dJBxyW0BBtOJJnEEBrhIuDBm8SCB",!1)),No:()=>new r(n("yFBBGDDBBB2pCFB5LFB5DCBmEGB6GGBSIByNJB2hBTB0jBJBhP20B20BEFBHJBnGPBqB3W3WB6BBvCVB3TdBqrB1kB1kBBCBrEJBfHBCOBhBJBoBOBxrdFBymWsBBiCDBSBB2KaBlBDB1pBHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBhLeB-EJBrBDBxDGBnETB8LTBmqBBBvNIBobSB0aUBn8SGB-YWBqhZTBNTBtDYBvqFIBid6BBCCBCDBtCsBBCOBjeMB",!1)),P:()=>new r(n("hBCBCFBCDBLBBEBBbCBCccCkBkBGEELBBEEE-VJJzOFBqBBB0BCCDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCmBmBBCBoCrCrCBDBFBBwDFBsFlTlTBHB4EuTuTtBBBvCCBoCBB+ECBCCBmBKB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBM9Z9ZBWBJTBCMBCLBfBBPBB6TDBeBB+hBNBwCBBgBJB0MVBgCDBhBBB8XDBCBBxDwEwEBtBBCfBDLBkNCBFJBDLBRNNjD7C7CjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HzqUzqUBxGxGBIBXiBBCNBCFFCBB2ECBCFBCDBLBBEBBbCBCccCCCBFB7MCB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDByO-J-JjBlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Pc:()=>new r(n("-Cg-Hg-HBUU-u3BBBZCBwHAB",!1)),Pd:()=>new r(n("tB9qB9qB0BiyDiyDmgBqgCqgCBEBiwDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Pe:()=>new r(n("pB0B0BgB+1D+1DC-6B-6BqtC4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECtBGCtNICEGCDBB-ozB6G6GeOCESSCCCrF0B0BgBGD",!1)),Pf:()=>new r(n("7F+6H+6HEddpuDCCFDDQEE",!1)),Pi:()=>new r(n("rFt7Ht7HDBBDaapuDCCFDDQEE",!1)),Po:()=>new r(n("hBCBCCBDECBLLBEEBcclCGGPBBI-V-VJzOzOBEBqB3B3BDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCxDxDrCEBFBBwDFBsFlTlTBHBmY9D9DBBBoCBB+ECBCCBmBFBCDB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBMjajaBJJBGBJIBDDBDCBEKBCCCBIB7kDDBCBBxDwEwEBFFBBBDDDBHBCBBCDDBLLBDBCJBDDBCCCBLBDCBtNCB6B+F+FjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HlxUlxUBFBDXXVBBDDBECBCDBICBHCCB2E2EBBBCCBDECBLLBEEBcclBDDB7M7MBBB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDB0ZlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Ps:()=>new r(n("oBzBzBgB-1D-1DC-6B-6B-rCEEnB4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECaTTCECtNICEGCDipzBipzB4GeeCMCESSCCCrFzBzBgBEEDAB",!1)),S:()=>new r(n("kBHHRCBgBCCcCCkBEBCBBDCCBCBDEEfgBgBrODBNNBGGBCCCBPB2DPPBxDxDsErIrIBBB3DCBDDDBvGvGLUUB4H4HIBBpEqLqLBHHB2H2H-DjEjEBGBlEwGwGqBmGmGiGCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WuLuLlL+E+EBgBBiLJBKIBhiBCCBBBMCBOCBOCBOBBmCOOoBCBOCBUhBB-BBBCDBCBBLCCBBBGFBCECFMMBFFBDBGDBC7B7BBFFB2LBFcBD+HBXKByCtCBXnTBtBwBBDeBLyMBX+BBFfBD1LBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBB8CBB0HBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BB6RWBKBBoDBB+EDBLDB+RCBiHPPB+9T+9TpEgBBuLPBhCBB3BHBtBDBjDCCBBBD7E7EHRRBBBgBCCcCCiEGBCGBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSmWmWBiKiKBGBnjC2kC2kCBbBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQQBgDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBrbaagBaagBaagBaagBaa9B-PB4BDBzBHBCNBCBBp2BwNwNttCEE+DiOiOBvIvIBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Sc:()=>new r(n("kB+D+DBCBqnB8D8DzPBBzPBBI2H2HoImSmS8sClmClmCBgBB37hBkuVkuVtD7E7E8GBBEBB3-HDB-4wBxtCxtC",!1)),Sk:()=>new r(n("+CCCoCHHFEEqQDBNNBGGBCCCBPB2DPPBjoBjoB15FCCBBBMCBOCBOCBOBB9kEBBkzdWBKBBoDBBxePPBniUniUBPB8bCCjF4g9B4g9BBDB",!1)),Sm:()=>new r(n("rBRRBBB+BCCuBFFmBgBgB-XwQwQBBB8xGOOoBCBOCBsEoBoBBDBHlClCBDBGBBFGDIgBgBBDDCgBgBBqIBhBBB7CffBXBpBFB2OKK3BHBwDxKxKBDBDeBLPBhIiEBX+BBFfBDhIBxBUBDFB9+zB5Z5ZCCBlFRRBBB+BCCkEHHBCBitDBBhrwBx+Bx+BagBgBagBgBagBgBagBgBat5Ft5FB-uC-uCBHB",!1)),So:()=>new r(n("mFDDFCCyerIrIBgEgEBvGvGLUUB4H4HkQ2L2LjEFBClElEwGqBqBoMCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WzWzW+EhBBiLJBKIBksBBBCDBCBBLCCBHHBEBCECFMMBPPCBBC7B7BBKKBDBDDBCBBCBBCGBCeBDBBCCCBdBtIHBFTBDGBDwCBCdBanBBHnCBXKByCtCBX2FBCIBC1BBJuDBC3HBtBrBBhC-HBhQvBBWBBHmBBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBBxKBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BBibDBLBBC+R+RBBBqqUPBuLPBhCBB3BHBuBCBlPEEFBBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSpgBpgBBGBnjC2kC2kCBGBFQBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQPBhDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBqlB-PB4BDBzBHBCNBCBBp2B96C96CiEyWyWBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E6HBG4WBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBB-B3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Z:()=>new r(n("gBgEgEgvFgsCgsCBJBeBBGwBwBh9DAB",!1)),Zl:()=>new r(n("ohIA",!0)),Zp:()=>new r(n("phIA",!0)),Zs:()=>new r(n("gBgEgEgvFgsCgsCBJBlBwBwBh9DAB",!1)),ASCII_Hex_Digit:()=>new r(n("wBJIFbF",!0)),Alphabetic:()=>new r(n("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICC3CeeBQBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoBNBCCCBCCBCCJaBFDBeKBG3BBCGBPlDBCHBFHBFCBLCBDRRBuBBOkDBZgBBKBBFGGBWBDSBUYBIKBGXBCGBIJJBoBBLLBEGBHrCBCPBCCBFOBOSBCHBDBBDVBCGBCEEBCBEHBDBBDBBCJJFBBCEBNBBLFFBBBCFBFBBDVBCGBCBBCBBCBBFEBFBBDBBFIIBCBCSSBEBMCBCIBCCBCVBCGBCBBCEBEIBCCBCBBEQQBCBWDBFCBCHBDBBDVBCGBCBBCEBEHBDBBDBBKBBFBBCEBORRBCCBEBECBCDBEBBCCCBEEBEEBBBELBFEBECBCCBEHHpBMBCCBCWBCPBEHBCCBCCBJBBCCBCBBDDBdDBCHBCCBCWBCJBCEBEHBCCBCCBJBBGCBCDBOCBNMBCCBCoBBDHBCCBCCBCGGBCBIEBXFBCCBCRBEXBCIBCDDBFBJFBCCCBGBTBBO5BBGGBH0B0BBECBDBCXBCCCBRBCCBDEBCHHPDBhBgCgCBGBCjBBFSBFPBCjBBkC2BBCDDBDBR-BBLDBDlBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBEKBITBMUBNTBNMBCCBCBBNzBBDSBPFFkC4CBIqBBGlCBLeBCLBFIBYdBDEBMrBBFZB3BbBF+BBDTBzBYYBMMBBByBzBBCOBCHB0BpBBDDBLrBBCKBP2BBXCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBUhBBM1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBFSSBnBBuZzBB34BkHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBCfBwB2O2OBBBaIBIEBDEBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBGHBEwDBoBIBDmDBDxCBVUBCgBBZzBBNjCBCtBtBBEBECCBBBLgBBGiBBOcBEyBBCLBQRRBOBLEBC2BBKNBTWBEkCBCCCZCBDPBDDBMFBDFBDFBKGBCGBCqBBCNBH6DBWj9KBNWBFwBBloItLBDpDBnBGBNEBGLBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmC0BBsIcBEwBBwBfBOdBGqBBGdBDjBBFHBCEBrB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCDBCBBGHBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOnBBjBbBEGGBVB7HpBBCBBEBBRFBzBCBEcBLJJBUBrBRBvBUBcWBKlCBsBEBL4BBKOOBXBYyBBSDBJiBBEKKB+BBCDBKBBLCCkBRBChBBDHHBCB-BGBCCCBCBCOBCJBI4BBYDBCHBDBBDVBCGBCBBCEBEHBDBBDBBEHHGGBdJBCDDClBBCJBCDDCDBCBBECCtBhCBCCBCDBVCBfhCBDBBC5F5FB0BBDGBaFBjB+BBCEE8B1BBDoCoCBZBDNBWGB6F4BBoD-BBgBHBDDDBGBCBBCdBCBBDBBDDB+CHBDtBBDFBCCCBccBxBBDJBSnCBGTTBnCBoDHB5CgBBgBIBCsBBCGBCyByBBcBDVBCNBqCGBCBBCrBBECCBCCBBBCDDBZZBEBCBBCkBBCBBCDBCYYBqBBlIWBKQBCoBBECBwDwCwCB4cBnDuDBSjGBtyCgDBQvhBBSFBa68DBGmSB61GuBBy2B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBF4BBIQBhCBBCNNBFBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBFi7Fi7FBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCVBJBBhHGBCDBCBBCOBCkGB8BjCBEEE1lBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1TZBHZBHZB3zD-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Dash:()=>new r(n("tB9qB9qB0BiyDiyDmgBqgCqgCBEB+BoBoBQnMnMlgDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Emoji:()=>new r(n("jBHHGJBwDFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDrGrGhFBBNBBPDDBIBsCZBCBBYVVDIBWBBvFhBBDvDBDBBCCBDyCBDCBCmIBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDDBEJBECCBEEDJBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Emoji_Component:()=>new r(n("jBHHGJB0+H2G2Gsp3B3+8B3+8BBYB8PEBxtBDBtzhY-CB",!1)),Emoji_Modifier:()=>new r(n("7-8DE",!0)),Emoji_Modifier_Base:()=>new r(n("9wJ8G8GRDB4jzD9B9BBBBDDDBBB2DBBDKBWSBEFFBBBCCBICCZqGqGBFFWFFBvFvFBBBEEB0CRRBBBKMMgSDDJHBHKKBIBDCB5B+B+BBCCBCCSCBCMBmHCBrBIB",!1)),Emoji_Presentation:()=>new r(n("64IBBuGDBEDDqQBBWBBzBLBsBUUOJJBSSBGGBJJGWWIBBCFFDIIFBBdkBkBCFFBBBC+B+BBBBZPP8aBB0BFFvlxDrGrG-FDDBIBsCZBCZZVDDBDBCCBWBBvFgBBNIBClCBCVBNqBBFEBNQBEEEBlCBCCCB5FBD+BBODBCXBTbbBOO3C0CBxBlCBHEEBBBDDBEDBMBBIIBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Extended_Pictographic:()=>new r(n("pFFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDoBoBBCBlDLBQBBQPPBmBmBBIBxDBBNBBPDDBIBU3BBcOBLVVDIBCDBKWBH7FBDvDBDBBCCBDyCBDCBCDBG9HBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDQBECCBEBDMB7GlBBNDB5BHBLFBpBHBfBBNDBDNBKmBBNuBBCJBC4FB5CHBPxEBhI9fB",!1)),Hex_Digit:()=>new r(n("wBJIFbFq1-BJIFbF",!0)),Lowercase:()=>new r(n("hDZBwBLLFlBlBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDiBBIBBfEBhDsBsBCEEDDBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBCDB5XFBjkCIBC2D2DB+FBiC0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBB6DOORMBuDEEBEEcKFDBBJDBFiBiBBOBFsasaBYBn6BvBBCEEBGCFCCBCCBGBEiDCBIICFFNlBBCGG0oesBCUaCBBBmEMCBBBC8BCBIBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCWDBCCCBBB2ZqBBCNBHvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBkODDBBBCpBBCIBmoByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFBmI9BB1lChBB",!1)),Math:()=>new r(n("rBRRBBBgBeeCuBuBFmBmBgB5W5WBBBDbbBDDBBBwQCBuwGccBBBMEEOPPBCBWEBMEBiCMBFEEBFFBDBTFFDJBCDDBEBHEEBDDBCCBBBCFBENBClClCBWBCFBCBBFBBFfBCHHBPPBqIBJDBVBB7CffBZBCZZMGB+NBBNJBFFBFBBDBBEEBPCCDFBMHBGBB6BCCeDBKCBxK-BBhI-PBxBUBDFB9+zB4Z4ZBEBCjFjFRCBeCCeCCkEHHBCBitDBBhrwBwoBwoBBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBBhwFDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB-uCIB",!1)),Quotation_Mark:()=>new r(n("iBFFkEQQ96HHBaBBowDqOqOBCBOCBixzBDB+FFF7CBB",!1)),Terminal_Punctuation:()=>new r(n("hBLLCMMBEE-ZJJiQ6B6BpCPPCCB1FsBsBBJBCsHsHB3B3BBEBCHBgBmImIB1nB1nBBtFtFFFB4JBB2YHBmY9D9DBBBoCBB+ECBEoBoBBCBDBB7JBBjLDBjFBBLBBCCBeCB8FEB-BBBldYYBKKBBBwlDCBzJOOFLLCBBEBBtNBB8ndBBuICBkHEB-LBB3CBBgD4E4EBBB0ECBgERRB6H6HnxUDDB6B6BBBBCDBqFLLCMMBEEiCDD7hBxBxBnkBoGoG3JBB5EFBlCFB6CDB5dEBtBDB+FGBxDDBgECBiEBBHRRB5C5CBDBtDrJrJB2D2DBBBNBBnLDBEOBqDBB6HCBmQCC8HBB4CBBFBB-MCBuBmUmUBrCrCBspBspBBDB6vRBBmEiCiCBBBLqRqRBoJoJBnwTnwTovHDB",!1)),Uppercase:()=>new r(n("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBGbbBOBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBBvgCZBHZBHZB",!1)),White_Space:()=>new r(n("JEBTlDlDbgvFgvFgsCKBeBBGwBwBh9DAB",!1))});static get Upper(){return this.CATEGORIES.get("Lu")}static SCRIPTS=new jf({Adlam:()=>new r(n("go6DrCFJFB",!0)),Ahom:()=>new r(n("g4lCaDOFW",!0)),Anatolian_Hieroglyphs:()=>new r(n("ggxCmS",!0)),Arabic:()=>new r(n("gwBEBCFBCNBCCBCfBCJBMZBCrDBChBBxCvBBxHhBBGqCBCcBxy8BtPBDvEBhBPBxDEBCmEBk7DeBkCFBJIBiBFBh43BDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB",!1)),Armenian:()=>new r(n("xpBlBDxBDCks9BE",!0)),Avestan:()=>new r(n("g4iC1BEG",!0)),Balinese:()=>new r(n("g4GsCCxB",!0)),Bamum:()=>new r(n("g1pB3CpowB4R",!0)),Bassa_Vah:()=>new r(n("w26CdDF",!0)),Batak:()=>new r(n("g+GzBJD",!0)),Bengali:()=>new r(n("gsCDBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYB",!1)),Beria_Erfe:()=>new r(n("g17CYDY",!0)),Bhaiksuki:()=>new r(n("ggnCICsBCNLc",!0)),Bopomofo:()=>new r(n("qXB6wLqBxDf",!0)),Brahmi:()=>new r(n("ggkCtCFjBKA",!0)),Braille:()=>new r(n("ggK-H",!0)),Buginese:()=>new r(n("gwGbDB",!0)),Buhid:()=>new r(n("g6FT",!0)),Canadian_Aboriginal:()=>new r(n("ggF-TxRlC7tgCP",!0)),Carian:()=>new r(n("g1gCwB",!0)),Caucasian_Albanian:()=>new r(n("wphCzBMA",!0)),Chakma:()=>new r(n("gokC0BCR",!0)),Cham:()=>new r(n("gwqB2BKNDJDD",!0)),Cherokee:()=>new r(n("g9E1CDFz7lBvC",!0)),Chorasmian:()=>new r(n("w9jCb",!0)),Common:()=>new r(n("AgCBbFBbuBBCOBCEBYgBgBiOmBBGEBDTB1DKKHCC+THHPEEhB9E9ElQiEiEB6mB6mB2MDBjJwvBwvBBBBoCBBsGBBCumBumBOIIBCBCFBCCBDmYmYBKBD2CBCKBEKBCOBShBB-BlBBCCBDFBCaBCQBqBCBF5UBXKBW-cBhIzTBDpEBhQ9CBzMUBCCCBXBQHBFDB8CBBE7C7CB0E0EBOBhBlBBKxBxBB+BBgBwCBwB5C5CBmFBhuG-BBhoWhBBnDCBmFJB1HhFhFsMPPBzuUzuUBxGxGBIBXiBBCSBCDB0ECCBeBbFBbKBLuBuBBhChCBFBCGBLEBjICBFsBBEIBxCMB0BsBBlHaBltuBDB96D8HBEzNBHWBQQBgDzDB9B1HBLmBBD9BBEQBJBBIdBF8BB2GTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBByjFjCBtC8BBjWrBBFjDBNOBDOBCOBCkBBLtFB5BZBCBBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBnghYffB+CB",!1)),Coptic:()=>new r(n("ifNxkKzDGG",!0)),Cuneiform:()=>new r(n("ggoC5cnDuDCEMjG",!0)),Cypriot:()=>new r(n("ggiCFBDCCBqBBCBBEDD",!1)),Cypro_Minoan:()=>new r(n("w8rCiD",!0)),Cyrillic:()=>new r(n("ggBkEBDoFBx6FKBhFtCtCojEfBhie-CBv8VBBhw4B9BBiBAB",!1)),Deseret:()=>new r(n("gghCvC",!0)),Devanagari:()=>new r(n("goCwCFODZh7nBfhwcJ",!0)),Dives_Akuru:()=>new r(n("gomCGBDDDBGBCBBCdBCBBDLBKJB",!1)),Dogra:()=>new r(n("ggmC7B",!0)),Duployan:()=>new r(n("ggvDqDGMEIIJDD",!0)),Egyptian_Hieroglyphs:()=>new r(n("ggsC1iBL68D",!0)),Elbasan:()=>new r(n("gohCnB",!0)),Elymaic:()=>new r(n("g-jCW",!0)),Ethiopic:()=>new r(n("gwEoCBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBnvGWBKGBCGBCGBCGBCGBCGBCGBCGBjpfFBDFBDFBKGBCGBylvCGBCDBCBBCOB",!1)),Garay:()=>new r(n("gqjClBEcJB",!0)),Georgian:()=>new r(n("glElBBCGGDqBBCDBx8CqBBDCBhiElBBCGG",!1)),Glagolitic:()=>new r(n("ggL-Ch9sDGCQDGCBCE",!0)),Gothic:()=>new r(n("w5gCa",!0)),Grantha:()=>new r(n("g4kCDBCHBDBBDVBCGBCBBCEBDIBDBBDCBDHHGGBDGBEEB",!1)),Greek:()=>new r(n("wbDBCCBDDBCFFCCCBBBCCCBSBC+BBPPBnpGEBzBEBFEB1ChKhKBUBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBoJ-xiB-xiB7uVuCBSgj0Bgj0BBkCB",!1)),Gujarati:()=>new r(n("h0CCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGB",!1)),Gunjala_Gondi:()=>new r(n("grnCFCBCkBCBCFIJ",!0)),Gurmukhi:()=>new r(n("hwCCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPB",!1)),Gurung_Khema:()=>new r(n("go4C5B",!0)),Han:()=>new r(n("g0LZBC4CBN1GBwBCCaIBPDBle-tGBhC-vUBhoWtLBDpDBpodBBNGBqgkB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Hangul:()=>new r(n("goE-HvxHBiI9CyDeiCei3dckUj9KNWFwBl9JeEFDFDFDC",!0)),Hanifi_Rohingya:()=>new r(n("gojCnBJJ",!0)),Hanunoo:()=>new r(n("g5FU",!0)),Hatran:()=>new r(n("gniCSCBGE",!0)),Hebrew:()=>new r(n("xsB2BBJaBFFBpp9BZBCEBCCCBCCBCCBIB",!1)),Hiragana:()=>new r(n("hiM1CBHCBi7-C+IBTeeBBBulQAB",!1)),Imperial_Aramaic:()=>new r(n("giiCVCI",!0)),Inherited:()=>new r(n("gYvDB2IBBlOKBbhXhXBCB8qEtBBDLBlPCBCMBCGBFHHEBBnG-BBtQBBjGgBB65DDBsDBBmrzBPBRNBwejHjH7iEl+uBl+uBBsBBDWBhRCBSHBDGBfDBz6rYvHB",!1)),Inscriptional_Pahlavi:()=>new r(n("g7iCSGH",!0)),Inscriptional_Parthian:()=>new r(n("g6iCVDH",!0)),Javanese:()=>new r(n("gsqBtCDJFB",!0)),Kaithi:()=>new r(n("gkkCiCLA",!0)),Kannada:()=>new r(n("gkDMCCCWCJCEDICCCDIBGCCDDJCC",!0)),Katakana:()=>new r(n("hlM5CBDCBxHPBxGuBBC3CBvgzBJBCsBBzisBDBCGBCBBCgJgJBBBzBPPBCB",!1)),Kawi:()=>new r(n("g4nCQCoBEc",!0)),Kayah_Li:()=>new r(n("goqBtBCA",!0)),Kharoshthi:()=>new r(n("gwiCDCBGHCCCcDCFJII",!0)),Khitan_Small_Script:()=>new r(n("k-7C84G84GB0OBqBAB",!1)),Khmer:()=>new r(n("g8F9CDJHJnPf",!0)),Khojki:()=>new r(n("gwkCRCuB",!0)),Khudawadi:()=>new r(n("w1kC6BGJ",!0)),Kirat_Rai:()=>new r(n("gq7C5B",!0)),Lao:()=>new r(n("h0DBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDB",!1)),Latin:()=>new r(n("hCZBHZBwBQQGWBCeBCgOBoBEB8wGlBBHwBBGDBGMBClCBiC-HByLOORMBuEBBHccSoBB42CfBj1elDBExCBVOBxZqBBCIBCDB38TGB7gBZBHZBmhCFBCpBBCIBm61BeBHFB",!1)),Lepcha:()=>new r(n("ggH3BEOEC",!0)),Limbu:()=>new r(n("goGeBCLBFLBFEEBKB",!1)),Linear_A:()=>new r(n("gwhC2JKVLH",!0)),Linear_B:()=>new r(n("gggCLCZCSCBCODNjB6D",!0)),Lisu:()=>new r(n("wmpBvBx1eA",!0)),Lycian:()=>new r(n("g0gCc",!0)),Lydian:()=>new r(n("gpiCZGA",!0)),Mahajani:()=>new r(n("wqkCmB",!0)),Makasar:()=>new r(n("g3nCY",!0)),Malayalam:()=>new r(n("goDMCCCyBCCCFFPDZ",!0)),Mandaic:()=>new r(n("giCbDA",!0)),Manichaean:()=>new r(n("g2iCmBFL",!0)),Marchen:()=>new r(n("wjnCfDVCN",!0)),Masaram_Gondi:()=>new r(n("gonCGBCBBCrBBECCBCCBHBJJB",!1)),Medefaidrin:()=>new r(n("gy7C6C",!0)),Meetei_Mayek:()=>new r(n("g3qBWqGtBDJ",!0)),Mende_Kikakui:()=>new r(n("gg6DkGDP",!0)),Meroitic_Cursive:()=>new r(n("gtiCXFTDtB",!0)),Meroitic_Hieroglyphs:()=>new r(n("gsiCf",!0)),Miao:()=>new r(n("g47CqCF4BIQ",!0)),Modi:()=>new r(n("gwlCkCMJ",!0)),Mongolian:()=>new r(n("ggGBBDCCBSBH4CBIqBB2t-BMB",!1)),Mro:()=>new r(n("gy6CeCJFB",!0)),Multani:()=>new r(n("g0kCGBCCCBCBCOBCKB",!1)),Myanmar:()=>new r(n("ggE-EhqmBeiDfxibT",!0)),Nabataean:()=>new r(n("gkiCeJI",!0)),Nag_Mundari:()=>new r(n("wm5DpB",!0)),Nandinagari:()=>new r(n("gtmCHDtBDK",!0)),New_Tai_Lue:()=>new r(n("gsGrBFZHKEB",!0)),Newa:()=>new r(n("gglC7CCE",!0)),Nko:()=>new r(n("g+B6BDC",!0)),Nushu:()=>new r(n("h-7CvsQvsQBqMB",!1)),Nyiakeng_Puachue_Hmong:()=>new r(n("go4DsBENDJFB",!0)),Ogham:()=>new r(n("g0Fc",!0)),Ol_Chiki:()=>new r(n("wiHvB",!0)),Ol_Onal:()=>new r(n("wu5DqBFA",!0)),Old_Hungarian:()=>new r(n("gkjCyBOyBIF",!0)),Old_Italic:()=>new r(n("g4gCjBKC",!0)),Old_North_Arabian:()=>new r(n("g0iCf",!0)),Old_Permic:()=>new r(n("w6gCqB",!0)),Old_Persian:()=>new r(n("g9gCjBFN",!0)),Old_Sogdian:()=>new r(n("g4jCnB",!0)),Old_South_Arabian:()=>new r(n("gziCf",!0)),Old_Turkic:()=>new r(n("ggjCoC",!0)),Old_Uyghur:()=>new r(n("w7jCZ",!0)),Oriya:()=>new r(n("h4CCCHDBDVCGCBCEDIDBDCICFBCEDR",!0)),Osage:()=>new r(n("wlhCjBFjB",!0)),Osmanya:()=>new r(n("gkhCdDJ",!0)),Pahawh_Hmong:()=>new r(n("g46ClCLJCGCUGS",!0)),Palmyrene:()=>new r(n("gjiCf",!0)),Pau_Cin_Hau:()=>new r(n("g2mC4B",!0)),Phags_Pa:()=>new r(n("giqB3B",!0)),Phoenician:()=>new r(n("goiCbEA",!0)),Psalter_Pahlavi:()=>new r(n("g8iCRIDNG",!0)),Rejang:()=>new r(n("wpqBjBMA",!0)),Runic:()=>new r(n("g1FqCEK",!0)),Samaritan:()=>new r(n("ggCtBDO",!0)),Saurashtra:()=>new r(n("gkqBlCJL",!0)),Sharada:()=>new r(n("gskC-ChsCH",!0)),Shavian:()=>new r(n("wihCvB",!0)),Siddham:()=>new r(n("gslC1BDlB",!0)),Sidetic:()=>new r(n("gqiCZ",!0)),SignWriting:()=>new r(n("gg2DrUQECO",!0)),Sinhala:()=>new r(n("hsDCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBt-gCTB",!1)),Sogdian:()=>new r(n("w5jCpB",!0)),Sora_Sompeng:()=>new r(n("wmkCYIJ",!0)),Soyombo:()=>new r(n("wymCyC",!0)),Sundanese:()=>new r(n("g8G-BhIH",!0)),Sunuwar:()=>new r(n("g+mChBPJ",!0)),Syloti_Nagri:()=>new r(n("ggqBsB",!0)),Syriac:()=>new r(n("g4BNC7BDCxIK",!0)),Tagalog:()=>new r(n("g4FVKA",!0)),Tagbanwa:()=>new r(n("g7FMCCCB",!0)),Tai_Le:()=>new r(n("wqGdDE",!0)),Tai_Tham:()=>new r(n("gxG+BCcDKHJHN",!0)),Tai_Viet:()=>new r(n("g0qBiCZE",!0)),Tai_Yo:()=>new r(n("g25DeCVJB",!0)),Takri:()=>new r(n("g0lC5BHJ",!0)),Tamil:()=>new r(n("i8CBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBm+kCxBBOAB",!1)),Tangsa:()=>new r(n("wz6CuCCJ",!0)),Tangut:()=>new r(n("g-7CgBgBB+3GBhQeBiDyDB",!1)),Telugu:()=>new r(n("ggDMCCCWCPDICCCDIBCCCBDDDJII",!0)),Thaana:()=>new r(n("g8BxB",!0)),Thai:()=>new r(n("hwD5BGb",!0)),Tibetan:()=>new r(n("g4DnCCjBFmBCjBCOCGFB",!0)),Tifinagh:()=>new r(n("wpL3BIBPA",!0)),Tirhuta:()=>new r(n("gklCnCJJ",!0)),Todhri:()=>new r(n("guhCzB",!0)),Tolong_Siki:()=>new r(n("wtnCrBFJ",!0)),Toto:()=>new r(n("w04De",!0)),Tulu_Tigalari:()=>new r(n("g8kCJBCDDClBBCJBCDDCDBCJBCBBJBB",!1)),Ugaritic:()=>new r(n("g8gCdCA",!0)),Unknown:()=>new r(n("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 r(n("gopBrJ",!0)),Vithkuqi:()=>new r(n("wrhCKCOCGCBCKCOCGCB",!0)),Wancho:()=>new r(n("g24D5BGA",!0)),Warang_Citi:()=>new r(n("glmCyCNA",!0)),Yezidi:()=>new r(n("g0jCpBCCDB",!0)),Yi:()=>new r(n("ggoBskBE2B",!0)),Zanabazar_Square:()=>new r(n("gwmCnC",!0))});static FOLD_CATEGORIES=new jf({L:()=>new r(n("laA",!0)),LC:()=>new r(n("laA",!0)),Ll:()=>new r(n("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGC3HrBrBCEEJHHCCBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHxC9zC9zCBuBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Lt:()=>new r(n("kOCCBCCBCClBCCtsHHBJHBJHBMQQwBAB",!1)),Lu:()=>new r(n("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpL2B2Bs1CvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1)),M:()=>new r(n("5cgBgBlgHAB",!1)),Mn:()=>new r(n("5cgBgBlgHAB",!1)),Emoji:()=>new r(n("8mJA",!0)),Extended_Pictographic:()=>new r(n("8mJA",!0)),Lowercase:()=>new r(n("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHuBPBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Math:()=>new r(n("ycGDCHHFMMDDDCHHFAB",!1)),Uppercase:()=>new r(n("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpLiBiBBOBFsasaBYBn6BvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1))});static FOLD_SCRIPT=new jf({Common:()=>new r(n("8cgBgB",!1)),Greek:()=>new r(n("1FwUwU",!1)),Inherited:()=>new r(n("5cgBgBlgHAB",!1))})},w=class w{static MAX_RUNE=1114111;static MAX_ASCII=127;static MAX_LATIN1=255;static MAX_BMP=65535;static MIN_FOLD=65;static MAX_FOLD=125251;static MIN_HIGH_SURROGATE=55296;static MAX_HIGH_SURROGATE=56319;static MIN_LOW_SURROGATE=56320;static MAX_LOW_SURROGATE=57343;static MIN_SUPPLEMENTARY_CODE_POINT=65536;static is32(e,t){let r=0,n=e.length;for(;r<n;){var i=r+Math.floor((n-r)/2),s=e.getLo(i),a=e.getHi(i);if(s<=t&&t<=a)return(t-s)%e.getStride(i)==0;t<s?n=i:r=i+1}return!1}static is(t,r){if(r<=w.MAX_LATIN1){for(let e=0;e<t.length;e++){var n;if(!(r>t.getHi(e)))return!(r<(n=t.getLo(e)))&&(r-n)%t.getStride(e)==0}return!1}return 0<t.length&&r>=t.getLo(0)&&w.is32(t,r)}static isUpper(e){var t;return e<=w.MAX_LATIN1?(t=String.fromCodePoint(e)).toUpperCase()===t&&t.toLowerCase()!==t:w.is(Kf.Upper,e)}static isPrint(e){return e<=w.MAX_LATIN1?32<=e&&e<w.MAX_ASCII||161<=e&&173!==e:w.is(Kf.Print,e)}static simpleFold(e){var t;return Kf.CASE_ORBIT.has(e)?Kf.CASE_ORBIT.get(e):(t=y.toLowerCase(e))!==e?t:y.toUpperCase(e)}static equalsIgnoreCase(t,r){if(t===r)return!0;if(!(t<0||r<0)){if(t<=w.MAX_ASCII&&r<=w.MAX_ASCII)return 65<=t&&t<=90&&(t|=32),65<=r&&r<=90&&(r|=32),t===r;for(let e=w.simpleFold(t);e!==t;e=w.simpleFold(e))if(e===r)return!0}return!1}};let zf=new Uint8Array(256);for(let BU=0;BU<256;BU++)zf[BU]=97<=BU&&BU<=122||65<=BU&&BU<=90||48<=BU&&BU<=57||95===BU?1:0;let Jf=null,Wf=null;var D=class D{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 y.CODES.get("0")<=e&&e<=y.CODES.get("9")||y.CODES.get("a")<=e&&e<=y.CODES.get("z")||y.CODES.get("A")<=e&&e<=y.CODES.get("Z")}static unhex(e){return y.CODES.get("0")<=e&&e<=y.CODES.get("9")?e-y.CODES.get("0"):y.CODES.get("a")<=e&&e<=y.CODES.get("f")?e-y.CODES.get("a")+10:y.CODES.get("A")<=e&&e<=y.CODES.get("F")?e-y.CODES.get("A")+10:-1}static escapeRune(e){let t="";if(w.isPrint(e))0<=D.METACHARACTERS.indexOf(String.fromCodePoint(e))&&(t+="\\"),t+=String.fromCodePoint(e);else switch(e){case y.CODES.get('"'):t+='\\"';break;case y.CODES.get("\\"):t+="\\\\";break;case y.CODES.get("\t"):t+="\\t";break;case y.CODES.get("\n"):t+="\\n";break;case y.CODES.get("\r"):t+="\\r";break;case y.CODES.get("\b"):t+="\\b";break;case y.CODES.get("\f"):t+="\\f";break;default:var r=e.toString(16);e<256?(t+="\\x",1===r.length&&(t+="0"),t+=r):t+=`\\x{${r}}`}return t}static stringToRunes(e){var t=String(e),r=[];let n=0;for(;n<t.length;){var i=t.codePointAt(n);r.push(i),n+=i>w.MAX_BMP?2:1}return r}static runeToString(e){return String.fromCodePoint(e)}static isWordRune(e){return e<256&&1===zf[e]}static emptyOpContext(e,t){let r=0;return e<0&&(r|=D.EMPTY_BEGIN_TEXT|D.EMPTY_BEGIN_LINE),10===e&&(r|=D.EMPTY_BEGIN_LINE),t<0&&(r|=D.EMPTY_END_TEXT|D.EMPTY_END_LINE),10===t&&(r|=D.EMPTY_END_LINE),D.isWordRune(e)!==D.isWordRune(t)?r|=D.EMPTY_WORD_BOUNDARY:r|=D.EMPTY_NO_WORD_BOUNDARY,r}static quoteMeta(e){return e.split("").map(e=>0<=D.METACHARACTERS.indexOf(e)?"\\"+e:e).join("")}static charCount(e){return e>w.MAX_BMP?2:1}static toArray(e){var t=e.length,r=new Array(t);for(let n=0;n<t;n++)r[n]=e[n];return r}static stringToUtf8ByteArray(i){if(globalThis.TextEncoder)return Jf=Jf||new TextEncoder,D.toArray(Jf.encode(i));{let t=[],r=0;for(let n=0;n<i.length;n++){let e=i.charCodeAt(n);e<128?t[r++]=e:(e<2048?t[r++]=e>>6|192:((64512&e)===w.MIN_HIGH_SURROGATE&&n+1<i.length&&(64512&i.charCodeAt(n+1))===w.MIN_LOW_SURROGATE?(e=w.MIN_SUPPLEMENTARY_CODE_POINT+((1023&e)<<10)+(1023&i.charCodeAt(++n)),t[r++]=e>>18|240,t[r++]=e>>12&63|128):t[r++]=e>>12|224,t[r++]=e>>6&63|128),t[r++]=63&e|128)}return t}}static utf8ByteArrayToString(n){var e;if(globalThis.TextDecoder)return Wf=Wf||new TextDecoder("utf-8"),e=n instanceof Uint8Array?n:new Uint8Array(n),Wf.decode(e);{let e=[],t=0,r=0;for(;t<n.length;){var i,s,a,o=n[t++];o<128?e[r++]=String.fromCharCode(o):191<o&&o<224?(i=n[t++],e[r++]=String.fromCharCode((31&o)<<6|63&i)):239<o&&o<365?(i=((7&o)<<18|(63&n[t++])<<12|(63&n[t++])<<6|63&n[t++])-w.MIN_SUPPLEMENTARY_CODE_POINT,e[r++]=String.fromCharCode(w.MIN_HIGH_SURROGATE+(i>>10)),e[r++]=String.fromCharCode(w.MIN_LOW_SURROGATE+(1023&i))):(s=n[t++],a=n[t++],e[r++]=String.fromCharCode((15&o)<<12|(63&s)<<6|63&a))}return e.join("")}}},e=(e=[],t=0)=>{var r=Object.create(null);for(let s=0;s<e.length;s++){var n=e[s],i=t+s;r[n]=i,r[i]=n}return Object.freeze(r)},Qf=class Qf{static Encoding=e(["UTF_16","UTF_8"]);getEncoding(){throw Error("not implemented")}asCharSequence(){throw Error("not implemented")}asBytes(){throw Error("not implemented")}length(){throw Error("not implemented")}isUTF8Encoding(){return this.getEncoding()===Qf.Encoding.UTF_8}isUTF16Encoding(){return this.getEncoding()===Qf.Encoding.UTF_16}},Yf=class extends Qf{constructor(e=null){super(),this.bytes=e}getEncoding(){return Qf.Encoding.UTF_8}asCharSequence(){return D.utf8ByteArrayToString(this.bytes)}asBytes(){return this.bytes}length(){return this.bytes.length}},$f=class extends Qf{constructor(e=null){super(),this.charSequence=e}getEncoding(){return Qf.Encoding.UTF_16}asCharSequence(){return this.charSequence}asBytes(){return D.stringToUtf8ByteArray(this.charSequence.toString())}length(){return this.charSequence.length}},Xf=class{static utf16(e){return new $f(e)}static utf8(e){return D.isByteArray(e)?new Yf(e):new Yf(D.stringToUtf8ByteArray(e))}},Zf=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}},em=class extends Zf{constructor(e,t=0,r=e.length){super(),this.bytes=e,this.start=t,this.end=r}hasString(e,t){var r,n=e.bytes;return 0===n.length||-1!==(r=this.indexOf(this.bytes,n,this.start+t))&&r<=this.end-n.length}hasAnyString(e,t){return!!e.ac8&&e.ac8.searchUTF8(this.bytes,this.start+t,this.end)}step(e){var t,r,n,i;return(e+=this.start)>=this.end?Zf.EOF():(t=255&this.bytes[e])<128?t<<3|1:194<=t&&t<=223&&e+1<this.end?128!=(192&(r=255&this.bytes[e+1]))?t<<3|1:((31&t)<<6|63&r)<<3|2:224<=t&&t<=239&&e+2<this.end?128!=(192&(r=255&this.bytes[e+1]))||128!=(192&(n=255&this.bytes[e+2]))?t<<3|1:((15&t)<<12|(63&r)<<6|63&n)<<3|3:!(240<=t&&t<=244&&e+3<this.end)||128!=(192&(r=255&this.bytes[e+1]))||128!=(192&(n=255&this.bytes[e+2]))||128!=(192&(i=255&this.bytes[e+3]))?t<<3|1:((7&t)<<18|(63&r)<<12|(63&n)<<6|63&i)<<3|4}index(e,t){t+=this.start;var r=this.indexOf(this.bytes,e.prefixUTF8,t);return r<0?r:r-t}context(r){let n=-1;if((r+=this.start)>this.start&&r<=this.end){let t=r-1;if(128<=(n=this.bytes[t--])){let e=r-4;for(e<this.start&&(e=this.start);t>=e&&128==(192&this.bytes[t]);)t--;t<this.start&&(t=this.start),n=this.step(t-this.start)>>3}}var e=r<this.end?this.step(r-this.start)>>3:-1;return D.emptyOpContext(n,e)}indexOf(r,n,e=0){var i=n.length;if(0===i)return e<=this.end?e:-1;var s=n[0],a=this.end-i,o="function"==typeof r.indexOf;let l=e;for(;l<=a;){if(o){if(-1===(l=r.indexOf(s,l))||l>a)return-1}else{for(;l<=a&&r[l]!==s;)l++;if(l>a)return-1}let e=!0;for(let t=1;t<i;t++)if(r[l+t]!==n[t]){e=!1;break}if(e)return l;l++}return-1}prefixLength(e){return e.prefixUTF8.length}},tm=class extends Zf{constructor(e,t=0,r=e.length){super(),this.charSequence=e,this.start=t,this.end=r}hasString(e,t){var r=this.charSequence.indexOf(e.str,this.start+t);return-1!==r&&r<=this.end-e.str.length}hasAnyString(e,t){return!!e.ac16&&e.ac16.searchUTF16(this.charSequence,this.start+t,this.end)}step(e){var t,r;return(e+=this.start)>=this.end?Zf.EOF():!((t=this.charSequence.charCodeAt(e))<w.MIN_HIGH_SURROGATE||t>w.MAX_HIGH_SURROGATE||e+1>=this.end)&&(r=this.charSequence.charCodeAt(e+1))>=w.MIN_LOW_SURROGATE&&r<=w.MAX_LOW_SURROGATE?1024*(t-w.MIN_HIGH_SURROGATE)+(r-w.MIN_LOW_SURROGATE)+w.MIN_SUPPLEMENTARY_CODE_POINT<<3|2:t<<3|1}index(e,t){t+=this.start;var r=this.charSequence.indexOf(e.prefix,t);return r<0||r>this.end-e.prefix.length?-1:r-t}context(e){var t=(e+=this.start)>this.start&&e<=this.end?this.charSequence.charCodeAt(e-1):-1,r=e<this.end?this.charSequence.charCodeAt(e):-1;return D.emptyOpContext(t,r)}prefixLength(e){return e.prefix.length}},rm=class{static fromUTF8(e,t=0,r=e.length){return new em(e,t,r)}static fromUTF16(e,t=0,r=e.length){return new tm(e,t,r)}},ar=class extends Error{constructor(e){super(e),this.name="RE2JSException"}},nm=class extends ar{constructor(e,t=null){let r="error parsing regexp: "+e;t&&(r+=`: \`${t}\``),super(r),this.name="RE2JSSyntaxException",this.message=r,this.error=e,this.input=t}getDescription(){return this.error}getPattern(){return this.input}},im=class extends ar{constructor(e){super(e),this.name="RE2JSCompileException"}},sm=class extends ar{constructor(e){super(e),this.name="RE2JSGroupException"}},am=class extends ar{constructor(e){super(e),this.name="RE2JSFlagsException"}},om=class extends ar{constructor(e){super(e),this.name="RE2JSInternalException"}},lm=class lm{static MAX_REPLACER_ARGS=65535;static quoteReplacement(e,t=!1){return t?e.indexOf("\\")<0&&e.indexOf("$")<0?e:e.split("").map(e=>{var t=e.codePointAt(0);return t===y.CODES.get("\\")||t===y.CODES.get("$")?"\\"+e:e}).join(""):e.indexOf("$")<0?e:e.split("").map(e=>e.codePointAt(0)===y.CODES.get("$")?"$$":e).join("")}constructor(e,t){if(null===e)throw new Error("pattern is null");this.patternInput=e;var r=this.patternInput.re2();this.patternGroupCount=r.numberOfCapturingGroups(),this.groups=[],this.namedGroups=r.namedGroups,this.numberOfInstructions=r.numberOfInstructions(),t instanceof Qf?this.resetMatcherInput(t):D.isByteArray(t)?this.resetMatcherInput(Xf.utf8(t)):this.resetMatcherInput(Xf.utf16(t))}pattern(){return this.patternInput}reset(){return this.matcherInputLength=this.matcherInput.length(),this.appendPos=0,this.hasMatch=!1,this.hasGroups=!1,this.anchorFlag=0,this}resetMatcherInput(e){if(null===e)throw new Error("input is null");return this.matcherInput=e,this.reset(),this}start(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new sm(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e]}end(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new sm(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e+1]}programSize(){return this.numberOfInstructions}group(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new sm(`group '${e}' not found`);e=t}var t=this.start(e),r=this.end(e);return t<0&&r<0?null:this.substring(t,r)}getNamedGroups(){if(!this.hasMatch)throw new sm("perhaps no match attempted");var e,t=Object.create(null);for(e of Object.keys(this.namedGroups))t[e]=this.group(e);return t}groupCount(){return this.patternGroupCount}loadGroup(e){if(e<0||e>this.patternGroupCount)throw new sm("Group index out of bounds: "+e);if(!this.hasMatch)throw new sm("perhaps no match attempted");if(0!==e&&!this.hasGroups){var t=this.matcherInputLength,t=this.patternInput.re2().matchMachineInput(this.matcherInput,this.groups[0],t,this.anchorFlag,1+this.patternGroupCount);if(!t[0])throw new sm("inconsistency in matching group data");this.groups=t[1],this.hasGroups=!0}}matches(){return this.genMatch(0,E.ANCHOR_BOTH)}lookingAt(){return this.genMatch(0,E.ANCHOR_START)}find(e=null){if(null!==e){if(e<0||e>this.matcherInputLength)throw new sm("start index out of bounds: "+e);return this.reset(),this.genMatch(e,0)}var t;return e=0,this.hasMatch&&(e=this.groups[1],this.groups[0]===this.groups[1])&&((t=(this.matcherInput.isUTF16Encoding()?rm.fromUTF16(this.matcherInput.asCharSequence(),0,this.matcherInputLength):rm.fromUTF8(this.matcherInput.asBytes(),0,this.matcherInputLength)).step(e))<0?e++:e+=7&t),this.genMatch(e,E.UNANCHORED)}genMatch(e,t){var r=this.patternInput.re2().matchMachineInput(this.matcherInput,e,this.matcherInputLength,t,1);return!!r[0]&&(this.groups=r[1],this.hasMatch=!0,this.hasGroups=0===this.patternGroupCount,this.anchorFlag=t,!0)}substring(e,t){return this.matcherInput.isUTF8Encoding()?D.utf8ByteArrayToString(this.matcherInput.asBytes().slice(e,t)):this.matcherInput.asCharSequence().substring(e,t).toString()}inputLength(){return this.matcherInputLength}appendReplacement(e,t=!1){let r="";var n=this.start(),i=this.end();return this.appendPos<n&&(r+=this.substring(this.appendPos,n)),this.appendPos=i,r+=t?this.appendReplacementInternalJava(e):this.appendReplacementInternalJs(e)}appendReplacementInternalJava(r){let n="",i=0;var s=r.length;for(let l=0;l<s-1;l++)if(r.codePointAt(l)===y.CODES.get("\\"))i<l&&(n+=r.substring(i,l)),l++,i=l;else if(r.codePointAt(l)===y.CODES.get("$")){let t=r.codePointAt(l+1);if(y.CODES.get("0")<=t&&t<=y.CODES.get("9")){let e=t-y.CODES.get("0");for(i<l&&(n+=r.substring(i,l)),l+=2;l<s&&!((t=r.codePointAt(l))<y.CODES.get("0")||t>y.CODES.get("9")||10*e+t-y.CODES.get("0")>this.patternGroupCount);l++)e=10*e+t-y.CODES.get("0");if(e>this.patternGroupCount)throw new sm("n > number of groups: "+e);var a=this.group(e);null!==a&&(n+=a),i=l,l--}else if(t===y.CODES.get("{")){i<l&&(n+=r.substring(i,l));let e=++l+1;for(;e<r.length&&r.codePointAt(e)!==y.CODES.get("}")&&r.codePointAt(e)!==y.CODES.get(" ");)e++;if(e===r.length||r.codePointAt(e)!==y.CODES.get("}"))throw new sm("named capture group is missing trailing '}'");var a=r.substring(l+1,e),o=this.group(a);null!==o&&(n+=o),i=e+1,l=e}}return i<s&&(n+=r.substring(i,s)),n}appendReplacementInternalJs(r){let n="",i=0;var s=r.length;for(let h=0;h<s-1;h++)if(r.codePointAt(h)===y.CODES.get("$")){let t=r.codePointAt(h+1);if(y.CODES.get("$")===t){i<h&&(n+=r.substring(i,h)),n+="$",h++,i=h+1;continue}if(y.CODES.get("&")===t){i<h&&(n+=r.substring(i,h));var a=this.group(0);n+=null!==a?a:"$&",h++,i=h+1;continue}if(y.CODES.get("`")===t){i<h&&(n+=r.substring(i,h)),n+=this.substring(0,this.start(0)),h++,i=h+1;continue}if(y.CODES.get("'")===t){i<h&&(n+=r.substring(i,h)),n+=this.substring(this.end(0),this.matcherInputLength),h++,i=h+1;continue}if(y.CODES.get("1")<=t&&t<=y.CODES.get("9")){let e=t-y.CODES.get("0");for(i<h&&(n+=r.substring(i,h)),h+=2;h<s&&!((t=r.codePointAt(h))<y.CODES.get("0")||t>y.CODES.get("9")||10*e+t-y.CODES.get("0")>this.patternGroupCount);h++)e=10*e+t-y.CODES.get("0");if(e>this.patternGroupCount){n+="$"+e,i=h,h--;continue}a=this.group(e);null!==a&&(n+=a),i=h,h--;continue}if(t===y.CODES.get("<")){i<h&&(n+=r.substring(i,h));let e=++h+1;for(;e<r.length&&r.codePointAt(e)!==y.CODES.get(">")&&r.codePointAt(e)!==y.CODES.get(" ");)e++;if(e===r.length||r.codePointAt(e)!==y.CODES.get(">")){n+=r.substring(h-1,e+1),i=e+1,h=e;continue}var o,l=r.substring(h+1,e);Object.prototype.hasOwnProperty.call(this.namedGroups,l)?null!==(o=this.group(l))&&(n+=o):n+=`$<${l}>`,i=e+1,h=e;continue}}return i<s&&(n+=r.substring(i,s)),n}appendTail(){return this.substring(this.appendPos,this.matcherInputLength)}replaceAll(e,t=!1){return this.replace(e,!0,t)}replaceFirst(e,t=!1){return this.replace(e,!1,t)}replace(e,t=!0,r=!1){let n="";this.reset();var i="function"==typeof e,s=0<Object.keys(this.namedGroups).length;let a=null;if(i){if(this.groupCount()>=lm.MAX_REPLACER_ARGS)throw new sm("Too many capture groups to safely invoke replacer function");a=this.matcherInput.isUTF8Encoding()?this.matcherInput.asBytes():this.matcherInput.asCharSequence()}for(;this.find()&&(n+=i?this.appendReplacementFunc(e,s,a):this.appendReplacement(e,r),t););return n+=this.appendTail()}appendReplacementFunc(e,t,r){let n="";var i=this.start(),s=this.end(),s=(this.appendPos<i&&(n+=this.substring(this.appendPos,i)),this.appendPos=s,this.buildReplacerArgs(i,t,r));return n+=String(e(...s))}buildReplacerArgs(e,t,r){var n=[this.group(0)],i=this.groupCount();for(let l=1;l<=i;l++){var s=this.start(l);n.push(s<0?void 0:this.substring(s,this.end(l)))}if(n.push(e),n.push(r),t){var a,o=this.getNamedGroups();for(a in o)null===o[a]&&(o[a]=void 0);n.push(o)}return n}},b=class b{static ALT=1;static ALT_MATCH=2;static CAPTURE=3;static EMPTY_WIDTH=4;static FAIL=5;static MATCH=6;static NOP=7;static RUNE=8;static RUNE1=9;static RUNE_ANY=10;static RUNE_ANY_NOT_NL=11;static LB_WRITE=12;static LB_CHECK=13;static isRuneOp(e){return b.RUNE<=e&&e<=b.RUNE_ANY_NOT_NL}static escapeRunes(e){let t='"';for(var r of e)t+=D.escapeRune(r);return t+='"'}constructor(e){this.op=e,this.out=0,this.arg=0,this.runes=[],this.next=null}matchRune(t){if(1===this.runes.length)return s=this.runes[0],0!=(this.arg&E.FOLD_CASE)?w.equalsIgnoreCase(s,t):t===s;var r=this.runes.length;if(0===r)return!1;if(2===r||4===r||6===r||8===r){for(let e=0;e<r;e+=2){if(t<this.runes[e])return!1;if(t<=this.runes[e+1])return!0}return!1}let e=0,n=r>>1;for(;1<n;){var i=n>>1;e+=this.runes[e+i<<1]<=t?i:0,n-=i}var s=(e+=this.runes[e<<1]<=t?1:0)-1;return 0<=s&&t<=this.runes[s<<1|1]}matchRunePos(t){if(1===this.runes.length)return s=this.runes[0],0!=(this.arg&E.FOLD_CASE)?w.equalsIgnoreCase(s,t)?0:-1:t===s?0:-1;var r=this.runes.length;if(0===r)return-1;if(2===r||4===r||6===r||8===r){for(let e=0;e<r;e+=2){if(t<this.runes[e])return-1;if(t<=this.runes[e+1])return Math.floor(e/2)}return-1}let e=0,n=r>>1;for(;1<n;){var i=n>>1;e+=this.runes[e+i<<1]<=t?i:0,n-=i}var s=(e+=this.runes[e<<1]<=t?1:0)-1;return 0<=s&&t<=this.runes[s<<1|1]?s:-1}toString(){switch(this.op){case b.ALT:return`alt -> ${this.out}, `+this.arg;case b.ALT_MATCH:return`altmatch -> ${this.out}, `+this.arg;case b.CAPTURE:return`cap ${this.arg} -> `+this.out;case b.EMPTY_WIDTH:return`empty ${this.arg} -> `+this.out;case b.MATCH:return"match"+(0!==this.arg?" "+this.arg:"");case b.FAIL:return"fail";case b.NOP:return"nop -> "+this.out;case b.LB_WRITE:return`lbwrite ${this.arg} -> `+this.out;case b.LB_CHECK:return`lbcheck ${this.arg} -> `+this.out;case b.RUNE:return null===this.runes?"rune <null>":["rune ",b.escapeRunes(this.runes),0!=(this.arg&E.FOLD_CASE)?"/i":""," -> ",this.out].join("");case b.RUNE1:return`rune1 ${b.escapeRunes(this.runes)} -> `+this.out;case b.RUNE_ANY:return"any -> "+this.out;case b.RUNE_ANY_NOT_NL:return"anynotnl -> "+this.out;default:throw new Error("unhandled case in Inst.toString")}}},hm=class{constructor(){this.inst=null,this.cap=null}},um=class{constructor(e){this.sparse=new Int32Array(e),this.densePcs=new Int32Array(e),this.denseThreads=new Array(e),this.size=0}contains(e){var t=this.sparse[e];return t<this.size&&this.densePcs[t]===e}isEmpty(){return 0===this.size}add(e){var t=this.size++;return this.sparse[e]=t,this.denseThreads[t]=null,this.densePcs[t]=e,t}clear(){for(let e=0;e<this.size;e++)this.denseThreads[e]=null;this.size=0}toString(){let e="{";for(let t=0;t<this.size;t++)0!==t&&(e+=", "),e+=this.densePcs[t];return e+="}"}},cm=class cm{static THREADS_CHUNK_SIZE=128;static fromRE2(e){var t=new cm;return t.prog=e.prog,t.re2=e,t.q0=new um(t.prog.numInst()),t.q1=new um(t.prog.numInst()),t.pool=[],t.poolSize=0,t.matched=!1,t.matchcap=new Int32Array(t.prog.numCap<2?2:t.prog.numCap),t.ncap=0,t}static fromMachine(e){return cm.fromRE2(e.re2)}constructor(){this.prog=null,this.re2=null,this.q0=null,this.q1=null,this.pool=[],this.poolSize=0,this.matched=!1,this.matchcap=null,this.ncap=0,this.lbTable=null}init(e){(this.ncap=e)>this.matchcap.length?this.initNewCap(e):this.resetCap(),0<this.prog.numLb&&((!this.lbTable||this.lbTable.length<this.prog.numLb+1)&&(this.lbTable=new Int32Array(this.prog.numLb+1)),this.lbTable.fill(-1))}resetCap(){for(let e=0;e<this.poolSize;e++)this.pool[e].cap.fill(-1)}initNewCap(e){for(let t=0;t<this.poolSize;t++)this.pool[t].cap=new Int32Array(e).fill(-1);this.matchcap=new Int32Array(e).fill(-1)}submatches(){return 0===this.ncap?D.emptyInts():D.toArray(this.matchcap.subarray(0,this.ncap))}alloc(e){if(0===this.poolSize){var t=this.matchcap.length;for(let e=0;e<cm.THREADS_CHUNK_SIZE;e++){let e=new hm;e.cap=new Int32Array(t),this.pool[this.poolSize++]=e}}this.poolSize--;let r=this.pool[this.poolSize];return r.inst=e,r}freeQueue(e,t=0){for(let n=t;n<e.size;n++){var r=e.denseThreads[n];null!==r&&(this.pool[this.poolSize++]=r)}e.clear()}freeThread(e){this.pool[this.poolSize++]=e}match(e,t,r){var n=this.re2.cond;if(n===D.EMPTY_ALL)return!1;if((r===E.ANCHOR_START||r===E.ANCHOR_BOTH)&&0!==t)return!1;this.matched=!1,this.matchcap.fill(-1);let i=0<this.prog.numLb?0:t;var s=t;let a=this.q0,o=this.q1,l=e.step(i),h=l>>3,u=7&l,c=-1,d=0;l!==Zf.EOF()&&(l=e.step(i+u),c=l>>3,d=7&l);let B;for(B=0===i?D.emptyOpContext(-1,h):e.context(i);;){if(a.isEmpty()){if(0!=(n&D.EMPTY_BEGIN_TEXT)&&0!==i)break;if((r===E.ANCHOR_START||r===E.ANCHOR_BOTH)&&0!==i)break;if(this.matched)break;if(0===this.prog.numLb&&0!==this.re2.prefix.length&&c!==this.re2.prefixRune&&e.canCheckPrefix()){var p=e.index(this.re2,i);if(p<0)break;i+=p,l=e.step(i),h=l>>3,u=7&l,l=e.step(i+u),c=l>>3,d=7&l}}if(0===i&&0<this.prog.numLb)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(a,this.prog.lbStarts[e],i,this.matchcap,B,null);this.matched||0!==i&&r!==E.UNANCHORED||i>=s&&(0<this.ncap&&(this.matchcap[0]=i),this.add(a,this.prog.start,i,this.matchcap,B,null));p=i+u;if(B=e.context(p),this.step(a,o,i,p,h,B,r,i===e.endPos()),0===u)break;if(0===this.ncap&&this.matched)break;i+=u,h=c,u=d,-1!==h&&(l=e.step(i+u),c=l>>3,d=7&l);var g=a;a=o,o=g}return this.freeQueue(o),this.matched}matchSet(n,e,i){var t=this.re2.cond;if(t===D.EMPTY_ALL)return[];if((i===E.ANCHOR_START||i===E.ANCHOR_BOTH)&&0!==e)return[];let s=0<this.prog.numLb?0:e;var a=e;let o=this.q0,l=this.q1,h=n.step(s),u=h>>3,c=7&h,d=-1,B=0,p=(h!==Zf.EOF()&&(h=n.step(s+c),d=h>>3,B=7&h),0===s?D.emptyOpContext(-1,u):n.context(s));for(var g=new Set;;){if(o.isEmpty()){if(0!=(t&D.EMPTY_BEGIN_TEXT)&&0!==s)break;if((i===E.ANCHOR_START||i===E.ANCHOR_BOTH)&&0!==s)break}if(0===s&&0<this.prog.numLb)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(o,this.prog.lbStarts[e],s,this.matchcap,p,null);0!==s&&i!==E.UNANCHORED||s>=a&&this.add(o,this.prog.start,s,this.matchcap,p,null);var f=s+c;p=n.context(f);for(let r=0;r<o.size;r++){let t=o.denseThreads[r];if(null!==t){var m=t.inst;let e=!1;switch(m.op){case b.MATCH:i===E.ANCHOR_BOTH&&s!==n.endPos()||g.add(m.arg);break;case b.RUNE:e=m.matchRune(u);break;case b.RUNE1:e=u===m.runes[0];break;case b.RUNE_ANY:e=!0;break;case b.RUNE_ANY_NOT_NL:e=u!==y.CODES.get("\n");break;default:throw new om("bad inst")}null!==(t=e?this.add(l,m.out,f,t.cap,p,t):t)&&(this.freeThread(t),o.denseThreads[r]=null)}}if(o.clear(),0===c)break;s+=c,u=d,c=B,-1!==u&&(h=n.step(s+c),d=h>>3,B=7&h);var C=o;o=l,l=C}return this.freeQueue(l),Array.from(g).sort((e,t)=>e-t)}step(r,n,i,s,a,o,l,h){var u=this.re2.longest;for(let d=0;d<r.size;d++){let t=r.denseThreads[d];if(null!==t)if(u&&this.matched&&0<this.ncap&&this.matchcap[0]<t.cap[0])this.freeThread(t);else{var c=t.inst;let e=!1;switch(c.op){case b.MATCH:l===E.ANCHOR_BOTH&&!h||(0<this.ncap&&(!u||!this.matched||this.matchcap[1]<i)&&(t.cap[1]=i,this.matchcap.set(t.cap.subarray(0,this.ncap))),u||this.freeQueue(r,d+1),this.matched=!0);break;case b.RUNE:e=c.matchRune(a);break;case b.RUNE1:e=a===c.runes[0];break;case b.RUNE_ANY:e=!0;break;case b.RUNE_ANY_NOT_NL:e=a!==y.CODES.get("\n");break;default:throw new om("bad inst")}null!==(t=e?this.add(n,c.out,s,t.cap,o,t):t)&&(this.freeThread(t),r.denseThreads[d]=null)}}r.clear()}add(e,t,r,n,i,s){for(;;){if(0===t)return s;if(e.contains(t))return s;var a,o=e.add(t),l=this.prog.inst[t];switch(l.op){case b.FAIL:return s;case b.ALT:case b.ALT_MATCH:s=this.add(e,l.out,r,n,i,s),t=l.arg;continue;case b.EMPTY_WIDTH:if(0!=(l.arg&~i))return s;t=l.out;continue;case b.NOP:t=l.out;continue;case b.CAPTURE:if(l.arg<this.ncap)return a=n[l.arg],n[l.arg]=r,this.add(e,l.out,r,n,i,null),n[l.arg]=a,s;t=l.out;continue;case b.LB_WRITE:this.lbTable[Math.abs(l.arg)]=r,t=l.out;continue;case b.LB_CHECK:if(0<l.arg){if(this.lbTable[l.arg]===r){t=l.out;continue}}else if(this.lbTable[-l.arg]!==r){t=l.out;continue}return s;case b.MATCH:case b.RUNE:case b.RUNE1:case b.RUNE_ANY:case b.RUNE_ANY_NOT_NL:if(null===s?s=this.alloc(l):s.inst=l,0<this.ncap&&s.cap!==n)for(let e=0;e<this.ncap;e++)s.cap[e]=n[e];return e.denseThreads[o]=s,s=null;default:throw new Error("unhandled")}}}};let dm=e=>{let t=-2128831035;for(let r=0;r<e.length;r++)t^=e[r],t=Math.imul(t,16777619);return t};var Bm=class{constructor(e,t,r=[]){this.nfaStates=e,this.isMatch=t,this.matchIDs=r,this.nextLatin1=new Array(w.MAX_LATIN1+1).fill(null),this.nextLatin1Anchored=new Array(w.MAX_LATIN1+1).fill(null),this.transKeys=[],this.transVals=[],this.lastSeen=0}},pm=class pm{static MAX_CACHE_CLEARS=5;static STATE_MEMORY_ESTIMATE=838;constructor(e,t=8388608){this.prog=e,this.stateCache=new Map,this.stateCount=0,this.startState=null,this.stateLimit=Math.max(1,Math.floor(t/pm.STATE_MEMORY_ESTIMATE)),this.cacheClears=0,this.failed=!1,this.clock=0}computeClosure(e){var t=new Set,r=[...e];let n=!1;for(var i=[];0<r.length;){var s=r.pop();if(!t.has(s)){t.add(s);var a=this.prog.getInst(s);switch(a.op){case b.MATCH:n=!0,i.includes(a.arg)||i.push(a.arg);break;case b.ALT:case b.ALT_MATCH:r.push(a.out),r.push(a.arg);break;case b.NOP:case b.CAPTURE:r.push(a.out);break;case b.EMPTY_WIDTH:case b.LB_WRITE:case b.LB_CHECK:return null}}}var o=Int32Array.from(t).sort();return i.sort((e,t)=>e-t),{pcs:o,isMatch:n,matchIDs:i}}getState(e){var t=this.computeClosure(e);if(!t)return null;var r=t.pcs,n=dm(r);let i=this.stateCache.get(n);if(i)for(let t=0;t<i.length;t++){let e=i[t];if(((e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0})(e.nfaStates,r))return e.lastSeen=++this.clock,e}else i=[],this.stateCache.set(n,i);if(this.failed)return null;if(this.stateCount>=this.stateLimit){if(this.cacheClears++,this.cacheClears>=pm.MAX_CACHE_CLEARS)return this.failed=!0,this.stateCache.clear(),this.stateCount=0,this.startState=null;this.evictCache(),(i=this.stateCache.get(n))||(i=[],this.stateCache.set(n,i))}let s=new Bm(r,t.isMatch,t.matchIDs);return s.lastSeen=++this.clock,i.push(s),this.stateCount++,s}evictCache(){var t,r=[];for(t of this.stateCache.values())for(let e=0;e<t.length;e++)r.push(t[e]);r.sort((e,t)=>e.lastSeen-t.lastSeen);var e=Math.max(1,Math.floor(this.stateLimit/2)),n=r.slice(r.length-e),e=new Set(n);this.stateCache.clear();for(let a=this.stateCount=0;a<n.length;a++){var i=n[a],s=(i.nextLatin1.fill(null),i.nextLatin1Anchored.fill(null),i.transKeys.length=0,i.transVals.length=0,dm(i.nfaStates));let e=this.stateCache.get(s);e||(e=[],this.stateCache.set(s,e)),e.push(i),this.stateCount++}this.startState&&!e.has(this.startState)&&(this.startState=null)}step(t,r,n){if(r<=w.MAX_LATIN1)if(n===E.UNANCHORED){var e=t.nextLatin1[r];if(null!==e)return e}else{e=t.nextLatin1Anchored[r];if(null!==e)return e}else{var i=r+(n===E.UNANCHORED?0:w.MAX_RUNE+1),s=t.transKeys,a=s.length;for(let e=0;e<a;e++)if(s[e]===i)return t.transVals[e]}var o=[];for(let u=0;u<t.nfaStates.length;u++){var l=t.nfaStates[u],l=this.prog.getInst(l);b.isRuneOp(l.op)&&l.matchRune(r)&&o.push(l.out)}n===E.UNANCHORED&&o.push(this.prog.start);var h,e=this.getState(o);return r<=w.MAX_LATIN1?n===E.UNANCHORED?t.nextLatin1[r]=e:t.nextLatin1Anchored[r]=e:(h=r+(n===E.UNANCHORED?0:w.MAX_RUNE+1),t.transKeys.push(h),t.transVals.push(e)),e}match(r,n,i){if(i!==E.ANCHOR_START&&i!==E.ANCHOR_BOTH||0===n){if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;var s=r.endPos();let e=this.startState;if(e.isMatch){if(i!==E.ANCHOR_BOTH)return!0;if(n===s)return!0}let t=n;for(;t<s;){var a=r.step(t),o=a>>3,a=7&a;if(0==a)break;if(null===(e=i===E.UNANCHORED&&o<=w.MAX_LATIN1&&e.nextLatin1[o]||this.step(e,o,i)))return null;if(e.lastSeen=++this.clock,e.isMatch){if(i!==E.ANCHOR_BOTH)return!0;if(t+a===s)return!0}if(0===e.nfaStates.length&&i!==E.UNANCHORED)return!1;t+=a}}return!1}matchSet(e,t,r){if((r===E.ANCHOR_START||r===E.ANCHOR_BOTH)&&0!==t)return[];if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;let n=e.endPos(),i=this.startState,s=new Set;var a=(e,t)=>{e.isMatch&&(r===E.ANCHOR_BOTH?t===n&&e.matchIDs.forEach(e=>s.add(e)):e.matchIDs.forEach(e=>s.add(e)))};a(i,t);let o=t;for(;o<n;){var l=e.step(o),h=l>>3,l=7&l;if(0==l)break;if(null===(i=r===E.UNANCHORED&&h<=w.MAX_LATIN1&&i.nextLatin1[h]||this.step(i,h,r)))return null;if(i.lastSeen=++this.clock,o+=l,a(i,o),0===i.nfaStates.length&&r!==E.UNANCHORED)break}return Array.from(s).sort((e,t)=>e-t)}};var gm=class{constructor(){this.end=0,this.cap=new Int32Array(0),this.matchcap=new Int32Array(0),this.ncap=0,this.jobPc=new Int32Array(256),this.jobArg=new Uint8Array(256),this.jobPos=new Int32Array(256),this.jobLen=0,this.visited=new Uint32Array(0)}reset(e,t,r){this.end=t,this.jobLen=0,this.ncap=r;var n=e.numInst()*(t+1)+32-1>>>5;this.visited.length<n?this.visited=new Uint32Array(n):this.visited.fill(0,0,n),this.cap.length<r?this.cap=new Int32Array(r).fill(-1):this.cap.fill(-1,0,r),this.matchcap.length<r?this.matchcap=new Int32Array(r).fill(-1):this.matchcap.fill(-1,0,r)}shouldVisit(e,t){var r=e*(this.end+1)+t,n=r>>>5,r=1<<(31&r);return 0==(this.visited[n]&r)&&(this.visited[n]|=r,!0)}push(e,t,r,n){var i,s;e.prog.getInst(t).op!==b.FAIL&&(n||this.shouldVisit(t,r))&&(this.jobLen>=this.jobPc.length&&(i=2*this.jobPc.length,(s=new Int32Array(i)).set(this.jobPc),this.jobPc=s,(s=new Uint8Array(i)).set(this.jobArg),this.jobArg=s,(s=new Int32Array(i)).set(this.jobPos),this.jobPos=s),this.jobPc[this.jobLen]=t,this.jobArg[this.jobLen]=n?1:0,this.jobPos[this.jobLen]=r,this.jobLen++)}tryBacktrack(i,s,e,t,a){var o=i.longest;for(this.push(i,e,t,!1);0<this.jobLen;){this.jobLen--;let e=this.jobPc[this.jobLen],t=1===this.jobArg[this.jobLen],r=this.jobPos[this.jobLen],n=!0;for(;;){if(!n&&!this.shouldVisit(e,r))break;n=!1;var l=i.prog.getInst(e);switch(l.op){case b.FAIL:throw new om("unexpected InstFail");case b.ALT:if(t){t=!1,e=l.arg;continue}this.push(i,e,r,!0),e=l.out;continue;case b.ALT_MATCH:var h=i.prog.getInst(l.out);if(b.isRuneOp(h.op)){this.push(i,l.arg,r,!1),e=l.arg,r=this.end;continue}this.push(i,l.out,this.end,!1),e=l.out;continue;case b.RUNE:h=s.step(r);if(h===Zf.EOF())break;if(!l.matchRune(h>>3))break;r+=7&h,e=l.out;continue;case b.RUNE1:var u=s.step(r);if(u===Zf.EOF())break;if(u>>3!==l.runes[0])break;r+=7&u,e=l.out;continue;case b.RUNE_ANY_NOT_NL:u=s.step(r);if(u===Zf.EOF())break;if(u>>3==10)break;r+=7&u,e=l.out;continue;case b.RUNE_ANY:var c=s.step(r);if(c===Zf.EOF())break;r+=7&c,e=l.out;continue;case b.CAPTURE:if(t){this.cap[l.arg]=r;break}l.arg<this.ncap&&(this.push(i,e,this.cap[l.arg],!0),this.cap[l.arg]=r),e=l.out;continue;case b.EMPTY_WIDTH:c=s.context(r);if(0!=(l.arg&~c))break;e=l.out;continue;case b.NOP:e=l.out;continue;case b.MATCH:if(a!==E.ANCHOR_BOTH||r===this.end){if(0===this.ncap)return!0;1<this.ncap&&(this.cap[1]=r);var d=this.matchcap[1];if((-1===d||o&&0<r&&r>d)&&this.matchcap.set(this.cap),!o)return!0;if(r===this.end)return!0}break;case b.LB_WRITE:case b.LB_CHECK:throw new om("Backtracker cannot evaluate Lookbehind instructions");default:throw new om("bad inst")}break}}return o&&1<this.matchcap.length&&0<=this.matchcap[1]}};let fm=[];var mm=class mm{static shouldBacktrack(e){return e.numInst()<=500}static maxBitStateLen(e){return mm.shouldBacktrack(e)?Math.floor(262144/e.numInst()):0}static execute(t,r,n,i,e){var s=t.cond;if(s===D.EMPTY_ALL)return null;if((i===E.ANCHOR_START||i===E.ANCHOR_BOTH)&&0!==n)return null;if(0!=(s&D.EMPTY_BEGIN_TEXT)&&0!==n)return null;var a=0<fm.length?fm.pop():new gm,o=r.endPos();a.reset(t.prog,o,e);let l=!1;if(0!=(s&D.EMPTY_BEGIN_TEXT)||i===E.ANCHOR_START||i===E.ANCHOR_BOTH)0<a.ncap&&(a.cap[0]=n),a.tryBacktrack(t,r,t.prog.start,n,i)&&(l=!0);else{let e=-1;for(;n<=o&&0!==e;n+=e){if(0<t.prefix.length){var h=r.index(t,n);if(h<0)break;n+=h}if(0<a.ncap&&(a.cap[0]=n),a.tryBacktrack(t,r,t.prog.start,n,i)){l=!0;break}h=r.step(n);e=h===Zf.EOF()?0:7&h}}return l?(s=0===e?[]:D.toArray(a.matchcap.subarray(0,e)),fm.push(a),s):(fm.push(a),null)}},Cm=class{constructor(e){this.sparse=new Uint32Array(e),this.dense=new Uint32Array(e),this.size=0,this.nextIndex=0}empty(){return this.nextIndex>=this.size}next(){return this.dense[this.nextIndex++]}clear(){this.size=0,this.nextIndex=0}contains(e){return e<this.sparse.length&&this.sparse[e]<this.size&&this.dense[this.sparse[e]]===e}insert(e){this.contains(e)||this.insertNew(e)}insertNew(e){e>=this.sparse.length||(this.sparse[e]=this.size,this.dense[this.size]=e,this.size++)}};var vm=class{constructor(e){this.start=e.start,this.numCap=e.numCap,this.inst=new Array(e.inst.length);for(let n=0;n<e.inst.length;n++){var t=e.inst[n],r=new b(t.op);r.out=t.out,r.arg=t.arg,r.runes=t.runes?t.runes.slice():[],r.next=null,this.inst[n]=r}}};var _m=class _m{static compile(e){if(0===e.start)return null;if(0<e.numLb)return null;var t=e.inst[e.start];if(t.op!==b.EMPTY_WIDTH||0==(t.arg&D.EMPTY_BEGIN_TEXT))return null;let r=!1;for(let s=0;s<e.inst.length;s++)if(e.inst[s].op===b.ALT||e.inst[s].op===b.ALT_MATCH){r=!0;break}for(let a=0;a<e.inst.length;a++){var n=e.inst[a],i=e.inst[n.out].op;switch(n.op){case b.ALT:case b.ALT_MATCH:if(i===b.MATCH||e.inst[n.arg].op===b.MATCH)return null;break;case b.EMPTY_WIDTH:if(i!==b.MATCH)break;if((n.arg&D.EMPTY_END_TEXT)===D.EMPTY_END_TEXT)continue;return null;default:if(i===b.MATCH&&r)return null}}return null!==(t=(e=>{if(1e3<=e.inst.length)return null;let u=new Cm(e.inst.length),c=new Cm(e.inst.length),d=new Array(e.inst.length),B=new Array(e.inst.length).fill(!1),p=t=>{let r=!0;var n=e.inst[t];if(c.contains(t))return!0;switch(c.insert(t),n.op){case b.ALT:case b.ALT_MATCH:{r=p(n.out)&&p(n.arg);let e=B[n.out];var i=B[n.arg];if(e&&i)return!1;i&&(s=n.out,n.out=n.arg,n.arg=s,e,e=i,0),e&&(B[t]=!0,n.op=b.ALT_MATCH);var s=((i,s,a,o)=>{var e=i.length,t=s.length;let l=0,h=0,u=[],c=[],r=!0,d=-1;for(var n=e=>{var t=e?i:s,r=e?l:h,n=e?a:o;return!(0<d&&t[r]<=u[d]||(u.push(t[r],t[r+1]),e?l+=2:h+=2,d+=2,c.push(n),0))};l<e||h<t;)if(!(r=!(h>=t)&&(l>=e||s[h]<i[l])?n(!1):n(!0)))return null;return{merged:u,next:c}})(d[n.out]||[],d[n.arg]||[],n.out,n.arg);if(!s)return!1;d[t]=s.merged,n.next=new Uint32Array(s.next);break}case b.CAPTURE:case b.EMPTY_WIDTH:case b.NOP:r=p(n.out),B[t]=B[n.out],d[t]=d[n.out]?d[n.out].slice():[],n.next=new Uint32Array(Math.floor(d[t].length/2)+1).fill(n.out);break;case b.MATCH:case b.FAIL:B[t]=n.op===b.MATCH;break;case b.RUNE:if(B[t]=!1,!(n.next&&0<n.next.length))if(u.insert(n.out),n.runes&&0!==n.runes.length){var a=[];if(1===n.runes.length&&0!=(n.arg&E.FOLD_CASE)){var o=n.runes[0];a.push(o,o);for(let e=w.simpleFold(o);e!==o;e=w.simpleFold(e))a.push(e,e);a.sort((e,t)=>e-t)}else for(let e=0;e<n.runes.length;e++)a.push(n.runes[e]);d[t]=a,n.next=new Uint32Array(Math.floor(a.length/2)+1).fill(n.out),n.op=b.RUNE}else d[t]=[],n.next=new Uint32Array([n.out]);break;case b.RUNE1:if(B[t]=!1,!(n.next&&0<n.next.length)){u.insert(n.out);var l=[];if(0!=(n.arg&E.FOLD_CASE)){var h=n.runes[0];l.push(h,h);for(let e=w.simpleFold(h);e!==h;e=w.simpleFold(e))l.push(e,e);l.sort((e,t)=>e-t)}else l.push(n.runes[0],n.runes[0]);d[t]=l,n.next=new Uint32Array(Math.floor(l.length/2)+1).fill(n.out),n.op=b.RUNE}break;case b.RUNE_ANY:B[t]=!1,n.next&&0<n.next.length||(u.insert(n.out),d[t]=[0,w.MAX_RUNE],n.next=new Uint32Array([n.out]));break;case b.RUNE_ANY_NOT_NL:B[t]=!1,n.next&&0<n.next.length||(u.insert(n.out),d[t]=[0,9,11,w.MAX_RUNE],n.next=new Uint32Array(Math.floor(d[t].length/2)+1).fill(n.out))}return r};for(u.clear(),u.insert(e.start);!u.empty();)if(c.clear(),!p(u.next()))return null;for(let t=0;t<e.inst.length;t++)d[t]&&(e.inst[t].runes=d[t]);return e})((e=>{var t=new vm(e);for(let o=0;o<t.inst.length;o++){var a=t.inst[o];if(a.op===b.ALT||a.op===b.ALT_MATCH){let n="out",i="arg",s=t.inst[a[i]];if(s.op===b.ALT||s.op===b.ALT_MATCH||(n="arg",i="out",(s=t.inst[a[i]]).op===b.ALT)||s.op===b.ALT_MATCH){var r=t.inst[a[n]];if(r.op!==b.ALT&&r.op!==b.ALT_MATCH){let e="out",t="arg",r=!1;s.out===o?r=!0:s.arg===o&&(r=!0,e="arg",t="out"),r&&(s[e]=a[n]),a[n]===s[e]&&(a[i]=s[t])}}}}return t})(e)))&&((e,t)=>{for(let n=0;n<t.inst.length;n++){var r=t.inst[n];switch(r.op){case b.ALT:case b.ALT_MATCH:case b.RUNE:break;case b.CAPTURE:case b.EMPTY_WIDTH:case b.NOP:case b.MATCH:case b.FAIL:e.inst[n].next=null;break;case b.RUNE1:case b.RUNE_ANY:case b.RUNE_ANY_NOT_NL:e.inst[n].next=null,e.inst[n].op=r.op,e.inst[n].runes=r.runes?r.runes.slice():[]}}})(t,e),t}static next(e,t){var r=e.matchRunePos(t);return 0<=r?e.next[r]:e.op===b.ALT_MATCH?e.out:0}static execute(e,t,r,n,i){var s=e.onepass;if(!s)return null;var a=new Int32Array(i).fill(-1);let o=!1;var l,h=t.step(r);let u=h>>3,c=7&h,d=Zf.EOF(),B=-1,p=0,g=(h!==Zf.EOF()&&(d=t.step(r+c))!==Zf.EOF()&&(B=d>>3,p=7&d),0===r?D.emptyOpContext(-1,u):t.context(r)),f=s.start;for(;;){switch(l=s.inst[f],f=l.out,l.op){case b.MATCH:return n===E.ANCHOR_BOTH&&r!==t.endPos()?null:(o=!0,0<a.length&&(a[0]=0,a[1]=r),0===i?[]:D.toArray(a));case b.RUNE:if(l.matchRune(u))break;return null;case b.RUNE1:if(u!==l.runes[0])return null;break;case b.RUNE_ANY:break;case b.RUNE_ANY_NOT_NL:if(10===u)return null;break;case b.ALT:case b.ALT_MATCH:f=_m.next(l,u);continue;case b.FAIL:return null;case b.NOP:continue;case b.EMPTY_WIDTH:if(0!=(l.arg&~g))return null;continue;case b.CAPTURE:l.arg<a.length&&(a[l.arg]=r);continue;default:throw new om("bad inst")}if(0===c)break;g=D.emptyOpContext(u,B),r+=c,u=B,c=p,-1!==u&&(d=t.step(r+c),p=d!==Zf.EOF()?(B=d>>3,7&d):(B=-1,0))}return o?0===i?[]:D.toArray(a):null}},I=class I{static Op=e(["NO_MATCH","EMPTY_MATCH","LITERAL","CHAR_CLASS","ANY_CHAR_NOT_NL","ANY_CHAR","BEGIN_LINE","END_LINE","BEGIN_TEXT","END_TEXT","WORD_BOUNDARY","NO_WORD_BOUNDARY","CAPTURE","STAR","PLUS","QUEST","REPEAT","CONCAT","ALTERNATE","PLB","NLB","LEFT_PAREN","VERTICAL_BAR"]);static isPseudoOp(e){return e>=I.Op.LEFT_PAREN}static emptySubs(){return[]}static quoteIfHyphen(e){return e===y.CODES.get("-")?"\\":""}static fromRegexp(e){var t=new I(e.op);return t.flags=e.flags,t.subs=e.subs,t.runes=e.runes,t.cap=e.cap,t.min=e.min,t.max=e.max,t.name=e.name,t.namedGroups=e.namedGroups,t.lb=e.lb,t}constructor(e){this.op=e,this.flags=0,this.subs=I.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=I.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 I.Op.NO_MATCH:t+="[^\\x00-\\x{10FFFF}]";break;case I.Op.EMPTY_MATCH:t+="(?:)";break;case I.Op.STAR:case I.Op.PLUS:case I.Op.QUEST:case I.Op.REPEAT:var e=this.subs[0];switch(e.op>I.Op.CAPTURE||e.op===I.Op.LITERAL&&1<e.runes.length?t+=`(?:${e.appendTo()})`:t+=e.appendTo(),this.op){case I.Op.STAR:t+="*";break;case I.Op.PLUS:t+="+";break;case I.Op.QUEST:t+="?";break;case I.Op.REPEAT:t+="{"+this.min,this.min!==this.max&&(t+=",",0<=this.max)&&(t+=this.max),t+="}"}0!=(this.flags&E.NON_GREEDY)&&(t+="?");break;case I.Op.CONCAT:for(var r of this.subs)r.op===I.Op.ALTERNATE?t+=`(?:${r.appendTo()})`:t+=r.appendTo();break;case I.Op.ALTERNATE:{let e="";for(var n of this.subs)t+=e,e="|",t+=n.appendTo();break}case I.Op.LITERAL:0!=(this.flags&E.FOLD_CASE)&&(t+="(?i:");for(var i of this.runes)t+=D.escapeRune(i);0!=(this.flags&E.FOLD_CASE)&&(t+=")");break;case I.Op.ANY_CHAR_NOT_NL:t+="(?-s:.)";break;case I.Op.ANY_CHAR:t+="(?s:.)";break;case I.Op.PLB:t+=`(?<=${this.subs[0].appendTo()})`;break;case I.Op.NLB:t+=`(?<!${this.subs[0].appendTo()})`;break;case I.Op.CAPTURE:null===this.name||0===this.name.length?t+="(":t+=`(?P<${this.name}>`,this.subs[0].op!==I.Op.EMPTY_MATCH&&(t+=this.subs[0].appendTo()),t+=")";break;case I.Op.BEGIN_TEXT:t+="\\A";break;case I.Op.END_TEXT:0!=(this.flags&E.WAS_DOLLAR)?t+="(?-m:$)":t+="\\z";break;case I.Op.BEGIN_LINE:t+="^";break;case I.Op.END_LINE:t+="$";break;case I.Op.WORD_BOUNDARY:t+="\\b";break;case I.Op.NO_WORD_BOUNDARY:t+="\\B";break;case I.Op.CHAR_CLASS:if(this.runes.length%2!=0)t+="[invalid char class]";else{if(t+="[",0===this.runes.length)t+="^\\x00-\\x{10FFFF}";else if(0===this.runes[0]&&this.runes[this.runes.length-1]===w.MAX_RUNE){t+="^";for(let e=1;e<this.runes.length-1;e+=2){var s=this.runes[e]+1,a=this.runes[e+1]-1;t=(t+=I.quoteIfHyphen(s))+D.escapeRune(s),s!==a&&(t=(t=(t+="-")+I.quoteIfHyphen(a))+D.escapeRune(a))}}else for(let e=0;e<this.runes.length;e+=2){var o=this.runes[e],l=this.runes[e+1];t=(t+=I.quoteIfHyphen(o))+D.escapeRune(o),o!==l&&(t=(t=(t+="-")+I.quoteIfHyphen(l))+D.escapeRune(l))}t+="]"}break;default:t+=this.op}return t}maxCap(){let e=0;if(this.op===I.Op.CAPTURE&&(e=this.cap),null!==this.subs)for(var t of this.subs){t=t.maxCap();e<t&&(e=t)}return e}equals(t){if(!(null!==t&&t instanceof I))return!1;if(this.op!==t.op)return!1;switch(this.op){case I.Op.END_TEXT:if((this.flags&E.WAS_DOLLAR)!=(t.flags&E.WAS_DOLLAR))return!1;break;case I.Op.LITERAL:case I.Op.CHAR_CLASS:if(null!==this.runes||null!==t.runes){if(null===this.runes||null===t.runes)return!1;if(this.runes.length!==t.runes.length)return!1;for(let e=0;e<this.runes.length;e++)if(this.runes[e]!==t.runes[e])return!1}break;case I.Op.ALTERNATE:case I.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 I.Op.STAR:case I.Op.PLUS:case I.Op.QUEST:if((this.flags&E.NON_GREEDY)==(t.flags&E.NON_GREEDY)&&this.subs[0].equals(t.subs[0]))break;return!1;case I.Op.REPEAT:if((this.flags&E.NON_GREEDY)==(t.flags&E.NON_GREEDY)&&this.min===t.min&&this.max===t.max&&this.subs[0].equals(t.subs[0]))break;return!1;case I.Op.CAPTURE:if(this.cap===t.cap&&(null===this.name?null===t.name:this.name===t.name)&&this.subs[0].equals(t.subs[0]))break;return!1;case I.Op.PLB:case I.Op.NLB:if(this.lb===t.lb&&this.subs[0].equals(t.subs[0]))break;return!1}return!0}},ym=class{constructor(e){this.next=[Object.create(null)],this.fail=[0],this.match=[!1];for(var r of e){let e=0;for(let t=0;t<r.length;t++){var n=r[t];n in this.next[e]||(this.next.push(Object.create(null)),this.fail.push(0),this.match.push(!1),this.next[e][n]=this.next.length-1),e=this.next[e][n]}this.match[e]=!0}var t,i,s=[];for(t in this.next[0])Object.prototype.hasOwnProperty.call(this.next[0],t)&&(i=this.next[0][t],this.fail[i]=0,s.push(i));for(;0<s.length;){var a,o=s.shift();for(a in this.next[o])if(Object.prototype.hasOwnProperty.call(this.next[o],a)){var l=this.next[o][a];let e=this.fail[o];for(;0!==e&&!(a in this.next[e]);)e=this.fail[e];a in this.next[e]?this.fail[l]=this.next[e][a]:this.fail[l]=0,this.match[l]=this.match[l]||this.match[this.fail[l]],s.push(l)}}}searchUTF16(e,t,r){let n=0;for(let s=t;s<r;s++){for(var i=e.charCodeAt(s);0!==n&&!(i in this.next[n]);)n=this.fail[n];if(i in this.next[n]&&(n=this.next[n][i]),this.match[n])return!0}return!1}searchUTF8(e,t,r){let n=0;for(let s=t;s<r;s++){for(var i=e[s];0!==n&&!(i in this.next[n]);)n=this.fail[n];if(i in this.next[n]&&(n=this.next[n][i]),this.match[n])return!0}return!1}},c=class c{static Type={NONE:0,EXACT:1,AND:2,OR:3};constructor(e){this.type=e,this.subs=[],this.str="",this.bytes=null,this.ac16=null,this.ac8=null}eval(r,n){switch(this.type){case c.Type.NONE:return!0;case c.Type.EXACT:return r.hasString(this,n);case c.Type.AND:for(let e=0;e<this.subs.length;e++)if(!this.subs[e].eval(r,n))return!1;return!0;case c.Type.OR:if(this.ac16&&this.ac8)return r.hasAnyString(this,n);for(let t=0;t<this.subs.length;t++)if(this.subs[t].eval(r,n))return!0;return!1;default:return!0}}},wm=class wm{static build(e){var t=wm.fromRegexp(e);return wm.simplify(t)}static fromRegexp(r){if(!r)return new c(c.Type.NONE);switch(r.op){case I.Op.PLB:case I.Op.NLB:case I.Op.NO_MATCH:case I.Op.EMPTY_MATCH:case I.Op.BEGIN_LINE:case I.Op.END_LINE:case I.Op.BEGIN_TEXT:case I.Op.END_TEXT:case I.Op.WORD_BOUNDARY:case I.Op.NO_WORD_BOUNDARY:case I.Op.CHAR_CLASS:case I.Op.ANY_CHAR_NOT_NL:case I.Op.ANY_CHAR:return new c(c.Type.NONE);case I.Op.LITERAL:{if(0===r.runes.length||0!=(r.flags&E.FOLD_CASE))return new c(c.Type.NONE);var n=new c(c.Type.EXACT);let e="";for(let t=0;t<r.runes.length;t++)e+=String.fromCodePoint(r.runes[t]);return n.str=e,n.bytes=D.stringToUtf8ByteArray(n.str),n}case I.Op.CAPTURE:case I.Op.PLUS:return wm.fromRegexp(r.subs[0]);case I.Op.REPEAT:return 1<=r.min?wm.fromRegexp(r.subs[0]):new c(c.Type.NONE);case I.Op.CONCAT:var e,t=new c(c.Type.AND);for(e of r.subs)t.subs.push(wm.fromRegexp(e));return t;case I.Op.ALTERNATE:var i,s=new c(c.Type.OR);for(i of r.subs)s.subs.push(wm.fromRegexp(i));return s;default:return new c(c.Type.NONE)}}static simplify(t){if(t.type!==c.Type.EXACT&&t.type!==c.Type.NONE){if(t.type===c.Type.AND){var e,r=[];for(e of t.subs){var n=wm.simplify(e);if(n.type!==c.Type.NONE)if(n.type===c.Type.AND)for(let e=0;e<n.subs.length;e++)r.push(n.subs[e]);else r.push(n)}return 0===r.length?new c(c.Type.NONE):1===r.length?r[0]:(t.subs=r,t)}if(t.type===c.Type.OR){var i,s=[];for(i of t.subs){var a=wm.simplify(i);if(a.type===c.Type.NONE)return new c(c.Type.NONE);if(a.type===c.Type.OR)for(let e=0;e<a.subs.length;e++)s.push(a.subs[e]);else s.push(a)}if(0===s.length)return new c(c.Type.NONE);if(1===s.length)return s[0];var o,l,h=new Set,u=[];for(o of s)o.type===c.Type.EXACT?h.has(o.str)||(h.add(o.str),u.push(o)):u.push(o);let e=!0;for(l of t.subs=u)if(l.type!==c.Type.EXACT){e=!1;break}e&&1<u.length&&(t.ac16=new ym(u.map(e=>{var t=[];for(let r=0;r<e.str.length;r++)t.push(e.str.charCodeAt(r));return t})),t.ac8=new ym(u.map(e=>e.bytes)))}}return t}},Em=class{constructor(e=0,t=0){this.head=e,this.tail=t}},Dm=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 b(e))}skipNop(e){let t=this.inst[e];for(;t.op===b.NOP||t.op===b.CAPTURE;)e=(t=this.inst[e]).out;return t}prefix(){let e="",t=this.skipNop(this.start);if(b.isRuneOp(t.op)&&1===t.runes.length)for(;b.isRuneOp(t.op)&&1===t.runes.length&&0==(t.arg&E.FOLD_CASE);)e+=String.fromCodePoint(t.runes[0]),t=this.skipNop(t.out);return[t.op===b.MATCH,e]}startCond(){let e=0,t=this.start;e:for(;;){var r=this.inst[t];switch(r.op){case b.EMPTY_WIDTH:e|=r.arg;break;case b.FAIL:return-1;case b.CAPTURE:case b.NOP:break;default:break e}t=r.out}return e}patch(e,t){let r=e.head;for(;0!==r;){var n=this.inst[r>>1];0==(1&r)?(r=n.out,n.out=t):(r=n.arg,n.arg=t)}}append(e,t){var r;return 0===e.head?t:0===t.head?e:(r=this.inst[e.tail>>1],0==(1&e.tail)?r.out=t.head:r.arg=t.head,new Em(e.head,t.tail))}toString(){let e="";for(let r=0;r<this.inst.length;r++){var t=e.length;e+=r,r===this.start&&(e+="*"),e=(e+=" ".substring(e.length-t))+this.inst[r]+"\n"}return e}},bm=class{constructor(e=0,t=new Em,r=!1){this.i=e,this.out=t,this.nullable=r}},Im=class Im{static ANY_RUNE_NOT_NL(){return[0,y.CODES.get("\n")-1,y.CODES.get("\n")+1,w.MAX_RUNE]}static ANY_RUNE(){return[0,w.MAX_RUNE]}static compileRegexp(e){var t=new Im,r=t.compile(e);return t.prog.patch(r.out,t.newInst(b.MATCH).i),t.prog.start=r.i,t.prog}static compileSet(n){var i=new Im;if(0===n.length)i.prog.start=i.newInst(b.FAIL).i;else{var s=[];for(let t=0;t<n.length;t++){var a=i.compile(n[t]),o=i.newInst(b.MATCH);i.prog.getInst(o.i).arg=t,i.prog.patch(a.out,o.i),s.push(a.i)}let e=s[0];for(let r=1;r<s.length;r++){var l=i.newInst(b.ALT),h=i.prog.getInst(l.i);h.out=e,h.arg=s[r],e=l.i}i.prog.start=e}return i.prog}constructor(){this.prog=new Dm,this.newInst(b.FAIL)}newInst(e){return this.prog.addInst(e),new bm(this.prog.numInst()-1,new Em,!0)}nop(){var e=this.newInst(b.NOP);return e.out=new Em(e.i<<1,e.i<<1),e}fail(){return new bm}cap(e){var t=this.newInst(b.CAPTURE);return t.out=new Em(t.i<<1,t.i<<1),this.prog.getInst(t.i).arg=e,this.prog.numCap<e+1&&(this.prog.numCap=e+1),t}cat(e,t){return 0===e.i||0===t.i?this.fail():(this.prog.patch(e.out,t.i),new bm(e.i,t.out,e.nullable&&t.nullable))}alt(e,t){var r,n;return 0===e.i?t:0===t.i?e:(r=this.newInst(b.ALT),(n=this.prog.getInst(r.i)).out=e.i,n.arg=t.i,r.out=this.prog.append(e.out,t.out),r.nullable=e.nullable||t.nullable,r)}loop(e,t){var r=this.newInst(b.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new Em(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new Em(r.i<<1|1,r.i<<1|1)),this.prog.patch(e.out,r.i),r}quest(e,t){var r=this.newInst(b.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new Em(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new Em(r.i<<1|1,r.i<<1|1)),r.out=this.prog.append(r.out,e.out),r}star(e,t){return e.nullable?this.quest(this.plus(e,t),t):this.loop(e,t)}plus(e,t){return new bm(e.i,this.loop(e,t).out,e.nullable)}empty(e){var t=this.newInst(b.EMPTY_WIDTH);return this.prog.getInst(t.i).arg=e,t.out=new Em(t.i<<1,t.i<<1),t}rune(e,t){var r=this.newInst(b.RUNE),n=(r.nullable=!1,this.prog.getInst(r.i));return n.runes=e,t&=E.FOLD_CASE,1===e.length&&w.simpleFold(e[0])!==e[0]||(t&=-2),n.arg=t,r.out=new Em(r.i<<1,r.i<<1),0==(t&E.FOLD_CASE)&&1===e.length||2===e.length&&e[0]===e[1]?n.op=b.RUNE1:2===e.length&&0===e[0]&&e[1]===w.MAX_RUNE?n.op=b.RUNE_ANY:4===e.length&&0===e[0]&&e[1]===y.CODES.get("\n")-1&&e[2]===y.CODES.get("\n")+1&&e[3]===w.MAX_RUNE&&(n.op=b.RUNE_ANY_NOT_NL),r}lookBehind(e,t){var r=this.newInst(b.LB_WRITE),n=(this.prog.getInst(r.i).arg=t,this.rune(Im.ANY_RUNE(),0)),n=this.star(n,!0),n=this.cat(n,e),r=(this.prog.patch(n.out,r.i),this.newInst(b.LB_CHECK));return this.prog.getInst(r.i).arg=t,this.prog.lbStarts.push(n.i),Math.abs(t)>this.prog.numLb&&(this.prog.numLb=Math.abs(t)),r.out=new Em(r.i<<1,r.i<<1),r}compile(t){switch(t.op){case I.Op.NO_MATCH:return this.fail();case I.Op.EMPTY_MATCH:return this.nop();case I.Op.LITERAL:if(0===t.runes.length)return this.nop();{let e=null;for(var r of t.runes){r=this.rune([r],t.flags);e=null===e?r:this.cat(e,r)}return e}case I.Op.CHAR_CLASS:return this.rune(t.runes,t.flags);case I.Op.ANY_CHAR_NOT_NL:return this.rune(Im.ANY_RUNE_NOT_NL(),0);case I.Op.ANY_CHAR:return this.rune(Im.ANY_RUNE(),0);case I.Op.BEGIN_LINE:return this.empty(D.EMPTY_BEGIN_LINE);case I.Op.END_LINE:return this.empty(D.EMPTY_END_LINE);case I.Op.BEGIN_TEXT:return this.empty(D.EMPTY_BEGIN_TEXT);case I.Op.END_TEXT:return this.empty(D.EMPTY_END_TEXT);case I.Op.WORD_BOUNDARY:return this.empty(D.EMPTY_WORD_BOUNDARY);case I.Op.NO_WORD_BOUNDARY:return this.empty(D.EMPTY_NO_WORD_BOUNDARY);case I.Op.PLB:case I.Op.NLB:return this.lookBehind(this.compile(t.subs[0]),t.lb);case I.Op.CAPTURE:var e=this.cap(t.cap<<1),n=this.compile(t.subs[0]),i=this.cap(t.cap<<1|1);return this.cat(this.cat(e,n),i);case I.Op.STAR:return this.star(this.compile(t.subs[0]),0!=(t.flags&E.NON_GREEDY));case I.Op.PLUS:return this.plus(this.compile(t.subs[0]),0!=(t.flags&E.NON_GREEDY));case I.Op.QUEST:return this.quest(this.compile(t.subs[0]),0!=(t.flags&E.NON_GREEDY));case I.Op.CONCAT:if(0===t.subs.length)return this.nop();{let e=null;for(var s of t.subs){s=this.compile(s);e=null===e?s:this.cat(e,s)}return e}case I.Op.ALTERNATE:if(0===t.subs.length)return this.nop();{let e=null;for(var a of t.subs){a=this.compile(a);e=null===e?a:this.alt(e,a)}return e}default:throw new im("regexp: unhandled case in compile")}}},Tm=class Tm{static simplify(n){if(null===n)return null;switch(n.op){case I.Op.PLB:case I.Op.NLB:case I.Op.CAPTURE:var i=Tm.simplify(n.subs[0]);return i!==n.subs[0]?((e=I.fromRegexp(n)).runes=[],e.subs=[i],e):n;case I.Op.CONCAT:case I.Op.ALTERNATE:{var r=[];let t=!1;for(let e=0;e<n.subs.length;e++){var s=n.subs[e],a=Tm.simplify(s);if(a!==s&&(t=!0),n.op===I.Op.CONCAT){if(a.op===I.Op.NO_MATCH)return new I(I.Op.NO_MATCH);if(a.op===I.Op.EMPTY_MATCH){t=!0;continue}if(a.op===I.Op.CONCAT){t=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}else if(n.op===I.Op.ALTERNATE){if(a.op===I.Op.NO_MATCH){t=!0;continue}if(a.op===I.Op.ALTERNATE){t=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}r.push(a)}return t?0===r.length?new I(n.op===I.Op.CONCAT?I.Op.EMPTY_MATCH:I.Op.NO_MATCH):1===r.length?r[0]:((i=I.fromRegexp(n)).runes=[],i.subs=r,i):n}case I.Op.CHAR_CLASS:return null===n.runes?n:0===n.runes.length?new I(I.Op.NO_MATCH):2===n.runes.length&&0===n.runes[0]&&n.runes[1]===w.MAX_RUNE?new I(I.Op.ANY_CHAR):4===n.runes.length&&0===n.runes[0]&&n.runes[1]===y.CODES.get("\n")-1&&n.runes[2]===y.CODES.get("\n")+1&&n.runes[3]===w.MAX_RUNE?new I(I.Op.ANY_CHAR_NOT_NL):n;case I.Op.STAR:case I.Op.PLUS:case I.Op.QUEST:var e=Tm.simplify(n.subs[0]);return Tm.simplify1(n.op,n.flags,e,n);case I.Op.REPEAT:{if(0===n.min&&0===n.max)return new I(I.Op.EMPTY_MATCH);var o=Tm.simplify(n.subs[0]);if(-1===n.max){if(0===n.min)return Tm.simplify1(I.Op.STAR,n.flags,o,null);if(1===n.min)return Tm.simplify1(I.Op.PLUS,n.flags,o,null);var i=new I(I.Op.CONCAT),t=[];for(let e=0;e<n.min-1;e++)t.push(o);return t.push(Tm.simplify1(I.Op.PLUS,n.flags,o,null)),i.subs=t.slice(0),Tm.simplify(i)}if(1===n.min&&1===n.max)return o;let r=null;if(0<n.min){r=[];for(let e=0;e<n.min;e++)r.push(o)}if(n.min<n.max){let e=Tm.simplify1(I.Op.QUEST,n.flags,o,null);for(let t=n.min+1;t<n.max;t++){var l=new I(I.Op.CONCAT);l.subs=[o,e],e=Tm.simplify1(I.Op.QUEST,n.flags,l,null)}if(null===r)return e;r.push(e)}return null!==r?((e=new I(I.Op.CONCAT)).subs=r.slice(0),Tm.simplify(e)):new I(I.Op.NO_MATCH)}}return n}static simplify1(e,t,r,n){var i;return r.op===I.Op.EMPTY_MATCH?r:r.op===I.Op.NO_MATCH?e===I.Op.PLUS?r:new I(I.Op.EMPTY_MATCH):e===r.op&&(t&E.NON_GREEDY)==(r.flags&E.NON_GREEDY)?r:null!==n&&n.op===e&&(n.flags&E.NON_GREEDY)==(t&E.NON_GREEDY)&&r===n.subs[0]?n:((i=new I(e)).flags=t,i.subs=[r],i)}},t=class{constructor(e,t){this.sign=e,this.cls=t}},_f=[48,57],sr=[9,10,12,13,32,32],ar=[48,57,65,90,95,95,97,122];let Sm=new Map([["\\d",new t(1,_f)],["\\D",new t(-1,_f)],["\\s",new t(1,sr)],["\\S",new t(-1,sr)],["\\w",new t(1,ar)],["\\W",new t(-1,ar)]]);var e=[48,57,65,90,97,122],_f=[65,90,97,122],sr=[0,127],ar=[9,9,32,32],km=[0,31,127,127],Nm=[48,57],Am=[33,126],Rm=[97,122],Om=[32,126],Pm=[33,47,58,64,91,96,123,126],xm=[9,13,32,32],Fm=[65,90],Lm=[48,57,65,90,95,95,97,122],Mm=[48,57,65,70,97,102];let Um=new Map([["[:alnum:]",new t(1,e)],["[:^alnum:]",new t(-1,e)],["[:alpha:]",new t(1,_f)],["[:^alpha:]",new t(-1,_f)],["[:ascii:]",new t(1,sr)],["[:^ascii:]",new t(-1,sr)],["[:blank:]",new t(1,ar)],["[:^blank:]",new t(-1,ar)],["[:cntrl:]",new t(1,km)],["[:^cntrl:]",new t(-1,km)],["[:digit:]",new t(1,Nm)],["[:^digit:]",new t(-1,Nm)],["[:graph:]",new t(1,Am)],["[:^graph:]",new t(-1,Am)],["[:lower:]",new t(1,Rm)],["[:^lower:]",new t(-1,Rm)],["[:print:]",new t(1,Om)],["[:^print:]",new t(-1,Om)],["[:punct:]",new t(1,Pm)],["[:^punct:]",new t(-1,Pm)],["[:space:]",new t(1,xm)],["[:^space:]",new t(-1,xm)],["[:upper:]",new t(1,Fm)],["[:^upper:]",new t(-1,Fm)],["[:word:]",new t(1,Lm)],["[:^word:]",new t(-1,Lm)],["[:xdigit:]",new t(1,Mm)],["[:^xdigit:]",new t(-1,Mm)]]);var Gm,Hm,Vm=class Vm{static charClassToString(e,t){let r="[";for(let s=0;s<t;s+=2){0<s&&(r+=" ");var n=e[s],i=e[s+1];r+=n===i?"0x"+n.toString(16):`0x${n.toString(16)}-0x`+i.toString(16)}return r+="]"}static cmp(e,t,r,n){var i=e[t]-r;return 0!=i?i:n-e[t+1]}static qsortIntPair(e,t,r){var n,i=-2&((t+r)/2|0),s=e[i],a=e[1+i];let o=t,l=r;for(;o<=l;){for(;o<r&&Vm.cmp(e,o,s,a)<0;)o+=2;for(;l>t&&0<Vm.cmp(e,l,s,a);)l-=2;o<=l&&(o!==l&&(n=e[o],e[o]=e[l],e[l]=n,n=e[o+1],e[o+1]=e[l+1],e[l+1]=n),o+=2,l-=2)}t<l&&Vm.qsortIntPair(e,t,l),o<r&&Vm.qsortIntPair(e,o,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)){Vm.qsortIntPair(this.r,0,this.len-2);let e=2;for(let t=2;t<this.len;t+=2){var r=this.r[t],n=this.r[t+1];r<=this.r[e-1]+1?n>this.r[e-1]&&(this.r[e-1]=n):(this.r[e]=r,this.r[e+1]=n,e+=2)}this.len=e}return this}appendLiteral(e,t){return 0!=(t&E.FOLD_CASE)?this.appendFoldedRange(e,e):this.appendRange(e,e)}appendRange(t,r){if(0<this.len)for(let e=2;e<=4;e+=2)if(this.len>=e){var n=this.r[this.len-e],i=this.r[this.len-e+1];if(t<=i+1&&n<=r+1)return t<n&&(this.r[this.len-e]=t),i<r&&(this.r[this.len-e+1]=r),this}return this.r[this.len++]=t,this.r[this.len++]=r,this}appendFoldedRange(e,t){if(e<=w.MIN_FOLD&&t>=w.MAX_FOLD)return this.appendRange(e,t);if(t<w.MIN_FOLD||e>w.MAX_FOLD)return this.appendRange(e,t);e<w.MIN_FOLD&&(this.appendRange(e,w.MIN_FOLD-1),e=w.MIN_FOLD),t>w.MAX_FOLD&&(this.appendRange(w.MAX_FOLD+1,t),t=w.MAX_FOLD);for(let r=e;r<=t;r++){this.appendRange(r,r);for(let e=w.simpleFold(r);e!==r;e=w.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 i=0;i<e.length;i+=2){var r=e[i],n=e[i+1];t<=r-1&&this.appendRange(t,r-1),t=n+1}return t<=w.MAX_RUNE&&this.appendRange(t,w.MAX_RUNE),this}appendTable(e){for(let i=0;i<e.length;++i){var t=e.getLo(i),r=e.getHi(i),n=e.getStride(i);if(1===n)this.appendRange(t,r);else for(let e=t;e<=r;e+=n)this.appendRange(e,e)}return this}appendNegatedTable(e){let t=0;for(let s=0;s<e.length;++s){var r=e.getLo(s),n=e.getHi(s),i=e.getStride(s);if(1===i)t<=r-1&&this.appendRange(t,r-1),t=n+1;else for(let e=r;e<=n;e+=i)t<=e-1&&this.appendRange(t,e-1),t=e+1}return t<=w.MAX_RUNE&&this.appendRange(t,w.MAX_RUNE),this}appendTableWithSign(e,t){return t<0?this.appendNegatedTable(e):this.appendTable(e)}negateClass(){let e=0,t=0;for(let i=0;i<this.len;i+=2){var r=this.r[i],n=this.r[i+1];e<=r-1&&(this.r[t]=e,this.r[t+1]=r-1,t+=2),e=n+1}return this.len=t,e<=w.MAX_RUNE&&(this.r[this.len++]=e,this.r[this.len++]=w.MAX_RUNE),this}appendClassWithSign(e,t){return t<0?this.appendNegatedClass(e):this.appendClass(e)}appendGroup(e,t){let r=e.cls;return t&&(r=(new Vm).appendFoldedClass(r).cleanClass().toArray()),this.appendClassWithSign(r,e.sign)}toString(){return Vm.charClassToString(this.r,this.len)}},qm=class{constructor(e){this.str=e,this.position=0}pos(){return this.position}rewindTo(e){this.position=e}more(){return this.position<this.str.length}peek(){return this.str.codePointAt(this.position)}skip(e){this.position+=e}skipString(e){this.position+=e.length}pop(){var e=this.str.codePointAt(this.position);return this.position+=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()}},T=class T{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 r(new Uint32Array([0,w.MAX_RUNE,1]));static ASCII_TABLE=new r(new Uint32Array([0,127,1]));static ASCII_FOLD_TABLE=new r(new Uint32Array([0,127,1,383,383,1,8490,8490,1]));static unicodeTable(e){return"Any"===e?{tab:T.ANY_TABLE,fold:T.ANY_TABLE,sign:1}:"Ascii"===e?{tab:T.ASCII_TABLE,fold:T.ASCII_FOLD_TABLE,sign:1}:"Assigned"===e?{tab:Kf.CATEGORIES.get("Cn"),fold:Kf.CATEGORIES.get("Cn"),sign:-1}:"Lc"===e?{tab:Kf.CATEGORIES.get("LC"),fold:Kf.FOLD_CATEGORIES.get("LC"),sign:1}:Kf.CATEGORIES.has(e)?{tab:Kf.CATEGORIES.get(e),fold:Kf.FOLD_CATEGORIES.get(e),sign:1}:Kf.SCRIPTS.has(e)?{tab:Kf.SCRIPTS.get(e),fold:Kf.FOLD_SCRIPT.get(e),sign:1}:null}static minFoldRune(e){if(e<w.MIN_FOLD||e>w.MAX_FOLD)return e;let t=e;var r=e;for(e=w.simpleFold(e);e!==r;e=w.simpleFold(e))t>e&&(t=e);return t}static leadingRegexp(e){var t;return e.op===I.Op.EMPTY_MATCH?null:e.op===I.Op.CONCAT&&0<e.subs.length?(t=e.subs[0]).op===I.Op.EMPTY_MATCH?null:t:e}static literalRegexp(e,t){var r=new I(I.Op.LITERAL);return r.flags=t,r.runes=D.stringToRunes(e),r}static parse(e,t){return new T(e,t).parseInternal()}static parseRepeat(e){var t=e.pos();if(!e.more()||!e.lookingAt("{"))return-1;e.skip(1);var r=T.parseInt(e);if(-1===r)return-1;if(!e.more())return-1;let n;if(e.lookingAt(",")){if(e.skip(1),!e.more())return-1;if(e.lookingAt("}"))n=-1;else if(-1===(n=T.parseInt(e)))return-1}else n=r;if(!e.more()||!e.lookingAt("}"))return-1;if(e.skip(1),r<0||1e3<r||-2===n||1e3<n||0<=n&&r>n)throw new nm(T.ERR_INVALID_REPEAT_SIZE,e.from(t));return r<<16|n&w.MAX_BMP}static isValidCaptureName(e){if(0===e.length)return!1;for(let r=0;r<e.length;r++){var t=e.codePointAt(r);if(t!==y.CODES.get("_")&&!D.isalnum(t))return!1}return!0}static parseInt(e){for(var t=e.pos();e.more()&&e.peek()>=y.CODES.get("0")&&e.peek()<=y.CODES.get("9");)e.skip(1);t=e.from(t);return 0===t.length||1<t.length&&t.codePointAt(0)===y.CODES.get("0")?-1:8<t.length?-2:parseInt(t,10)}static isCharClass(e){return e.op===I.Op.LITERAL&&1===e.runes.length||e.op===I.Op.CHAR_CLASS||e.op===I.Op.ANY_CHAR_NOT_NL||e.op===I.Op.ANY_CHAR}static matchRune(t,r){switch(t.op){case I.Op.LITERAL:return 1===t.runes.length&&t.runes[0]===r;case I.Op.CHAR_CLASS:for(let e=0;e<t.runes.length;e+=2)if(t.runes[e]<=r&&r<=t.runes[e+1])return!0;return!1;case I.Op.ANY_CHAR_NOT_NL:return r!==y.CODES.get("\n");case I.Op.ANY_CHAR:return!0}return!1}static mergeCharClass(e,t){switch(e.op){case I.Op.ANY_CHAR:break;case I.Op.ANY_CHAR_NOT_NL:T.matchRune(t,y.CODES.get("\n"))&&(e.op=I.Op.ANY_CHAR);break;case I.Op.CHAR_CLASS:t.op===I.Op.LITERAL?e.runes=new Vm(e.runes).appendLiteral(t.runes[0],t.flags).toArray():e.runes=new Vm(e.runes).appendClass(t.runes).toArray();break;case I.Op.LITERAL:t.runes[0]===e.runes[0]&&t.flags===e.flags||(e.op=I.Op.CHAR_CLASS,e.runes=(new Vm).appendLiteral(e.runes[0],e.flags).appendLiteral(t.runes[0],t.flags).toArray())}}static parseEscape(r){var e=r.pos();if(r.skip(1),!r.more())throw new nm(T.ERR_TRAILING_BACKSLASH);let n=r.pop();e:switch(n){case y.CODES.get("1"):case y.CODES.get("2"):case y.CODES.get("3"):case y.CODES.get("4"):case y.CODES.get("5"):case y.CODES.get("6"):case y.CODES.get("7"):if(!r.more()||r.peek()<y.CODES.get("0")||r.peek()>y.CODES.get("7"))break;case y.CODES.get("0"):{let e=n-y.CODES.get("0");for(let t=1;t<3&&!(!r.more()||r.peek()<y.CODES.get("0")||r.peek()>y.CODES.get("7"));t++)e=8*e+r.peek()-y.CODES.get("0"),r.skip(1);return e}case y.CODES.get("x"):if(!r.more())break;if((n=r.pop())===y.CODES.get("{")){let e=0,t=0;for(;;){if(!r.more())break e;if((n=r.pop())===y.CODES.get("}"))break;var i=D.unhex(n);if(i<0)break e;if((t=16*t+i)>w.MAX_RUNE)break e;e++}if(0===e)break;return t}var t=D.unhex(n);if(!r.more())break;n=r.pop();var s=D.unhex(n);if(t<0||s<0)break;return 16*t+s;case y.CODES.get("a"):return y.CODES.get("");case y.CODES.get("f"):return y.CODES.get("\f");case y.CODES.get("n"):return y.CODES.get("\n");case y.CODES.get("r"):return y.CODES.get("\r");case y.CODES.get("t"):return y.CODES.get("\t");case y.CODES.get("v"):return y.CODES.get("\v");default:if(n<=w.MAX_ASCII&&!D.isalnum(n))return n}throw new nm(T.ERR_INVALID_ESCAPE,r.from(e))}static parseClassChar(e,t){if(e.more())return e.lookingAt("\\")?T.parseEscape(e):e.pop();throw new nm(T.ERR_MISSING_BRACKET,e.from(t))}static concatRunes(e,t){for(let r=0;r<t.length;r++)e.push(t[r]);return e}static hasCapture(e){if(null!==e){if(e.op===I.Op.CAPTURE)return!0;if(e.subs)for(var t of e.subs)if(T.hasCapture(t))return!0}return!1}constructor(e,t=0){this.wholeRegexp=e,this.flags=t,this.numCap=0,this.namedGroups=Object.create(null),this.stack=[],this.free=null,this.numRegexp=0,this.numRunes=0,this.repeats=0,this.height=null,this.size=null,this.nlb=0}newRegexp(e){let t=this.free;return null!==t&&null!==t.subs&&0<t.subs.length?(this.free=t.subs[0],t.reinit(),t.op=e):(t=new I(e),this.numRegexp+=1),t}reuse(e){null!==this.height&&this.height.has(e)&&this.height.delete(e),null!==e.subs&&0<e.subs.length&&(e.subs[0]=this.free),this.free=e}checkLimits(e){if(this.numRunes>T.MAX_RUNES)throw new nm(T.ERR_LARGE);this.checkSize(e),this.checkHeight(e)}checkSize(t){if(null===this.size){if(0===this.repeats&&(this.repeats=1),t.op===I.Op.REPEAT){let e=t.max;(e=(e=-1===e?t.min:e)<=0?1:e)>Math.floor(T.MAX_SIZE/this.repeats)?this.repeats=T.MAX_SIZE:this.repeats*=e}if(this.numRegexp<Math.floor(T.MAX_SIZE/this.repeats))return;this.size=new Map;for(var e of this.stack)this.checkSize(e)}if(this.calcSize(t,!0)>T.MAX_SIZE)throw new nm(T.ERR_LARGE)}calcSize(e,t=!1){if(!t&&null!==this.size&&this.size.has(e))return this.size.get(e);let r=0;switch(e.op){case I.Op.LITERAL:r=e.runes.length;break;case I.Op.PLB:case I.Op.NLB:case I.Op.CAPTURE:case I.Op.STAR:r=2+this.calcSize(e.subs[0]);break;case I.Op.PLUS:case I.Op.QUEST:r=1+this.calcSize(e.subs[0]);break;case I.Op.CONCAT:for(var n of e.subs)r+=this.calcSize(n);break;case I.Op.ALTERNATE:for(var i of e.subs)r+=this.calcSize(i);1<e.subs.length&&(r=r+e.subs.length-1);break;case I.Op.REPEAT:var s=this.calcSize(e.subs[0]);-1!==e.max?r=e.max*s+(e.max-e.min):r=0===e.min?2+s:1+e.min*s}return r=Math.max(1,r),null===this.size&&(this.size=new Map),this.size.set(e,r),r}checkHeight(e){if(!(this.numRegexp<T.MAX_HEIGHT)){if(null===this.height){this.height=new Map;for(var t of this.stack)this.checkHeight(t)}if(this.calcHeight(e,!0)>T.MAX_HEIGHT)throw new nm(T.ERR_NESTING_DEPTH)}}calcHeight(e,t=!1){if(!t&&null!==this.height&&this.height.has(e))return this.height.get(e);let r=1;for(var n of e.subs){n=this.calcHeight(n);r<1+n&&(r=1+n)}return null===this.height&&(this.height=new Map),this.height.set(e,r),r}pop(){return this.stack.pop()}popToPseudo(){var e=this.stack.length;let t=e;for(;0<t&&!I.isPseudoOp(this.stack[t-1].op);)t--;e=this.stack.slice(t,e);return this.stack=this.stack.slice(0,t),e}push(e){if(this.numRunes+=e.runes.length,e.op===I.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]===e.runes[1]){if(this.maybeConcat(e.runes[0],-2&this.flags))return null;e.op=I.Op.LITERAL,e.runes=[e.runes[0]],e.flags=-2&this.flags}else if(e.op===I.Op.CHAR_CLASS&&4===e.runes.length&&e.runes[0]===e.runes[1]&&e.runes[2]===e.runes[3]&&w.simpleFold(e.runes[0])===e.runes[2]&&w.simpleFold(e.runes[2])===e.runes[0]||e.op===I.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]+1===e.runes[1]&&w.simpleFold(e.runes[0])===e.runes[1]&&w.simpleFold(e.runes[1])===e.runes[0]){if(this.maybeConcat(e.runes[0],this.flags|E.FOLD_CASE))return null;e.op=I.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags|E.FOLD_CASE}else this.maybeConcat(-1,0);return this.stack.push(e),this.checkLimits(e),e}maybeConcat(e,t){var r=this.stack.length;if(!(r<2)){var n=this.stack[r-1],r=this.stack[r-2];if(n.op===I.Op.LITERAL&&r.op===I.Op.LITERAL&&(n.flags&E.FOLD_CASE)==(r.flags&E.FOLD_CASE)){if(r.runes=T.concatRunes(r.runes,n.runes),0<=e)return n.runes=[e],n.flags=t,!0;this.pop(),this.reuse(n)}}return!1}newLiteral(e,t){var r=this.newRegexp(I.Op.LITERAL);return 0!=((r.flags=t)&E.FOLD_CASE)&&(e=T.minFoldRune(e)),r.runes=[e],r}literal(e){this.push(this.newLiteral(e,this.flags))}op(e){var t=this.newRegexp(e);return t.flags=this.flags,this.push(t)}repeat(e,t,r,n,i,s){let a=this.flags;if(0!=(a&E.PERL_X)&&(i.more()&&i.lookingAt("?")&&(i.skip(1),a^=E.NON_GREEDY),-1!==s))throw new nm(T.ERR_INVALID_REPEAT_OP,i.from(s));var o=this.stack.length;if(0===o)throw new nm(T.ERR_MISSING_REPEAT_ARGUMENT,i.from(n));var l=this.stack[o-1];if(I.isPseudoOp(l.op))throw new nm(T.ERR_MISSING_REPEAT_ARGUMENT,i.from(n));var h=this.newRegexp(e);if(h.min=t,h.max=r,h.flags=a,h.subs=[l],this.stack[o-1]=h,this.checkLimits(h),e===I.Op.REPEAT&&(2<=t||2<=r)&&!this.repeatIsValid(h,1e3))throw new nm(T.ERR_INVALID_REPEAT_SIZE,i.from(n))}repeatIsValid(t,r){if(t.op===I.Op.REPEAT){let e=t.max;if(0===e)return!0;if((e=e<0?t.min:e)>r)return!1;0<e&&(r=Math.trunc(r/e))}for(var e of t.subs)if(!this.repeatIsValid(e,r))return!1;return!0}concat(){this.maybeConcat(-1,0);var e=this.popToPseudo();return 0===e.length?this.push(this.newRegexp(I.Op.EMPTY_MATCH)):this.push(this.collapse(e,I.Op.CONCAT))}alternate(){var e=this.popToPseudo();return 0<e.length&&this.cleanAlt(e[e.length-1]),0===e.length?this.push(this.newRegexp(I.Op.NO_MATCH)):this.push(this.collapse(e,I.Op.ALTERNATE))}cleanAlt(e){e.op===I.Op.CHAR_CLASS&&(e.runes=new Vm(e.runes).cleanClass().toArray(),2===e.runes.length&&0===e.runes[0]&&e.runes[1]===w.MAX_RUNE?(e.runes=[],e.op=I.Op.ANY_CHAR):4===e.runes.length&&0===e.runes[0]&&e.runes[1]===y.CODES.get("\n")-1&&e.runes[2]===y.CODES.get("\n")+1&&e.runes[3]===w.MAX_RUNE&&(e.runes=[],e.op=I.Op.ANY_CHAR_NOT_NL))}collapse(e,t){if(1===e.length)return e[0];let r=0;for(var n of e)r+=n.op===t?n.subs.length:1;var i,s,a=new Array(r).fill(null);let o=0;for(i of e)if(i.op===t){for(let e=0;e<i.subs.length;e++)a[o++]=i.subs[e];this.reuse(i)}else a[o++]=i;let l=this.newRegexp(t);return l.subs=a,t===I.Op.ALTERNATE&&(l.subs=this.factor(l.subs),1===l.subs.length)&&(l=(s=l).subs[0],this.reuse(s)),l}factor(i){if(i.length<2)return i;let s=0,a=i.length,o=0,l=null,h=0,u=0,c=0;for(let _=0;_<=a;_++){let t=null,r=0,n=0;if(_<a){let e=i[s+_];if((e=e.op===I.Op.CONCAT&&0<e.subs.length?e.subs[0]:e).op===I.Op.LITERAL&&(t=e.runes,r=e.runes.length,n=e.flags&E.FOLD_CASE),n===u){let e=0;for(;e<h&&e<r&&l[e]===t[e];)e++;if(0<e){h=e;continue}}}if(_!==c)if(_===c+1)i[o++]=i[s+c];else{var d=this.newRegexp(I.Op.LITERAL);d.flags=u,d.runes=l.slice(0,h);for(let e=c;e<_;e++)i[s+e]=this.removeLeadingString(i[s+e],h),this.checkLimits(i[s+e]);var B=this.collapse(i.slice(s+c,s+_),I.Op.ALTERNATE),p=this.newRegexp(I.Op.CONCAT);p.subs=[d,B],i[o++]=p}c=_,l=t,h=r,u=n}a=o,s=0,c=0;let t=null;for(let y=o=0;y<=a;y++){let e=null;if(!(y<a&&(e=T.leadingRegexp(i[s+y]),null!==t)&&t.equals(e)&&(T.isCharClass(t)||t.op===I.Op.REPEAT&&t.min===t.max&&T.isCharClass(t.subs[0])))){if(y!==c)if(y===c+1)i[o++]=i[s+c];else{var r=t;for(let e=c;e<y;e++){var n=e!==c;i[s+e]=this.removeLeadingRegexp(i[s+e],n),this.checkLimits(i[s+e])}var g=this.collapse(i.slice(s+c,s+y),I.Op.ALTERNATE),f=this.newRegexp(I.Op.CONCAT);f.subs=[r,g],i[o++]=f}c=y,t=e}}a=o,s=0,c=0;for(let w=o=0;w<=a;w++)if(!(w<a&&T.isCharClass(i[s+w]))){if(w!==c){if(w!==c+1){let e=c;for(let t=c+1;t<w;t++){var m=i[s+e],C=i[s+t];(m.op<C.op||m.op===C.op&&(null!==m.runes?m.runes.length:0)<(null!==C.runes?C.runes.length:0))&&(e=t)}var v=i[s+c];i[s+c]=i[s+e],i[s+e]=v;for(let r=c+1;r<w;r++)T.mergeCharClass(i[s+c],i[s+r]),this.reuse(i[s+r]);this.cleanAlt(i[s+c])}i[o++]=i[s+c]}w<a&&(i[o++]=i[s+w]),c=w+1}a=o,s=0,c=0;for(let e=o=0;e<a;++e)e+1<a&&i[s+e].op===I.Op.EMPTY_MATCH&&i[s+e+1].op===I.Op.EMPTY_MATCH||(i[o++]=i[s+e]);return a=o,s=0,i.slice(s,a)}removeLeadingString(e,t){if(e.op===I.Op.CONCAT&&0<e.subs.length){var r=this.removeLeadingString(e.subs[0],t);if((e.subs[0]=r).op===I.Op.EMPTY_MATCH)switch(this.reuse(r),e.subs.length){case 0:case 1:e.op=I.Op.EMPTY_MATCH,e.subs=I.emptySubs();break;case 2:var n=e;e=e.subs[1],this.reuse(n);break;default:e.subs=e.subs.slice(1,e.subs.length)}}else e.op===I.Op.LITERAL&&(e.runes=e.runes.slice(t,e.runes.length),0===e.runes.length)&&(e.op=I.Op.EMPTY_MATCH);return e}removeLeadingRegexp(e,t){if(e.op===I.Op.CONCAT&&0<e.subs.length){switch(t&&this.reuse(e.subs[0]),e.subs=e.subs.slice(1,e.subs.length),e.subs.length){case 0:e.op=I.Op.EMPTY_MATCH,e.subs=I.emptySubs();break;case 1:var r=e;e=e.subs[0],this.reuse(r)}return e}return t&&this.reuse(e),this.newRegexp(I.Op.EMPTY_MATCH)}parseInternal(){if(0!=(this.flags&E.LITERAL))return T.literalRegexp(this.wholeRegexp,this.flags);let r=-1,n=-1,i=-1;for(var s=new qm(this.wholeRegexp);s.more();){let t=-1;e:switch(s.peek()){case y.CODES.get("("):if(0!=(this.flags&E.LOOKBEHIND)){if(s.lookingAt("(?<=")){this.parsePosLookBehind(),s.skip(4);break}if(s.lookingAt("(?<!")){this.parseNegLookBehind(),s.skip(4);break}}0!=(this.flags&E.PERL_X)&&s.lookingAt("(?")?this.parsePerlFlags(s):(this.op(I.Op.LEFT_PAREN).cap=++this.numCap,s.skip(1));break;case y.CODES.get("|"):this.parseVerticalBar(),s.skip(1);break;case y.CODES.get(")"):this.parseRightParen(),s.skip(1);break;case y.CODES.get("^"):0!=(this.flags&E.ONE_LINE)?this.op(I.Op.BEGIN_TEXT):this.op(I.Op.BEGIN_LINE),s.skip(1);break;case y.CODES.get("$"):0!=(this.flags&E.ONE_LINE)?this.op(I.Op.END_TEXT).flags|=E.WAS_DOLLAR:this.op(I.Op.END_LINE),s.skip(1);break;case y.CODES.get("."):0!=(this.flags&E.DOT_NL)?this.op(I.Op.ANY_CHAR):this.op(I.Op.ANY_CHAR_NOT_NL),s.skip(1);break;case y.CODES.get("["):this.parseClass(s);break;case y.CODES.get("*"):case y.CODES.get("+"):case y.CODES.get("?"):{t=s.pos();let e=null;switch(s.pop()){case y.CODES.get("*"):e=I.Op.STAR;break;case y.CODES.get("+"):e=I.Op.PLUS;break;case y.CODES.get("?"):e=I.Op.QUEST}this.repeat(e,n,i,t,s,r);break}case y.CODES.get("{"):t=s.pos();var e=T.parseRepeat(s);e<0?(s.rewindTo(t),this.literal(s.pop())):(n=e>>16,i=(e&w.MAX_BMP)<<16>>16,this.repeat(I.Op.REPEAT,n,i,t,s,r));break;case y.CODES.get("\\"):var a=s.pos();if(s.skip(1),0!=(this.flags&E.PERL_X)&&s.more())switch(s.pop()){case y.CODES.get("A"):this.op(I.Op.BEGIN_TEXT);break e;case y.CODES.get("b"):this.op(I.Op.WORD_BOUNDARY);break e;case y.CODES.get("B"):this.op(I.Op.NO_WORD_BOUNDARY);break e;case y.CODES.get("C"):throw new nm(T.ERR_INVALID_ESCAPE,"\\C");case y.CODES.get("Q"):{let e=s.rest();var o=e.indexOf("\\E");0<=o?(e=e.substring(0,o),s.skipString(e),s.skipString("\\E")):s.skipString(e);let t=0;for(;t<e.length;){var l=e.codePointAt(t);this.literal(l),t+=D.charCount(l)}break e}case y.CODES.get("z"):this.op(I.Op.END_TEXT);break e;default:s.rewindTo(a)}else s.rewindTo(a);var h=this.newRegexp(I.Op.CHAR_CLASS);if(h.flags=this.flags,s.lookingAt("\\p")||s.lookingAt("\\P")){e=new Vm;if(this.parseUnicodeClass(s,e)){h.runes=e.toArray(),this.push(h);break}}var u=new Vm;this.parsePerlClassEscape(s,u)?(h.runes=u.toArray(),this.push(h)):(s.rewindTo(a),this.reuse(h),this.literal(T.parseEscape(s)));break;default:this.literal(s.pop())}r=t}if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),1!==this.stack.length)throw new nm(T.ERR_MISSING_PAREN,this.wholeRegexp);return this.stack[0].namedGroups=this.namedGroups,this.stack[0]}parsePerlFlags(n){var i=n.pos(),e=n.rest();if(!e.startsWith("(?P<")&&!e.startsWith("(?<")){n.skip(2);let e=this.flags,t=1,r=!1;e:for(;n.more();){var s=n.pop();switch(s){case y.CODES.get("i"):e|=E.FOLD_CASE,r=!0;break;case y.CODES.get("m"):e&=-17,r=!0;break;case y.CODES.get("s"):e|=E.DOT_NL,r=!0;break;case y.CODES.get("U"):e|=E.NON_GREEDY,r=!0;break;case y.CODES.get("-"):if(t<0)break e;t=-1,e=~e,r=!1;break;case y.CODES.get(":"):case y.CODES.get(")"):if(t<0){if(!r)break e;e=~e}return s===y.CODES.get(":")&&this.op(I.Op.LEFT_PAREN),void(this.flags=e);default:break e}}throw new nm(T.ERR_INVALID_PERL_OP,n.from(i))}var i="P"===e.charAt(2)?4:3,t=e.indexOf(">");if(t<0)throw new nm(T.ERR_INVALID_NAMED_CAPTURE,e);var r=e.substring(i,t);if(n.skipString(r),n.skip(1+i),!T.isValidCaptureName(r))throw new nm(T.ERR_INVALID_NAMED_CAPTURE,e.substring(0,t+1));i=this.op(I.Op.LEFT_PAREN);if(i.cap=++this.numCap,this.namedGroups[r])throw new nm(T.ERR_DUPLICATE_NAMED_CAPTURE,r);this.namedGroups[r]=this.numCap,i.name=r}parsePosLookBehind(){var e=this.newRegexp(I.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=++this.nlb,this.push(e)}parseNegLookBehind(){var e=this.newRegexp(I.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=-++this.nlb,this.push(e)}parseVerticalBar(){this.concat(),this.swapVerticalBar()||this.op(I.Op.VERTICAL_BAR)}swapVerticalBar(){var r=this.stack.length;if(3<=r&&this.stack[r-2].op===I.Op.VERTICAL_BAR&&T.isCharClass(this.stack[r-1])&&T.isCharClass(this.stack[r-3])){let e=this.stack[r-1],t=this.stack[r-3];return e.op>t.op&&(n=t,t=e,e=n,this.stack[r-3]=t),T.mergeCharClass(t,e),this.reuse(e),this.pop(),!0}if(2<=r){var n=this.stack[r-1],e=this.stack[r-2];if(e.op===I.Op.VERTICAL_BAR)return 3<=r&&this.cleanAlt(this.stack[r-3]),this.stack[r-2]=n,this.stack[r-1]=e,!0}return!1}parseRightParen(){if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),this.stack.length<2)throw new nm(T.ERR_UNEXPECTED_PAREN,this.wholeRegexp);var e=this.pop(),t=this.pop();if(t.op!==I.Op.LEFT_PAREN)throw new nm(T.ERR_UNEXPECTED_PAREN,this.wholeRegexp);if(this.flags=t.flags,0!==t.lb){if(T.hasCapture(e))throw new nm(T.ERR_INVALID_CAPTURE_IN_LOOKBEHIND,this.wholeRegexp);0<t.lb?t.op=I.Op.PLB:t.op=I.Op.NLB,t.subs=[e],this.push(t)}else 0===t.cap?this.push(e):(t.op=I.Op.CAPTURE,t.subs=[e],this.push(t))}parsePerlClassEscape(e,t){var r=e.pos();if(0==(this.flags&E.PERL_X)||!e.more()||e.pop()!==y.CODES.get("\\")||!e.more())return!1;e.pop();r=e.from(r),r=Sm.has(r)?Sm.get(r):null;return null!==r&&(t.appendGroup(r,0!=(this.flags&E.FOLD_CASE)),!0)}parseNamedClass(e,t){var r=e.rest(),n=r.indexOf(":]");if(n<0)return!1;r=r.substring(0,n+2),e.skipString(r),n=Um.has(r)?Um.get(r):null;if(null===n)throw new nm(T.ERR_INVALID_CHAR_RANGE,r);return t.appendGroup(n,0!=(this.flags&E.FOLD_CASE)),!0}parseUnicodeClass(e,t){var r=e.pos();if(0==(this.flags&E.UNICODE_GROUPS)||!e.lookingAt("\\p")&&!e.lookingAt("\\P"))return!1;e.skip(1);let n=1;if(e.pop()===y.CODES.get("P")&&(n=-1),!e.more())throw e.rewindTo(r),new nm(T.ERR_INVALID_CHAR_RANGE,e.rest());let i;if((s=e.pop())!==y.CODES.get("{"))i=D.runeToString(s);else{var s=e.rest(),a=s.indexOf("}");if(a<0)throw e.rewindTo(r),new nm(T.ERR_INVALID_CHAR_RANGE,e.rest());i=s.substring(0,a),e.skipString(i),e.skip(1)}0!==i.length&&i.codePointAt(0)===y.CODES.get("^")&&(n=0-n,i=i.substring(1));s=T.unicodeTable(i);if(null===s)throw new nm(T.ERR_INVALID_CHAR_RANGE,e.from(r));s.sign<0&&(n=0-n);a=s.tab,r=s.fold;return 0==(this.flags&E.FOLD_CASE)||null===r?t.appendTableWithSign(a,n):(s=(new Vm).appendTable(a).appendTable(r).cleanClass().toArray(),t.appendClassWithSign(s,n)),!0}parseClass(t){var r=t.pos(),e=(t.skip(1),this.newRegexp(I.Op.CHAR_CLASS)),n=(e.flags=this.flags,new Vm);let i=1,s=(t.more()&&t.lookingAt("^")&&(i=-1,t.skip(1),0==(this.flags&E.CLASS_NL))&&n.appendRange(y.CODES.get("\n"),y.CODES.get("\n")),!0);for(;!t.more()||t.peek()!==y.CODES.get("]")||s;){if(t.more()&&t.lookingAt("-")&&0==(this.flags&E.PERL_X)&&!s){var a=t.rest();if("-"===a||!a.startsWith("-]"))throw t.rewindTo(r),new nm(T.ERR_INVALID_CHAR_RANGE,t.rest())}s=!1;a=t.pos();if(t.lookingAt("[:")){if(this.parseNamedClass(t,n))continue;t.rewindTo(a)}if(!this.parseUnicodeClass(t,n)&&!this.parsePerlClassEscape(t,n)){t.rewindTo(a);var o=T.parseClassChar(t,r);let e=o;if(t.more()&&t.lookingAt("-"))if(t.skip(1),t.more()&&t.lookingAt("]"))t.skip(-1);else if((e=T.parseClassChar(t,r))<o)throw new nm(T.ERR_INVALID_CHAR_RANGE,t.from(a));0==(this.flags&E.FOLD_CASE)?n.appendRange(o,e):n.appendFoldedRange(o,e)}}t.skip(1),n.cleanClass(),i<0&&n.negateClass(),e.runes=n.toArray(),this.push(e)}},jm=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}compareAndSet(e,t){return this.value===e&&(this.value=t,!0)}},Km=class Km{static initTest(e){var t=Km.compile(e),r=new Km(t.expr,t.prog,t.numSubexp,t.longest);return r.cond=t.cond,r.prefix=t.prefix,r.prefixUTF8=t.prefixUTF8,r.prefixComplete=t.prefixComplete,r.prefixRune=t.prefixRune,r.prefilter=t.prefilter,r}static compile(e){return Km.compileImpl(e,E.PERL,!1)}static compilePOSIX(e){return Km.compileImpl(e,E.POSIX,!0)}static compileImpl(e,t,r){let n=T.parse(e,t);var i=n.maxCap(),s=(n=Tm.simplify(n),wm.build(n)),a=Im.compileRegexp(n),i=new Km(e,a,i,r),[s,a]=(i.prefilter=s.type===c.Type.NONE?null:s,a.prefix());return i.prefixComplete=s,i.prefix=a,i.prefixUTF8=D.stringToUtf8ByteArray(i.prefix),0<i.prefix.length&&(i.prefixRune=i.prefix.codePointAt(0)),i.namedGroups=n.namedGroups,i}static match(e,t){return Km.compile(e).match(t)}constructor(e,t,r=0,n=0){this.expr=e,this.prog=t,this.numSubexp=r,this.longest=n,this.cond=t.startCond(),this.prefix=null,this.prefixUTF8=null,this.prefixComplete=!1,this.prefixRune=0,this.pooled=new jm,this.dfa=new pm(this.prog),this.onepass=_m.compile(this.prog),this.prefilter=null}matchPrefixComplete(e,t,r,n){if((r===E.ANCHOR_START||r===E.ANCHOR_BOTH)&&0!==t)return null;let i=-1,s=-1;var a=e.prefixLength(this);if(r===E.UNANCHORED){var o=e.index(this,t);if(o<0)return null;i=t+o,s=i+a}else if(r===E.ANCHOR_BOTH){if(e.endPos()!==a)return null;if(0!==e.index(this,0))return null;i=0,s=a}else if(r===E.ANCHOR_START){if(0!==e.index(this,0))return null;i=0,s=a}return i<0?null:0<n?((o=new Int32Array(n).fill(-1))[0]=i,o[1]=s,Array.from(o)):[]}executeEngine(e,t,r,n){if(this.prefixComplete&&(0===n||0===this.numSubexp))return this.matchPrefixComplete(e,t,r,n);if(null!==this.prefilter&&r===E.UNANCHORED&&!this.prefilter.eval(e,t))return null;if(null!==this.onepass)return _m.execute(this,e,t,r,n);if(0<n)return 0===this.prog.numLb&&e.endPos()<=mm.maxBitStateLen(this.prog)?mm.execute(this,e,t,r,n):this.doExecuteNFA(e,t,r,n);if(0===this.prog.numLb){var i=this.dfa.match(e,t,r);if(null!==i)return i?[]:null;if(e.endPos()<=mm.maxBitStateLen(this.prog))return mm.execute(this,e,t,r,n)}return this.doExecuteNFA(e,t,r,n)}numberOfCapturingGroups(){return this.numSubexp}numberOfInstructions(){return this.prog.numInst()}get(){let e;for(;(e=this.pooled.get())&&!this.pooled.compareAndSet(e,e.next););return e}reset(){this.pooled.set(null)}put(e,t){var r;for(this.pooled.get();r=this.pooled.get(),!t&&r&&(e=cm.fromMachine(e),t=!0),e.next!==r&&(e.next=r),!this.pooled.compareAndSet(r,e););}toString(){return this.expr}doExecuteNFA(e,t,r,n){let i=this.get(),s=!1;i?null!==i.next&&(i=cm.fromMachine(i),s=!0):(i=cm.fromRE2(this),s=!0),i.init(n);var a=i.match(e,t,r)?i.submatches():null;return this.put(i,s),a}match(e){return null!==this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,0)}matchWithGroup(e,t,r,n,i){return e instanceof Qf||(e=D.isByteArray(e)?Xf.utf8(e):Xf.utf16(e)),this.matchMachineInput(e,t,r,n,i)}matchMachineInput(e,t,r,n,i){var s;return r<t||(s=e.isUTF16Encoding()?rm.fromUTF16(e.asCharSequence(),0,r):rm.fromUTF8(e.asBytes(),0,r),null===(s=this.executeEngine(s,t,n,2*i)))?[!1,null]:[!0,s]}matchUTF8(e){return null!==this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,0)}replaceAll(e,t){return this.replaceAllFunc(e,()=>t,2*e.length+1)}replaceFirst(e,t){return this.replaceAllFunc(e,()=>t,1)}replaceAllFunc(e,t,r){let n=0,i=0,s="";var a=rm.fromUTF16(e);let o=0;for(;i<=e.length;){var l=this.executeEngine(a,i,E.UNANCHORED,2);if(null===l||0===l.length)break;s+=e.substring(n,l[0]),(l[1]>n||0===l[0])&&(s+=t(e.substring(l[0],l[1])),o++),n=l[1];var h=7&a.step(i);if(i+h>l[1]?i+=h:i+1>l[1]?i++:i=l[1],o>=r)break}return s+=e.substring(n)}pad(t){if(null===t)return null;var r=2*(1+this.numSubexp);if(t.length<r){var n=new Array(r).fill(-1);for(let e=0;e<t.length;e++)n[e]=t[e];t=n}return t}allMatches(t,e,r=e=>e){var n=[],i=t.endPos();e<0&&(e=i+1);let s=0,a=0,o=-1;for(;a<e&&s<=i;){var l,h=this.executeEngine(t,s,E.UNANCHORED,this.prog.numCap);if(null===h||0===h.length)break;let e=!0;h[1]===s?(h[0]===o&&(e=!1),(l=t.step(s))<0?s=i+1:s+=7&l):s=h[1],o=h[1],e&&(n.push(r(this.pad(h))),a++)}return n}findUTF8(e){var t=this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,2);return null===t?null:e.slice(t[0],t[1])}findUTF8Index(e){var t=this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,2);return null===t?null:t.slice(0,2)}find(e){var t=this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,2);return null===t?"":e.substring(t[0],t[1])}findIndex(e){return this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,2)}findUTF8Submatch(e){var t=this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,this.prog.numCap);if(null===t)return null;var r=new Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&0<=t[2*n]&&(r[n]=e.slice(t[2*n],t[2*n+1]));return r}findUTF8SubmatchIndex(e){return this.pad(this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,this.prog.numCap))}findSubmatch(e){var t=this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,this.prog.numCap);if(null===t)return null;var r=new Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&0<=t[2*n]&&(r[n]=e.substring(t[2*n],t[2*n+1]));return r}findSubmatchIndex(e){return this.pad(this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,this.prog.numCap))}findAllUTF8(t,e){var r=this.allMatches(rm.fromUTF8(t),e,e=>t.slice(e[0],e[1]));return 0===r.length?null:r}findAllUTF8Index(e,t){var r=this.allMatches(rm.fromUTF8(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAll(t,e){var r=this.allMatches(rm.fromUTF16(t),e,e=>t.substring(e[0],e[1]));return 0===r.length?null:r}findAllIndex(e,t){var r=this.allMatches(rm.fromUTF16(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAllUTF8Submatch(n,e){var t=this.allMatches(rm.fromUTF8(n),e,e=>{var t=new Array(e.length/2|0).fill(null);for(let r=0;r<t.length;r++)0<=e[2*r]&&(t[r]=n.slice(e[2*r],e[2*r+1]));return t});return 0===t.length?null:t}findAllUTF8SubmatchIndex(e,t){var r=this.allMatches(rm.fromUTF8(e),t);return 0===r.length?null:r}findAllSubmatch(n,e){var t=this.allMatches(rm.fromUTF16(n),e,e=>{var t=new Array(e.length/2|0).fill(null);for(let r=0;r<t.length;r++)0<=e[2*r]&&(t[r]=n.substring(e[2*r],e[2*r+1]));return t});return 0===t.length?null:t}findAllSubmatchIndex(e,t){var r=this.allMatches(rm.fromUTF16(e),t);return 0===r.length?null:r}},zm=class zm{static isHexadecimal(e){return"0"<=e&&e<="9"||"A"<=e&&e<="F"||"a"<=e&&e<="f"}static translate(i){let e="";if(i instanceof RegExp&&(i.ignoreCase&&(e+="i"),i.multiline&&(e+="m"),i.dotAll&&(e+="s"),i=i.source),"string"!=typeof i)return i;let s="",a=!1;var o=i.length;0===o&&(s="(?:)",a=!0);let t=!1,l=0;for(;l<o;){let e=i[l];if("\\"===e){if(l+1<o)switch(e=i[l+1]){case"\\":s+="\\\\",l+=2;continue;case"c":if(l+2<o){var r=i[l+2].charCodeAt(0);if(65<=r&&r<=90||97<=r&&r<=122){r=r%32;s=(s=(s+="\\x")+(r>>4).toString(16).toUpperCase())+(15&r).toString(16).toUpperCase(),l+=3,a=!0;continue}}s+="c",l+=2,a=!0;continue;case"u":if(l+2<o)if("{"===i[l+2]){let e=l+3,t=!1,r=!1;for(;e<o;){var n=i[e];if("}"===n){r=!0;break}if(!zm.isHexadecimal(n))break;t=!0,e++}if(r&&t){s+="\\x",l+=2,a=!0;continue}}else if(l+5<o){let e=!0;for(let t=0;t<4;t++)if(!zm.isHexadecimal(i[l+2+t])){e=!1;break}if(e){s+="\\x{"+i.substring(l+2,l+6)+"}",l+=6,a=!0;continue}}s+="u",l+=2,a=!0;continue;case"x":{let n=!1;if(l+2<o&&"{"===i[l+2]){let e=l+3,t=!1,r=!1;for(;e<o;){var h=i[e];if("}"===h){r=!0;break}if(!zm.isHexadecimal(h))break;t=!0,e++}r&&t&&(n=!0)}else l+3<o&&zm.isHexadecimal(i[l+2])&&zm.isHexadecimal(i[l+3])&&(n=!0);n?(s+="\\x",l+=2):(s+="x",l+=2,a=!0);continue}case"n":case"r":case"t":case"a":case"f":case"v":case"d":case"D":case"s":case"S":case"w":case"W":case"b":case"B":case"p":case"P":case"A":case"z":case"Q":case"E":case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":s+="\\"+e,l+=2;continue;default:var u,r=i.codePointAt(l+1);48<=r&&r<=57||65<=r&&r<=90||97<=r&&r<=122?(u=D.charCount(r),s+=i.substring(l+1,l+1+u),l+=u+1,a=!0):(s+="\\",u=D.charCount(r),s+=i.substring(l+1,l+1+u),l+=u+1);continue}}else{if("/"===e){s+="\\/",l+=1,a=!0;continue}if("["===e)t=!0;else if("]"===e)t=!1;else if(!t&&"("===e&&l+2<o&&"?"===i[l+1]&&"<"===i[l+2]&&l+3<o&&!"=!>)".includes(i[l+3])){s+="(?P<",l+=3,a=!0;continue}}var c=i.codePointAt(l),c=D.charCount(c);s+=i.substring(l,l+c),l+=c}var d=a?s:i;return 0<e.length?`(?${e})`+d:d}},Jm=class Jm{static CASE_INSENSITIVE=Of;static DOTALL=Pf;static MULTILINE=xf;static DISABLE_UNICODE_GROUPS=Ff;static LONGEST_MATCH=Lf;static LOOKBEHINDS=Mf;static quote(e){return D.quoteMeta(e)}static quoteReplacement(e,t=!1){return lm.quoteReplacement(e,t)}static translateRegExp(e){return zm.translate(e)}static compile(e,t=0){let r=e;if(0!=(t&Jm.CASE_INSENSITIVE)&&(r="(?i)"+r),0!=(t&Jm.DOTALL)&&(r="(?s)"+r),0!=(t&Jm.MULTILINE)&&(r="(?m)"+r),0!=(-544&t))throw new am("Flags should only be a combination of MULTILINE, DOTALL, CASE_INSENSITIVE, DISABLE_UNICODE_GROUPS, LONGEST_MATCH, LOOKBEHINDS");let n=E.PERL;0!=(t&Jm.DISABLE_UNICODE_GROUPS)&&(n&=-129),0!=(t&Jm.LOOKBEHINDS)&&(n|=E.LOOKBEHIND);var i=new Jm(e,t);return i.re2Input=Km.compileImpl(r,n,0!=(t&Jm.LONGEST_MATCH)),i}static matches(e,t){return Jm.compile(e).testExact(t)}static initTest(e,t,r){if(null==e)throw new Error("pattern is null");if(null==r)throw new Error("re2 is null");var n=new Jm(e,t);return n.re2Input=r,n}constructor(e,t){this.patternInput=e,this.flagsInput=t,this.re2Input=null}reset(){this.re2Input.reset()}flags(){return this.flagsInput}pattern(){return this.patternInput}re2(){return this.re2Input}matches(e){return this.testExact(e)}matcher(e){return D.isByteArray(e)&&(e=Xf.utf8(e)),new lm(this,e)}test(e){return D.isByteArray(e)?this.re2Input.matchUTF8(e):this.re2Input.match(e)}testExact(e){var t=D.isByteArray(e)?rm.fromUTF8(e):rm.fromUTF16(e);return null!==this.re2Input.executeEngine(t,0,E.ANCHOR_BOTH,0)}split(e,t=0){var r=this.matcher(e),n=[];let i=0,s=0;for(;r.find();){if(0===s&&0===r.end());else{if(0<t&&n.length===t-1)break;if(s===r.start()){if(0===t){i+=1,s=r.end();continue}}else for(;0<i;)n.push(""),--i;n.push(r.substring(s,r.start()))}s=r.end()}if(0===t&&s!==r.inputLength()){for(;0<i;)n.push(""),--i;n.push(r.substring(s,r.inputLength()))}return 0===t&&0!==n.length||n.push(r.substring(s,r.inputLength())),n}*matchAll(t){for(var r=this.matcher(t);r.find();){var n=[r.group(0)];for(let e=1;e<=r.groupCount();e++){var i=r.group(e);n.push(null===i?void 0:i)}n.index=r.start(0),n.input=t;var s=this.namedGroups();if(0<Object.keys(s).length){var a,o=r.getNamedGroups();for(a in o)null===o[a]&&(o[a]=void 0);n.groups=o}else n.groups=void 0;yield n}}toString(){return this.patternInput}programSize(){return this.re2Input.numberOfInstructions()}groupCount(){return this.re2Input.numberOfCapturingGroups()}namedGroups(){return this.re2Input.namedGroups}equals(e){return this===e||null!==e&&this.constructor===e.constructor&&this.flagsInput===e.flagsInput&&this.patternInput===e.patternInput}};let Wm="12.17.0";let Qm=new $e("@firebase/firestore");function Ym(){return Qm.logLevel}function p(e,...t){var r;Qm.logLevel<=B.DEBUG&&(r=t.map(Zm),Qm.debug(`Firestore (${Wm}): `+e,...r))}function $m(e,...t){var r;Qm.logLevel<=B.ERROR&&(r=t.map(Zm),Qm.error(`Firestore (${Wm}): `+e,...r))}function Xm(e,...t){var r;Qm.logLevel<=B.WARN&&(r=t.map(Zm),Qm.warn(`Firestore (${Wm}): `+e,...r))}function Zm(t){if("string"==typeof t)return t;try{return JSON.stringify(t)}catch(e){return t}}function S(e,t,r){let n="Unexpected state";"string"==typeof t?n=t:r=t,eC(e,n,r)}function eC(e,t,r){let n=`FIRESTORE (${Wm}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==r)try{n+=" CONTEXT: "+JSON.stringify(r)}catch(e){n+=" CONTEXT: "+r}throw $m(n),new Error(n)}function k(e,t,r,n){let i="Unexpected state";"string"==typeof r?i=r:n=r,e||eC(t,i,n)}class tC{static newId(){var t=62*Math.floor(256/62);let r="";for(;r.length<20;){var n=(t=>{var r="undefined"!=typeof self&&(self.crypto||self.msCrypto),n=new Uint8Array(t);if(r&&"function"==typeof r.getRandomValues)r.getRandomValues(n);else for(let e=0;e<t;e++)n[e]=Math.floor(256*Math.random());return n})(40);for(let e=0;e<n.length;++e)r.length<20&&n[e]<t&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(n[e]%62))}return r}}function N(e,t){return e<t?-1:t<e?1:0}function rC(r,n){let e=Math.min(r.length,n.length);for(let i=0;i<e;i++){let e=r.charAt(i),t=n.charAt(i);if(e!==t)return sC(e)===sC(t)?N(e,t):sC(e)?1:-1}return N(r.length,n.length)}let nC=55296,iC=57343;function sC(e){var t=e.charCodeAt(0);return t>=nC&&t<=iC}function aC(e,r,n){return e.length===r.length&&e.every((e,t)=>n(e,r[t]))}function oC(e){return e+"\0"}class lC{constructor(e,t){this.comparator=e,this.root=t||uC.EMPTY}insert(e,t){return new lC(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,uC.BLACK,null,null))}remove(e){return new lC(this.comparator,this.root.remove(e,this.comparator).copy(null,null,uC.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){var r=this.comparator(e,t.key);if(0===r)return t.value;r<0?t=t.left:0<r&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){var n=this.comparator(e,r.key);if(0===n)return t+r.left.size;r=n<0?r.left:(t+=r.left.size+1,r.right)}return-1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(r){this.inorderTraversal((e,t)=>(r(e,t),!1))}toString(){let r=[];return this.inorderTraversal((e,t)=>(r.push(e+":"+t),!1)),`{${r.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new hC(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new hC(this.root,e,this.comparator,!1)}getReverseIterator(){return new hC(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new hC(this.root,e,this.comparator,!0)}}class hC{constructor(e,t,r,n){this.isReverse=n,this.nodeStack=[];let i=1;for(;!e.isEmpty();)if(i=t?r(e.key,t):1,t&&n&&(i*=-1),i<0)e=this.isReverse?e.left:e.right;else{if(0===i){this.nodeStack.push(e);break}this.nodeStack.push(e),e=this.isReverse?e.right:e.left}}getNext(){let e=this.nodeStack.pop();var t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return 0<this.nodeStack.length}peek(){var e;return 0===this.nodeStack.length?null:{key:(e=this.nodeStack[this.nodeStack.length-1]).key,value:e.value}}}class uC{constructor(e,t,r,n,i){this.key=e,this.value=t,this.color=null!=r?r:uC.RED,this.left=null!=n?n:uC.EMPTY,this.right=null!=i?i:uC.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,n,i){return new uC(null!=e?e:this.key,null!=t?t:this.value,null!=r?r:this.color,null!=n?n:this.left,null!=i?i:this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,r){var n=this,i=r(e,n.key);return(n=i<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===i?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp()}removeMin(){if(this.left.isEmpty())return uC.EMPTY;let e=this;return(e=(e=e.left.isRed()||e.left.left.isRed()?e:e.moveRedLeft()).copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let r,n=this;if(t(e,n.key)<0)n=(n=n.left.isEmpty()||n.left.isRed()||n.left.left.isRed()?n:n.moveRedLeft()).copy(null,null,null,n.left.remove(e,t),null);else{if(0===t(e,(n=(n=n.left.isRed()?n.rotateRight():n).right.isEmpty()||n.right.isRed()||n.right.left.isRed()?n:n.moveRedRight()).key)){if(n.right.isEmpty())return uC.EMPTY;r=n.right.min(),n=n.copy(r.key,r.value,null,null,n.right.removeMin())}n=n.copy(null,null,null,null,n.right.remove(e,t))}return n.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e=(e=(e=e.right.isRed()&&!e.left.isRed()?e.rotateLeft():e).left.isRed()&&e.left.left.isRed()?e.rotateRight():e).left.isRed()&&e.right.isRed()?e.colorFlip():e}moveRedLeft(){let e=this.colorFlip();return e=e.right.left.isRed()?(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip():e}moveRedRight(){let e=this.colorFlip();return e=e.left.left.isRed()?(e=e.rotateRight()).colorFlip():e}rotateLeft(){var e=this.copy(null,null,uC.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){var e=this.copy(null,null,uC.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){var e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){var e=this.check();return Math.pow(2,e)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw S(43730,{key:this.key,value:this.value});if(this.right.isRed())throw S(14113,{key:this.key,value:this.value});var e=this.left.check();if(e!==this.right.check())throw S(27949);return e+(this.isRed()?0:1)}}uC.EMPTY=null,uC.RED=!0,uC.BLACK=!1,uC.EMPTY=new class{constructor(){this.size=0}get key(){throw S(57766)}get value(){throw S(16141)}get color(){throw S(16727)}get left(){throw S(29726)}get right(){throw S(36894)}copy(e,t,r,n,i){return this}insert(e,t,r){return new uC(e,t)}remove(e,t){return this}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};class cC{constructor(e){this.comparator=e,this.data=new lC(this.comparator)}has(e){return null!==this.data.get(e)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(r){this.data.inorderTraversal((e,t)=>(r(e),!1))}forEachInRange(e,t){for(var r=this.data.getIteratorFrom(e[0]);r.hasNext();){var n=r.getNext();if(0<=this.comparator(n.key,e[1]))return;t(n.key)}}forEachWhile(e,t){for(var r=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){var t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new dC(this.data.getIterator())}getIteratorFrom(e){return new dC(this.data.getIteratorFrom(e))}add(e){return this.copy(this.data.remove(e).insert(e,!0))}delete(e){return this.has(e)?this.copy(this.data.remove(e)):this}isEmpty(){return this.data.isEmpty()}unionWith(e){let t=this;return t.size<e.size&&(t=e,e=this),e.forEach(e=>{t=t.add(e)}),t}isEqual(e){if(!(e instanceof cC))return!1;if(this.size!==e.size)return!1;for(var r=this.data.getIterator(),n=e.data.getIterator();r.hasNext();){let e=r.getNext().key,t=n.getNext().key;if(0!==this.comparator(e,t))return!1}return!0}toArray(){let t=[];return this.forEach(e=>{t.push(e)}),t}toString(){let t=[];return this.forEach(e=>t.push(e)),"SortedSet("+t.toString()+")"}copy(e){var t=new cC(this.comparator);return t.data=e,t}}class dC{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function BC(e){return e.hasNext()?e.getNext():void 0}let A={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"},R=class extends Be{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: `+this.message}},pC="__name__";class gC{constructor(e,t,r){void 0===t?t=0:t>e.length&&S(637,{offset:t,range:e.length}),void 0===r?r=e.length-t:r>e.length-t&&S(1746,{length:r,range:e.length-t}),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return 0===gC.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof gC?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return this.construct(this.segments,this.offset+(e=void 0===e?1:e),this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return 0===this.length}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,r){let e=Math.min(t.length,r.length);for(let n=0;n<e;n++){let e=gC.compareSegments(t.get(n),r.get(n));if(0!==e)return e}return N(t.length,r.length)}static compareSegments(e,t){var r=gC.isNumericId(e),n=gC.isNumericId(t);return r&&!n?-1:!r&&n?1:r&&n?gC.extractNumericId(e).compare(gC.extractNumericId(t)):rC(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return wf.fromString(e.substring(4,e.length-2))}}class O extends gC{construct(e,t,r){return new O(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toStringWithLeadingSlash(){return"/"+this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){var t,r=[];for(t of e){if(0<=t.indexOf("//"))throw new R(A.INVALID_ARGUMENT,`Invalid segment (${t}). Paths must not contain // in them.`);r.push(...t.split("/").filter(e=>0<e.length))}return new O(r)}static emptyPath(){return new O([])}}let fC=/^[_a-zA-Z][_a-zA-Z0-9]*$/,mC=class FR extends gC{construct(e,t,r){return new FR(e,t,r)}static isValidIdentifier(e){return fC.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e=FR.isValidIdentifier(e)?e:"`"+e+"`")).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===pC}static keyField(){return new FR([pC])}static fromServerFormat(t){let e=[],r="",n=0;var i=()=>{if(0===r.length)throw new R(A.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);e.push(r),r=""};let s=!1;for(;n<t.length;){let e=t[n];if("\\"===e){if(n+1===t.length)throw new R(A.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let e=t[n+1];if("\\"!==e&&"."!==e&&"`"!==e)throw new R(A.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);r+=e,n+=2}else"`"===e?s=!s:"."!==e||s?r+=e:i(),n++}if(i(),s)throw new R(A.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new FR(e)}static emptyPath(){return new FR([])}};class CC{constructor(e){(this.fields=e).sort(mC.comparator)}static empty(){return new CC([])}unionWith(e){let t=new cC(mC.comparator);for(let e of this.fields)t=t.add(e);for(var r of e)t=t.add(r);return new CC(t.toArray())}covers(e){for(var t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return aC(this.fields,e.fields,(e,t)=>e.isEqual(t))}}function vC(e){let t=0;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function _C(e,t){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(r,e[r])}function yC(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class P{constructor(e){this.path=e}static fromPath(e){return new P(O.fromString(e))}static fromName(e){return new P(O.fromString(e).popFirst(5))}static empty(){return new P(O.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return 2<=this.path.length&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return null!==e&&0===O.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return O.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new P(new O(e.slice()))}}function wC(e,t,r){if(!r)throw new R(A.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function EC(e,t,r,n){if(!0===t&&!0===n)throw new R(A.INVALID_ARGUMENT,e+` and ${r} cannot be used together.`)}function DC(e){if(!P.isDocumentKey(e))throw new R(A.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function bC(e){if(P.isDocumentKey(e))throw new R(A.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function IC(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function TC(e){var t,r;return void 0===e?"undefined":null===e?"null":"string"==typeof e?(20<e.length&&(e=e.substring(0,20)+"..."),JSON.stringify(e)):"number"==typeof e||"boolean"==typeof e?""+e:"object"==typeof e?e instanceof Array?"an array":(t=(r=e).constructor?r.constructor.name:null)?`a custom ${t} object`:"an object":"function"==typeof e?"a function":S(12329,{type:typeof e})}function SC(e,t){if((e="_delegate"in e?e._delegate:e)instanceof t)return e;if(t.name===e.constructor.name)throw new R(A.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");var r=TC(e);throw new R(A.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: `+r)}function kC(e,t){if(t<=0)throw new R(A.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)}function NC(e,t){var r={typeString:e};return t&&(r.value=t),r}function AC(e,t){if(!IC(e))throw new R(A.INVALID_ARGUMENT,"JSON must be an object");let r;for(var n in t)if(t[n]){var i=t[n].typeString,s="value"in t[n]?{value:t[n].value}:void 0;if(!(n in e)){r=`JSON missing required field: '${n}'`;break}var a=e[n];if(i&&typeof a!==i){r=`JSON field '${n}' must be a ${i}.`;break}if(void 0!==s&&a!==s.value){r=`Expected '${n}' field to equal '${s.value}'`;break}}if(r)throw new R(A.INVALID_ARGUMENT,r);return 1}let RC=-62135596800;class OC{static now(){return OC.fromMillis(Date.now())}static fromDate(e){return OC.fromMillis(e.getTime())}static fromMillis(e){var t=Math.floor(e/1e3),r=Math.floor(1e6*(e-1e3*t));return new OC(t,r)}constructor(e,t){if(this.seconds=e,(this.nanoseconds=t)<0)throw new R(A.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(1e9<=t)throw new R(A.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<RC)throw new R(A.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(253402300800<=e)throw new R(A.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}_compareTo(e){return this.seconds===e.seconds?N(this.nanoseconds,e.nanoseconds):N(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:OC._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(AC(e,OC._jsonSchema))return new OC(e.seconds,e.nanoseconds)}valueOf(){var e=this.seconds-RC;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}OC._jsonSchemaVersion="firestore/timestamp/1.0",OC._jsonSchema={type:NC("string",OC._jsonSchemaVersion),seconds:NC("number"),nanoseconds:NC("number")};class PC extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}class xC{constructor(e){this.binaryString=e}static fromBase64String(e){var t=(e=>{try{return atob(e)}catch(e){throw"undefined"!=typeof DOMException&&e instanceof DOMException?new PC("Invalid base64 string: "+e):e}})(e);return new xC(t)}static fromUint8Array(e){var t=(e=>{let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t})(e);return new xC(t)}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return e=this.binaryString,btoa(e);var e}toUint8Array(){var e=this.binaryString,t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return N(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}xC.EMPTY_BYTE_STRING=new xC("");let FC=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function LC(t){if(k(!!t,39018),"string"!=typeof t)return{seconds:MC(t.seconds),nanos:MC(t.nanos)};{let e=0;var r=FC.exec(t),r=(k(!!r,46558,{timestamp:t}),r[1]&&(r=((r=r[1])+"000000000").substr(0,9),e=Number(r)),new Date(t));return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}}function MC(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function UC(e){return"string"==typeof e?xC.fromBase64String(e):xC.fromUint8Array(e)}let GC="server_timestamp",HC="__type__",VC="__previous_value__",qC="__local_write_time__";function jC(e){return(e?.mapValue?.fields||{})[HC]?.stringValue===GC}function KC(e){var t=e.mapValue.fields[VC];return jC(t)?KC(t):t}function zC(e){var t=LC(e.mapValue.fields[qC].timestampValue);return new OC(t.seconds,t.nanos)}class JC{constructor(e,t,r,n,i,s,a,o,l,h,u,c,d){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=n,this.ssl=i,this.forceLongPolling=s,this.autoDetectLongPolling=a,this.longPollingOptions=o,this.useFetchStreams=l,this.isUsingEmulator=h,this.apiKey=u,this._customHeaders=c,this.grpcFlowControlWindow=d}}let WC="(default)";class QC{constructor(e,t){this.projectId=e,this.database=t||WC}static empty(){return new QC("","")}get isDefaultDatabase(){return this.database===WC}isEqual(e){return e instanceof QC&&e.projectId===this.projectId&&e.database===this.database}}let YC=-1;function $C(e){return null==e}function XC(e){return 0===e&&1/e==-1/0}function ZC(e){return"number"==typeof e&&Number.isInteger(e)&&!XC(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}let ev="__type__",tv="__max__",rv={mapValue:{fields:{__type__:{stringValue:tv}}}},nv="__vector__",iv="value",sv={nullValue:"NULL_VALUE"},av={booleanValue:!0},ov={booleanValue:!1};function lv(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?jC(e)?4:Iv(e)?9007199254740991:Ev(e)?10:11:S(28295,{value:e})}function hv(r,n,i){if(r===n)return!0;var t,s,a,o,e=lv(r);if(e!==lv(n))return!1;switch(e){case 0:case 9007199254740991:return!0;case 1:return r.booleanValue===n.booleanValue;case 4:return zC(r).isEqual(zC(n));case 3:return s=n,"string"==typeof(t=r).timestampValue&&"string"==typeof s.timestampValue&&t.timestampValue.length===s.timestampValue.length?t.timestampValue===s.timestampValue:(a=LC(t.timestampValue),o=LC(s.timestampValue),a.seconds===o.seconds&&a.nanos===o.nanos);case 5:return r.stringValue===n.stringValue;case 6:return t=n,UC(r.bytesValue).isEqual(UC(t.bytesValue));case 7:return r.referenceValue===n.referenceValue;case 8:return s=n,MC((l=r).geoPointValue.latitude)===MC(s.geoPointValue.latitude)&&MC(l.geoPointValue.longitude)===MC(s.geoPointValue.longitude);case 2:{var l=r;var h=n;var u=i;if("integerValue"in l&&"integerValue"in h)return MC(l.integerValue)===MC(h.integerValue);let e,t;if("doubleValue"in l&&"doubleValue"in h)e=MC(l.doubleValue),t=MC(h.doubleValue);else{if(!u?.t)return!1;e=MC(l.integerValue??l.doubleValue),t=MC(h.integerValue??h.doubleValue)}return e===t?!!u?.i||XC(e)===XC(t):!(void 0!==u&&!u.o)&&isNaN(e)&&isNaN(t);return}case 9:return aC(r.arrayValue.values||[],n.arrayValue.values||[],(e,t)=>hv(e,t,i));case 10:case 11:var c=r,h=n,d=i,B=c.mapValue.fields||{},p=h.mapValue.fields||{};if(vC(B)!==vC(p))return!1;for(let e in B)if(B.hasOwnProperty(e)&&(void 0===p[e]||!hv(B[e],p[e],d)))return!1;return!0;default:return S(52216,{left:r})}}function uv(e,t){return void 0!==(e.values||[]).find(e=>hv(e,t))}function cv(e,n){if(e===n)return 0;var i,s,a,o,l,h,u,c,d=lv(e),t=lv(n);if(d!==t)return N(d,t);switch(d){case 0:case 9007199254740991:return 0;case 1:return N(e.booleanValue,n.booleanValue);case 2:return h=n,u=MC((l=e).integerValue||l.doubleValue),c=MC(h.integerValue||h.doubleValue),u<c?-1:c<u?1:u===c?0:isNaN(u)?isNaN(c)?0:-1:1;case 3:return dv(e.timestampValue,n.timestampValue);case 4:return dv(zC(e),zC(n));case 5:return rC(e.stringValue,n.stringValue);case 6:return l=e.bytesValue,h=n.bytesValue,u=UC(l),c=UC(h),u.compareTo(c);case 7:var B=e.referenceValue,p=n.referenceValue,g=B.split("/"),f=p.split("/");for(let t=0;t<g.length&&t<f.length;t++){let e=N(g[t],f[t]);if(0!==e)return e}return N(g.length,f.length);case 8:return B=e.geoPointValue,p=n.geoPointValue,0!==(o=N(MC(B.latitude),MC(p.latitude)))?o:N(MC(B.longitude),MC(p.longitude));case 9:return Bv(e.arrayValue,n.arrayValue);case 10:return m=e.mapValue,i=n.mapValue,o=m.fields||{},s=i.fields||{},o=o[iv]?.arrayValue,s=s[iv]?.arrayValue,0!==(a=N(o?.values?.length||0,s?.values?.length||0))?a:Bv(o,s);case 11:var m=e.mapValue,C=n.mapValue;if(m===rv.mapValue&&C===rv.mapValue)return 0;if(m===rv.mapValue)return 1;if(C===rv.mapValue)return-1;var v=m.fields||{},_=Object.keys(v),y=C.fields||{},w=Object.keys(y);_.sort(),w.sort();for(let r=0;r<_.length&&r<w.length;++r){let e=rC(_[r],w[r]);if(0!==e)return e;var E=cv(v[_[r]],y[w[r]]);if(0!==E)return E}return N(_.length,w.length);default:throw S(23264,{u:d})}}function dv(e,t){var r,n,i;return"string"==typeof e&&"string"==typeof t&&e.length===t.length?N(e,t):(r=LC(e),n=LC(t),0!==(i=N(r.seconds,n.seconds))?i:N(r.nanos,n.nanos))}function Bv(e,t){var r=e.values||[],n=t.values||[];for(let i=0;i<r.length&&i<n.length;++i){let e=cv(r[i],n[i]);if(void 0!==e&&0!==e)return e}return N(r.length,n.length)}function pv(e){return function s(e){return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(e=>{let t=LC(e);return`time(${t.seconds},${t.nanos})`})(e.timestampValue):"stringValue"in e?e.stringValue:"bytesValue"in e?(e=>UC(e).toBase64())(e.bytesValue):"referenceValue"in e?(e=>P.fromName(e).toString())(e.referenceValue):"geoPointValue"in e?(e=>`geo(${e.latitude},${e.longitude})`)(e.geoPointValue):"arrayValue"in e?(e=>{let t="[",r=!0;for(var n of e.values||[])r?r=!1:t+=",",t+=s(n);return t+"]"})(e.arrayValue):"mapValue"in e?(e=>{let t=Object.keys(e.fields||{}).sort(),r="{",n=!0;for(var i of t)n?n=!1:r+=",",r+=i+":"+s(e.fields[i]);return r+"}"})(e.mapValue):S(61005,{value:e})}(e)}function gv(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/`+t.path.canonicalString()}}function fv(e){return!!e&&"integerValue"in e}function mv(e){return!!e&&"doubleValue"in e}function Cv(e){return fv(e)||mv(e)}function vv(e){return!!e&&"arrayValue"in e}function _v(e){return e&&"nullValue"in e}function yv(e){return e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function wv(e){return e&&"mapValue"in e}function Ev(e){return(e?.mapValue?.fields||{})[ev]?.stringValue===nv}function Dv(e){return(e?.mapValue?.fields||{})[iv]?.arrayValue}function bv(t){if(t.geoPointValue)return{geoPointValue:{...t.geoPointValue}};if(t.timestampValue&&"object"==typeof t.timestampValue)return{timestampValue:{...t.timestampValue}};if(t.mapValue){let r={mapValue:{fields:{}}};return _C(t.mapValue.fields,(e,t)=>r.mapValue.fields[e]=bv(t)),r}if(t.arrayValue){var r={arrayValue:{values:[]}};for(let e=0;e<(t.arrayValue.values||[]).length;++e)r.arrayValue.values[e]=bv(t.arrayValue.values[e]);return r}return{...t}}function Iv(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===tv}let Tv={mapValue:{fields:{[ev]:{stringValue:nv},[iv]:{arrayValue:{}}}}};function Sv(e,t){var r=cv(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function kv(e,t){var r=cv(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class Nv{constructor(e){this.value=e}static empty(){return new Nv({mapValue:{}})}field(r){if(r.isEmpty())return this.value;{let e=this.value;for(let t=0;t<r.length-1;++t)if(!wv(e=(e.mapValue.fields||{})[r.get(t)]))return null;return(e=(e.mapValue.fields||{})[r.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=bv(t)}setAll(e){let r=mC.emptyPath(),n={},i=[];e.forEach((e,t)=>{if(!r.isImmediateParentOf(t)){let e=this.getFieldsMap(r);this.applyChanges(e,n,i),n={},i=[],r=t.popLast()}e?n[t.lastSegment()]=bv(e):i.push(t.lastSegment())});var t=this.getFieldsMap(r);this.applyChanges(t,n,i)}delete(e){var t=this.field(e.popLast());wv(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return hv(this.value,e.value)}getFieldsMap(t){let r=this.value;r.mapValue.fields||(r.mapValue={fields:{}});for(let n=0;n<t.length;++n){let e=r.mapValue.fields[t.get(n)];wv(e)&&e.mapValue.fields||(e={mapValue:{fields:{}}},r.mapValue.fields[t.get(n)]=e),r=e}return r.mapValue.fields}applyChanges(r,e,t){_C(e,(e,t)=>r[e]=t);for(let e of t)delete r[e]}clone(){return new Nv(bv(this.value))}}function Av(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:XC(t)?"-0":t}}function Rv(e){return{integerValue:""+e}}function Ov(e,t){return ZC(t)?Rv(t):Av(e,t)}class Pv{constructor(){this._=void 0}}function xv(e,t){return e instanceof Vv?Cv(t)?t:{integerValue:0}:null}class Fv extends Pv{}class Lv extends Pv{constructor(e){super(),this.elements=e}}function Mv(e,t){var r=Jv(t);for(let t of e.elements)r.some(e=>hv(e,t))||r.push(t);return{arrayValue:{values:r}}}class Uv extends Pv{constructor(e){super(),this.elements=e}}function Gv(e,t){let r=Jv(t);for(let t of e.elements)r=r.filter(e=>!hv(e,t));return{arrayValue:{values:r}}}class Hv extends Pv{constructor(e,t){super(),this.serializer=e,this.l=t}}class Vv extends Hv{}class qv extends Hv{}class jv extends Hv{}function Kv(e,t,r){var n;return Cv(t)?(n=r(zv(t),zv(e.l)),fv(t)&&fv(e.l)?Rv(n):Av(e.serializer,n)):e.l}function zv(e){return MC(e.integerValue||e.doubleValue)}function Jv(e){return vv(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class Wv{constructor(e,t){this.field=e,this.transform=t}}class Qv{constructor(e,t){this.version=e,this.transformResults=t}}class Yv{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new Yv}static exists(e){return new Yv(void 0,e)}static updateTime(e){return new Yv(e)}get isNone(){return void 0===this.updateTime&&void 0===this.exists}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function $v(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class Xv{}function Zv(e,r){if(!e.hasLocalMutations||r&&0===r.fields.length)return null;if(null===r)return e.isNoDocument()?new o_(e.key,Yv.none()):new r_(e.key,e.data,Yv.none());{var n,i=e.data,s=Nv.empty();let t=new cC(mC.comparator);for(n of r.fields)if(!t.has(n)){let e=i.field(n);null===e&&1<n.length&&(n=n.popLast(),e=i.field(n)),null===e?s.delete(n):s.set(n,e),t=t.add(n)}return new n_(e.key,s,new CC(t.toArray()),Yv.none())}}function e_(e,t,r,n){return e instanceof r_?(s=t,a=r,o=n,$v((i=e).precondition,s)?(l=i.value.clone(),h=a_(i.fieldTransforms,o,s),l.setAll(h),s.convertToFoundDocument(s.version,l).setHasLocalMutations(),null):a):e instanceof n_?(i=t,o=r,s=n,$v((a=e).precondition,i)?(h=a_(a.fieldTransforms,s,i),(l=i.data).setAll(i_(a)),l.setAll(h),i.convertToFoundDocument(i.version,l).setHasLocalMutations(),null===o?null:o.unionWith(a.fieldMask.fields).unionWith(a.fieldTransforms.map(e=>e.field))):o):(n=t,t=r,$v(e.precondition,n)?(n.convertToNoDocument(n.version).setHasLocalMutations(),null):t);var i,s,a,o,l,h}function t_(e,t){return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&(r=e.fieldTransforms,n=t.fieldTransforms,!!(void 0===r&&void 0===n||r&&n&&aC(r,n,(e,t)=>(t=t,(e=e).field.isEqual(t.field)&&(e=e.transform,t=t.transform,e instanceof Lv&&t instanceof Lv||e instanceof Uv&&t instanceof Uv?aC(e.elements,t.elements,hv):e instanceof Vv&&t instanceof Vv||e instanceof qv&&t instanceof qv||e instanceof jv&&t instanceof jv?hv(e.l,t.l):e instanceof Fv&&t instanceof Fv)))))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask));var r,n}class r_ extends Xv{constructor(e,t,r,n=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=n,this.type=0}getFieldMask(){return null}}class n_ extends Xv{constructor(e,t,r,n,i=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=n,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function i_(r){let n=new Map;return r.fieldMask.fields.forEach(e=>{var t;e.isEmpty()||(t=r.data.field(e),n.set(e,t))}),n}function s_(e,t,r){var n,i,s,a=new Map;k(e.length===r.length,32656,{h:r.length,T:e.length});for(let u=0;u<r.length;u++){var o=e[u],l=o.transform,h=t.data.field(o.field);a.set(o.field,(n=l,i=h,s=r[u],n instanceof Lv?Mv(n,i):n instanceof Uv?Gv(n,i):s))}return a}function a_(e,r,n){var i,s,a,o,l,h,u,c=new Map;for(i of e){let e=i.transform,t=n.data.field(i.field);c.set(i.field,(s=e,a=t,o=r,u=h=l=void 0,s instanceof Fv?(o=o,h=a,u={fields:{[HC]:{stringValue:GC},[qC]:{timestampValue:{seconds:o.seconds,nanos:o.nanoseconds}}}},(h=h&&jC(h)?KC(h):h)&&(u.fields[VC]=h),{mapValue:u}):s instanceof Lv?Mv(s,a):s instanceof Uv?Gv(s,a):s instanceof Vv?(u=xv(o=s,a),l=zv(u)+zv(o.l),fv(u)&&fv(o.l)?Rv(l):Av(o.serializer,l)):s instanceof qv?Kv(s,a,Math.min):s instanceof jv?Kv(s,a,Math.max):void 0))}return c}class o_ extends Xv{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class l_ extends Xv{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class h_{constructor(e,t){this.position=e,this.inclusive=t}}function u_(e,t,r){let n=0;for(let a=0;a<e.position.length;a++){var i=t[a],s=e.position[a];if(n=i.field.isKeyField()?P.comparator(P.fromName(s.referenceValue),r.key):cv(s,r.data.field(i.field)),"desc"===i.dir&&(n*=-1),0!==n)break}return n}function c_(e,t){if(null===e)return null===t;if(null===t)return!1;if(e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let r=0;r<e.position.length;r++)if(!hv(e.position[r],t.position[r]))return!1;return!0}class d_{}class B_ extends d_{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,r):new y_(e,t,r):"array-contains"===t?new b_(e,r):"in"===t?new I_(e,r):"not-in"===t?new T_(e,r):"array-contains-any"===t?new S_(e,r):new B_(e,t,r)}static createKeyFieldInFilter(e,t,r){return new("in"===t?w_:E_)(e,r)}matches(e){var t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(cv(t,this.value)):null!==t&&lv(this.value)===lv(t)&&this.matchesComparison(cv(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return 0===e;case"!=":return 0!==e;case">":return 0<e;case">=":return 0<=e;default:return S(47266,{operator:this.op})}}isInequality(){return 0<=["<","<=",">",">=","!=","not-in"].indexOf(this.op)}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class p_ extends d_{constructor(e,t){super(),this.filters=e,this.op=t,this.P=null}static create(e,t){return new p_(e,t)}matches(t){return g_(this)?void 0===this.filters.find(e=>!e.matches(t)):void 0!==this.filters.find(e=>e.matches(t))}getFlattenedFilters(){return null===this.P&&(this.P=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.P}getFilters(){return Object.assign([],this.filters)}}function g_(e){return"and"===e.op}function f_(e){return"or"===e.op}function m_(e){return C_(e)&&g_(e)}function C_(e){for(var t of e.filters)if(t instanceof p_)return!1;return!0}function v_(e,t){var r=e.filters.concat(t);return p_.create(r,e.op)}function __(e){return e instanceof B_?`${(t=e).field.canonicalString()} ${t.op} `+pv(t.value):e instanceof p_?(t=e).op.toString()+" {"+t.getFilters().map(__).join(" ,")+"}":"Filter";var t}class y_ extends B_{constructor(e,t,r){super(e,t,r),this.key=P.fromName(r.referenceValue)}matches(e){var t=P.comparator(e.key,this.key);return this.matchesComparison(t)}}class w_ extends B_{constructor(e,t){super(e,"in",t),this.keys=D_(0,t)}matches(t){return this.keys.some(e=>e.isEqual(t.key))}}class E_ extends B_{constructor(e,t){super(e,"not-in",t),this.keys=D_(0,t)}matches(t){return!this.keys.some(e=>e.isEqual(t.key))}}function D_(e,t){return(t.arrayValue?.values||[]).map(e=>P.fromName(e.referenceValue))}class b_ extends B_{constructor(e,t){super(e,"array-contains",t)}matches(e){var t=e.data.field(this.field);return vv(t)&&uv(t.arrayValue,this.value)}}class I_ extends B_{constructor(e,t){super(e,"in",t)}matches(e){var t=e.data.field(this.field);return null!==t&&uv(this.value.arrayValue,t)}}class T_ extends B_{constructor(e,t){super(e,"not-in",t)}matches(e){var t;return!uv(this.value.arrayValue,{nullValue:"NULL_VALUE"})&&null!==(t=e.data.field(this.field))&&void 0===t.nullValue&&!uv(this.value.arrayValue,t)}}class S_ extends B_{constructor(e,t){super(e,"array-contains-any",t)}matches(e){var t=e.data.field(this.field);return!(!vv(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>uv(this.value.arrayValue,e))}}class k_{constructor(e,t="asc"){this.field=e,this.dir=t}}class x{static fromTimestamp(e){return new x(e)}static min(){return new x(new OC(0,0))}static max(){return new x(new OC(253402300799,999999999))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}class N_{constructor(e,t,r,n,i,s,a){this.key=e,this.documentType=t,this.version=r,this.readTime=n,this.createTime=i,this.data=s,this.documentState=a}static newInvalidDocument(e){return new N_(e,0,x.min(),x.min(),x.min(),Nv.empty(),0)}static newFoundDocument(e,t,r,n){return new N_(e,1,t,x.min(),r,n,0)}static newNoDocument(e,t){return new N_(e,2,t,x.min(),x.min(),Nv.empty(),0)}static newUnknownDocument(e,t){return new N_(e,3,t,x.min(),x.min(),Nv.empty(),2)}convertToFoundDocument(e,t){return!this.createTime.isEqual(x.min())||2!==this.documentType&&0!==this.documentType||(this.createTime=e),this.version=e,this.documentType=1,this.data=t,this.documentState=0,this}convertToNoDocument(e){return this.version=e,this.documentType=2,this.data=Nv.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=Nv.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=x.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return 1===this.documentState}get hasCommittedMutations(){return 2===this.documentState}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return 0!==this.documentType}isFoundDocument(){return 1===this.documentType}isNoDocument(){return 2===this.documentType}isUnknownDocument(){return 3===this.documentType}isEqual(e){return e instanceof N_&&this.key.isEqual(e.key)&&this.version.isEqual(e.version)&&this.documentType===e.documentType&&this.documentState===e.documentState&&this.data.isEqual(e.data)}mutableCopy(){return new N_(this.key,this.documentType,this.version,this.readTime,this.createTime,this.data.clone(),this.documentState)}toString(){return`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {createTime: ${this.createTime}}), {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`}}let A_=-1;class R_{constructor(e,t,r,n){this.indexId=e,this.collectionGroup=t,this.fields=r,this.indexState=n}}function O_(e){return e.fields.find(e=>2===e.kind)}function P_(e){return e.fields.filter(e=>2!==e.kind)}R_.UNKNOWN_ID=-1;class x_{constructor(e,t){this.fieldPath=e,this.kind=t}}class F_{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new F_(0,U_.min())}}function L_(e,t){var r=e.toTimestamp().seconds,n=e.toTimestamp().nanoseconds+1,r=x.fromTimestamp(1e9===n?new OC(r+1,0):new OC(r,n));return new U_(r,P.empty(),t)}function M_(e){return new U_(e.readTime,e.key,A_)}class U_{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new U_(x.min(),P.empty(),A_)}static max(){return new U_(x.max(),P.empty(),A_)}}function G_(e,t){var r=e.readTime.compareTo(t.readTime);return 0!==r||0!==(r=P.comparator(e.documentKey,t.documentKey))?r:N(e.largestBatchId,t.largestBatchId)}class H_{constructor(e,t=null,r=[],n=[],i=null,s=null,a=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=n,this.limit=i,this.startAt=s,this.endAt=a,this.R=null}}function V_(e,t=null,r=[],n=[],i=null,s=null,a=null){return new H_(e,t,r,n,i,s,a)}function q_(e){var t=e;if(null===t.R){let e=t.path.canonicalString();null!==t.collectionGroup&&(e+="|cg:"+t.collectionGroup),e=(e=(e+="|f:")+t.filters.map(e=>function t(e){var r;return e instanceof B_?e.field.canonicalString()+e.op.toString()+pv(e.value):m_(e)?e.filters.map(e=>t(e)).join(","):(r=e.filters.map(e=>t(e)).join(","),e.op+`(${r})`)}(e)).join(",")+"|ob:")+t.orderBy.map(e=>(e=e).field.canonicalString()+e.dir).join(","),$C(t.limit)||(e=(e+="|l:")+t.limit),t.startAt&&(e=(e=(e+="|lb:")+(t.startAt.inclusive?"b:":"a:"))+t.startAt.position.map(e=>pv(e)).join(",")),t.endAt&&(e=(e=(e+="|ub:")+(t.endAt.inclusive?"a:":"b:"))+t.endAt.position.map(e=>pv(e)).join(",")),t.R=e}return t.R}function j_(e,t){if(e.limit!==t.limit)return!1;if(e.orderBy.length!==t.orderBy.length)return!1;for(let i=0;i<e.orderBy.length;i++)if(r=e.orderBy[i],n=t.orderBy[i],r.dir!==n.dir||!r.field.isEqual(n.field))return!1;var r,n;if(e.filters.length!==t.filters.length)return!1;for(let s=0;s<e.filters.length;s++)if(!function n(e,t){return e instanceof B_?(r=e,(s=t)instanceof B_&&r.op===s.op&&r.field.isEqual(s.field)&&hv(r.value,s.value)):e instanceof p_?(r=e,(i=t)instanceof p_&&r.op===i.op&&r.filters.length===i.filters.length&&r.filters.reduce((e,t,r)=>e&&n(t,i.filters[r]),!0)):void S(19439);var i,r,s}(e.filters[s],t.filters[s]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!c_(e.startAt,t.startAt)&&c_(e.endAt,t.endAt)}function K_(e){return e.isCorePipeline}function z_(e){return!!e.path&&P.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function J_(e,t){return e.filters.filter(e=>e instanceof B_&&e.field.isEqual(t))}function W_(e,r,n){let i=sv,s=!0;for(let n of J_(e,r)){let e=sv,t=!0;switch(n.op){case"<":case"<=":e="nullValue"in(a=n.value)?sv:"booleanValue"in a?{booleanValue:!1}:"integerValue"in a||"doubleValue"in a?{doubleValue:NaN}:"timestampValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"stringValue"in a?{stringValue:""}:"bytesValue"in a?{bytesValue:""}:"referenceValue"in a?gv(QC.empty(),P.empty()):"geoPointValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"arrayValue"in a?{arrayValue:{}}:"mapValue"in a?Ev(a)?Tv:{mapValue:{}}:S(35942,{value:a});break;case"==":case"in":case">=":e=n.value;break;case">":e=n.value,t=!1;break;case"!=":case"not-in":e=sv}Sv({value:i,inclusive:s},{value:e,inclusive:t})<0&&(i=e,s=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];Sv({value:i,inclusive:s},{value:e,inclusive:n.inclusive})<0&&(i=e,s=n.inclusive);break}return{value:i,inclusive:s}}function Q_(e,r,n){let i=rv,s=!0;for(let n of J_(e,r)){let e=rv,t=!0;switch(n.op){case">=":case">":e="nullValue"in(a=n.value)?{booleanValue:!1}:"booleanValue"in a?{doubleValue:NaN}:"integerValue"in a||"doubleValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"timestampValue"in a?{stringValue:""}:"stringValue"in a?{bytesValue:""}:"bytesValue"in a?gv(QC.empty(),P.empty()):"referenceValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"geoPointValue"in a?{arrayValue:{}}:"arrayValue"in a?Tv:"mapValue"in a?Ev(a)?{mapValue:{}}:rv:S(61959,{value:a}),t=!1;break;case"==":case"in":case"<=":e=n.value;break;case"<":e=n.value,t=!1;break;case"!=":case"not-in":e=rv}0<kv({value:i,inclusive:s},{value:e,inclusive:t})&&(i=e,s=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];0<kv({value:i,inclusive:s},{value:e,inclusive:n.inclusive})&&(i=e,s=n.inclusive);break}return{value:i,inclusive:s}}class Y_{constructor(e,t=null,r=[],n=[],i=null,s="F",a=null,o=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=i,this.limitType=s,this.startAt=a,this.endAt=o,this.I=null,this.A=null,this.V=null,this.startAt,this.endAt}}function $_(e,t,r,n,i,s,a,o){return new Y_(e,t,r,n,i,s,a,o)}function X_(e){return new Y_(e)}function Z_(e){return 0===e.filters.length&&null===e.limit&&null==e.startAt&&null==e.endAt&&(0===e.explicitOrderBy.length||1===e.explicitOrderBy.length&&e.explicitOrderBy[0].field.isKeyField())}function ey(e){return null!==e.collectionGroup}function ty(e){let n=e;if(null===n.I){n.I=[];let t=new Set;for(var i of n.explicitOrderBy)n.I.push(i),t.add(i.field.canonicalString());let r=0<n.explicitOrderBy.length?n.explicitOrderBy[n.explicitOrderBy.length-1].dir:"asc",e=(e=>{let t=new cC(mC.comparator);return e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t})(n);e.forEach(e=>{t.has(e.canonicalString())||e.isKeyField()||n.I.push(new k_(e,r))}),t.has(mC.keyField().canonicalString())||n.I.push(new k_(mC.keyField(),r))}return n.I}function ry(e){var t=e;return t.A||(t.A=((e,t)=>{if("F"===e.limitType)return V_(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);t=t.map(e=>{var t="desc"===e.dir?"asc":"desc";return new k_(e.field,t)});var r=e.endAt?new h_(e.endAt.position,e.endAt.inclusive):null,n=e.startAt?new h_(e.startAt.position,e.startAt.inclusive):null;return V_(e.path,e.collectionGroup,t,e.filters,e.limit,r,n)})(t,ty(e))),t.A}function ny(e,t){var r=e.filters.concat([t]);return new Y_(e.path,e.collectionGroup,e.explicitOrderBy.slice(),r,e.limit,e.limitType,e.startAt,e.endAt)}function iy(e,t,r){return new Y_(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,r,e.startAt,e.endAt)}function sy(e,t){return j_(ry(e),ry(t))&&e.limitType===t.limitType}function ay(e){return`Query(target=${(e=>{let t=e.path.canonicalString();return null!==e.collectionGroup&&(t+=" collectionGroup="+e.collectionGroup),0<e.filters.length&&(t+=`, filters: [${e.filters.map(e=>__(e)).join(", ")}]`),$C(e.limit)||(t+=", limit: "+e.limit),0<e.orderBy.length&&(t+=`, orderBy: [${e.orderBy.map(e=>`${(e=e).field.canonicalString()} (${e.dir})`).join(", ")}]`),e.startAt&&(t=(t=(t+=", startAt: ")+(e.startAt.inclusive?"b:":"a:"))+e.startAt.position.map(e=>pv(e)).join(",")),`Target(${t=e.endAt?(t=(t+=", endAt: ")+(e.endAt.inclusive?"a:":"b:"))+e.endAt.position.map(e=>pv(e)).join(","):t})`})(ry(e))}; limitType=${e.limitType})`}function oy(e,t){return t.isFoundDocument()&&(s=e,o=(a=t).key.path,null!==s.collectionGroup?a.key.hasCollectionId(s.collectionGroup)&&s.path.isPrefixOf(o):P.isDocumentKey(s.path)?s.path.isEqual(o):s.path.isImmediateParentOf(o))&&((e,t)=>{for(var r of ty(e))if(!r.field.isKeyField()&&null===t.data.field(r.field))return!1;return!0})(e,t)&&((e,t)=>{for(var r of e.filters)if(!r.matches(t))return!1;return!0})(e,t)&&(a=t,!(s=e).startAt||(n=s.startAt,r=ty(s),i=u_(n,r,a),n.inclusive?i<=0:i<0))&&(!s.endAt||(r=s.endAt,n=ty(s),i=u_(r,n,a),r.inclusive?0<=i:0<i));var r,n,i,s,a,o}function ly(e){return(t,r)=>{let n=!1;for(var i of ty(e)){let e=((e,t,r)=>{var n=e.field.isKeyField()?P.comparator(t.key,r.key):((e,t,r)=>{var n=t.data.field(e),i=r.data.field(e);return null!==n&&null!==i?cv(n,i):S(42886)})(e.field,t,r);switch(e.dir){case"asc":return n;case"desc":return-1*n;default:return S(19790,{direction:e.dir})}})(i,t,r);if(0!==e)return e;n=n||i.field.isKeyField()}return 0}}class hy{constructor(e,t){this.count=e,this.unchangedNames=t}}function uy(e){switch(e){case A.OK:return S(64938);case A.CANCELLED:case A.UNKNOWN:case A.DEADLINE_EXCEEDED:case A.RESOURCE_EXHAUSTED:case A.INTERNAL:case A.UNAVAILABLE:case A.UNAUTHENTICATED:return!1;case A.INVALID_ARGUMENT:case A.NOT_FOUND:case A.ALREADY_EXISTS:case A.PERMISSION_DENIED:case A.FAILED_PRECONDITION:case A.ABORTED:case A.OUT_OF_RANGE:case A.UNIMPLEMENTED:case A.DATA_LOSS:return!0;default:return S(15467,{code:e})}}function cy(e){if(void 0===e)return $m("GRPC error has no .code"),A.UNKNOWN;switch(e){case Gm.OK:return A.OK;case Gm.CANCELLED:return A.CANCELLED;case Gm.UNKNOWN:return A.UNKNOWN;case Gm.DEADLINE_EXCEEDED:return A.DEADLINE_EXCEEDED;case Gm.RESOURCE_EXHAUSTED:return A.RESOURCE_EXHAUSTED;case Gm.INTERNAL:return A.INTERNAL;case Gm.UNAVAILABLE:return A.UNAVAILABLE;case Gm.UNAUTHENTICATED:return A.UNAUTHENTICATED;case Gm.INVALID_ARGUMENT:return A.INVALID_ARGUMENT;case Gm.NOT_FOUND:return A.NOT_FOUND;case Gm.ALREADY_EXISTS:return A.ALREADY_EXISTS;case Gm.PERMISSION_DENIED:return A.PERMISSION_DENIED;case Gm.FAILED_PRECONDITION:return A.FAILED_PRECONDITION;case Gm.ABORTED:return A.ABORTED;case Gm.OUT_OF_RANGE:return A.OUT_OF_RANGE;case Gm.UNIMPLEMENTED:return A.UNIMPLEMENTED;case Gm.DATA_LOSS:return A.DATA_LOSS;default:return S(39323,{code:e})}}(e=Gm=Gm||{})[e.OK=0]="OK",e[e.CANCELLED=1]="CANCELLED",e[e.UNKNOWN=2]="UNKNOWN",e[e.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",e[e.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",e[e.NOT_FOUND=5]="NOT_FOUND",e[e.ALREADY_EXISTS=6]="ALREADY_EXISTS",e[e.PERMISSION_DENIED=7]="PERMISSION_DENIED",e[e.UNAUTHENTICATED=16]="UNAUTHENTICATED",e[e.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",e[e.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",e[e.ABORTED=10]="ABORTED",e[e.OUT_OF_RANGE=11]="OUT_OF_RANGE",e[e.UNIMPLEMENTED=12]="UNIMPLEMENTED",e[e.INTERNAL=13]="INTERNAL",e[e.UNAVAILABLE=14]="UNAVAILABLE",e[e.DATA_LOSS=15]="DATA_LOSS";class dy{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(r){let e=this.mapKeyFn(r),n=this.inner[e];if(void 0!==n)for(let[e,t]of n)if(this.equalsFn(e,r))return t}has(e){return void 0!==this.get(e)}set(t,r){var e=this.mapKeyFn(t),n=this.inner[e];if(void 0===n)this.inner[e]=[[t,r]];else{for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return void(n[e]=[t,r]);n.push([t,r])}this.innerSize++}delete(t){var r=this.mapKeyFn(t),n=this.inner[r];if(void 0!==n)for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return 1===n.length?delete this.inner[r]:n.splice(e,1),this.innerSize--,!0;return!1}forEach(n){_C(this.inner,(e,t)=>{for(let[e,r]of t)n(e,r)})}isEmpty(){return yC(this.inner)}size(){return this.innerSize}}let By=new lC(P.comparator);let py=new lC(P.comparator);function gy(...e){let t=py;for(var r of e)t=t.insert(r.key,r);return t}function fy(e){let r=py;return e.forEach((e,t)=>r=r.insert(e,t.overlayedDocument)),r}function my(){return new dy(e=>e.toString(),(e,t)=>e.isEqual(t))}let Cy=new lC(P.comparator),vy=new cC(P.comparator);function F(...e){let t=vy;for(var r of e)t=t.add(r);return t}let _y=new cC(N);function yy(){return new TextEncoder}let wy=new wf([4294967295,4294967295],0);function Ey(e){var t=yy().encode(e),r=new Ef;return r.update(t),new Uint8Array(r.digest())}function Dy(e){var t=new DataView(e.buffer),r=t.getUint32(0,!0),n=t.getUint32(4,!0),i=t.getUint32(8,!0),t=t.getUint32(12,!0);return[new wf([r,n],0),new wf([i,t],0)]}class by{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||8<=t)throw new Iy("Invalid padding: "+t);if(r<0)throw new Iy("Invalid hash count: "+r);if(0<e.length&&0===this.hashCount)throw new Iy("Invalid hash count: "+r);if(0===e.length&&0!==t)throw new Iy("Invalid padding when bitmap length is 0: "+t);this.m=8*e.length-t,this.p=wf.fromNumber(this.m)}v(e,t,r){let n=e.add(t.multiply(wf.fromNumber(r)));return(n=1===n.compare(wy)?new wf([n.getBits(0),n.getBits(1)],0):n).modulo(this.p).toNumber()}S(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(0===this.m)return!1;let t=Ey(e),[r,n]=Dy(t);for(let i=0;i<this.hashCount;i++){let e=this.v(r,n,i);if(!this.S(e))return!1}return!0}static create(e,t,r){let n=e%8==0?0:8-e%8,i=new Uint8Array(Math.ceil(e/8)),s=new by(i,n,t);return r.forEach(e=>s.insert(e)),s}insert(i){if(0!==this.m){let e=Ey(i),[t,r]=Dy(e);for(let n=0;n<this.hashCount;n++){let e=this.v(t,r,n);this.D(e)}}}D(e){var t=Math.floor(e/8);this.bitmap[t]|=1<<e%8}}class Iy extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}class Ty{constructor(e,t,r,n,i,s){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=n,this.augmentedDocumentUpdates=i,this.resolvedLimboDocuments=s}static createSynthesizedRemoteEventForCurrentChange(e,t,r){var n=new Map;return n.set(e,Sy.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new Ty(x.min(),n,new lC(N),By,By,F())}}class Sy{constructor(e,t,r,n,i){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=n,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new Sy(r,t,F(),F(),F())}}class ky{constructor(e,t,r,n){this.C=e,this.removedTargetIds=t,this.key=r,this.F=n}}class Ny{constructor(e,t){this.targetId=e,this.O=t}}class Ay{constructor(e,t,r=xC.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class Ry{constructor(e){this.targetId=e,this.M=0,this.N=Fy(),this.L=xC.EMPTY_BYTE_STRING,this.B=!1,this.U=!0}get current(){return this.B}get resumeToken(){return this.L}get k(){return 0!==this.M}get q(){return this.U}$(e){0<e.approximateByteSize()&&(this.U=!0,this.L=e)}K(){let r=F(),n=F(),i=F();return this.N.forEach((e,t)=>{switch(t){case 0:r=r.add(e);break;case 2:n=n.add(e);break;case 1:i=i.add(e);break;default:S(38017,{changeType:t})}}),new Sy(this.L,this.B,r,n,i)}W(){this.U=!1,this.N=Fy()}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,k(0<=this.M,3241,{M:this.M,targetId:this.targetId})}Y(){this.U=!0,this.B=!0}}let Oy="WatchChangeAggregator";class Py{constructor(e){this.Z=e,this.X=new Map,this.ee=By,this.te=xy(),this.ne=By,this.re=xy(),this.ie=new lC(N)}se(e){for(var t of e.C)e.F&&e.F.isFoundDocument()?this._e(t,e.F):this.oe(t,e.key,e.F);for(var r of e.removedTargetIds)this.oe(r,e.key,e.F)}ae(r){this.forEachTarget(r,e=>{var t=this.X.get(e);if(t)switch(r.state){case 0:this.ue(e)&&t.$(r.resumeToken);break;case 1:t.J(),t.k||t.W(),t.$(r.resumeToken);break;case 2:t.J(),t.k||this.removeTarget(e);break;case 3:this.ue(e)&&(t.Y(),t.$(r.resumeToken));break;case 4:this.ue(e)&&(this.ce(e),t.$(r.resumeToken));break;default:S(56790,{state:r.state})}else p(Oy,`handleTargetChange received targetChange for untracked target ID (${e}) with state (${r.state})`)})}forEachTarget(e,r){0<e.targetIds.length?e.targetIds.forEach(r):this.X.forEach((e,t)=>{this.ue(t)&&r(t)})}le(e){return K_(e)?"documents"===e.getPipelineSourceType()&&1===e.getPipelineDocuments()?.length:z_(e)}Ee(n){let i=n.targetId,e=n.O.count,t=this.he(i);if(t){var r=t.target;if(this.le(r))if(0===e){let e=new P(K_(r)?O.fromString(r.getPipelineDocuments()[0]):r.path);this.oe(i,e,N_.newNoDocument(e,x.min()))}else k(1===e,20013,"Single document existence filter with count: "+e);else{let r=this.Te(i);if(r!==e){let e=this.Pe(n),t=e?this.Re(e,n,r):1;if(0!==t){this.ce(i);let e=2===t?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.ie=this.ie.insert(i,e)}}}}}Pe(e){var t=e.O.unchangedNames;if(!t||!t.bits)return null;var{bits:{bitmap:t="",padding:r=0},hashCount:n=0}=t;let i,s;try{i=UC(t).toUint8Array()}catch(e){if(e instanceof PC)return Xm("Decoding the base64 bloom filter in existence filter failed ("+e.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw e}try{s=new by(i,r,n)}catch(e){return Xm(e instanceof Iy?"BloomFilter error: ":"Applying bloom filter failed: ",e),null}return 0===s.m?null:s}Re(e,t,r){return t.O.count===r-this.Ve(e,t.targetId)?0:2}Ve(r,n){var e=this.Z.getRemoteKeysForTarget(n);let i=0;return e.forEach(e=>{var t=this.Z.Ae(),t=`projects/${t.projectId}/databases/${t.database}/documents/`+e.path.canonicalString();r.mightContain(t)||(this.oe(n,e,null),i++)}),i}de(i){let t=new Map,n=(this.X.forEach((e,r)=>{var n=this.he(r);if(n){if(e.current&&this.le(n.target)){let e=K_(n.target)?O.fromString(n.target.getPipelineDocuments()[0]):n.target.path,t=new P(e);this.fe(t).has(r)||this.me(r,t)||this.oe(r,t,N_.newNoDocument(t,i))}e.q&&(t.set(r,e.K()),e.W())}}),F());this.re.forEach((e,t)=>{let r=!0;t.forEachWhile(e=>{var t=this.he(e);return!t||"TargetPurposeLimboResolution"===t.purpose||(r=!1)}),r&&(n=n.add(e))}),this.ee.forEach((e,t)=>t.setReadTime(i)),this.ne.forEach((e,t)=>t.setReadTime(i));var e=new Ty(i,t,this.ie,this.ee,this.ne,n);return this.ee=By,this.te=xy(),this.ne=By,this.re=xy(),this.ie=new lC(N),e}_e(e,t){var r,n=this.X.get(e);n&&this.ue(e)?(r=this.me(e,t.key)?2:0,n.G(t.key,r),K_(this.he(e).target)&&"exact"!==this.he(e).target.getPipelineFlavor()?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))):p(Oy,`addDocumentToTarget received document for unknown inactive target (${e})`)}oe(e,t,r){var n=this.X.get(e);n&&this.ue(e)?(this.me(e,t)?n.G(t,1):n.j(t),this.re=this.re.insert(t,this.pe(t).delete(e)),this.re=this.re.insert(t,this.pe(t).add(e)),r&&(K_(this.he(e).target)&&"exact"!==this.he(e).target.getPipelineFlavor()?this.ne=this.ne.insert(t,r):this.ee=this.ee.insert(t,r))):p(Oy,`removeDocumentFromTarget received document for unknown or inactive target (${e})`)}removeTarget(e){this.X.delete(e)}Te(e){var t=this.X.get(e);return t?(t=t.K(),this.Z.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size):0}H(e){let t=this.X.get(e);t||(p(Oy,"recordPendingTargetRequest set up tracking for target ID "+e),t=new Ry(e),this.X.set(e,t)),t.H()}pe(e){let t=this.re.get(e);return t||(t=new cC(N),this.re=this.re.insert(e,t)),t}fe(e){let t=this.te.get(e);return t||(t=new cC(N),this.te=this.te.insert(e,t)),t}ue(e){var t=null!==this.he(e);return t||p(Oy,"Detected inactive target",e),t}he(e){var t=this.X.get(e);return void 0===t||t.k?null:this.Z.ge(e)}ce(t){this.X.set(t,new Ry(t)),this.Z.getRemoteKeysForTarget(t).forEach(e=>{this.oe(t,e,null)})}me(e,t){return this.Z.getRemoteKeysForTarget(e).has(t)}}function xy(){return new lC(P.comparator)}function Fy(){return new lC(P.comparator)}let Ly={asc:"ASCENDING",desc:"DESCENDING"},My={"<":"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"},Uy={and:"AND",or:"OR"};class Gy{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function Hy(e,t){return e.useProto3Json||$C(t)?t:{value:t}}function Vy(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 qy(e){var t=LC(e);return new OC(t.seconds,t.nanos)}function jy(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function Ky(e,t){return Vy(e,t.toTimestamp())}function zy(e){return k(!!e,49232),x.fromTimestamp(qy(e))}function Jy(e,t){return Wy(e,t).canonicalString()}function Wy(e,t){e=e;var r=new O(["projects",e.projectId,"databases",e.database]).child("documents");return void 0===t?r:r.child(t)}function Qy(e){var t=O.fromString(e);return k(fw(t),10190,{key:t.toString()}),t}function Yy(e,t){return Jy(e.databaseId,t.path)}function $y(e,t){var r=Qy(t);if(r.get(1)!==e.databaseId.projectId)throw new R(A.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+r.get(1)+" vs "+e.databaseId.projectId);if(r.get(3)!==e.databaseId.database)throw new R(A.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+r.get(3)+" vs "+e.databaseId.database);return new P(tw(r))}function Xy(e,t){return Jy(e.databaseId,t)}function Zy(e){var t=Qy(e);return 4===t.length?O.emptyPath():tw(t)}function ew(e){return new O(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function tw(e){return k(4<e.length&&"documents"===e.get(4),29091,{key:e.toString()}),e.popFirst(5)}function rw(e,t,r){return{name:Yy(e,t),fields:r.value.mapValue.fields}}function nw(e,t,r){var n=$y(e,t.name),i=zy(t.updateTime),s=t.createTime?zy(t.createTime):x.min(),a=new Nv({mapValue:{fields:t.fields}}),n=N_.newFoundDocument(n,i,s,a);return r&&n.setHasCommittedMutations(),r?n.setHasCommittedMutations():n}function iw(e,t){let r;if(t instanceof r_)r={update:rw(e,t.key,t.value)};else if(t instanceof o_)r={delete:Yy(e,t.key)};else if(t instanceof n_)r={update:rw(e,t.key,t.data),updateMask:(e=>{let t=[];return e.fields.forEach(e=>t.push(e.canonicalString())),{fieldPaths:t}})(t.fieldMask)};else{if(!(t instanceof l_))return S(16599,{we:t.type});r={verify:Yy(e,t.key)}}return 0<t.fieldTransforms.length&&(r.updateTransforms=t.fieldTransforms.map(e=>{var t=e.transform;if(t instanceof Fv)return{fieldPath:e.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(t instanceof Lv)return{fieldPath:e.field.canonicalString(),appendMissingElements:{values:t.elements}};if(t instanceof Uv)return{fieldPath:e.field.canonicalString(),removeAllFromArray:{values:t.elements}};if(t instanceof Vv)return{fieldPath:e.field.canonicalString(),increment:t.l};if(t instanceof qv)return{fieldPath:e.field.canonicalString(),minimum:t.l};if(t instanceof jv)return{fieldPath:e.field.canonicalString(),maximum:t.l};throw S(20930,{transform:e.transform})})),t.precondition.isNone||(r.currentDocument=(e=e,void 0!==(t=t.precondition).updateTime?{updateTime:Ky(e,t.updateTime)}:void 0!==t.exists?{exists:t.exists}:S(27497))),r}function sw(i,t){let r=t.currentDocument?void 0!==(s=t.currentDocument).updateTime?Yv.updateTime(zy(s.updateTime)):void 0!==s.exists?Yv.exists(s.exists):Yv.none():Yv.none(),n=t.updateTransforms?t.updateTransforms.map(r=>{{var e=i;let t=null;if("setToServerValue"in r)k("REQUEST_TIME"===r.setToServerValue,16630,{proto:r}),t=new Fv;else if("appendMissingElements"in r){let e=r.appendMissingElements.values||[];t=new Lv(e)}else if("removeAllFromArray"in r){let e=r.removeAllFromArray.values||[];t=new Uv(e)}else"increment"in r?t=new Vv(e,r.increment):"minimum"in r?t=new qv(e,r.minimum):"maximum"in r?t=new jv(e,r.maximum):S(16584,{proto:r});var n=mC.fromServerFormat(r.fieldPath);return new Wv(n,t)}}):[];var s,a;if(t.update){t.update.name;var o=$y(i,t.update.name),l=new Nv({mapValue:{fields:t.update.fields}});if(t.updateMask){s=t.updateMask,a=s.fieldPaths||[];let e=new CC(a.map(e=>mC.fromServerFormat(e)));return new n_(o,l,e,r,n)}return new r_(o,l,r,n)}if(t.delete){let e=$y(i,t.delete);return new o_(e,r)}if(t.verify){let e=$y(i,t.verify);return new l_(e,r)}return S(1463,{proto:t})}function aw(e,n){return e&&0<e.length?(k(void 0!==n,14353),e.map(t=>{{var r=n;let e=t.updateTime?zy(t.updateTime):zy(r);return e.isEqual(x.min())&&(e=zy(r)),new Qv(e,t.transformResults||[])}})):[]}function ow(e,t){return{documents:[Xy(e,t.path)]}}function lw(e,t){var r={structuredQuery:{}},n=t.path;let i;null!==t.collectionGroup?(i=n,r.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(i=n.popLast(),r.structuredQuery.from=[{collectionId:n.lastSegment()}]),r.parent=Xy(e,i);n=(e=>{if(0!==e.length)return function r(e){return e instanceof B_?(e=>{if("=="===e.op){if(yv(e.value))return{unaryFilter:{field:pw(e.field),op:"IS_NAN"}};if(_v(e.value))return{unaryFilter:{field:pw(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(yv(e.value))return{unaryFilter:{field:pw(e.field),op:"IS_NOT_NAN"}};if(_v(e.value))return{unaryFilter:{field:pw(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:pw(e.field),op:dw(e.op),value:e.value}}})(e):e instanceof p_?(e=>{let t=e.getFilters().map(e=>r(e));return 1===t.length?t[0]:{compositeFilter:{op:Bw(e.op),filters:t}}})(e):S(54877,{filter:e})}(p_.create(e,"and"))})(t.filters),n&&(r.structuredQuery.where=n),n=(e=>{if(0!==e.length)return e.map(e=>({field:pw((e=e).field),direction:(e=e.dir,Ly[e])}))})(t.orderBy),n&&(r.structuredQuery.orderBy=n),n=Hy(e,t.limit);return null!==n&&(r.structuredQuery.limit=n),t.startAt&&(r.structuredQuery.startAt={before:(e=t.startAt).inclusive,values:e.position}),t.endAt&&(r.structuredQuery.endAt={before:!(e=t.endAt).inclusive,values:e.position}),{be:r,parent:i}}function hw(e){let t=Zy(e.parent);var r,n=e.structuredQuery,i=n.from?n.from.length:0;let s=null;if(0<i){k(1===i,65062);let e=n.from[0];e.allDescendants?s=e.collectionId:t=t.child(e.collectionId)}let a=[],o=(n.where&&(a=(e=n.where,(i=function t(e){return void 0!==e.unaryFilter?(i=>{switch(i.unaryFilter.op){case"IS_NAN":let e=gw(i.unaryFilter.field);return B_.create(e,"==",{doubleValue:NaN});case"IS_NULL":let t=gw(i.unaryFilter.field);return B_.create(t,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let r=gw(i.unaryFilter.field);return B_.create(r,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let n=gw(i.unaryFilter.field);return B_.create(n,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return S(61313);default:return S(60726)}})(e):void 0!==e.fieldFilter?(e=>B_.create(gw(e.fieldFilter.field),(e=>{switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":return S(58110);default:return S(50506)}})(e.fieldFilter.op),e.fieldFilter.value))(e):void 0!==e.compositeFilter?(e=>p_.create(e.compositeFilter.filters.map(e=>t(e)),(e=>{switch(e){case"AND":return"and";case"OR":return"or";default:return S(1026)}})(e.compositeFilter.op)))(e):S(30097,{filter:e})}(e))instanceof p_&&m_(i)?i.getFilters():[i])),[]),l=(n.orderBy&&(o=n.orderBy.map(e=>(e=e,new k_(gw(e.field),(e=>{switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}})(e.direction))))),null),h=(n.limit&&(l=(e=n.limit,$C(i="object"==typeof e?e.value:e)?null:i)),null),u=(n.startAt&&(h=(e=n.startAt,i=!!e.before,r=e.values||[],new h_(r,i))),null);return n.endAt&&(u=(e=n.endAt,r=!e.before,i=e.values||[],new h_(i,r))),$_(t,s,o,a,l,"F",h,u)}function uw(e,t){var r=(e=>{switch(e){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return S(28987,{purpose:e})}})(t.purpose);return null==r?null:{"goog-listen-tags":r}}function cw(t,e){return{structuredPipeline:{pipeline:{stages:e.stages.map(e=>e._toProto(t))}}}}function dw(e){return My[e]}function Bw(e){return Uy[e]}function pw(e){return{fieldPath:e.canonicalString()}}function gw(e){return mC.fromServerFormat(e.fieldPath)}function fw(e){return 4<=e.length&&"projects"===e.get(0)&&"databases"===e.get(2)}function mw(e){return e&&"function"==typeof e._toProto&&"ProtoValue"===e._protoValueType}function Cw(r,e){let n={fields:{}};return e.forEach((e,t)=>{if("string"!=typeof t)throw new Error("Cannot encode map with non-string key: "+t);n.fields[t]=e._toProto(r)}),{mapValue:n}}function vw(e){return{stringValue:e}}function _w(e){return new Gy(e,!0)}class yw{constructor(e){this._byteString=e}static fromBase64String(e){try{return new yw(xC.fromBase64String(e))}catch(e){throw new R(A.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new yw(xC.fromUint8Array(e))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(e){return this._byteString.isEqual(e._byteString)}toJSON(){return{type:yw._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(e){if(AC(e,yw._jsonSchema))return yw.fromBase64String(e.bytes)}}yw._jsonSchemaVersion="firestore/bytes/1.0",yw._jsonSchema={type:NC("string",yw._jsonSchemaVersion),bytes:NC("string")};let ww=class{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new R(A.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new mC(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}};let Ew=class{constructor(e){this._methodName=e}};class Dw{constructor(e,t){if(!isFinite(e)||e<-90||90<e)throw new R(A.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||180<t)throw new R(A.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 N(this._lat,e._lat)||N(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:Dw._jsonSchemaVersion}}static fromJSON(e){if(AC(e,Dw._jsonSchema))return new Dw(e.latitude,e.longitude)}}Dw._jsonSchemaVersion="firestore/geoPoint/1.0",Dw._jsonSchema={type:NC("string",Dw._jsonSchemaVersion),latitude:NC("number"),longitude:NC("number")};class bw{constructor(e){this.uid=e}isAuthenticated(){return null!=this.uid}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(e){return e.uid===this.uid}}bw.UNAUTHENTICATED=new bw(null),bw.GOOGLE_CREDENTIALS=new bw("google-credentials-uid"),bw.FIRST_PARTY=new bw("first-party-uid"),bw.MOCK_USER=new bw("mock-user");class Iw{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class Tw{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization","Bearer "+e)}}class Sw{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(bw.UNAUTHENTICATED))}shutdown(){}}class kw{constructor(e){this.token=e,this.changeListener=null}getToken(){return Promise.resolve(this.token)}invalidateToken(){}start(e,t){this.changeListener=t,e.enqueueRetryable(()=>t(this.token.user))}shutdown(){this.changeListener=null}}class Nw{constructor(e){this.Se=e,this.currentUser=bw.UNAUTHENTICATED,this.De=0,this.forceRefresh=!1,this.auth=null}start(t,r){k(void 0===this.xe,42304);let n=this.De,i=e=>this.De!==n?(n=this.De,r(e)):Promise.resolve(),s=new Iw,a=(this.xe=()=>{this.De++,this.currentUser=this.Ce(),s.resolve(),s=new Iw,t.enqueueRetryable(()=>i(this.currentUser))},()=>{let e=s;t.enqueueRetryable(async()=>{await e.promise,await i(this.currentUser)})}),o=e=>{p("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.xe&&(this.auth.addAuthTokenListener(this.xe),a())};this.Se.onInit(e=>o(e)),setTimeout(()=>{var e;this.auth||((e=this.Se.getImmediate({optional:!0}))?o(e):(p("FirebaseAuthCredentialsProvider","Auth not yet detected"),s.resolve(),s=new Iw))},0),a()}getToken(){let t=this.De,e=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(e).then(e=>this.De!==t?(p("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):e?(k("string"==typeof e.accessToken,31837,{Fe:e}),new Tw(e.accessToken,this.currentUser)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.xe&&this.auth.removeAuthTokenListener(this.xe),this.xe=void 0}Ce(){var e=this.auth&&this.auth.getUid();return k(null===e||"string"==typeof e,2055,{Oe:e}),new bw(e)}}class Aw{constructor(e,t,r){this.Me=e,this.Ne=t,this.Le=r,this.type="FirstParty",this.user=bw.FIRST_PARTY,this.Be=new Map}Ue(){return this.Le?this.Le():null}get headers(){this.Be.set("X-Goog-AuthUser",this.Me);var e=this.Ue();return e&&this.Be.set("Authorization",e),this.Ne&&this.Be.set("X-Goog-Iam-Authorization-Token",this.Ne),this.Be}}class Rw{constructor(e,t,r){this.Me=e,this.Ne=t,this.Le=r}getToken(){return Promise.resolve(new Aw(this.Me,this.Ne,this.Le))}start(e,t){e.enqueueRetryable(()=>t(bw.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class Ow{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&0<e.length&&this.headers.set("x-firebase-appcheck",this.value)}}class Pw{constructor(e,t){this.ke=t,this.forceRefresh=!1,this.appCheck=null,this.qe=null,this.$e=null,Rt(e)&&e.settings.appCheckToken&&(this.$e=e.settings.appCheckToken)}start(t,r){k(void 0===this.xe,3512);let n=e=>{null!=e.error&&p("FirebaseAppCheckTokenProvider","Error getting App Check token; using placeholder token instead. Error: "+e.error.message);var t=e.token!==this.qe;return this.qe=e.token,p("FirebaseAppCheckTokenProvider",`Received ${t?"new":"existing"} token.`),t?r(e.token):Promise.resolve()},i=(this.xe=e=>{t.enqueueRetryable(()=>n(e))},e=>{p("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.xe&&this.appCheck.addTokenListener(this.xe)});this.ke.onInit(e=>i(e)),setTimeout(()=>{var e;this.appCheck||((e=this.ke.getImmediate({optional:!0}))?i(e):p("FirebaseAppCheckTokenProvider","AppCheck not yet detected"))},0)}getToken(){var e;return this.$e?Promise.resolve(new Ow(this.$e)):(e=this.forceRefresh,this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(k("string"==typeof e.token,44558,{tokenResult:e}),this.qe=e.token,new Ow(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 xw(e){var t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}class Fw{Ke(e){}shutdown(){}}let Lw="ConnectivityMonitor";class Mw{constructor(){this.We=()=>this.Qe(),this.Ge=()=>this.ze(),this.je=[],this.He()}Ke(e){this.je.push(e)}shutdown(){window.removeEventListener("online",this.We),window.removeEventListener("offline",this.Ge)}He(){window.addEventListener("online",this.We),window.addEventListener("offline",this.Ge)}Qe(){p(Lw,"Network connectivity changed: AVAILABLE");for(var e of this.je)e(0)}ze(){p(Lw,"Network connectivity changed: UNAVAILABLE");for(var e of this.je)e(1)}static Je(){return"undefined"!=typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}let Uw=null;function Gw(){return null===Uw?Uw=268435456+Math.round(2147483648*Math.random()):Uw++,"0x"+Uw.toString(16)}let Hw="RestConnection",Vw={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery",ExecutePipeline:"executePipeline"};class qw{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)}}let jw="WebChannelConnection",Kw=(e,t,r)=>{e.listen(t,e=>{try{r(e)}catch(e){setTimeout(()=>{throw e},0)}})};class zw extends class{get Ye(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;var t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),n=encodeURIComponent(this.databaseId.database);this.Ze=t+"://"+e.host,this.Xe=`projects/${r}/databases/`+n,this.et=this.databaseId.database===WC?"project_id="+r:`project_id=${r}&database_id=`+n}tt(t,e,r,n,i){let s=Gw(),a=this.nt(t,e.toUriEncodedString());p(Hw,`Sending RPC '${t}' ${s}:`,a,r);var o={"google-cloud-resource-prefix":this.Xe,"x-goog-request-params":this.et},l=(this.rt(o,n,i),new URL(a)).host,l=Ge(l);return this.it(t,a,o,r,l).then(e=>(p(Hw,`Received RPC '${t}' ${s}: `,e),e),e=>{throw Xm(Hw,`RPC '${t}' ${s} failed with error: `,e,"url: ",a,"request:",r),e})}st(e,t,r,n,i,s){return this.tt(e,t,r,n,i)}rt(r,t,n){if(r["X-Goog-Api-Client"]="gl-js/ fire/"+Wm,r["Content-Type"]="text/plain",this.databaseInfo.appId&&(r["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((e,t)=>r[t]=e),n&&n.headers.forEach((e,t)=>r[t]=e),this.databaseInfo._customHeaders)for(let e of Object.keys(this.databaseInfo._customHeaders))r[e]=this.databaseInfo._customHeaders[e]}nt(e,t){var r=Vw[e];let n=this.Ze+`/v1/${t}:`+r;return n=this.databaseInfo.apiKey?n+"?key="+encodeURIComponent(this.databaseInfo.apiKey):n}terminate(){}}{constructor(e){super(e),this.dt=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}static ft(){var e;zw.gt||(e=Nf(),Kw(e,kf.STAT_EVENT,e=>{e.stat===Sf.PROXY?p(jw,"STAT_EVENT: detected buffering proxy"):e.stat===Sf.NOPROXY&&p(jw,"STAT_EVENT: detected no buffering proxy")}),zw.gt=!0)}it(l,t,r,n,e){let h=Gw();return new Promise((s,a)=>{let o=new Df;o.setWithCredentials(!0),o.listenOnce(If.COMPLETE,()=>{try{switch(o.getLastErrorCode()){case Tf.NO_ERROR:var e=o.getResponseJson();p(jw,`XHR for RPC '${l}' ${h} received:`,JSON.stringify(e)),s(e);break;case Tf.TIMEOUT:p(jw,`RPC '${l}' ${h} timed out`),a(new R(A.DEADLINE_EXCEEDED,"Request time out"));break;case Tf.HTTP_ERROR:var t=o.getStatus();if(p(jw,`RPC '${l}' ${h} failed with status:`,t,"response text:",o.getResponseText()),0<t){let e=o.getResponseJson();var r=(e=Array.isArray(e)?e[0]:e)?.error;if(r&&r.status&&r.message){n=r.status,i=n.toLowerCase().replace(/_/g,"-");let e=0<=Object.values(A).indexOf(i)?i:A.UNKNOWN;a(new R(e,r.message))}else a(new R(A.UNKNOWN,"Server responded with status "+o.getStatus()))}else a(new R(A.UNAVAILABLE,"Connection failed."));break;default:S(9055,{yt:l,streamId:h,wt:o.getLastErrorCode(),bt:o.getLastError()})}}finally{p(jw,`RPC '${l}' ${h} completed.`)}var n,i});var e=JSON.stringify(n);p(jw,`RPC '${l}' ${h} sending request:`,n),o.send(t,"POST",e,r,15)})}vt(i,e,t){let s=Gw(),r=[this.Ze,"/","google.firestore.v1.Firestore","/",i,"/channel"],n=this.createWebChannelTransport(),a={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/`+this.databaseId.database},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling},o=this.longPollingOptions.timeoutSeconds;void 0!==o&&(a.longPollingTimeout=Math.round(1e3*o)),this.useFetchStreams&&(a.useFetchStreams=!0),this.rt(a.initMessageHeaders,e,t),a.encodeInitMessageHeaders=!0;var l=r.join("");p(jw,`Creating RPC '${i}' stream ${s}: `+l,a);let h=n.createWebChannel(l,a),u=(this.St(h),!1),c=!1,d=new qw({_t:e=>{c?p(jw,`Not sending because RPC '${i}' stream ${s} is closed:`,e):(u||(p(jw,`Opening RPC '${i}' stream ${s} transport.`),h.open(),u=!0),p(jw,`RPC '${i}' stream ${s} sending:`,e),h.send(e))},ot:()=>h.close()});return Kw(h,bf.EventType.OPEN,()=>{c||(p(jw,`RPC '${i}' stream ${s} transport opened.`),d.Rt())}),Kw(h,bf.EventType.CLOSE,()=>{c||(c=!0,p(jw,`RPC '${i}' stream ${s} transport closed`),d.At(),this.Dt(h))}),Kw(h,bf.EventType.ERROR,e=>{c||(c=!0,Xm(jw,`RPC '${i}' stream ${s} transport errored. Name:`,e.name,"Message:",e.message),d.At(new R(A.UNAVAILABLE,"The operation could not be completed")))}),Kw(h,bf.EventType.MESSAGE,e=>{if(!c){var t=e.data[0],n=(k(!!t,16349),t),n=n?.error||n[0]?.error;if(n){p(jw,`RPC '${i}' stream ${s} received error:`,n);let e=n.status,t=(e=>{var t=Gm[e];if(void 0!==t)return cy(t)})(e),r=n.message;"NOT_FOUND"===e&&r.includes("database")&&r.includes("does not exist")&&r.includes(this.databaseId.database)&&Xm(`Database '${this.databaseId.database}' not found. Please check your project configuration.`),void 0===t&&(t=A.INTERNAL,r="Unknown error status: "+e+" with message "+n.message),c=!0,d.At(new R(t,r)),h.close()}else p(jw,`RPC '${i}' stream ${s} received:`,t),d.Vt(t)}}),zw.ft(),setTimeout(()=>{d.It()},0),d}terminate(){this.dt.forEach(e=>e.close()),this.dt=[]}St(e){this.dt.push(e)}Dt(t){this.dt=this.dt.filter(e=>e===t)}rt(e,t,r){super.rt(e,t,r),this.databaseInfo.apiKey&&(e["x-goog-api-key"]=this.databaseInfo.apiKey)}createWebChannelTransport(){return Af()}}zw.gt=!1;class Jw{constructor(e,t,r=1e3,n=1.5,i=6e4){this.xt=e,this.timerId=t,this.Ct=r,this.Ft=n,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();var t=Math.floor(this.Mt+this.kt()),r=Math.max(0,Date.now()-this.Lt),n=Math.max(0,t-r);0<n&&p("ExponentialBackoff",`Backing off for ${n} ms (base delay: ${this.Mt} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.Nt=this.xt.enqueueAfterDelay(this.timerId,n,()=>(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(){null!==this.Nt&&(this.Nt.skipDelay(),this.Nt=null)}cancel(){null!==this.Nt&&(this.Nt.cancel(),this.Nt=null)}kt(){return(Math.random()-.5)*this.Mt}}let Ww="PersistentStream";class Qw{constructor(e,t,r,n,i,s,a,o){this.xt=e,this.$t=r,this.Kt=n,this.connection=i,this.authCredentialsProvider=s,this.appCheckCredentialsProvider=a,this.listener=o,this.state=0,this.Wt=0,this.Qt=null,this.Gt=null,this.stream=null,this.zt=0,this.jt=new Jw(e,t)}Ht(){return 1===this.state||5===this.state||this.Jt()}Jt(){return 2===this.state||3===this.state}start(){this.zt=0,4!==this.state?this.auth():this.Yt()}async stop(){this.Ht()&&await this.close(0)}Zt(){this.state=0,this.jt.reset()}Xt(){this.Jt()&&null===this.Qt&&(this.Qt=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.Qt&&(this.Qt.cancel(),this.Qt=null)}rn(){this.Gt&&(this.Gt.cancel(),this.Gt=null)}async close(e,t){this.nn(),this.rn(),this.jt.cancel(),this.Wt++,4!==e?this.jt.reset():t&&t.code===A.RESOURCE_EXHAUSTED?($m(t.toString()),$m("Using maximum backoff delay to prevent overloading the backend."),this.jt.Bt()):t&&t.code===A.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(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.Wt),r=this.Wt;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([e,t])=>{this.Wt===r&&this.an(e,t)},t=>{e(()=>{var e=new R(A.UNKNOWN,"Fetching auth token failed: "+t.message);return this.un(e)})})}an(e,t){let r=this._n(this.Wt);this.stream=this.cn(e,t),this.stream.ut(()=>{r(()=>this.listener.ut())}),this.stream.lt(()=>{r(()=>(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=>{r(()=>this.un(e))}),this.stream.onMessage(e=>{r(()=>1==++this.zt?this.En(e):this.onNext(e))})}Yt(){this.state=5,this.jt.Ut(async()=>{this.state=0,this.start()})}un(e){return p(Ww,"close with error: "+e),this.stream=null,this.close(4,e)}_n(t){return e=>{this.xt.enqueueAndForget(()=>this.Wt===t?e():(p(Ww,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class Yw extends Qw{constructor(e,t,r,n,i,s){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,n,s),this.serializer=i}cn(e,t){return this.connection.vt("Listen",e,t)}En(e){return this.onNext(e)}onNext(e){this.jt.reset();var t=((e,t)=>{let r;if("targetChange"in t){t.targetChange;var n="NO_CHANGE"===(l=t.targetChange.targetChangeType||"NO_CHANGE")?0:"ADD"===l?1:"REMOVE"===l?2:"CURRENT"===l?3:"RESET"===l?4:S(39313,{state:l}),i=t.targetChange.targetIds||[],s=(l=t.targetChange.resumeToken,e.useProto3Json?(k(void 0===l||"string"==typeof l,58123),xC.fromBase64String(l||"")):(k(void 0===l||l instanceof Buffer||l instanceof Uint8Array,16193),xC.fromUint8Array(l||new Uint8Array))),a=t.targetChange.cause,a=a&&(a=void 0===(l=a).code?A.UNKNOWN:cy(l.code),new R(a,l.message||""));r=new Ay(n,i,s,a||null)}else if("documentChange"in t){t.documentChange;var n=t.documentChange,i=(n.document,n.document.name,n.document.updateTime,$y(e,n.document.name)),s=zy(n.document.updateTime),a=n.document.createTime?zy(n.document.createTime):x.min(),o=new Nv({mapValue:{fields:n.document.fields}}),i=N_.newFoundDocument(i,s,a,o),s=n.targetIds||[],o=n.removedTargetIds||[];r=new ky(s,o,i.key,i)}else if("documentDelete"in t){t.documentDelete;n=t.documentDelete,s=(n.document,$y(e,n.document)),o=n.readTime?zy(n.readTime):x.min(),i=N_.newNoDocument(s,o),s=n.removedTargetIds||[];r=new ky([],s,i.key,i)}else if("documentRemove"in t){t.documentRemove;o=t.documentRemove,n=(o.document,$y(e,o.document)),s=o.removedTargetIds||[];r=new ky([],s,n,null)}else{if(!("filter"in t))return S(11601,{ye:t});{t.filter;let e=t.filter;e.targetId;var{count:i=0,unchangedNames:o}=e,s=new hy(i,o),n=e.targetId;r=new Ny(n,s)}}var l;return r})(this.serializer,e),r="targetChange"in(e=e)&&(!(r=e.targetChange).targetIds||!r.targetIds.length)&&r.readTime?zy(r.readTime):x.min();return this.listener.hn(t,r)}Tn(e){var t={},r=(t.database=ew(this.serializer),t.addTarget=((t,r)=>{var n;let e=r.target;if((n=K_(e)?{pipelineQuery:cw(t,e)}:z_(e)?{documents:ow(t,e)}:{query:lw(t,e).be}).targetId=r.targetId,0<r.resumeToken.approximateByteSize()){n.resumeToken=jy(t,r.resumeToken);let e=Hy(t,r.expectedCount);null!==e&&(n.expectedCount=e)}else if(0<r.snapshotVersion.compareTo(x.min())){n.readTime=Vy(t,r.snapshotVersion.toTimestamp());let e=Hy(t,r.expectedCount);null!==e&&(n.expectedCount=e)}return n})(this.serializer,e),uw(this.serializer,e));r&&(t.labels=r),this.tn(t)}Pn(e){var t={};t.database=ew(this.serializer),t.removeTarget=e,this.tn(t)}}class $w extends Qw{constructor(e,t,r,n,i,s){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,n,s),this.serializer=i}get Rn(){return 0<this.zt}start(){this.lastStreamToken=void 0,super.start()}sn(){this.Rn&&this.In([])}cn(e,t){return this.connection.vt("Write",e,t)}En(e){return k(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,k(!e.writeResults||0===e.writeResults.length,55816),this.listener.An()}onNext(e){k(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this.jt.reset();var t=aw(e.writeResults,e.commitTime),r=zy(e.commitTime);return this.listener.Vn(r,t)}dn(){var e={};e.database=ew(this.serializer),this.tn(e)}In(e){var t={streamToken:this.lastStreamToken,writes:e.map(e=>iw(this.serializer,e))};this.tn(t)}}class Xw extends class{}{constructor(e,t,r,n){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=n,this.fn=!1}mn(){if(this.fn)throw new R(A.FAILED_PRECONDITION,"The client has already been terminated.")}tt(r,n,i,s){return this.mn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection.tt(r,Wy(n,i),s,e,t)).catch(e=>{throw"FirebaseError"===e.name?(e.code===A.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new R(A.UNKNOWN,e.toString())})}st(r,n,i,s,a){return this.mn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection.st(r,Wy(n,i),s,e,t,a)).catch(e=>{throw"FirebaseError"===e.name?(e.code===A.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new R(A.UNKNOWN,e.toString())})}terminate(){this.fn=!0,this.connection.terminate()}}let Zw=new Map;let eE={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class tE{static withCacheSize(e){return new tE(e,tE.DEFAULT_COLLECTION_PERCENTILE,tE.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}tE.DEFAULT_COLLECTION_PERCENTILE=10,tE.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,tE.DEFAULT=new tE(41943040,tE.DEFAULT_COLLECTION_PERCENTILE,tE.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),tE.DISABLED=new tE(-1,0,0);class rE{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(){var e=++this.previousValue;return this.gn&&this.gn(e),e}}rE.yn=-1;let nE="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class iE{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function sE(e){if(e.code!==A.FAILED_PRECONDITION||e.message!==nE)throw e;p("LocalStore","Unexpectedly lost primary lease")}class L{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(e=>{this.isDone=!0,this.result=e,this.nextCallback&&this.nextCallback(e)},e=>{this.isDone=!0,this.error=e,this.catchCallback&&this.catchCallback(e)})}catch(e){return this.next(void 0,e)}next(n,i){return this.callbackAttached&&S(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(i,this.error):this.wrapSuccess(n,this.result):new L((t,r)=>{this.nextCallback=e=>{this.wrapSuccess(n,e).next(t,r)},this.catchCallback=e=>{this.wrapFailure(i,e).next(t,r)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{var t=e();return t instanceof L?t:L.resolve(t)}catch(e){return L.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):L.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):L.reject(t)}static resolve(r){return new L((e,t)=>{e(r)})}static reject(r){return new L((e,t)=>{t(r)})}static waitFor(e){return new L((t,r)=>{let n=0,i=0,s=!1;e.forEach(e=>{++n,e.next(()=>{++i,s&&i===n&&t()},e=>r(e))}),s=!0,i===n&&t()})}static or(e){let t=L.resolve(!1);for(let r of e)t=t.next(e=>e?L.resolve(e):r());return t}static forEach(e,r){let n=[];return e.forEach((e,t)=>{n.push(r.call(this,e,t))}),this.waitFor(n)}static mapArray(o,l){return new L((r,n)=>{let i=o.length,s=new Array(i),a=0;for(let e=0;e<i;e++){let t=e;l(o[t]).next(e=>{s[t]=e,++a===i&&r(s)},e=>n(e))}})}static doWhile(n,i){return new L((e,t)=>{let r=()=>{!0===n()?i().next(()=>{r()},t):e()};r()})}}let aE="SimpleDb";class oE{static open(e,t,r,n){try{return new oE(t,e.transaction(n,r))}catch(e){throw new cE(t,e)}}constructor(r,e){this.action=r,this.transaction=e,this.aborted=!1,this.wn=new Iw,this.transaction.oncomplete=()=>{this.wn.resolve()},this.transaction.onabort=()=>{e.error?this.wn.reject(new cE(r,e.error)):this.wn.resolve()},this.transaction.onerror=e=>{var t=fE(e.target.error);this.wn.reject(new cE(r,t))}}get bn(){return this.wn.promise}abort(e){e&&this.wn.reject(e),this.aborted||(p(aE,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}vn(){var e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){var t=this.transaction.objectStore(e);return new BE(t)}}class lE{static delete(e){return p(aE,"Removing database:",e),pE(z().indexedDB.deleteDatabase(e)).toPromise()}static Je(){var e,t,r;return!(!ue()||!lE.Sn()&&(e=te(),t=0<(t=lE.Dn(e))&&t<10,r=0<(r=hE(e))&&r<4.5,0<e.indexOf("MSIE ")||0<e.indexOf("Trident/")||0<e.indexOf("Edge/")||t||r))}static Sn(){return"undefined"!=typeof process&&"YES"===process.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static xn(e,t){return e.store(t)}static Dn(e){var t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),t=t?t[1].split("_").slice(0,2).join("."):"-1";return Number(t)}constructor(e,t,r){this.name=e,this.version=t,this.Cn=r,this.Fn=null,12.2===lE.Dn(te())&&$m("Firestore persistence suffers from a bug in iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.")}async On(s){return this.db||(p(aE,"Opening database:",this.name),this.db=await new Promise((r,n)=>{let i=indexedDB.open(this.name,this.version);i.onsuccess=e=>{var t=e.target.result;r(t)},i.onblocked=()=>{n(new cE(s,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},i.onerror=e=>{var t=e.target.error;"VersionError"===t.name?n(new R(A.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):"InvalidStateError"===t.name?n(new R(A.FAILED_PRECONDITION,"Unable to open an IndexedDB connection. This could be due to running in a private browsing session on a browser whose private browsing sessions do not support IndexedDB: "+t)):n(new cE(s,t))},i.onupgradeneeded=e=>{p(aE,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);var t=e.target.result;this.Cn.Mn(t,i.transaction,e.oldVersion,this.version).next(()=>{p(aE,"Database upgrade to version "+this.version+" complete")})}})),this.Nn&&(this.db.onversionchange=e=>this.Nn(e)),this.db}Ln(t){this.Nn=t,this.db&&(this.db.onversionchange=e=>t(e))}async runTransaction(r,e,n,i){var s="readonly"===e;let a=0;for(;;){++a;try{this.db=await this.On(r);let t=oE.open(this.db,r,s?"readonly":"readwrite",n),e=i(t).next(e=>(t.vn(),e)).catch(e=>(t.abort(e),L.reject(e))).toPromise();return e.catch(()=>{}),await t.bn,e}catch(r){let e=r,t="FirebaseError"!==e.name&&a<3;if(p(aE,"Transaction failed with error:",e.message,"Retrying:",t),this.close(),!t)return Promise.reject(e)}}}close(){this.db&&this.db.close(),this.db=void 0}}function hE(e){var t=e.match(/Android ([\d.]+)/i),t=t?t[1].split(".").slice(0,2).join("."):"-1";return Number(t)}class uE{constructor(e){this.Bn=e,this.Un=!1,this.kn=null}get isDone(){return this.Un}get qn(){return this.kn}set cursor(e){this.Bn=e}done(){this.Un=!0}$n(e){this.kn=e}delete(){return pE(this.Bn.delete())}}class cE extends R{constructor(e,t){super(A.UNAVAILABLE,`IndexedDB transaction '${e}' failed: `+t),this.name="IndexedDbTransactionError"}}function dE(e){return"IndexedDbTransactionError"===e.name}class BE{constructor(e){this.store=e}put(e,t){let r;return pE(r=void 0!==t?(p(aE,"PUT",this.store.name,e,t),this.store.put(t,e)):(p(aE,"PUT",this.store.name,"<auto-key>",e),this.store.put(e)))}add(e){return p(aE,"ADD",this.store.name,e,e),pE(this.store.add(e))}get(t){return pE(this.store.get(t)).next(e=>(void 0===e&&(e=null),p(aE,"GET",this.store.name,t,e),e))}delete(e){return p(aE,"DELETE",this.store.name,e),pE(this.store.delete(e))}count(){return p(aE,"COUNT",this.store.name),pE(this.store.count())}Kn(e,t){var n=this.options(e,t),r=n.index?this.store.index(n.index):this.store;if("function"==typeof r.getAll){let e=r.getAll(n.range);return new L((t,r)=>{e.onerror=e=>{r(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(n),r=[];return this.Wn(e,(e,t)=>{r.push(t)}).next(()=>r)}}Qn(e,t){let n=this.store.getAll(e,null===t?void 0:t);return new L((t,r)=>{n.onerror=e=>{r(e.target.error)},n.onsuccess=e=>{t(e.target.result)}})}Gn(e,t){p(aE,"DELETE ALL",this.store.name);var r=this.options(e,t),r=(r.zn=!1,this.cursor(r));return this.Wn(r,(e,t,r)=>r.delete())}jn(e,t){let r;t?r=e:(r={},t=e);var n=this.cursor(r);return this.Wn(n,t)}Hn(i){let e=this.cursor({});return new L((r,n)=>{e.onerror=e=>{var t=fE(e.target.error);n(t)},e.onsuccess=e=>{let t=e.target.result;t?i(t.primaryKey,t.value).next(e=>{e?t.continue():r()}):r()}})}Wn(e,s){let a=[];return new L((i,t)=>{e.onerror=e=>{t(e.target.error)},e.onsuccess=e=>{var n=e.target.result;if(n){let t=new uE(n),r=s(n.primaryKey,n.value,t);if(r instanceof L){let e=r.catch(e=>(t.done(),L.reject(e)));a.push(e)}t.isDone?i():null===t.qn?n.continue():n.continue(t.qn)}else i()}}).next(()=>L.waitFor(a))}options(e,t){let r;return void 0!==e&&("string"==typeof e?r=e:t=e),{index:r,range:t}}cursor(e){let t="next";var r;return e.reverse&&(t="prev"),e.index?(r=this.store.index(e.index),e.zn?r.openKeyCursor(e.range,t):r.openCursor(e.range,t)):this.store.openCursor(e.range,t)}}function pE(e){return new L((r,n)=>{e.onsuccess=e=>{var t=e.target.result;r(t)},e.onerror=e=>{var t=fE(e.target.error);n(t)}})}let gE=!1;function fE(e){let t=lE.Dn(te());if(12.2<=t&&t<13){let t="An internal error was encountered in the Indexed Database server";if(0<=e.message.indexOf(t)){let e=new R("internal",`IOS_INDEXEDDB_BUG1: IndexedDb has thrown '${t}'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.`);return gE||(gE=!0,setTimeout(()=>{throw e},0)),e}}return e}let mE="LruGarbageCollector";function CE([e,t],[r,n]){var i=N(e,r);return 0===i?N(t,n):i}class vE{constructor(e){this.Jn=e,this.buffer=new cC(CE),this.Yn=0}Zn(){return++this.Yn}Xn(e){var t=[e,this.Zn()];if(this.buffer.size<this.Jn)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();CE(t,e)<0&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}}class _E{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.er=null}start(){-1!==this.garbageCollector.params.cacheSizeCollectionThreshold&&this.tr(6e4)}stop(){this.er&&(this.er.cancel(),this.er=null)}get started(){return null!==this.er}tr(e){p(mE,`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){dE(e)?p(mE,"Ignoring IndexedDB error during garbage collection: ",e):await sE(e)}await this.tr(3e5)})}}class yE{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(0===t)return L.resolve(rE.yn);let r=new vE(t);return this.nr.forEachTarget(e,e=>r.Xn(e.sequenceNumber)).next(()=>this.nr.ir(e,e=>r.Xn(e))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.nr.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.nr.removeOrphanedDocuments(e,t)}collect(t,r){return-1===this.params.cacheSizeCollectionThreshold?(p("LruGarbageCollector","Garbage collection skipped; disabled"),L.resolve(eE)):this.getCacheSize(t).next(e=>e<this.params.cacheSizeCollectionThreshold?(p("LruGarbageCollector",`Garbage collection skipped; Cache size ${e} is lower than threshold `+this.params.cacheSizeCollectionThreshold),eE):this.sr(t,r))}getCacheSize(e){return this.nr.getCacheSize(e)}sr(t,r){let n,i,s,a,o,l,h,u=Date.now();return this.calculateTargetCount(t,this.params.percentileToCollect).next(e=>(i=e>this.params.maximumSequenceNumbersToCollect?(p("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from `+e),this.params.maximumSequenceNumbersToCollect):e,a=Date.now(),this.nthSequenceNumber(t,i))).next(e=>(n=e,o=Date.now(),this.removeTargets(t,n,r))).next(e=>(s=e,l=Date.now(),this.removeOrphanedDocuments(t,n))).next(e=>(h=Date.now(),Ym()<=B.DEBUG&&p("LruGarbageCollector",`LRU Garbage Collection
9
+ `)}let mi={error:"UNKNOWN_ERROR"};async function Ci(e,t=!1,r=!1){var n,i=e.app;$n(i);let s=jn(i),a=s.token,o=void 0;if(a&&!Ei(a)&&(s.token=void 0,a=void 0),a||(n=await s.cachedTokenPromise)&&(Ei(n)?a=n:await Bi(i,void 0)),!t&&a&&Ei(a))return{token:a.token};let l=!1;if(gi())try{var h=await fi(),u=(s.exchangeTokenPromise||(s.exchangeTokenPromise=ei(ti(i,h),e.heartbeatServiceProvider).finally(()=>{s.exchangeTokenPromise=void 0}),l=!0),await s.exchangeTokenPromise);return await Bi(i,u),{token:(s.token=u).token}}catch(e){return"appCheck/throttled"===e.code||"appCheck/initial-throttle"===e.code?ci.warn(e.message):r&&ci.error(e),Di(e)}try{s.exchangeTokenPromise||(s.exchangeTokenPromise=s.provider.getToken().finally(()=>{s.exchangeTokenPromise=void 0}),l=!0),a=await jn(i).exchangeTokenPromise}catch(e){"appCheck/throttled"===e.code||"appCheck/initial-throttle"===e.code?ci.warn(e.message):r&&ci.error(e),o=e}let c;return a?o?c=Ei(a)?{token:a.token,internalError:o}:Di(o):(c={token:a.token},await Bi(i,s.token=a)):c=Di(o),l&&wi(i,c),c}function vi(t,e,r,n){var i=t.app,i=jn(i),s={next:r,error:n,type:e};if(i.tokenObservers=[...i.tokenObservers,s],i.token&&Ei(i.token)){let e=i.token;Promise.resolve().then(()=>{r({token:e.token}),yi(t)}).catch(()=>{})}i.cachedTokenPromise.then(()=>yi(t))}function _i(e,t){var r=jn(e),n=r.tokenObservers.filter(e=>e.next!==t);0===n.length&&r.tokenRefresher&&r.tokenRefresher.isRunning()&&r.tokenRefresher.stop(),r.tokenObservers=n}function yi(e){var t=e.app,t=jn(t);let r=t.tokenRefresher;r||(r=(r=>{let n=r.app;return new Wn(async()=>{var e=jn(n);let t;if((t=e.token?await Ci(r,!0):await Ci(r)).error)throw t.error;if(t.internalError)throw t.internalError},()=>!0,()=>{var e,t=jn(n);return t.token?(e=t.token.issuedAtTimeMillis+.5*(t.token.expireTimeMillis-t.token.issuedAtTimeMillis)+3e5,t=t.token.expireTimeMillis-3e5,e=Math.min(e,t),Math.max(0,e-Date.now())):0},Jn.RETRIAL_MIN_WAIT,Jn.RETRIAL_MAX_WAIT)})(e),t.tokenRefresher=r),!r.isRunning()&&t.isTokenAutoRefreshEnabled&&r.start()}function wi(e,t){var r;for(r of jn(e).tokenObservers)try{"EXTERNAL"===r.type&&null!=t.error?r.error(t.error):r.next(t)}catch(e){}}function Ei(e){return 0<e.expireTimeMillis-Date.now()}function Di(e){return{token:(t=mi,G.encodeString(JSON.stringify(t),!1)),error:e};var t}let bi=class{constructor(e,t){this.app=e,this.heartbeatServiceProvider=t}_delete(){var e,t=jn(this.app).tokenObservers;for(e of t)_i(this.app,e.next);return Promise.resolve()}};function Ii(t){return{getToken:e=>Ci(t,e),getLimitedUseToken:()=>(async e=>{var t=e.app,r=($n(t),jn(t)).provider;return gi()?{token:t=((t=ti(t,await fi())).body.limited_use=!0,await ei(t,e.heartbeatServiceProvider)).token}:{token:t=(await r.getToken(!0)).token}})(t),addTokenListener:e=>vi(t,"INTERNAL",e),removeTokenListener:e=>_i(t.app,e)}}let Ti="https://www.google.com/recaptcha/api.js",Si="https://www.google.com/recaptcha/enterprise.js";function ki(t,r){let n=new Z;jn(t).reCAPTCHAState={initialized:n};let i=Ri(t);var e,s=Yn(!1);return s?Ai(t,r,s,i,n):(e=()=>{var e=Yn(!1);if(!e)throw new Error("no recaptcha");Ai(t,r,e,i,n)},(s=document.createElement("script")).src=Ti,s.onload=e,document.head.appendChild(s)),n.promise}function Ni(t,r){let n=new Z;jn(t).reCAPTCHAState={initialized:n};let i=Ri(t);var e,s=Yn(!0);return s?Ai(t,r,s,i,n):(e=()=>{var e=Yn(!0);if(!e)throw new Error("no recaptcha");Ai(t,r,e,i,n)},(s=document.createElement("script")).src=Si+"?render=explicit",s.onload=e,document.head.appendChild(s)),n.promise}function Ai(n,i,s,a,o){s.ready(()=>{var e,t,r;e=n,t=s.render(a,{sitekey:i,size:"invisible",callback:()=>{jn(e).reCAPTCHAState.succeeded=!0},"error-callback":()=>{jn(e).reCAPTCHAState.succeeded=!1}}),(r=jn(e)).reCAPTCHAState={...r.reCAPTCHAState,widgetId:t},o.resolve(s)})}function Ri(e){var t="fire_app_check_"+e.name,r=document.createElement("div");return r.id=t,r.style.display="none",document.body.appendChild(r),t}async function Oi(n){$n(n);let i=await jn(n).reCAPTCHAState.initialized.promise;return new Promise((e,t)=>{let r=jn(n).reCAPTCHAState;i.ready(()=>{e(i.execute(r.widgetId,{action:"fire_app_check"}))})})}class Pi{constructor(e){this._siteKey=e,this._throttleData=null}async getToken(e=!1){Mi(this._throttleData);var t=await Oi(this._app).catch(e=>{throw Qn.create("recaptcha-error")});if(!jn(this._app).reCAPTCHAState?.succeeded)throw Qn.create("recaptcha-error");let r;try{var n=((e,t)=>{var{projectId:r,appId:n,apiKey:i}=e.options;return{url:Kn+`/projects/${r}/apps/${n}:exchangeRecaptchaV3Token?key=`+i,body:{recaptcha_v3_token:t}}})(this._app,t);e&&(n.body.limited_use=!0),r=await ei(n,this._heartbeatServiceProvider)}catch(e){throw e.code?.includes("fetch-status-error")?(this._throttleData=Li(Number(e.customData?.httpStatus),this._throttleData),Qn.create("initial-throttle",{time:Xn(this._throttleData.allowRequestsAfter-Date.now()),httpStatus:this._throttleData.httpStatus})):e}return this._throttleData=null,r}initialize(e){this._app=e,this._heartbeatServiceProvider=kt(e,"heartbeat"),ki(e,this._siteKey).catch(()=>{})}isEqual(e){return e instanceof Pi&&this._siteKey===e._siteKey}}class xi{constructor(e){this._siteKey=e,this._throttleData=null}async getToken(e=!1){Mi(this._throttleData);var t=await Oi(this._app).catch(e=>{throw Qn.create("recaptcha-error")});if(!jn(this._app).reCAPTCHAState?.succeeded)throw Qn.create("recaptcha-error");let r;try{var n=((e,t)=>{var{projectId:r,appId:n,apiKey:i}=e.options;return{url:Kn+`/projects/${r}/apps/${n}:exchangeRecaptchaEnterpriseToken?key=`+i,body:{recaptcha_enterprise_token:t}}})(this._app,t);e&&(n.body.limited_use=!0),r=await ei(n,this._heartbeatServiceProvider)}catch(e){throw e.code?.includes("fetch-status-error")?(this._throttleData=Li(Number(e.customData?.httpStatus),this._throttleData),Qn.create("initial-throttle",{time:Xn(this._throttleData.allowRequestsAfter-Date.now()),httpStatus:this._throttleData.httpStatus})):e}return this._throttleData=null,r}initialize(e){this._app=e,this._heartbeatServiceProvider=kt(e,"heartbeat"),Ni(e,this._siteKey).catch(()=>{})}isEqual(e){return e instanceof xi&&this._siteKey===e._siteKey}}class Fi{constructor(e){this._customProviderOptions=e}async getToken(){var e,t=await this._customProviderOptions.getToken(),r=(e=t.token,"object"==typeof(r=me(e).claims)&&r.hasOwnProperty("iat")?r.iat:null),r=null!==r&&r<Date.now()&&0<r?1e3*r:Date.now();return{...t,issuedAtTimeMillis:r}}initialize(e){this._app=e}isEqual(e){return e instanceof Fi&&this._customProviderOptions.getToken.toString()===e._customProviderOptions.getToken.toString()}}function Li(e,t){var r,n;return 404===e||403===e?{backoffCount:1,allowRequestsAfter:Date.now()+864e5,httpStatus:e}:(n=Ue(r=t?t.backoffCount:0,1e3,2),{backoffCount:r+1,allowRequestsAfter:Date.now()+n,httpStatus:e})}function Mi(e){if(e&&Date.now()-e.allowRequestsAfter<=0)throw Qn.create("throttled",{time:Xn(e.allowRequestsAfter-Date.now()),httpStatus:e.httpStatus})}function Ui(e=Ut(),r){var t=kt(e=_(e),"app-check");if(qn.initialized||(i=z(),(n=qn).initialized=!0,"string"!=typeof i.FIREBASE_APPCHECK_DEBUG_TOKEN&&!0!==i.FIREBASE_APPCHECK_DEBUG_TOKEN)||(n.enabled=!0,s=new Z,n.token=s,"string"==typeof i.FIREBASE_APPCHECK_DEBUG_TOKEN?s.resolve(i.FIREBASE_APPCHECK_DEBUG_TOKEN):s.resolve(pi())),gi()&&fi().then(e=>console.log(`App Check debug token: ${e}. You will need to add it to your app's App Check settings in the Firebase console for it to work.`)),t.isInitialized()){var n=t.getImmediate(),i=t.getOptions();if(i&&!!i.isTokenAutoRefreshEnabled==!!r.isTokenAutoRefreshEnabled&&i.provider?.isEqual(r.provider))return n;throw Qn.create("already-initialized",{appName:e.name})}var s=t.initialize({options:r});{var[a,r,o=!1]=[e,r.provider,r.isTokenAutoRefreshEnabled];let t=((e,t)=>(Hn.set(e,t),Hn.get(e)))(a,{...Vn});t.activated=!0,t.provider=r,t.cachedTokenPromise=di(a).then(e=>(e&&Ei(e)&&(t.token=e,wi(a,{token:e.token})),e)),t.isTokenAutoRefreshEnabled=o&&a.automaticDataCollectionEnabled,!a.automaticDataCollectionEnabled&&o&&ci.warn("`isTokenAutoRefreshEnabled` is true but `automaticDataCollectionEnabled` was set to false during `initializeApp()`. This blocks automatic token refresh."),t.provider.initialize(a)}return jn(e).isTokenAutoRefreshEnabled&&vi(s,"INTERNAL",()=>{}),s}let Gi="app-check-internal";St(new Ve("app-check",e=>{var t,r=e.getProvider("app").getImmediate(),n=e.getProvider("heartbeat");return e=r,t=n,new bi(e,t)},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider(Gi).initialize()})),St(new Ve(Gi,e=>Ii(e.getProvider("app-check").getImmediate()),"PUBLIC").setInstantiationMode("EXPLICIT")),Ht("@firebase/app-check","0.13.0");let Hi=new pe("appCheck","AppCheck",{"use-before-activation":"App Check is being used before activate() is called for FirebaseApp {$appName}. Call activate() before instantiating other Firebase services."});class Vi{constructor(e){this.app=e}activate(e,t){let r;r="string"==typeof e?new Pi(e):e instanceof xi||e instanceof Pi||e instanceof Fi?e:new Fi({getToken:e.getToken}),this._delegate=Ui(this.app,{provider:r,isTokenAutoRefreshEnabled:t})}setTokenAutoRefreshEnabled(e){if(!this._delegate)throw Hi.create("use-before-activation",{appName:this.app.name});var t,r;t=this._delegate,e=e,(r=jn(t.app)).tokenRefresher&&(!0===e?r.tokenRefresher.start():r.tokenRefresher.stop()),r.isTokenAutoRefreshEnabled=e}getToken(e){if(this._delegate)return(async(e,t)=>{var r=await Ci(e,t);if(r.error)throw r.error;if(r.internalError)throw r.internalError;return{token:r.token}})(this._delegate,e);throw Hi.create("use-before-activation",{appName:this.app.name})}onTokenChanged(r,n,e){if(this._delegate){var i=this._delegate;let e=()=>{},t=()=>{};return e=null!=r.next?r.next.bind(r):r,null!=r.error?t=r.error.bind(r):n&&(t=n),vi(i,"EXTERNAL",e,t),()=>_i(i.app,e)}throw Hi.create("use-before-activation",{appName:this.app.name})}}let qi=e=>{var t=e.getProvider("app-compat").getImmediate();return new Vi(t)};or.INTERNAL.registerComponent(new Ve("appCheck-compat",qi,"PUBLIC").setServiceProps({ReCaptchaEnterpriseProvider:xi,ReCaptchaV3Provider:Pi,CustomProvider:Fi})),or.registerVersion("@firebase/app-check-compat","0.4.6");let ji={FACEBOOK:"facebook.com",GITHUB:"github.com",GOOGLE:"google.com",PASSWORD:"password",TWITTER:"twitter.com"},Ki={EMAIL_SIGNIN:"EMAIL_SIGNIN",PASSWORD_RESET:"PASSWORD_RESET",RECOVER_EMAIL:"RECOVER_EMAIL",REVERT_SECOND_FACTOR_ADDITION:"REVERT_SECOND_FACTOR_ADDITION",VERIFY_AND_CHANGE_EMAIL:"VERIFY_AND_CHANGE_EMAIL",VERIFY_EMAIL:"VERIFY_EMAIL"};function zi(){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."}}function Ji(){return{"admin-restricted-operation":"This operation is restricted to administrators only.","argument-error":"","app-not-authorized":"This app, identified by the domain where it's hosted, is not authorized to use Firebase Authentication with the provided API key. Review your key configuration in the Google API console.","app-not-installed":"The requested mobile application corresponding to the identifier (Android package name or iOS bundle ID) provided is not installed on this device.","captcha-check-failed":"The reCAPTCHA response token provided is either invalid, expired, already used or the domain associated with it does not match the list of whitelisted domains.","code-expired":"The SMS code has expired. Please re-send the verification code to try again.","cordova-not-ready":"Cordova framework is not ready.","cors-unsupported":"This browser is not supported.","credential-already-in-use":"This credential is already associated with a different user account.","custom-token-mismatch":"The custom token corresponds to a different audience.","requires-recent-login":"This operation is sensitive and requires recent authentication. Log in again before retrying this request.","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.","dynamic-link-not-activated":"Please activate Dynamic Links in the Firebase Console and agree to the terms and conditions.","email-change-needs-verification":"Multi-factor users must always have a verified email.","email-already-in-use":"The email address is already in use by another account.","emulator-config-failed":'Auth instance has already been used to make a network call. Auth can no longer be configured to use the emulator. Try calling "connectAuthEmulator()" sooner.',"expired-action-code":"The action code has expired.","cancelled-popup-request":"This operation has been cancelled due to another conflicting popup being opened.","internal-error":"An internal AuthError has occurred.","invalid-app-credential":"The phone verification request contains an invalid application verifier. The reCAPTCHA token response is either invalid or expired.","invalid-app-id":"The mobile app identifier is not registered for the current project.","invalid-user-token":"This user's credential isn't valid for this project. This can happen if the user's token has been tampered with, or if the user isn't for the project associated with this API key.","invalid-auth-event":"An internal AuthError has occurred.","invalid-verification-code":"The SMS verification code used to create the phone auth credential is invalid. Please resend the verification code sms and be sure to use the verification code provided by the user.","invalid-continue-uri":"The continue URL provided in the request is invalid.","invalid-cordova-configuration":"The following Cordova plugins must be installed to enable OAuth sign-in: cordova-plugin-buildinfo, cordova-universal-links-plugin, cordova-plugin-browsertab, cordova-plugin-inappbrowser and cordova-plugin-customurlscheme.","invalid-custom-token":"The custom token format is incorrect. Please check the documentation.","invalid-dynamic-link-domain":"The provided dynamic link domain is not configured or authorized for the current project.","invalid-email":"The email address is badly formatted.","invalid-emulator-scheme":"Emulator URL must start with a valid scheme (http:// or https://).","invalid-api-key":"Your API key is invalid, please check you have copied it correctly.","invalid-cert-hash":"The SHA-1 certificate hash provided is invalid.","invalid-credential":"The supplied auth credential is incorrect, malformed or has expired.","invalid-message-payload":"The email template corresponding to this action contains invalid characters in its message. Please fix by going to the Auth email templates section in the Firebase Console.","invalid-multi-factor-session":"The request does not contain a valid proof of first factor successful sign-in.","invalid-oauth-provider":"EmailAuthProvider is not supported for this operation. This operation only supports OAuth providers.","invalid-oauth-client-id":"The OAuth client ID provided is either invalid or does not match the specified API key.","unauthorized-domain":"This domain is not authorized for OAuth operations for your Firebase project. Edit the list of authorized domains from the Firebase console.","invalid-action-code":"The action code is invalid. This can happen if the code is malformed, expired, or has already been used.","wrong-password":"The password is invalid or the user does not have a password.","invalid-persistence-type":"The specified persistence type is invalid. It can only be local, session or none.","invalid-phone-number":"The format of the phone number provided is incorrect. Please enter the phone number in a format that can be parsed into E.164 format. E.164 phone numbers are written in the format [+][country code][subscriber number including area code].","invalid-provider-id":"The specified provider ID is invalid.","invalid-recipient-email":"The email corresponding to this action failed to send as the provided recipient email address is invalid.","invalid-sender":"The email template corresponding to this action contains an invalid sender email or name. Please fix by going to the Auth email templates section in the Firebase Console.","invalid-verification-id":"The verification ID used to create the phone auth credential is invalid.","invalid-tenant-id":"The Auth instance's tenant ID is invalid.","login-blocked":"Login blocked by user-provided method: {$originalMessage}","missing-android-pkg-name":"An Android Package Name must be provided if the Android App is required to be installed.","auth-domain-config-required":"Be sure to include authDomain when calling firebase.initializeApp(), by following the instructions in the Firebase console.","missing-app-credential":"The phone verification request is missing an application verifier assertion. A reCAPTCHA response token needs to be provided.","missing-verification-code":"The phone auth credential was created with an empty SMS verification code.","missing-continue-uri":"A continue URL must be provided in the request.","missing-iframe-start":"An internal AuthError has occurred.","missing-ios-bundle-id":"An iOS Bundle ID must be provided if an App Store ID is provided.","missing-or-invalid-nonce":"The request does not contain a valid nonce. This can occur if the SHA-256 hash of the provided raw nonce does not match the hashed nonce in the ID token payload.","missing-password":"A non-empty password must be provided","missing-multi-factor-info":"No second factor identifier is provided.","missing-multi-factor-session":"The request is missing proof of first factor successful sign-in.","missing-phone-number":"To send verification codes, provide a phone number for the recipient.","missing-verification-id":"The phone auth credential was created with an empty verification ID.","app-deleted":"This instance of FirebaseApp has been deleted.","multi-factor-info-not-found":"The user does not have a second factor matching the identifier provided.","multi-factor-auth-required":"Proof of ownership of a second factor is required to complete sign-in.","account-exists-with-different-credential":"An account already exists with the same email address but different sign-in credentials. Sign in using a provider associated with this email address.","network-request-failed":"A network AuthError (such as timeout, interrupted connection or unreachable host) has occurred.","no-auth-event":"An internal AuthError has occurred.","no-such-provider":"User was not linked to an account with the given provider.","null-user":"A null user object was provided as the argument for an operation which requires a non-null user object.","operation-not-allowed":"The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section.","operation-not-supported-in-this-environment":'This operation is not supported in the environment this application is running on. "location.protocol" must be http, https or chrome-extension and web storage must be enabled.',"popup-blocked":"Unable to establish a connection with the popup. It may have been blocked by the browser.","popup-closed-by-user":"The popup has been closed by the user before finalizing the operation.","provider-already-linked":"User can only be linked to one identity for the given provider.","quota-exceeded":"The project's quota for this operation has been exceeded.","redirect-cancelled-by-user":"The redirect operation has been cancelled by the user before finalizing.","redirect-operation-pending":"A redirect sign-in operation is already pending.","rejected-credential":"The request contains malformed or mismatching credentials.","second-factor-already-in-use":"The second factor is already enrolled on this account.","maximum-second-factor-count-exceeded":"The maximum allowed number of second factors on a user has been exceeded.","tenant-id-mismatch":"The provided tenant ID does not match the Auth instance's tenant ID",timeout:"The operation has timed out.","user-token-expired":"The user's credential is no longer valid. The user must sign in again.","too-many-requests":"We have blocked all requests from this device due to unusual activity. Try again later.","unauthorized-continue-uri":"The domain of the continue URL is not whitelisted. Please whitelist the domain in the Firebase console.","unsupported-first-factor":"Enrolling a second factor or signing in with a multi-factor account requires sign-in with a supported first factor.","unsupported-persistence-type":"The current environment does not support the specified persistence type.","unsupported-tenant-operation":"This operation is not supported in a multi-tenant context.","unverified-email":"The operation requires a verified email.","user-cancelled":"The user did not grant your application the permissions it requested.","user-not-found":"There is no user record corresponding to this identifier. The user may have been deleted.","user-disabled":"The user account has been disabled by an administrator.","user-mismatch":"The supplied credentials do not correspond to the previously signed in user.","user-signed-out":"","weak-password":"The password must be 6 characters long or more.","web-storage-unsupported":"This browser is not supported or 3rd party cookies and data may be disabled.","already-initialized":"initializeAuth() has already been called with different options. To avoid this error, call initializeAuth() with the same options as when it was originally called, or call getAuth() to return the already initialized instance.","missing-recaptcha-token":"The reCAPTCHA token is missing when sending request to the backend.","invalid-recaptcha-token":"The reCAPTCHA token is invalid when sending request to the backend.","invalid-recaptcha-action":"The reCAPTCHA action is invalid when sending request to the backend.","recaptcha-not-enabled":"reCAPTCHA Enterprise integration is not enabled for this project.","missing-client-type":"The reCAPTCHA client type is missing when sending request to the backend.","missing-recaptcha-version":"The reCAPTCHA version is missing when sending request to the backend.","invalid-req-type":"Invalid request parameters.","invalid-recaptcha-version":"The reCAPTCHA version is invalid when sending request to the backend.","unsupported-password-policy-schema-version":"The password policy received from the backend uses a schema version that is not supported by this version of the Firebase SDK.","password-does-not-meet-requirements":"The password does not meet the requirements.","invalid-hosting-link-domain":"The provided Hosting link domain is not configured in Firebase Hosting or is not owned by the current project. This cannot be a default Hosting domain (`web.app` or `firebaseapp.com`)."}}let Wi=zi,Qi=new pe("auth","Firebase",zi()),Yi=new $e("@firebase/auth");function $i(e,...t){Yi.logLevel<=B.WARN&&Yi.warn(`Auth (${Lt}): `+e,...t)}function Xi(e,...t){Yi.logLevel<=B.ERROR&&Yi.error(`Auth (${Lt}): `+e,...t)}function Zi(e,...t){throw is(e,...t)}function es(e,...t){return is(e,...t)}function ts(e,t,r){var n={...Wi(),[t]:r};return new pe("auth","Firebase",n).create(t,{appName:e.name})}function rs(e){return ts(e,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function ns(e,t,r){var n=r;if(!(t instanceof n))throw n.name!==t.constructor.name&&Zi(e,"argument-error"),ts(e,"argument-error",`Type of ${t.constructor.name} does not match expected instance.`+"Did you pass a reference from a different Auth SDK?")}function is(e,...t){var r,n;return"string"!=typeof e?(r=t[0],(n=[...t.slice(1)])[0]&&(n[0].appName=e.name),e._errorFactory.create(r,...n)):Qi.create(e,...t)}function f(e,t,...r){if(!e)throw is(t,...r)}function ss(e){var t="INTERNAL ASSERTION FAILED: "+e;throw Xi(t),new Error(t)}function as(e,t){e||ss(t)}function os(){return"undefined"!=typeof self&&self.location?.href||""}function ls(){return"http:"===hs()||"https:"===hs()}function hs(){return"undefined"!=typeof self&&self.location?.protocol||null}class us{constructor(e,t){as((this.shortDelay=e)<(this.longDelay=t),"Short delay should be less than long delay!"),this.isMobile=re()||ae()}get(){return"undefined"!=typeof navigator&&navigator&&"onLine"in navigator&&"boolean"==typeof navigator.onLine&&(ls()||se()||"connection"in navigator)&&!navigator.onLine?Math.min(5e3,this.shortDelay):this.isMobile?this.longDelay:this.shortDelay}}function cs(e,t){as(e.emulator,"Emulator should always be set here");var r=e.emulator.url;return t?""+r+(t.startsWith("/")?t.slice(1):t):r}class ds{static initialize(e,t,r){this.fetchImpl=e,t&&(this.headersImpl=t),r&&(this.responseImpl=r)}static fetch(){return this.fetchImpl||("undefined"!=typeof self&&"fetch"in self?self.fetch:"undefined"!=typeof globalThis&&globalThis.fetch?globalThis.fetch:"undefined"!=typeof fetch?fetch:void ss("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill"))}static headers(){return this.headersImpl||("undefined"!=typeof self&&"Headers"in self?self.Headers:"undefined"!=typeof globalThis&&globalThis.Headers?globalThis.Headers:"undefined"!=typeof Headers?Headers:void ss("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill"))}static response(){return this.responseImpl||("undefined"!=typeof self&&"Response"in self?self.Response:"undefined"!=typeof globalThis&&globalThis.Response?globalThis.Response:"undefined"!=typeof Response?Response:void ss("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill"))}}let Bs={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"},ps=["/v1/accounts:signInWithCustomToken","/v1/accounts:signInWithEmailLink","/v1/accounts:signInWithIdp","/v1/accounts:signInWithPassword","/v1/accounts:signInWithPhoneNumber","/v1/token"],gs=new us(3e4,6e4);function fs(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function ms(i,s,a,o,e={}){return Cs(i,e,async()=>{let e={},t={};o&&("GET"===s?t=o:e={body:JSON.stringify(o)});var r=De({...t,key:i.config.apiKey}).slice(1),n=await i._getAdditionalHeaders(),n=(n["Content-Type"]="application/json",i.languageCode&&(n["X-Firebase-Locale"]=i.languageCode),{method:s,headers:n,...e});return"undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||(n.referrerPolicy="strict-origin-when-cross-origin"),i.emulatorConfig&&Ge(i.emulatorConfig.host)&&(n.credentials="include"),ds.fetch()(await _s(i,i.config.apiHost,a,r),n)})}async function Cs(t,e,r){t._canInitEmulator=!1;var n={...Bs,...e};try{var i=new ys(t),s=await Promise.race([r(),i.promise]),a=(i.clearNetworkTimeout(),await s.json());if("needConfirmation"in a)throw ws(t,"account-exists-with-different-credential",a);if(s.ok&&!("errorMessage"in a))return a;var[o,l]=(s.ok?a.errorMessage:a.error.message).split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===o)throw ws(t,"credential-already-in-use",a);if("EMAIL_EXISTS"===o)throw ws(t,"email-already-in-use",a);if("USER_DISABLED"===o)throw ws(t,"user-disabled",a);var h=n[o]||o.toLowerCase().replace(/[_\s]+/g,"-");if(l)throw ts(t,h,l);Zi(t,h)}catch(e){if(e instanceof Be)throw e;Zi(t,"network-request-failed",{message:String(e)})}}async function vs(e,t,r,n,i={}){var s=await ms(e,t,r,n,i);return"mfaPendingCredential"in s&&Zi(e,"multi-factor-auth-required",{_serverResponse:s}),s}async function _s(e,t,r,n){var i=""+t+r+"?"+n,s=e,i=s.config.emulator?cs(e.config,i):e.config.apiScheme+"://"+i;if(ps.includes(r)&&(await s._persistenceManagerAvailable,"COOKIE"===s._getPersistenceType()))return s._getPersistence()._getFinalTarget(i).toString();return i}class ys{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(es(this.auth,"network-request-failed")),gs.get())})}}function ws(e,t,r){var n={appName:e.name},n=(r.email&&(n.email=r.email),r.phoneNumber&&(n.phoneNumber=r.phoneNumber),es(e,t,n));return n.customData._tokenResponse=r,n}function Es(e){return void 0!==e&&void 0!==e.getResponse}function Ds(e){return void 0!==e&&void 0!==e.enterprise}class bs{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],void 0===e.recaptchaKey)throw new Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(t){if(this.recaptchaEnforcementState&&0!==this.recaptchaEnforcementState.length)for(let e of this.recaptchaEnforcementState)if(e.provider&&e.provider===t){switch(e.enforcementState){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}return}return null}isProviderEnabled(e){return"ENFORCE"===this.getProviderEnforcementState(e)||"AUDIT"===this.getProviderEnforcementState(e)}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function Is(e,t){return ms(e,"GET","/v2/recaptchaConfig",fs(e,t))}async function Ts(e,t){return ms(e,"POST","/v1/accounts:lookup",t)}function Ss(e){if(e)try{var t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(e){}}function ks(e){return 1e3*Number(e)}function Ns(e){var[t,r,n]=e.split(".");if(void 0===t||void 0===r||void 0===n)return Xi("JWT malformed, contained fewer than 3 sections"),null;try{var i=j(r);return i?JSON.parse(i):(Xi("Failed to decode base64 JWT payload"),null)}catch(e){return Xi("Caught error parsing JWT payload as JSON",e?.toString()),null}}function As(e){var t=Ns(e);return f(t,"internal-error"),f(void 0!==t.exp,"internal-error"),f(void 0!==t.iat,"internal-error"),Number(t.exp)-Number(t.iat)}async function Rs(t,e,r=!1){if(r)return e;try{return await e}catch(e){throw e instanceof Be&&(r=[e.code][0],"auth/user-disabled"===r||"auth/user-token-expired"===r)&&(t.auth.currentUser===t&&await t.auth.signOut()),e}}class Os{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,null!==this.timerId)&&clearTimeout(this.timerId)}getInterval(e){var t;return e?(t=this.errorBackoff,this.errorBackoff=Math.min(2*this.errorBackoff,96e4),t):(this.errorBackoff=3e4,t=(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5,Math.max(0,t))}schedule(e=!1){var t;this.isRunning&&(t=this.getInterval(e),this.timerId=setTimeout(async()=>{await this.iteration()},t))}async iteration(){try{await this.user.getIdToken(!0)}catch(e){return void("auth/network-request-failed"===e?.code&&this.schedule(!0))}this.schedule()}}class Ps{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Ss(this.lastLoginAt),this.creationTime=Ss(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}async function xs(e){var t,r,n=e.auth,i=await e.getIdToken(),i=await Rs(e,Ts(n,{idToken:i})),n=(f(i?.users.length,n,"internal-error"),i.users[0]),i=(e._notifyReloadListener(n),n.providerUserInfo?.length?Fs(n.providerUserInfo):[]),i=(t=e.providerData,r=i,[...t.filter(t=>!r.some(e=>e.providerId===t.providerId)),...r]),s=!(e.email&&n.passwordHash||i.length),s=!!e.isAnonymous&&s,i={uid:n.localId,displayName:n.displayName||null,photoURL:n.photoUrl||null,email:n.email||null,emailVerified:n.emailVerified||!1,phoneNumber:n.phoneNumber||null,tenantId:n.tenantId||null,providerData:i,metadata:new Ps(n.createdAt,n.lastLoginAt),isAnonymous:s};Object.assign(e,i)}function Fs(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}))}class Ls{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){f(e.idToken,"internal-error"),f(void 0!==e.idToken,"internal-error"),f(void 0!==e.refreshToken,"internal-error");var t="expiresIn"in e&&void 0!==e.expiresIn?Number(e.expiresIn):As(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){f(0!==e.length,"internal-error");var t=As(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return t||!this.accessToken||this.isExpired?(f(this.refreshToken,e,"user-token-expired"),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null):this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){i=t;var n,i,{accessToken:r,refreshToken:s,expiresIn:a}=await{accessToken:(r=await Cs(n=e,{},async()=>{var e=De({grant_type:"refresh_token",refresh_token:i}).slice(1),{tokenApiHost:t,apiKey:r}=n.config,t=await _s(n,t,"/v1/token","key="+r),r=await n._getAdditionalHeaders(),r=(r["Content-Type"]="application/x-www-form-urlencoded",{method:"POST",headers:r,body:e});return n.emulatorConfig&&Ge(n.emulatorConfig.host)&&(r.credentials="include"),ds.fetch()(t,r)})).access_token,expiresIn:r.expires_in,refreshToken:r.refresh_token};this.updateTokensAndExpiration(r,s,Number(a))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*r}static fromJSON(e,t){var{refreshToken:r,accessToken:n,expirationTime:i}=t,s=new Ls;return r&&(f("string"==typeof r,"internal-error",{appName:e}),s.refreshToken=r),n&&(f("string"==typeof n,"internal-error",{appName:e}),s.accessToken=n),i&&(f("number"==typeof i,"internal-error",{appName:e}),s.expirationTime=i),s}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 Ls,this.toJSON())}_performRefresh(){return ss("not implemented")}}function Ms(e,t){f("string"==typeof e||void 0===e,"internal-error",{appName:t})}class Us{constructor({uid:e,auth:t,stsTokenManager:r,...n}){this.providerId="firebase",this.proactiveRefresh=new Os(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=r,this.accessToken=r.accessToken,this.displayName=n.displayName||null,this.email=n.email||null,this.emailVerified=n.emailVerified||!1,this.phoneNumber=n.phoneNumber||null,this.photoURL=n.photoURL||null,this.isAnonymous=n.isAnonymous||!1,this.tenantId=n.tenantId||null,this.providerData=n.providerData?[...n.providerData]:[],this.metadata=new Ps(n.createdAt||void 0,n.lastLoginAt||void 0)}async getIdToken(e){var t=await Rs(this,this.stsTokenManager.getToken(this.auth,e));return f(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return(async(e,t=!1)=>{var r=_(e),n=await r.getIdToken(t),i=Ns(n),s=(f(i&&i.exp&&i.auth_time&&i.iat,r.auth,"internal-error"),(r="object"==typeof i.firebase?i.firebase:void 0)?.sign_in_provider);return{claims:i,token:n,authTime:Ss(ks(i.auth_time)),issuedAtTime:Ss(ks(i.iat)),expirationTime:Ss(ks(i.exp)),signInProvider:s||null,signInSecondFactor:r?.sign_in_second_factor||null}})(this,e)}reload(){return(async e=>{var t=_(e);await xs(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)})(this)}_assign(e){this!==e&&(f(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(e){var t=new Us({...this,auth:e,stsTokenManager:this.stsTokenManager._clone()});return t.metadata._copy(this.metadata),t}_onReload(e){f(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),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 r=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),r=!0),t&&await xs(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){var e;return Rt(this.auth.app)?Promise.reject(rs(this.auth)):(e=await this.getIdToken(),await Rs(this,(async(e,t)=>ms(e,"POST","/v1/accounts:delete",t))(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(e,t){var r=t.displayName??void 0,n=t.email??void 0,i=t.phoneNumber??void 0,s=t.photoURL??void 0,a=t.tenantId??void 0,o=t._redirectEventId??void 0,l=t.createdAt??void 0,h=t.lastLoginAt??void 0,{uid:u,emailVerified:c,isAnonymous:d,providerData:B,stsTokenManager:p}=t,p=(f(u&&p,e,"internal-error"),Ls.fromJSON(this.name,p)),u=(f("string"==typeof u,e,"internal-error"),Ms(r,e.name),Ms(n,e.name),f("boolean"==typeof c,e,"internal-error"),f("boolean"==typeof d,e,"internal-error"),Ms(i,e.name),Ms(s,e.name),Ms(a,e.name),Ms(o,e.name),Ms(l,e.name),Ms(h,e.name),new Us({uid:u,auth:e,email:n,emailVerified:c,displayName:r,isAnonymous:d,photoURL:s,phoneNumber:i,tenantId:a,stsTokenManager:p,createdAt:l,lastLoginAt:h}));return B&&Array.isArray(B)&&(u.providerData=B.map(e=>({...e}))),o&&(u._redirectEventId=o),u}static async _fromIdTokenResponse(e,t,r=!1){var n=new Ls,n=(n.updateFromServerResponse(t),new Us({uid:t.localId,auth:e,stsTokenManager:n,isAnonymous:r}));return await xs(n),n}static async _fromGetAccountInfoResponse(e,t,r){var n=t.users[0],i=(f(void 0!==n.localId,"internal-error"),void 0!==n.providerUserInfo?Fs(n.providerUserInfo):[]),s=!(n.email&&n.passwordHash||i?.length),a=new Ls,a=(a.updateFromIdToken(r),new Us({uid:n.localId,auth:e,stsTokenManager:a,isAnonymous:s})),s={uid:n.localId,displayName:n.displayName||null,photoURL:n.photoUrl||null,email:n.email||null,emailVerified:n.emailVerified||!1,phoneNumber:n.phoneNumber||null,tenantId:n.tenantId||null,providerData:i,metadata:new Ps(n.createdAt,n.lastLoginAt),isAnonymous:!(n.email&&n.passwordHash||i?.length)};return Object.assign(a,s),a}}let Gs=new Map;function Hs(e){as(e instanceof Function,"Expected a class definition");var t=Gs.get(e);return t?as(t instanceof e,"Instance stored in cache mismatched with class"):(t=new e,Gs.set(e,t)),t}class Vs{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){var t=this.storage[e];return void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}Vs.type="NONE";let qs=Vs;function js(e,t,r){return`firebase:${e}:${t}:`+r}class Ks{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;var{config:n,name:i}=this.auth;this.fullUserKey=js(this.userKey,n.apiKey,i),this.fullPersistenceKey=js("persistence",n.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(){var e,t=await this.persistence._get(this.fullUserKey);return t?"string"==typeof t?(e=await Ts(this.auth,{idToken:t}).catch(()=>{}))?Us._fromGetAccountInfoResponse(this.auth,e,t):null:Us._fromJSON(this.auth,t):null}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){var t;if(this.persistence!==e)return t=await this.getCurrentUser(),await this.removeCurrentUser(),this.persistence=e,t?this.setCurrentUser(t):void 0}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(t,e,r="authUser"){if(!e.length)return new Ks(Hs(qs),t,r);var n,i=(await Promise.all(e.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e);let s=i[0]||Hs(qs),a=js(r,t.config.apiKey,t.name),o=null;for(n of e)try{var l=await n._get(a);if(l){let e;if("string"==typeof l){var h=await Ts(t,{idToken:l}).catch(()=>{});if(!h)break;e=await Us._fromGetAccountInfoResponse(t,h,l)}else e=Us._fromJSON(t,l);n!==s&&(o=e),s=n;break}}catch{}i=i.filter(e=>e._shouldAllowMigration);return s._shouldAllowMigration&&i.length&&(s=i[0],o&&await s._set(a,o.toJSON()),await Promise.all(e.map(async e=>{if(e!==s)try{await e._remove(a)}catch{}}))),new Ks(s,t,r)}}function zs(e){var t=e.toLowerCase();return t.includes("opera/")||t.includes("opr/")||t.includes("opios/")?"Opera":Ys(t)?"IEMobile":t.includes("msie")||t.includes("trident/")?"IE":t.includes("edge/")?"Edge":Js(t)?"Firefox":t.includes("silk/")?"Silk":Xs(t)?"Blackberry":Zs(t)?"Webos":Ws(t)?"Safari":!t.includes("chrome/")&&!Qs(t)||t.includes("edge/")?$s(t)?"Android":2===(t=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/))?.length?t[1]:"Other":"Chrome"}function Js(e=te()){return/firefox\//i.test(e)}function Ws(e=te()){var t=e.toLowerCase();return t.includes("safari/")&&!t.includes("chrome/")&&!t.includes("crios/")&&!t.includes("android")}function Qs(e=te()){return/crios\//i.test(e)}function Ys(e=te()){return/iemobile/i.test(e)}function $s(e=te()){return/android/i.test(e)}function Xs(e=te()){return/blackberry/i.test(e)}function Zs(e=te()){return/webos/i.test(e)}function ea(e=te()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function ta(e=te()){return ea(e)||$s(e)||Zs(e)||Xs(e)||/windows phone/i.test(e)||Ys(e)}function ra(e,t=[]){let r;switch(e){case"Browser":r=zs(te());break;case"Worker":r=zs(te())+"-"+e;break;default:r=e}var n=t.length?t.join(","):"FirebaseCore-web";return`${r}/JsCore/${Lt}/`+n}class na{constructor(e){this.auth=e,this.queue=[]}pushCallback(n,e){var t=r=>new Promise((e,t)=>{try{e(n(r))}catch(e){t(e)}});t.onAbort=e,this.queue.push(t);let r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser!==e){var t=[];try{for(var r of this.queue)await r(e),r.onAbort&&t.push(r.onAbort)}catch(e){t.reverse();for(var n of t)try{n()}catch(e){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:e?.message})}}}}class ia{constructor(e){var t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??6,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),void 0!==t.containsLowercaseCharacter&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),void 0!==t.containsUppercaseCharacter&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),void 0!==t.containsNumericCharacter&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),void 0!==t.containsNonAlphanumericCharacter&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,"ENFORCEMENT_STATE_UNSPECIFIED"===this.enforcementState&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join("")??"",this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){var t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&(t.isValid=t.meetsMinPasswordLength??!0),t.isValid&&(t.isValid=t.meetsMaxPasswordLength??!0),t.isValid&&(t.isValid=t.containsLowercaseLetter??!0),t.isValid&&(t.isValid=t.containsUppercaseLetter??!0),t.isValid&&(t.isValid=t.containsNumericCharacter??!0),t.isValid&&(t.isValid=t.containsNonAlphanumericCharacter??!0),t}validatePasswordLengthOptions(e,t){var r=this.customStrengthOptions.minPasswordLength,n=this.customStrengthOptions.maxPasswordLength;r&&(t.meetsMinPasswordLength=e.length>=r),n&&(t.meetsMaxPasswordLength=e.length<=n)}validatePasswordCharacterOptions(e,t){var r;this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);for(let n=0;n<e.length;n++)r=e.charAt(n),this.updatePasswordCharacterOptionsStatuses(t,"a"<=r&&r<="z","A"<=r&&r<="Z","0"<=r&&r<="9",this.allowedNonAlphanumericCharacters.includes(r))}updatePasswordCharacterOptionsStatuses(e,t,r,n,i){this.customStrengthOptions.containsLowercaseLetter&&!e.containsLowercaseLetter&&(e.containsLowercaseLetter=t),this.customStrengthOptions.containsUppercaseLetter&&!e.containsUppercaseLetter&&(e.containsUppercaseLetter=r),this.customStrengthOptions.containsNumericCharacter&&!e.containsNumericCharacter&&(e.containsNumericCharacter=n),this.customStrengthOptions.containsNonAlphanumericCharacter&&!e.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter=i)}}class sa{constructor(e,t,r,n){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=r,this.config=n,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new oa(this),this.idTokenSubscription=new oa(this),this.beforeStateQueue=new na(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=Qi,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=n.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=Hs(t)),this._initializationPromise=this.queue(async()=>{if(!this._deleted&&(this.persistenceManager=await Ks.create(this,e),this._resolvePersistenceManagerAvailable?.(),!this._deleted)){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(e){}await this.initializeCurrentUser(t),this.lastNotifiedUid=this.currentUser?.uid||null,this._deleted||(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){var e;!this._deleted&&(e=await this.assertedPersistence.getCurrentUser(),this.currentUser||e)&&(this.currentUser&&e&&this.currentUser.uid===e.uid?(this._currentUser._assign(e),await this.currentUser.getIdToken()):await this._updateCurrentUser(e,!0))}async initializeCurrentUserFromIdToken(e){try{var t=await Ts(this,{idToken:e}),r=await Us._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(r)}catch(e){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if(Rt(this.app)){let t=this.app.settings.authIdToken;return t?new Promise(e=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(t).then(e,e))}):this.directlySetCurrentUser(null)}var t,r,n,i=await this.assertedPersistence.getCurrentUser();let s=i,a=!1;if(e&&this.config.authDomain&&(await this.getOrInitRedirectPersistenceManager(),t=this.redirectUser?._redirectEventId,r=s?._redirectEventId,n=await this.tryRedirectSignIn(e),t&&t!==r||!n?.user||(s=n.user,a=!0)),!s)return this.directlySetCurrentUser(null);if(s._redirectEventId)return f(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===s._redirectEventId?this.directlySetCurrentUser(s):this.reloadAndSetCurrentUserOrClear(s);if(a)try{await this.beforeStateQueue.runMiddleware(s)}catch(e){s=i,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return s?this.reloadAndSetCurrentUserOrClear(s):this.directlySetCurrentUser(null)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(e){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await xs(e)}catch(e){if("auth/network-request-failed"!==e?.code)return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){var e;this.languageCode="undefined"!=typeof navigator&&((e=navigator).languages&&e.languages[0]||e.language)||null}async _delete(){this._deleted=!0}async updateCurrentUser(e){var t;return Rt(this.app)?Promise.reject(rs(this)):((t=e?_(e):null)&&f(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&&f(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 Rt(this.app)?Promise.reject(rs(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Rt(this.app)?Promise.reject(rs(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(Hs(e))})}_getRecaptchaConfig(){return null==this.tenantId?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();var t=this._getPasswordPolicyInternal();return t.schemaVersion!==this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return null===this.tenantId?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){var e,t=await ms(e=this,"GET","/v2/passwordPolicy",fs(e,{})),t=new ia(t);null===this.tenantId?this._projectPasswordPolicy=t:this._tenantPasswordPolicies[this.tenantId]=t}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new pe("auth","Firebase",e())}onAuthStateChanged(e,t,r){return this.registerStateListener(this.authStateSubscription,e,t,r)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,r){return this.registerStateListener(this.idTokenSubscription,e,t,r)}authStateReady(){return new Promise((t,r)=>{if(this.currentUser)t();else{let e=this.onAuthStateChanged(()=>{e(),t()},r)}})}async revokeAccessToken(e){var t;this.currentUser&&(t={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:await this.currentUser.getIdToken()},null!=this.tenantId&&(t.tenantId=this.tenantId),await ms(e=this,"POST","/v2/accounts:revokeToken",fs(e,t)))}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){var r=await this.getOrInitRedirectPersistenceManager(t);return null===e?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){var t;return this.redirectPersistenceManager||(f(t=e&&Hs(e)||this._popupRedirectResolver,this,"argument-error"),this.redirectPersistenceManager=await Ks.create(this,[Hs(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()),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(){var e;this._isInitialized&&(this.idTokenSubscription.next(this.currentUser),e=this.currentUser?.uid??null,this.lastNotifiedUid!==e)&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(t,r,n,i){if(this._deleted)return()=>{};let e="function"==typeof r?r:r.next.bind(r),s=!1;var a=this._isInitialized?Promise.resolve():this._initializationPromise;if(f(a,this,"internal-error"),a.then(()=>{s||e(this.currentUser)}),"function"==typeof r){let e=t.addObserver(r,n,i);return()=>{s=!0,e()}}{let e=t.addObserver(r);return()=>{s=!0,e()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),(this.currentUser=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 f(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){e&&!this.frameworks.includes(e)&&(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=ra(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e={"X-Client-Version":this.clientVersion},t=(this.app.options.appId&&(e["X-Firebase-gmpid"]=this.app.options.appId),await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader()),t=(t&&(e["X-Firebase-Client"]=t),await this._getAppCheckToken());return t&&(e["X-Firebase-AppCheck"]=t),e}async _getAppCheckToken(){var e;return Rt(this.app)&&this.app.settings.appCheckToken?this.app.settings.appCheckToken:((e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken())?.error&&$i("Error while retrieving App Check token: "+e.error),e?.token)}}function aa(e){return _(e)}class oa{constructor(e){this.auth=e,this.observer=null,this.addObserver=Se(e=>this.observer=e)}get next(){return f(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}let la={async loadJS(){throw new Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function ha(e){return la.loadJS(e)}function ua(e){return"__"+e+Math.floor(1e6*Math.random())}class ca{constructor(e){this.auth=e,this.counter=1e12,this._widgets=new Map}render(e,t){var r=this.counter;return this._widgets.set(r,new pa(e,this.auth.name,t||{})),this.counter++,r}reset(e){var t=e||1e12;this._widgets.get(t)?.delete(),this._widgets.delete(t)}getResponse(e){return this._widgets.get(e||1e12)?.getResponse()||""}async execute(e){return this._widgets.get(e||1e12)?.execute(),""}}class da{constructor(){this.enterprise=new Ba}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class Ba{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class pa{constructor(e,t,r){this.params=r,this.timerId=null,this.deleted=!1,this.responseToken=null,this.clickHandler=()=>{this.execute()};var n="string"==typeof e?document.getElementById(e):e;f(n,"argument-error",{appName:t}),this.container=n,this.isVisible="invisible"!==this.params.size,this.isVisible?this.execute():this.container.addEventListener("click",this.clickHandler)}getResponse(){return this.checkIfDeleted(),this.responseToken}delete(){this.checkIfDeleted(),this.deleted=!0,this.timerId&&(clearTimeout(this.timerId),this.timerId=null),this.container.removeEventListener("click",this.clickHandler)}execute(){this.checkIfDeleted(),this.timerId||(this.timerId=window.setTimeout(()=>{this.responseToken=(e=>{var t=[],r="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let n=0;n<e;n++)t.push(r.charAt(Math.floor(Math.random()*r.length)));return t.join("")})(50);let{callback:e,"expired-callback":t}=this.params;if(e)try{e(this.responseToken)}catch(e){}this.timerId=window.setTimeout(()=>{if(this.timerId=null,this.responseToken=null,t)try{t()}catch(e){}this.isVisible&&this.execute()},6e4)},500))}checkIfDeleted(){if(this.deleted)throw new Error("reCAPTCHA mock was already deleted!")}}let ga="NO_RECAPTCHA",fa="onFirebaseAuthREInstanceReady";class ma{constructor(e){this.type="recaptcha-enterprise",this.auth=aa(e)}async verify(i="verify",e=!1){function s(e,t,r){let n=window.grecaptcha;Ds(n)?n.enterprise.ready(()=>{n.enterprise.execute(e,{action:i}).then(e=>{t(e)}).catch(()=>{t(ga)})}):r(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?(new da).execute("siteKey",{action:"verify"}):new Promise((r,n)=>{(async i=>{if(!e){if(null==i.tenantId&&null!=i._agentRecaptchaConfig)return i._agentRecaptchaConfig.siteKey;if(null!=i.tenantId&&void 0!==i._tenantRecaptchaConfigs[i.tenantId])return i._tenantRecaptchaConfigs[i.tenantId].siteKey}return new Promise(async(r,n)=>{Is(i,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(e=>{var t;if(void 0!==e.recaptchaKey)return t=new bs(e),null==i.tenantId?i._agentRecaptchaConfig=t:i._tenantRecaptchaConfigs[i.tenantId]=t,r(t.siteKey);n(new Error("recaptcha Enterprise site key undefined"))}).catch(e=>{n(e)})})})(this.auth).then(async t=>{if(!e&&Ds(window.grecaptcha)&&ma.scriptInjectionDeferred)await ma.scriptInjectionDeferred.promise,s(t,r,n);else if("undefined"==typeof window)n(new Error("RecaptchaVerifier is only supported in browser"));else{let e=la.recaptchaEnterpriseScript;0!==e.length&&(e+=t+("&onload="+fa)),ma.scriptInjectionDeferred=new Z,window[fa]=()=>{ma.scriptInjectionDeferred?.resolve()},ha(e).then(()=>ma.scriptInjectionDeferred?.promise).then(()=>{s(t,r,n)}).catch(e=>{n(e)})}}).catch(e=>{n(e)})})}}async function Ca(e,t,r,n=!1,i=!1){var s=new ma(e);let a;if(i)a=ga;else try{a=await s.verify(r)}catch(e){a=await s.verify(r,!0)}var o,l,s={...t};return"mfaSmsEnrollment"===r||"mfaSmsSignIn"===r?"phoneEnrollmentInfo"in s?(l=s.phoneEnrollmentInfo.phoneNumber,o=s.phoneEnrollmentInfo.recaptchaToken,Object.assign(s,{phoneEnrollmentInfo:{phoneNumber:l,recaptchaToken:o,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})):"phoneSignInInfo"in s&&(l=s.phoneSignInInfo.recaptchaToken,Object.assign(s,{phoneSignInInfo:{recaptchaToken:l,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})):(n?Object.assign(s,{captchaResp:a}):Object.assign(s,{captchaResponse:a}),Object.assign(s,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(s,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"})),s}async function va(r,n,i,s,e){var t;return"EMAIL_PASSWORD_PROVIDER"===e?r._getRecaptchaConfig()?.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")?(t=await Ca(r,n,i,"getOobCode"===i),s(r,t)):s(r,n).catch(async e=>{var t;return"auth/missing-recaptcha-token"===e.code?(console.log(i+" is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow."),t=await Ca(r,n,i,"getOobCode"===i),s(r,t)):Promise.reject(e)}):"PHONE_PROVIDER"===e?r._getRecaptchaConfig()?.isProviderEnabled("PHONE_PROVIDER")?(t=await Ca(r,n,i),s(r,t).catch(async e=>{var t;if("AUDIT"===r._getRecaptchaConfig()?.getProviderEnforcementState("PHONE_PROVIDER")&&("auth/missing-recaptcha-token"===e.code||"auth/invalid-app-credential"===e.code))return console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${i} flow.`),t=await Ca(r,n,i,!1,!0),s(r,t);return Promise.reject(e)})):(t=await Ca(r,n,i,!1,!0),s(r,t)):Promise.reject(e+" provider is not supported.")}function _a(e,t,r){var n=aa(e),i=(f(/^https?:\/\//.test(t),n,"invalid-emulator-scheme"),!!r?.disableWarnings),s=ya(t),{host:a,port:o}=(e=>{var t,r=ya(e);return(r=/(\/\/)?([^?#/]+)/.exec(e.substr(r.length)))?(r=r[2].split("@").pop()||"",(t=/^(\[[^\]]+\])(:|$)/.exec(r))?{host:t=t[1],port:wa(r.substr(t.length+1))}:([t,r]=r.split(":"),{host:t,port:wa(r)})):{host:"",port:null}})(t),l=null===o?"":":"+o,h={url:s+`//${a}${l}/`},o=Object.freeze({host:a,port:o,protocol:s.replace(":",""),options:Object.freeze({disableWarnings:i})});function u(){var 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)}n._canInitEmulator?(n.config.emulator=h,n.emulatorConfig=o,n.settings.appVerificationDisabledForTesting=!0,Ge(a)?He(s+"//"+a+l):i||("undefined"!=typeof console&&"function"==typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),"undefined"!=typeof window&&"undefined"!=typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",u):u()))):(f(n.config.emulator&&n.emulatorConfig,n,"emulator-config-failed"),f(we(h,n.config.emulator)&&we(o,n.emulatorConfig),n,"emulator-config-failed"))}function ya(e){var t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function wa(e){var t;return!e||(t=Number(e),isNaN(t))?null:t}ma.scriptInjectionDeferred=null;class Ea{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return ss("not implemented")}_getIdTokenResponse(e){return ss("not implemented")}_linkToIdToken(e,t){return ss("not implemented")}_getReauthenticationResolver(e){return ss("not implemented")}}async function Da(e,t){return ms(e,"POST","/v1/accounts:resetPassword",fs(e,t))}async function ba(e,t){return ms(e,"POST","/v1/accounts:signUp",t)}async function Ia(e,t){return vs(e,"POST","/v1/accounts:signInWithPassword",fs(e,t))}async function Ta(e,t){return ms(e,"POST","/v1/accounts:sendOobCode",fs(e,t))}async function Sa(e,t){return Ta(e,t)}async function ka(e,t){return Ta(e,t)}class Na extends Ea{constructor(e,t,r,n=null){super("password",r),this._email=e,this._password=t,this._tenantId=n}static _fromEmailAndPassword(e,t){return new Na(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new Na(e,t,"emailLink",r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){var t="string"==typeof e?JSON.parse(e):e;if(t?.email&&t?.password){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":return va(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signInWithPassword",Ia,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return(async(e,t)=>vs(e,"POST","/v1/accounts:signInWithEmailLink",fs(e,t)))(e,{email:this._email,oobCode:this._password});default:Zi(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return va(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",ba,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return(async(e,t)=>vs(e,"POST","/v1/accounts:signInWithEmailLink",fs(e,t)))(e,{idToken:t,email:this._email,oobCode:this._password});default:Zi(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}async function Aa(e,t){return vs(e,"POST","/v1/accounts:signInWithIdp",fs(e,t))}class Ra extends Ea{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){var t=new Ra(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):Zi("argument-error"),t}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(e){var t;let{providerId:r,signInMethod:n,...i}="string"==typeof e?JSON.parse(e):e;return r&&n?((t=new Ra(r,n)).idToken=i.idToken||void 0,t.accessToken=i.accessToken||void 0,t.secret=i.secret,t.nonce=i.nonce,t.pendingToken=i.pendingToken||null,t):null}_getIdTokenResponse(e){return Aa(e,this.buildRequest())}_linkToIdToken(e,t){var r=this.buildRequest();return r.idToken=t,Aa(e,r)}_getReauthenticationResolver(e){var t=this.buildRequest();return t.autoCreate=!1,Aa(e,t)}buildRequest(){var e,t={requestUri:"http://localhost",returnSecureToken:!0};return this.pendingToken?t.pendingToken=this.pendingToken:(e={},this.idToken&&(e.id_token=this.idToken),this.accessToken&&(e.access_token=this.accessToken),this.secret&&(e.oauth_token_secret=this.secret),e.providerId=this.providerId,this.nonce&&!this.pendingToken&&(e.nonce=this.nonce),t.postBody=De(e)),t}}async function Oa(e,t){return ms(e,"POST","/v1/accounts:sendVerificationCode",fs(e,t))}let Pa={USER_NOT_FOUND:"user-not-found"};class xa extends Ea{constructor(e){super("phone","phone"),this.params=e}static _fromVerification(e,t){return new xa({verificationId:e,verificationCode:t})}static _fromTokenResponse(e,t){return new xa({phoneNumber:e,temporaryProof:t})}_getIdTokenResponse(e){return(async(e,t)=>vs(e,"POST","/v1/accounts:signInWithPhoneNumber",fs(e,t)))(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return(async(e,t)=>{var r=await vs(e,"POST","/v1/accounts:signInWithPhoneNumber",fs(e,t));if(r.temporaryProof)throw ws(e,"account-exists-with-different-credential",r);return r})(e,{idToken:t,...this._makeVerificationRequest()})}_getReauthenticationResolver(e){return(async(e,t)=>vs(e,"POST","/v1/accounts:signInWithPhoneNumber",fs(e,{...t,operation:"REAUTH"}),Pa))(e,this._makeVerificationRequest())}_makeVerificationRequest(){var{temporaryProof:e,phoneNumber:t,verificationId:r,verificationCode:n}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:r,code:n}}toJSON(){var e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(e){var{verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}=e="string"==typeof e?JSON.parse(e):e;return r||t||n||i?new xa({verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}):null}}class Fa{constructor(e){var t=be(Ie(e)),r=t.apiKey??null,n=t.oobCode??null,i=(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}})(t.mode??null);f(r&&n&&i,"argument-error"),this.apiKey=r,this.operation=i,this.code=n,this.continueUrl=t.continueUrl??null,this.languageCode=t.lang??null,this.tenantId=t.tenantId??null}static parseLink(e){t=be(Ie(e=e)).link,r=t?be(Ie(t)).deep_link_id:null;var t,r,n=((n=be(Ie(e)).deep_link_id)?be(Ie(n)).link:null)||n||r||t||e;try{return new Fa(n)}catch{return null}}}class La{constructor(){this.providerId=La.PROVIDER_ID}static credential(e,t){return Na._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){var r=Fa.parseLink(t);return f(r,"argument-error"),Na._fromEmailAndCode(e,r.code,r.tenantId)}}La.PROVIDER_ID="password",La.EMAIL_PASSWORD_SIGN_IN_METHOD="password",La.EMAIL_LINK_SIGN_IN_METHOD="emailLink";class Ma{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}}class Ua extends Ma{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}class Ga extends Ua{static credentialFromJSON(e){var t="string"==typeof e?JSON.parse(e):e;return f("providerId"in t&&"signInMethod"in t,"argument-error"),Ra._fromParams(t)}credential(e){return this._credential({...e,nonce:e.rawNonce})}_credential(e){return f(e.idToken||e.accessToken,"argument-error"),Ra._fromParams({...e,providerId:this.providerId,signInMethod:this.providerId})}static credentialFromResult(e){return Ga.oauthCredentialFromTaggedObject(e)}static credentialFromError(e){return Ga.oauthCredentialFromTaggedObject(e.customData||{})}static oauthCredentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{oauthIdToken:t,oauthAccessToken:r,oauthTokenSecret:n,pendingToken:i,nonce:s,providerId:a}=e;if(!(r||n||t||i))return null;if(!a)return null;try{return new Ga(a)._credential({idToken:t,accessToken:r,nonce:s,pendingToken:i})}catch(e){return null}}}class Ha extends Ua{constructor(){super("facebook.com")}static credential(e){return Ra._fromParams({providerId:Ha.PROVIDER_ID,signInMethod:Ha.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return Ha.credentialFromTaggedObject(e)}static credentialFromError(e){return Ha.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!(e&&"oauthAccessToken"in e))return null;if(!e.oauthAccessToken)return null;try{return Ha.credential(e.oauthAccessToken)}catch{return null}}}Ha.FACEBOOK_SIGN_IN_METHOD="facebook.com",Ha.PROVIDER_ID="facebook.com";class Va extends Ua{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return Ra._fromParams({providerId:Va.PROVIDER_ID,signInMethod:Va.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return Va.credentialFromTaggedObject(e)}static credentialFromError(e){return Va.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return Va.credential(t,r)}catch{return null}}}Va.GOOGLE_SIGN_IN_METHOD="google.com",Va.PROVIDER_ID="google.com";class qa extends Ua{constructor(){super("github.com")}static credential(e){return Ra._fromParams({providerId:qa.PROVIDER_ID,signInMethod:qa.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return qa.credentialFromTaggedObject(e)}static credentialFromError(e){return qa.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!(e&&"oauthAccessToken"in e))return null;if(!e.oauthAccessToken)return null;try{return qa.credential(e.oauthAccessToken)}catch{return null}}}qa.GITHUB_SIGN_IN_METHOD="github.com",qa.PROVIDER_ID="github.com";class ja extends Ea{constructor(e,t){super(e,e),this.pendingToken=t}_getIdTokenResponse(e){return Aa(e,this.buildRequest())}_linkToIdToken(e,t){var r=this.buildRequest();return r.idToken=t,Aa(e,r)}_getReauthenticationResolver(e){var t=this.buildRequest();return t.autoCreate=!1,Aa(e,t)}toJSON(){return{signInMethod:this.signInMethod,providerId:this.providerId,pendingToken:this.pendingToken}}static fromJSON(e){var{providerId:t,signInMethod:r,pendingToken:n}="string"==typeof e?JSON.parse(e):e;return t&&r&&n&&t===r?new ja(t,n):null}static _create(e,t){return new ja(e,t)}buildRequest(){return{requestUri:"http://localhost",returnSecureToken:!0,pendingToken:this.pendingToken}}}class Ka extends Ma{constructor(e){f(e.startsWith("saml."),"argument-error"),super(e)}static credentialFromResult(e){return Ka.samlCredentialFromTaggedObject(e)}static credentialFromError(e){return Ka.samlCredentialFromTaggedObject(e.customData||{})}static credentialFromJSON(e){var t=ja.fromJSON(e);return f(t,"argument-error"),t}static samlCredentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{pendingToken:t,providerId:r}=e;if(!t||!r)return null;try{return ja._create(r,t)}catch(e){return null}}}class za extends Ua{constructor(){super("twitter.com")}static credential(e,t){return Ra._fromParams({providerId:za.PROVIDER_ID,signInMethod:za.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return za.credentialFromTaggedObject(e)}static credentialFromError(e){return za.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return za.credential(t,r)}catch{return null}}}async function Ja(e,t){return vs(e,"POST","/v1/accounts:signUp",fs(e,t))}za.TWITTER_SIGN_IN_METHOD="twitter.com",za.PROVIDER_ID="twitter.com";class Wa{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,n=!1){var i=await Us._fromIdTokenResponse(e,r,n),s=Qa(r);return new Wa({user:i,providerId:s,_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){await e._updateTokensIfNecessary(r,!0);var n=Qa(r);return new Wa({user:e,providerId:n,_tokenResponse:r,operationType:t})}}function Qa(e){return e.providerId||("phoneNumber"in e?"phone":null)}class Ya extends Be{constructor(e,t,r,n){super(t.code,t.message),this.operationType=r,this.user=n,Object.setPrototypeOf(this,Ya.prototype),this.customData={appName:e.name,tenantId:e.tenantId??void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,n){return new Ya(e,t,r,n)}}function $a(t,r,e,n){return("reauthenticate"===r?e._getReauthenticationResolver(t):e._getIdTokenResponse(t)).catch(e=>{if("auth/multi-factor-auth-required"===e.code)throw Ya._fromErrorAndOperation(t,e,r,n);throw e})}function Xa(e){return new Set(e.map(({providerId:e})=>e).filter(e=>!!e))}async function Za(e,t){var r=_(e),n=(await to(!0,r,t),e=r.auth,t={idToken:await r.getIdToken(),deleteProvider:[t]},await ms(e,"POST","/v1/accounts:update",t)).providerUserInfo;let i=Xa(n||[]);return r.providerData=r.providerData.filter(e=>i.has(e.providerId)),i.has("phone")||(r.phoneNumber=null),await r.auth._persistUserIfCurrent(r),r}async function eo(e,t,r=!1){var n=await Rs(e,t._linkToIdToken(e.auth,await e.getIdToken()),r);return Wa._forOperation(e,"link",n)}async function to(e,t,r){await xs(t);var n=!1===e?"provider-already-linked":"no-such-provider";f(Xa(t.providerData).has(r)===e,t.auth,n)}async function ro(e,t,r=!1){var n=e.auth;if(Rt(n.app))return Promise.reject(rs(n));var i="reauthenticate";try{var s=await Rs(e,$a(n,i,t,e),r),a=(f(s.idToken,n,"internal-error"),Ns(s.idToken)),o=(f(a,n,"internal-error"),a).sub;return f(e.uid===o,n,"user-mismatch"),Wa._forOperation(e,i,s)}catch(e){throw"auth/user-not-found"===e?.code&&Zi(n,"user-mismatch"),e}}async function no(e,t,r=!1){var n;return Rt(e.app)?Promise.reject(rs(e)):(n=await $a(e,"signIn",t),n=await Wa._fromIdTokenResponse(e,"signIn",n),r||await e._updateCurrentUser(n.user),n)}async function io(e,t){return no(aa(e),t)}async function so(e,t){var r=_(e);return await to(!1,r,t.providerId),eo(r,t)}async function ao(e,t){return ro(_(e),t)}async function oo(e,t){var r,n;return Rt(e.app)?Promise.reject(rs(e)):(n=await vs(r=aa(e),"POST","/v1/accounts:signInWithCustomToken",fs(r,{token:t,returnSecureToken:!0})),n=await Wa._fromIdTokenResponse(r,"signIn",n),await r._updateCurrentUser(n.user),n)}class lo{constructor(e,t){this.factorId=e,this.uid=t.mfaEnrollmentId,this.enrollmentTime=new Date(t.enrolledAt).toUTCString(),this.displayName=t.displayName}static _fromServerResponse(e,t){return"phoneInfo"in t?ho._fromServerResponse(e,t):"totpInfo"in t?uo._fromServerResponse(e,t):Zi(e,"internal-error")}}class ho extends lo{constructor(e){super("phone",e),this.phoneNumber=e.phoneInfo}static _fromServerResponse(e,t){return new ho(t)}}class uo extends lo{constructor(e){super("totp",e)}static _fromServerResponse(e,t){return new uo(t)}}function co(e,t,r){f(0<r.url?.length,e,"invalid-continue-uri"),f(void 0===r.dynamicLinkDomain||0<r.dynamicLinkDomain.length,e,"invalid-dynamic-link-domain"),f(void 0===r.linkDomain||0<r.linkDomain.length,e,"invalid-hosting-link-domain"),t.continueUrl=r.url,t.dynamicLinkDomain=r.dynamicLinkDomain,t.linkDomain=r.linkDomain,t.canHandleCodeInApp=r.handleCodeInApp,r.iOS&&(f(0<r.iOS.bundleId.length,e,"missing-ios-bundle-id"),t.iOSBundleId=r.iOS.bundleId),r.android&&(f(0<r.android.packageName.length,e,"missing-android-pkg-name"),t.androidInstallApp=r.android.installApp,t.androidMinimumVersionCode=r.android.minimumVersion,t.androidPackageName=r.android.packageName)}async function Bo(e){var t=aa(e);t._getPasswordPolicyInternal()&&await t._updatePasswordPolicy()}async function po(e,t){await ms(e=_(e),"POST","/v1/accounts:update",fs(e,{oobCode:t}))}async function go(e,t){var r=_(e),n=await Da(r,{oobCode:t}),i=n.requestType;switch(f(i,r,"internal-error"),i){case"EMAIL_SIGNIN":break;case"VERIFY_AND_CHANGE_EMAIL":f(n.newEmail,r,"internal-error");break;case"REVERT_SECOND_FACTOR_ADDITION":f(n.mfaInfo,r,"internal-error");default:f(n.email,r,"internal-error")}let s=null;return n.mfaInfo&&(s=lo._fromServerResponse(aa(r),n.mfaInfo)),{data:{email:("VERIFY_AND_CHANGE_EMAIL"===n.requestType?n.newEmail:n.email)||null,previousEmail:("VERIFY_AND_CHANGE_EMAIL"===n.requestType?n.email:n.newEmail)||null,multiFactorInfo:s},operation:i}}async function fo(e,t){var r=ls()?os():"http://localhost",r=(await ms(e=_(e),"POST","/v1/accounts:createAuthUri",fs(e,{identifier:t,continueUri:r}))).signinMethods;return r||[]}async function mo(e,t){var r=_(e),n={requestType:"VERIFY_EMAIL",idToken:await e.getIdToken()},r=(t&&co(r.auth,n,t),await Ta(r.auth,n)).email;r!==e.email&&await e.reload()}async function Co(e,t,r){var n=_(e),i={requestType:"VERIFY_AND_CHANGE_EMAIL",idToken:await e.getIdToken(),newEmail:t},n=(r&&co(n.auth,i,r),await Ta(n.auth,i)).email;n!==e.email&&await e.reload()}async function vo(e,{displayName:t,photoURL:r}){var n,i,s;void 0===t&&void 0===r||(i=await(n=_(e)).getIdToken(),i=await Rs(n,(async(e,t)=>ms(e,"POST","/v1/accounts:update",t))(n.auth,{idToken:i,displayName:t,photoUrl:r,returnSecureToken:!0})),n.displayName=i.displayName||null,n.photoURL=i.photoUrl||null,(s=n.providerData.find(({providerId:e})=>"password"===e))&&(s.displayName=n.displayName,s.photoURL=n.photoURL),await n._updateTokensIfNecessary(i))}async function _o(e,t,r){var n=e.auth,i={idToken:await e.getIdToken(),returnSecureToken:!0},n=(t&&(i.email=t),r&&(i.password=r),await Rs(e,(async(e,t)=>ms(e,"POST","/v1/accounts:update",t))(n,i)));await e._updateTokensIfNecessary(n,!0)}class yo{constructor(e,t,r={}){this.isNewUser=e,this.providerId=t,this.profile=r}}class wo extends yo{constructor(e,t,r,n){super(e,t,r),this.username=n}}class Eo extends yo{constructor(e,t){super(e,"facebook.com",t)}}class Do extends wo{constructor(e,t){super(e,"github.com",t,"string"==typeof t?.login?t?.login:null)}}class bo extends yo{constructor(e,t){super(e,"google.com",t)}}class Io extends wo{constructor(e,t,r){super(e,"twitter.com",t,r)}}function To(e){var{user:t,_tokenResponse:r}=e;if(t.isAnonymous&&!r)return{providerId:null,isNewUser:!1,profile:null};var n=r;if(!n)return null;var i=n.providerId,s=n.rawUserInfo?JSON.parse(n.rawUserInfo):{},a=n.isNewUser||"identitytoolkit#SignupNewUserResponse"===n.kind;if(!i&&n?.idToken){t=Ns(n.idToken)?.firebase?.sign_in_provider;if(t)return t="anonymous"!==t&&"custom"!==t?t:null,new yo(a,t)}if(!i)return null;switch(i){case"facebook.com":return new Eo(a,s);case"github.com":return new Do(a,s);case"google.com":return new bo(a,s);case"twitter.com":return new Io(a,s,n.screenName||null);case"custom":case"anonymous":return new yo(a,null);default:return new yo(a,i,s)}}class So{constructor(e,t,r){this.type=e,this.credential=t,this.user=r}static _fromIdtoken(e,t){return new So("enroll",e,t)}static _fromMfaPendingCredential(e){return new So("signin",e)}toJSON(){return{multiFactorSession:{["enroll"===this.type?"idToken":"pendingCredential"]:this.credential}}}static fromJSON(e){if(e?.multiFactorSession){if(e.multiFactorSession?.pendingCredential)return So._fromMfaPendingCredential(e.multiFactorSession.pendingCredential);if(e.multiFactorSession?.idToken)return So._fromIdtoken(e.multiFactorSession.idToken)}return null}}class ko{constructor(e,t,r){this.session=e,this.hints=t,this.signInResolver=r}static _fromError(e,i){let s=aa(e),a=i.customData._serverResponse;var t=(a.mfaInfo||[]).map(e=>lo._fromServerResponse(s,e));f(a.mfaPendingCredential,s,"internal-error");let o=So._fromMfaPendingCredential(a.mfaPendingCredential);return new ko(o,t,async e=>{var t=await e._process(s,o),r=(delete a.mfaInfo,delete a.mfaPendingCredential,{...a,idToken:t.idToken,refreshToken:t.refreshToken});switch(i.operationType){case"signIn":var n=await Wa._fromIdTokenResponse(s,i.operationType,r);return await s._updateCurrentUser(n.user),n;case"reauthenticate":return f(i.user,s,"internal-error"),Wa._forOperation(i.user,i.operationType,r);default:Zi(s,"internal-error")}})}async resolveSignIn(e){return this.signInResolver(e)}}function No(e,t){return ms(e,"POST","/v2/accounts/mfaEnrollment:start",fs(e,t))}class Ao{constructor(t){this.user=t,this.enrolledFactors=[],t._onReload(e=>{e.mfaInfo&&(this.enrolledFactors=e.mfaInfo.map(e=>lo._fromServerResponse(t.auth,e)))})}static _fromUser(e){return new Ao(e)}async getSession(){return So._fromIdtoken(await this.user.getIdToken(),this.user)}async enroll(e,t){var r=e,n=await this.getSession(),r=await Rs(this.user,r._process(this.user.auth,n,t));return await this.user._updateTokensIfNecessary(r),this.user.reload()}async unenroll(e){let t="string"==typeof e?e:e.uid;var r,n,i=await this.user.getIdToken();try{var s=await Rs(this.user,(r=this.user.auth,n={idToken:i,mfaEnrollmentId:t},ms(r,"POST","/v2/accounts/mfaEnrollment:withdraw",fs(r,n))));this.enrolledFactors=this.enrolledFactors.filter(({uid:e})=>e!==t),await this.user._updateTokensIfNecessary(s),await this.user.reload()}catch(e){throw e}}}let Ro=new WeakMap;let Oo="__sak";class Po{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(Oo,"1"),this.storage.removeItem(Oo),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){var 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()}}class xo extends Po{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=ta(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(var t of Object.keys(this.listeners)){var r=this.storage.getItem(t),n=this.localCache[t];r!==n&&e(t,n,r)}}onStorageEvent(e,r=!1){if(e.key){let t=e.key;r?this.detachListener():this.stopPolling();var n=()=>{var e=this.storage.getItem(t);!r&&this.localCache[t]===e||this.notifyListeners(t,e)},i=this.storage.getItem(t);oe()&&10===document.documentMode&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(n,10):n()}else this.forAllChangedKeys((e,t,r)=>{this.notifyListeners(e,r)})}notifyListeners(e,t){this.localCache[e]=t;var r=this.listeners[e];if(r)for(var n of Array.from(r))n(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(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),0===this.listeners[e].size)&&delete this.listeners[e],0===Object.keys(this.listeners).length&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){var t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}xo.type="LOCAL";let Fo=xo;class Lo extends Po{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}Lo.type="SESSION";let Mo=Lo;class Uo{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(t){var e=this.receivers.find(e=>e.isListeningto(t));return e||(e=new Uo(t),this.receivers.push(e),e)}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let t=e,{eventId:r,eventType:n,data:i}=t.data;var s=this.handlersMap[n];s?.size&&(t.ports[0].postMessage({status:"ack",eventId:r,eventType:n}),s=Array.from(s).map(async e=>e(t.origin,i)),s=await Promise.all(s.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(e){return{fulfilled:!1,reason:e}}})),t.ports[0].postMessage({status:"done",eventId:r,eventType:n,response:s}))}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&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&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}function Go(e="",t=10){let r="";for(let n=0;n<t;n++)r+=Math.floor(10*Math.random());return e+r}Uo.receivers=[];class Ho{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,a=50){let o="undefined"!=typeof MessageChannel?new MessageChannel:null;if(!o)throw new Error("connection_unavailable");let l,h;return new Promise((r,n)=>{let i=Go("",20),s=(o.port1.start(),setTimeout(()=>{n(new Error("unsupported_event"))},a));h={messageChannel:o,onMessage(e){var t=e;if(t.data.eventId===i)switch(t.data.status){case"ack":clearTimeout(s),l=setTimeout(()=>{n(new Error("timeout"))},3e3);break;case"done":clearTimeout(l),r(t.data.response);break;default:clearTimeout(s),clearTimeout(l),n(new Error("invalid_response"))}}},this.handlers.add(h),o.port1.addEventListener("message",h.onMessage),this.target.postMessage({eventType:e,eventId:i,data:t},[o.port2])}).finally(()=>{h&&this.removeMessageHandler(h)})}}function Vo(){return window}function qo(){return void 0!==Vo().WorkerGlobalScope&&"function"==typeof Vo().importScripts}let jo="firebaseLocalStorageDb",Ko="firebaseLocalStorage",zo="fbase_key";class Jo{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 Wo(e,t){return e.transaction([Ko],t?"readwrite":"readonly").objectStore(Ko)}function Qo(){let n=indexedDB.open(jo,1);return new Promise((t,r)=>{n.addEventListener("error",()=>{r(n.error)}),n.addEventListener("upgradeneeded",()=>{var e=n.result;try{e.createObjectStore(Ko,{keyPath:zo})}catch(e){r(e)}}),n.addEventListener("success",async()=>{var e=n.result;e.objectStoreNames.contains(Ko)?t(e):(e.close(),e=indexedDB.deleteDatabase(jo),await new Jo(e).toPromise(),t(await Qo()))})})}async function Yo(e,t,r){var n=Wo(e,!0).put({fbase_key:t,value:r});return new Jo(n).toPromise()}function $o(e,t){var r=Wo(e,!0).delete(t);return new Jo(r).toPromise()}class Xo{registerLifecycleListeners(){"undefined"!=typeof window&&"function"==typeof window.addEventListener&&(window.addEventListener("pagehide",this.onPageHide),window.addEventListener("pageshow",this.onPageShow)),"undefined"!=typeof document&&"function"==typeof document.addEventListener&&document.addEventListener("visibilitychange",this.onVisibilityChange)}unregisterLifecycleListeners(){"undefined"!=typeof window&&"function"==typeof window.removeEventListener&&(window.removeEventListener("pagehide",this.onPageHide),window.removeEventListener("pageshow",this.onPageShow)),"undefined"!=typeof document&&"function"==typeof document.removeEventListener&&document.removeEventListener("visibilitychange",this.onVisibilityChange)}constructor(){this.type="LOCAL",this.dbPromise=null,this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.isHiding=!1,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this.onPageHide=()=>{this.isHiding=!0,this.stopPolling(),this.dbPromise&&(this.dbPromise.then(e=>e.close()).catch(()=>{}),this.dbPromise=null)},this.onPageShow=()=>{this.isHiding&&(this.isHiding=!1,0<Object.keys(this.listeners).length)&&this.startPolling()},this.onVisibilityChange=()=>{"undefined"!=typeof document&&("hidden"===document.visibilityState?this.onPageHide():"visible"===document.visibilityState&&this.onPageShow())},this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){if(this.isHiding)throw new Error("Database is closing/hidden");return this.dbPromise||(this.dbPromise=Qo(),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.isHiding)throw e;if(3<t++)throw e;this.dbPromise&&((await this.dbPromise).close(),this.dbPromise=null)}}async initializeServiceWorkerMessaging(){return qo()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=Uo._getInstance(qo()?self:null),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e;this.activeServiceWorker=await(async()=>{if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}})(),this.activeServiceWorker&&(this.sender=new Ho(this.activeServiceWorker),e=await this.sender._send("ping",{},800))&&e[0]?.fulfilled&&e[0]?.value.includes("keyChanged")&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(this.sender&&this.activeServiceWorker&&(navigator?.serviceWorker?.controller||null)===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 Yo(e,Oo,"1"),await $o(e,Oo)}),!0):!1}catch{}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(t,r){return this._withPendingWrite(async()=>(await this._withRetries(e=>Yo(e,t,r)),this.localCache[t]=r,this.notifyServiceWorker(t)))}async _get(t){var e=await this._withRetries(e=>(async(e,t)=>{var r=Wo(e,!1).get(t);return void 0===(r=await new Jo(r).toPromise())?null:r.value})(e,t));return this.localCache[t]=e}async _remove(t){return this._withPendingWrite(async()=>(await this._withRetries(e=>$o(e,t)),delete this.localCache[t],this.notifyServiceWorker(t)))}async _poll(){if(this.isHiding)return[];try{var e=await this._withRetries(e=>{var t=Wo(e,!1).getAll();return new Jo(t).toPromise()});if(this.isHiding)return[];if(!e)return[];if(0!==this.pendingWrites)return[];var t,r=[],n=new Set;if(0!==e.length)for(var{fbase_key:i,value:s}of e)n.add(i),JSON.stringify(this.localCache[i])!==JSON.stringify(s)&&(this.notifyListeners(i,s),r.push(i));for(t of Object.keys(this.localCache))this.localCache[t]&&!n.has(t)&&(this.notifyListeners(t,null),r.push(t));return r}catch(e){return this.isHiding||$i("Firebase Auth cross-tab polling failed with error: "+e),[]}}notifyListeners(e,t){this.localCache[e]=t;var r=this.listeners[e];if(r)for(var n of Array.from(r))n(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&(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),0===this.listeners[e].size)&&delete this.listeners[e],0===Object.keys(this.listeners).length&&(this.stopPolling(),this.unregisterLifecycleListeners())}}Xo.type="LOCAL";let Zo=Xo;function el(e,t){return ms(e,"POST","/v2/accounts/mfaSignIn:start",fs(e,t))}let tl=ua("rcb"),rl=new us(3e4,6e4);class nl{constructor(){this.hostLanguage="",this.counter=0,this.librarySeparatelyLoaded=!!Vo().grecaptcha?.render}load(i,s=""){var e;return f((e=s).length<=6&&/^\s*[a-zA-Z0-9\-]*\s*$/.test(e),i,"argument-error"),this.shouldResolveImmediately(s)&&Es(Vo().grecaptcha)?Promise.resolve(Vo().grecaptcha):new Promise((t,r)=>{let n=Vo().setTimeout(()=>{r(es(i,"network-request-failed"))},rl.get());Vo()[tl]=()=>{Vo().clearTimeout(n),delete Vo()[tl];var e=Vo().grecaptcha;if(e&&Es(e)){let n=e.render;e.render=(e,t)=>{var r=n(e,t);return this.counter++,r},this.hostLanguage=s,t(e)}else r(es(i,"internal-error"))},ha(la.recaptchaV2Script+"?"+De({onload:tl,render:"explicit",hl:s})).catch(()=>{clearTimeout(n),r(es(i,"internal-error"))})})}clearedOneInstance(){this.counter--}shouldResolveImmediately(e){return!!Vo().grecaptcha?.render&&(e===this.hostLanguage||0<this.counter||this.librarySeparatelyLoaded)}}class il{async load(e){return new ca(e)}clearedOneInstance(){}}let sl="recaptcha",al={theme:"light",type:"image"},ol=class{constructor(e,t,r={...al}){this.parameters=r,this.type=sl,this.destroyed=!1,this.widgetId=null,this.tokenChangeListeners=new Set,this.renderPromise=null,this.recaptcha=null,this.auth=aa(e),this.isInvisible="invisible"===this.parameters.size,f("undefined"!=typeof document,this.auth,"operation-not-supported-in-this-environment");var n="string"==typeof t?document.getElementById(t):t;f(n,this.auth,"argument-error"),this.container=n,this.parameters.callback=this.makeTokenCallback(this.parameters.callback),this._recaptchaLoader=new(this.auth.settings.appVerificationDisabledForTesting?il:nl),this.validateStartingState()}async verify(){this.assertNotDestroyed();let e=await this.render(),n=this.getAssertedRecaptcha();var t=n.getResponse(e);return t||new Promise(t=>{let r=e=>{e&&(this.tokenChangeListeners.delete(r),t(e))};this.tokenChangeListeners.add(r),this.isInvisible&&n.execute(e)})}render(){try{this.assertNotDestroyed()}catch(e){return Promise.reject(e)}return this.renderPromise||(this.renderPromise=this.makeRenderPromise().catch(e=>{throw this.renderPromise=null,e})),this.renderPromise}_reset(){this.assertNotDestroyed(),null!==this.widgetId&&this.getAssertedRecaptcha().reset(this.widgetId)}clear(){this.assertNotDestroyed(),this.destroyed=!0,this._recaptchaLoader.clearedOneInstance(),this.isInvisible||this.container.childNodes.forEach(e=>{this.container.removeChild(e)})}validateStartingState(){f(!this.parameters.sitekey,this.auth,"argument-error"),f(this.isInvisible||!this.container.hasChildNodes(),this.auth,"argument-error"),f("undefined"!=typeof document,this.auth,"operation-not-supported-in-this-environment")}makeTokenCallback(r){return t=>{var e;this.tokenChangeListeners.forEach(e=>e(t)),"function"==typeof r?r(t):"string"==typeof r&&"function"==typeof(e=Vo()[r])&&e(t)}}assertNotDestroyed(){f(!this.destroyed,this.auth,"internal-error")}async makeRenderPromise(){if(await this.init(),!this.widgetId){let e=this.container;var t;this.isInvisible||(t=document.createElement("div"),e.appendChild(t),e=t),this.widgetId=this.getAssertedRecaptcha().render(e,this.parameters)}return this.widgetId}async init(){f(ls()&&!qo(),this.auth,"internal-error"),await(()=>{let t=null;return new Promise(e=>{"complete"===document.readyState?e():(t=()=>e(),window.addEventListener("load",t))}).catch(e=>{throw t&&window.removeEventListener("load",t),e})})(),this.recaptcha=await this._recaptchaLoader.load(this.auth,this.auth.languageCode||void 0);var e=await((await ms(this.auth,"GET","/v1/recaptchaParams")).recaptchaSiteKey||"");f(e,this.auth,"internal-error"),this.parameters.sitekey=e}getAssertedRecaptcha(){return f(this.recaptcha,this.auth,"internal-error"),this.recaptcha}};class ll{constructor(e,t){this.verificationId=e,this.onConfirmation=t}confirm(e){var t=xa._fromVerification(this.verificationId,e);return this.onConfirmation(t)}}async function hl(t,r,n){if(!t._getRecaptchaConfig())try{e=aa(t),i=await Is(e,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}),i=new bs(i),null==e.tenantId?e._agentRecaptchaConfig=i:e._tenantRecaptchaConfigs[e.tenantId]=i,await(!i.isAnyProviderEnabled()||!new ma(e).verify())}catch(e){console.log("Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.")}var e,i,s,a,o,l,h;try{let e;return("session"in(e="string"==typeof r?{phoneNumber:r}:r)?(s=e.session,"phoneNumber"in e?(f("enroll"===s.type,t,"internal-error"),a={idToken:s.credential,phoneEnrollmentInfo:{phoneNumber:e.phoneNumber,clientType:"CLIENT_TYPE_WEB"}},(await va(t,a,"mfaSmsEnrollment",async(e,t)=>t.phoneEnrollmentInfo.captchaResponse===ga?(f(n?.type===sl,e,"argument-error"),No(e,await ul(e,t,n))):No(e,t),"PHONE_PROVIDER").catch(e=>Promise.reject(e))).phoneSessionInfo):(f("signin"===s.type,t,"internal-error"),f(o=e.multiFactorHint?.uid||e.multiFactorUid,t,"missing-multi-factor-info"),l={mfaPendingCredential:s.credential,mfaEnrollmentId:o,phoneSignInInfo:{clientType:"CLIENT_TYPE_WEB"}},(await va(t,l,"mfaSmsSignIn",async(e,t)=>t.phoneSignInInfo.captchaResponse===ga?(f(n?.type===sl,e,"argument-error"),el(e,await ul(e,t,n))):el(e,t),"PHONE_PROVIDER").catch(e=>Promise.reject(e))).phoneResponseInfo)):(h={phoneNumber:e.phoneNumber,clientType:"CLIENT_TYPE_WEB"},await va(t,h,"sendVerificationCode",async(e,t)=>t.captchaResponse===ga?(f(n?.type===sl,e,"argument-error"),Oa(e,await ul(e,t,n))):Oa(e,t),"PHONE_PROVIDER").catch(e=>Promise.reject(e)))).sessionInfo}finally{n?._reset()}}async function ul(e,t,r){f(r.type===sl,e,"argument-error");var n,i,s,a,o=await r.verify(),l=(f("string"==typeof o,e,"argument-error"),{...t});return"phoneEnrollmentInfo"in l?(i=l.phoneEnrollmentInfo.phoneNumber,s=l.phoneEnrollmentInfo.captchaResponse,a=l.phoneEnrollmentInfo.clientType,n=l.phoneEnrollmentInfo.recaptchaVersion,Object.assign(l,{phoneEnrollmentInfo:{phoneNumber:i,recaptchaToken:o,captchaResponse:s,clientType:a,recaptchaVersion:n}})):"phoneSignInInfo"in l?(i=l.phoneSignInInfo.captchaResponse,s=l.phoneSignInInfo.clientType,a=l.phoneSignInInfo.recaptchaVersion,Object.assign(l,{phoneSignInInfo:{recaptchaToken:o,captchaResponse:i,clientType:s,recaptchaVersion:a}})):Object.assign(l,{recaptchaToken:o}),l}let cl=class Jh{constructor(e){this.providerId=Jh.PROVIDER_ID,this.auth=aa(e)}verifyPhoneNumber(e,t){return hl(this.auth,e,_(t))}static credential(e,t){return xa._fromVerification(e,t)}static credentialFromResult(e){var t=e;return Jh.credentialFromTaggedObject(t)}static credentialFromError(e){return Jh.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){var t,r;return e&&({phoneNumber:t,temporaryProof:r}=e,t)&&r?xa._fromTokenResponse(t,r):null}};function dl(e,t){return t?Hs(t):(f(e._popupRedirectResolver,e,"argument-error"),e._popupRedirectResolver)}cl.PROVIDER_ID="phone",cl.PHONE_SIGN_IN_METHOD="phone";class Bl extends Ea{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return Aa(e,this._buildIdpRequest())}_linkToIdToken(e,t){return Aa(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return Aa(e,this._buildIdpRequest())}_buildIdpRequest(e){var 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 pl(e){return no(e.auth,new Bl(e),e.bypassAuthState)}function gl(e){var{auth:t,user:r}=e;return f(r,t,"internal-error"),ro(r,new Bl(e),e.bypassAuthState)}async function fl(e){var{auth:t,user:r}=e;return f(r,t,"internal-error"),eo(r,new Bl(e),e.bypassAuthState)}class ml{constructor(e,t,r,n,i=!1){this.auth=e,this.resolver=r,this.user=n,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){var{urlResponse:t,sessionId:r,postBody:n,tenantId:i,error:s,type:a}=e;if(s)this.reject(s);else{s={auth:this.auth,requestUri:t,sessionId:r,tenantId:i||void 0,postBody:n||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(s))}catch(e){this.reject(e)}}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return pl;case"linkViaPopup":case"linkViaRedirect":return fl;case"reauthViaPopup":case"reauthViaRedirect":return gl;default:Zi(this.auth,"internal-error")}}resolve(e){as(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){as(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()}}let Cl=new us(2e3,1e4);class vl extends ml{constructor(e,t,r,n,i){super(e,t,n,i),this.provider=r,this.authWindow=null,this.pollId=null,vl.currentPopupAction&&vl.currentPopupAction.cancel(),vl.currentPopupAction=this}async executeNotNull(){var e=await this.execute();return f(e,this.auth,"internal-error"),e}async onExecution(){as(1===this.filter.length,"Popup operations only handle one event");var e=Go();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(es(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(es(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,vl.currentPopupAction=null}pollUserCancellation(){let e=()=>{this.authWindow?.window?.closed?this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(es(this.auth,"popup-closed-by-user"))},8e3):this.pollId=window.setTimeout(e,Cl.get())};e()}}vl.currentPopupAction=null;let _l="pendingRedirect",yl=new Map;class wl extends ml{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let t=yl.get(this.auth._key());if(!t){try{let e=await(async(e,t)=>{var r,n=Il(t),i=bl(e);return!!await i._isAvailable()&&(r="true"===await i._get(n),await i._remove(n),r)})(this.resolver,this.auth)?await super.execute():null;t=()=>Promise.resolve(e)}catch(e){t=()=>Promise.reject(e)}yl.set(this.auth._key(),t)}return this.bypassAuthState||yl.set(this.auth._key(),()=>Promise.resolve(null)),t()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);if("unknown"===e.type)this.resolve(null);else if(e.eventId){var t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function El(e,t){return bl(e)._set(Il(t),"true")}function Dl(e,t){yl.set(e._key(),t)}function bl(e){return Hs(e._redirectPersistence)}function Il(e){return js(_l,e.config.apiKey,e.name)}function Tl(e,t,r){return(async(e,t,r)=>{var n,i;return Rt(e.app)?Promise.reject(rs(e)):(n=aa(e),ns(e,t,Ma),await n._initializationPromise,await El(i=dl(n,r),n),i._openRedirect(n,t,"signInViaRedirect"))})(e,t,r)}function Sl(e,t,r){return(async(e,t,r)=>{var n=_(e);if(ns(n.auth,t,Ma),Rt(n.auth.app))return Promise.reject(rs(n.auth));await n.auth._initializationPromise;var i=dl(n.auth,r),s=(await El(i,n.auth),await Al(n));return i._openRedirect(n.auth,t,"reauthViaRedirect",s)})(e,t,r)}function kl(e,t,r){return(async(e,t,r)=>{var n=_(e),i=(ns(n.auth,t,Ma),await n.auth._initializationPromise,dl(n.auth,r)),s=(await to(!1,n,t.providerId),await El(i,n.auth),await Al(n));return i._openRedirect(n.auth,t,"linkViaRedirect",s)})(e,t,r)}async function Nl(e,t,r=!1){var n,i;return Rt(e.app)?Promise.reject(rs(e)):(i=dl(n=aa(e),t),(i=await new wl(n,i,r).execute())&&!r&&(delete i.user._redirectEventId,await n._persistUserIfCurrent(i.user),await n._setRedirectUser(null,t)),i)}async function Al(e){var t=Go(e.uid+":::");return e._redirectEventId=t,await e.auth._setRedirectUser(e),await e.auth._persistUserIfCurrent(e),t}class Rl{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(t){if(this.hasEventBeenHandled(t))return!1;let r=!1;return this.consumers.forEach(e=>{this.isEventForConsumer(t,e)&&(r=!0,this.sendToConsumer(t,e),this.saveEventToCache(t))}),this.hasHandledPotentialRedirect||!(e=>{switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return 1;case"unknown":return Pl(e);default:return}})(t)||(this.hasHandledPotentialRedirect=!0,r)||(this.queuedRedirectEvent=t,r=!0),r}sendToConsumer(e,t){var r;e.error&&!Pl(e)?(r=e.error.code?.split("auth/")[1]||"internal-error",t.onError(es(this.auth,r))):t.onAuthEvent(e)}isEventForConsumer(e,t){var r=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return 6e5<=Date.now()-this.lastProcessedEventTime&&this.cachedEventUids.clear(),this.cachedEventUids.has(Ol(e))}saveEventToCache(e){this.cachedEventUids.add(Ol(e)),this.lastProcessedEventTime=Date.now()}}function Ol(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join("-")}function Pl({type:e,error:t}){return"unknown"===e&&"auth/no-auth-event"===t?.code}async function xl(e,t={}){return ms(e,"GET","/v1/projects",t)}let Fl=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,Ll=/^https?/;async function Ml(e){if(!e.config.emulator){var t,r=(await xl(e)).authorizedDomains;for(t of r)try{if((e=>{var t,r=os(),{protocol:n,hostname:i}=new URL(r);return e.startsWith("chrome-extension://")?""===(t=new URL(e)).hostname&&""===i?"chrome-extension:"===n&&e.replace("chrome-extension://","")===r.replace("chrome-extension://",""):"chrome-extension:"===n&&t.hostname===i:Ll.test(n)&&(Fl.test(e)?i===e:(r=e.replace(/\./g,"\\."),(t=new RegExp("^(.+\\."+r+"|"+r+")$","i")).test(i)))})(t))return}catch{}Zi(e,"unauthorized-domain")}}let Ul=new us(3e4,6e4);function Gl(){var t=Vo().___jsl;if(t?.H)for(var r of Object.keys(t.H))if(t.H[r].r=t.H[r].r||[],t.H[r].L=t.H[r].L||[],t.H[r].r=[...t.H[r].L],t.CP)for(let e=0;e<t.CP.length;e++)t.CP[e]=null}function Hl(i){return new Promise((e,t)=>{function r(){Gl(),gapi.load("gapi.iframes",{callback:()=>{e(gapi.iframes.getContext())},ontimeout:()=>{Gl(),t(es(i,"network-request-failed"))},timeout:Ul.get()})}if(Vo().gapi?.iframes?.Iframe)e(gapi.iframes.getContext());else{var n;if(!Vo().gapi?.load)return n=ua("iframefcb"),Vo()[n]=()=>{gapi.load?r():t(es(i,"network-request-failed"))},ha(la.gapiScript+"?onload="+n).catch(e=>t(e));r()}}).catch(e=>{throw Vl=null,e})}let Vl=null;let ql=new us(5e3,15e3),jl="__/auth/iframe",Kl="emulator/auth/iframe",zl={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},Jl=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);async function Wl(a){e=a;var e,t,r,n=await(Vl=Vl||Hl(e)),i=Vo().gapi;return f(i,a,"internal-error"),n.open({where:document.body,url:(f((n=(e=a).config).authDomain,e,"auth-domain-config-required"),t=n.emulator?cs(n,Kl):`https://${e.config.authDomain}/`+jl,n={apiKey:n.apiKey,appName:e.name,v:Lt},(r=Jl.get(e.config.apiHost))&&(n.eid=r),(r=e._getFrameworks()).length&&(n.fw=r.join(",")),t+"?"+De(n).slice(1)),messageHandlersFilter:i.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:zl,dontclear:!0},s=>new Promise(async(e,t)=>{await s.restyle({setHideOnLeave:!1});let r=es(a,"network-request-failed"),n=Vo().setTimeout(()=>{t(r)},ql.get());function i(){Vo().clearTimeout(n),e(s)}s.ping(i).then(i,()=>{t(r)})}))}let Ql={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class Yl{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(e){}}}function $l(e,t,r,n=500,i=600){var s=Math.max((window.screen.availHeight-i)/2,0).toString(),a=Math.max((window.screen.availWidth-n)/2,0).toString();let o="";var l,s={...Ql,width:n.toString(),height:i.toString(),top:s,left:a},a=te().toLowerCase(),s=(r&&(o=Qs(a)?"_blank":r),Js(a)&&(t=t||"http://localhost",s.scrollbars="yes"),Object.entries(s).reduce((e,[t,r])=>""+e+t+`=${r},`,""));if([n=te()]=[a],ea(n)&&window.navigator?.standalone&&"_self"!==o)return i=t||"",r=o,(a=document.createElement("a")).href=i,a.target=r,(l=document.createEvent("MouseEvent")).initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),a.dispatchEvent(l),new Yl(null);a=window.open(t||"",o,s);f(a,e,"popup-blocked");try{a.focus()}catch(e){}return new Yl(a)}let Xl="__/auth/handler",Zl="emulator/auth/handler",eh=encodeURIComponent("fac");async function th(e,t,r,n,i,s){f(e.config.authDomain,e,"auth-domain-config-required"),f(e.config.apiKey,e,"invalid-api-key");var a={apiKey:e.config.apiKey,appName:e.name,authType:r,redirectUrl:n,v:Lt,eventId:i};if(t instanceof Ma){t.setDefaultLanguage(e.languageCode),a.providerId=t.providerId||"",_e(t.getCustomParameters())||(a.customParameters=JSON.stringify(t.getCustomParameters()));for(var[o,l]of Object.entries(s||{}))a[o]=l}t instanceof Ua&&0<(c=t.getScopes().filter(e=>""!==e)).length&&(a.scopes=c.join(",")),e.tenantId&&(a.tid=e.tenantId);var h,u=a;for(h of Object.keys(u))void 0===u[h]&&delete u[h];var c=await e._getAppCheckToken(),c=c?`#${eh}=`+encodeURIComponent(c):"";return`${r=[e.config][0],r.emulator?cs(r,Zl):`https://${r.authDomain}/`+Xl}?`+De(u).slice(1)+c}let rh="webStorageSupport";class nh{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=Mo,this._completeRedirectFn=Nl,this._overrideRedirectResult=Dl}async _openPopup(e,t,r,n){return as(this.eventManagers[e._key()]?.manager,"_initialize() not called before _openPopup()"),$l(e,await th(e,t,r,os(),n),Go())}async _openRedirect(e,t,r,n){await this._originValidation(e);var i=await th(e,t,r,os(),n);return Vo().location.href=i,new Promise(()=>{})}_initialize(e){let r=e._key();if(this.eventManagers[r]){let{manager:e,promise:t}=this.eventManagers[r];return e?Promise.resolve(e):(as(t,"If manager is not set, promise should be"),t)}let t=this.initAndGetManager(e);return this.eventManagers[r]={promise:t},t.catch(()=>{delete this.eventManagers[r]}),t}async initAndGetManager(t){var e=await Wl(t);let r=new Rl(t);return e.register("authEvent",e=>(f(e?.authEvent,t,"invalid-auth-event"),{status:r.onEvent(e.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[t._key()]={manager:r},this.iframes[t._key()]=e,r}_isIframeWebStorageSupported(r,n){this.iframes[r._key()].send(rh,{type:rh},e=>{var t=e?.[0]?.[rh];void 0!==t&&n(!!t),Zi(r,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){var t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=Ml(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return ta()||Ws()||ea()}}let ih=nh;class sh extends class{constructor(e){this.factorId=e}_process(e,t,r){switch(t.type){case"enroll":return this._finalizeEnroll(e,t.credential,r);case"signin":return this._finalizeSignIn(e,t.credential);default:return ss("unexpected MultiFactorSessionType")}}}{constructor(e){super("phone"),this.credential=e}static _fromCredential(e){return new sh(e)}_finalizeEnroll(e,t,r){return e=e,t={idToken:t,displayName:r,phoneVerificationInfo:this.credential._makeVerificationRequest()},ms(e,"POST","/v2/accounts/mfaEnrollment:finalize",fs(e,t))}_finalizeSignIn(e,t){return e=e,t={mfaPendingCredential:t,phoneVerificationInfo:this.credential._makeVerificationRequest()},ms(e,"POST","/v2/accounts/mfaSignIn:finalize",fs(e,t))}}class ah{constructor(){}static assertion(e){return sh._fromCredential(e)}}ah.FACTOR_ID="phone";e="@firebase/auth";class oh{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(t){var e;this.assertAuthConfigured(),this.internalListeners.has(t)||(e=this.auth.onIdTokenChanged(e=>{t(e?.stsTokenManager.accessToken||null)}),this.internalListeners.set(t,e),this.updateProactiveRefresh())}removeAuthTokenListener(e){this.assertAuthConfigured();var t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){f(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){0<this.internalListeners.size?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}var lh;function hh(){return window}Y()?._authIdTokenMaxAge,la={loadJS(n){return new Promise((e,r)=>{var t=document.createElement("script");t.setAttribute("src",n),t.onload=e,t.onerror=e=>{var t=es("internal-error");t.customData=e,r(t)},t.type="text/javascript",t.charset="UTF-8",(document.getElementsByTagName("head")?.[0]??document).appendChild(t)})},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="},lh="Browser",St(new Ve("auth",(e,{options:t})=>{var r=e.getProvider("app").getImmediate(),n=e.getProvider("heartbeat"),i=e.getProvider("app-check-internal"),{apiKey:s,authDomain:a}=r.options,s=(f(s&&!s.includes(":"),"invalid-api-key",{appName:r.name}),{apiKey:s,authDomain:a,clientPlatform:lh,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:ra(lh)}),a=new sa(r,n,i,s);return e=a,r=(t=t)?.persistence||[],r=(Array.isArray(r)?r:[r]).map(Hs),t?.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,t?.popupRedirectResolver),a},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),St(new Ve("auth-internal",e=>{var t=aa(e.getProvider("auth").getImmediate());return e=t,new oh(e)},"PRIVATE").setInstantiationMode("EXPLICIT")),Ht(e,"1.13.4",(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}})(lh)),Ht(e,"1.13.4","esm2020");async function uh(e,t,r){var n=hh().BuildInfo,i=(as(t.sessionId,"AuthEvent did not contain a session ID"),i=(e=>{if(as(/[0-9a-zA-Z]+/.test(e),"Can only convert alpha-numeric strings"),"undefined"!=typeof TextEncoder)return(new TextEncoder).encode(e);var t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r})(t.sessionId),i=await crypto.subtle.digest("SHA-256",i),await(i=Array.from(new Uint8Array(i))).map(e=>e.toString(16).padStart(2,"0")).join("")),s={};return ea()?s.ibi=n.packageName:$s()?s.apn=n.packageName:Zi(e,"operation-not-supported-in-this-environment"),n.displayName&&(s.appDisplayName=n.displayName),s.sessionId=i,th(e,r,t.type,void 0,t.eventId??void 0,s)}function ch(n){let i=hh().cordova;return new Promise(r=>{i.plugins.browsertab.isAvailable(e=>{let t=null;e?i.plugins.browsertab.openUrl(n):t=i.InAppBrowser.open(n,(e=te(),/(iPad|iPhone|iPod).*OS 7_\d/i.test(e)||/(iPad|iPhone|iPod).*OS 8_\d/i.test(e)?"_blank":"_system"),"location=yes"),r(t)})})}let dh=20;class Bh extends Rl{constructor(){super(...arguments),this.passiveListeners=new Set,this.initPromise=new Promise(e=>{this.resolveInitialized=e})}addPassiveListener(e){this.passiveListeners.add(e)}removePassiveListener(e){this.passiveListeners.delete(e)}resetRedirect(){this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1}onEvent(t){return this.resolveInitialized(),this.passiveListeners.forEach(e=>e(t)),super.onEvent(t)}async initialized(){await this.initPromise}}function ph(e,t,r=null){return{type:t,eventId:r,urlResponse:null,sessionId:(()=>{var e=[],t="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let n=0;n<dh;n++){var r=Math.floor(Math.random()*t.length);e.push(t.charAt(r))}return e.join("")})(),postBody:null,tenantId:e.tenantId,error:es(e,"no-auth-event")}}async function gh(e){var t=await mh()._get(Ch(e));return t&&await mh()._remove(Ch(e)),t}function fh(e,t){i=vh(t=t),r=i.link?decodeURIComponent(i.link):void 0,n=vh(r).link,i=i.deep_link_id?decodeURIComponent(i.deep_link_id):void 0;var r,n,i=vh(i).link||i||n||r||t;return i.includes("/__/auth/callback")?(n=(r=((n=vh(i)).firebaseError?(e=>{try{return JSON.parse(e)}catch(e){return null}})(decodeURIComponent(n.firebaseError)):null)?.code?.split("auth/")?.[1])?es(r):null)?{type:e.type,eventId:e.eventId,tenantId:e.tenantId,error:n,urlResponse:null,sessionId:null,postBody:null}:{type:e.type,eventId:e.eventId,tenantId:e.tenantId,sessionId:e.sessionId,urlResponse:i,postBody:null}:null}function mh(){return Hs(Fo)}function Ch(e){return js("authEvent",e.config.apiKey,e.name)}function vh(e){var t,r;return e?.includes("?")?([t,...r]=e.split("?"),be(r.join("?"))):{}}class _h{constructor(){this._redirectPersistence=Mo,this._shouldInitProactively=!0,this.eventManagers=new Map,this.originValidationPromises={},this._completeRedirectFn=Nl,this._overrideRedirectResult=Dl}async _initialize(e){var t=e._key();let r=this.eventManagers.get(t);return r||(r=new Bh(e),this.eventManagers.set(t,r),this.attachCallbackListeners(e,r)),r}_openPopup(e){Zi(e,"operation-not-supported-in-this-environment")}async _openRedirect(e,t,r,n){i=e,f("function"==typeof(s=hh())?.universalLinks?.subscribe,i,"invalid-cordova-configuration",{missingPlugin:"cordova-universal-links-plugin-fix"}),f(void 0!==s?.BuildInfo?.packageName,i,"invalid-cordova-configuration",{missingPlugin:"cordova-plugin-buildInfo"}),f("function"==typeof s?.cordova?.plugins?.browsertab?.openUrl,i,"invalid-cordova-configuration",{missingPlugin:"cordova-plugin-browsertab"}),f("function"==typeof s?.cordova?.plugins?.browsertab?.isAvailable,i,"invalid-cordova-configuration",{missingPlugin:"cordova-plugin-browsertab"}),f("function"==typeof s?.cordova?.InAppBrowser?.open,i,"invalid-cordova-configuration",{missingPlugin:"cordova-plugin-inappbrowser"});var i,s=await this._initialize(e),a=(await s.initialized(),s.resetRedirect(),yl.clear(),await this._originValidation(e),ph(e,r,n)),a=(i=e,r=a,await mh()._set(Ch(i),r),await uh(e,a,t));return(async(a,o,l)=>{let h=hh().cordova,u=()=>{};try{await new Promise((t,e)=>{let r=null;function n(){t();var e=h.plugins.browsertab?.close;"function"==typeof e&&e(),"function"==typeof l?.close&&l.close()}function i(){r=r||window.setTimeout(()=>{e(es(a,"redirect-cancelled-by-user"))},2e3)}function s(){"visible"===document?.visibilityState&&i()}o.addPassiveListener(n),document.addEventListener("resume",i,!1),$s()&&document.addEventListener("visibilitychange",s,!1),u=()=>{o.removePassiveListener(n),document.removeEventListener("resume",i,!1),document.removeEventListener("visibilitychange",s,!1),r&&window.clearTimeout(r)}})}finally{u()}})(e,s,await ch(a))}_isIframeWebStorageSupported(e,t){throw new Error("Method not implemented.")}_originValidation(e){var t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=(async e=>{var t=hh().BuildInfo,r={};ea()?r.iosBundleId=t.packageName:$s()?r.androidPackageName=t.packageName:Zi(e,"operation-not-supported-in-this-environment"),await xl(e,r)})(e)),this.originValidationPromises[t]}attachCallbackListeners(n,i){var{universalLinks:e,handleOpenURL:t,BuildInfo:r}=hh();let s=setTimeout(async()=>{await gh(n),i.onEvent(wh())},500),a=async e=>{clearTimeout(s);var t=await gh(n);let r=null;t&&e?.url&&(r=fh(t,e.url)),i.onEvent(r||wh())},o=(void 0!==e&&"function"==typeof e.subscribe&&e.subscribe(null,a),t),l=r.packageName.toLowerCase()+"://";hh().handleOpenURL=async e=>{if(e.toLowerCase().startsWith(l)&&a({url:e}),"function"==typeof o)try{o(e)}catch(e){console.error(e)}}}}let yh=_h;function wh(){return{type:"unknown",eventId:null,sessionId:null,urlResponse:null,postBody:null,tenantId:null,error:es("no-auth-event")}}function Eh(){return self?.location?.protocol||null}function Dh(e=te()){return!("file:"!==Eh()&&"ionic:"!==Eh()&&"capacitor:"!==Eh()||!e.toLowerCase().match(/iphone|ipad|ipod|android/))}function bh(e=te()){return oe()&&11===document?.documentMode||([e=te()]=[e],/Edge\/\d+/.test(e))}function Ih(){try{var e=self.localStorage,t=Go();if(e)return e.setItem(t,"1"),e.removeItem(t),!bh()||ue()}catch(e){return Th()&&ue()}return!1}function Th(){return"undefined"!=typeof global&&"WorkerGlobalScope"in global&&"importScripts"in global}function Sh(){return("http:"===Eh()||"https:"===Eh()||se()||Dh())&&!(ae()||ne())&&Ih()&&!Th()}function kh(){return Dh()&&"undefined"!=typeof document}let Nh={LOCAL:"local",NONE:"none",SESSION:"session"},Ah=f,Rh="persistence";async function Oh(e){await e._initializationPromise;var t=Ph(),r=js(Rh,e.config.apiKey,e.name);t&&t.setItem(r,e._getPersistenceType())}function Ph(){try{return("undefined"!=typeof window?window:null)?.sessionStorage||null}catch(e){return null}}let xh=f;class Fh{constructor(){this.browserResolver=Hs(ih),this.cordovaResolver=Hs(yh),this.underlyingResolver=null,this._redirectPersistence=Mo,this._completeRedirectFn=Nl,this._overrideRedirectResult=Dl}async _initialize(e){return await this.selectUnderlyingResolver(),this.assertedUnderlyingResolver._initialize(e)}async _openPopup(e,t,r,n){return await this.selectUnderlyingResolver(),this.assertedUnderlyingResolver._openPopup(e,t,r,n)}async _openRedirect(e,t,r,n){return await this.selectUnderlyingResolver(),this.assertedUnderlyingResolver._openRedirect(e,t,r,n)}_isIframeWebStorageSupported(e,t){this.assertedUnderlyingResolver._isIframeWebStorageSupported(e,t)}_originValidation(e){return this.assertedUnderlyingResolver._originValidation(e)}get _shouldInitProactively(){return kh()||this.browserResolver._shouldInitProactively}get assertedUnderlyingResolver(){return xh(this.underlyingResolver,"internal-error"),this.underlyingResolver}async selectUnderlyingResolver(){var e;this.underlyingResolver||(e=await(!!kh()&&new Promise(e=>{let t=setTimeout(()=>{e(!1)},1e3);document.addEventListener("deviceready",()=>{clearTimeout(t),e(!0)})})),this.underlyingResolver=e?this.cordovaResolver:this.browserResolver)}}function Lh(e){return e.unwrap()}function Mh(e,t){var r,n,i,s=t.customData?._tokenResponse;"auth/multi-factor-auth-required"===t?.code?t.resolver=new Vh(e,(r=t,n=_(e),f((i=r).customData.operationType,n,"argument-error"),f(i.customData._serverResponse?.mfaPendingCredential,n,"argument-error"),ko._fromError(n,i))):s&&(i=Uh(n=t))&&(n.credential=i,n.tenantId=s.tenantId||void 0,n.email=s.email||void 0,n.phoneNumber=s.phoneNumber||void 0)}function Uh(e){var t=(e instanceof Be?e.customData:e)._tokenResponse;if(!t)return null;if(!(e instanceof Be)&&"temporaryProof"in t&&"phoneNumber"in t)return cl.credentialFromResult(e);var r=t.providerId;if(!r||r===ji.PASSWORD)return null;let n;switch(r){case ji.GOOGLE:n=Va;break;case ji.FACEBOOK:n=Ha;break;case ji.GITHUB:n=qa;break;case ji.TWITTER:n=za;break;default:var{oauthIdToken:i,oauthAccessToken:s,oauthTokenSecret:a,pendingToken:o,nonce:l}=t;return s||a||i||o?o?r.startsWith("saml.")?ja._create(r,o):Ra._fromParams({providerId:r,signInMethod:r,pendingToken:o,idToken:i,accessToken:s}):new Ga(r).credential({idToken:i,accessToken:s,rawNonce:l}):null}return e instanceof Be?n.credentialFromError(e):n.credentialFromResult(e)}function Gh(t,e){return e.catch(e=>{throw e instanceof Be&&Mh(t,e),e}).then(e=>{var t=e.operationType,r=e.user;return{operationType:t,credential:Uh(e),additionalUserInfo:To(e),user:qh.getOrCreate(r)}})}async function Hh(t,e){let r=await e;return{verificationId:r.verificationId,confirm:e=>Gh(t,r.confirm(e))}}class Vh{constructor(e,t){this.resolver=t,this.auth=e.wrapped()}get session(){return this.resolver.session}get hints(){return this.resolver.hints}resolveSignIn(e){return Gh(Lh(this.auth),this.resolver.resolveSignIn(e))}}let qh=class bw{constructor(e){var t;this._delegate=e,this.multiFactor=(t=_(e),Ro.has(t)||Ro.set(t,Ao._fromUser(t)),Ro.get(t))}static getOrCreate(e){return bw.USER_MAP.has(e)||bw.USER_MAP.set(e,new bw(e)),bw.USER_MAP.get(e)}delete(){return this._delegate.delete()}reload(){return this._delegate.reload()}toJSON(){return this._delegate.toJSON()}getIdTokenResult(e){return this._delegate.getIdTokenResult(e)}getIdToken(e){return this._delegate.getIdToken(e)}linkAndRetrieveDataWithCredential(e){return this.linkWithCredential(e)}async linkWithCredential(e){return Gh(this.auth,so(this._delegate,e))}async linkWithPhoneNumber(e,t){return Hh(this.auth,(async(e,t,r)=>{let n=_(e);await to(!1,n,"phone");var i=await hl(n.auth,t,_(r));return new ll(i,e=>so(n,e))})(this._delegate,e,t))}async linkWithPopup(e){return Gh(this.auth,(async(e,t,r)=>{var n=_(e),i=(ns(n.auth,t,Ma),dl(n.auth,r));return new vl(n.auth,"linkViaPopup",t,i,n).executeNotNull()})(this._delegate,e,Fh))}async linkWithRedirect(e){return await Oh(aa(this.auth)),kl(this._delegate,e,Fh)}reauthenticateAndRetrieveDataWithCredential(e){return this.reauthenticateWithCredential(e)}async reauthenticateWithCredential(e){return Gh(this.auth,ao(this._delegate,e))}reauthenticateWithPhoneNumber(e,t){return Hh(this.auth,(async(e,t,r)=>{let n=_(e);var i;return Rt(n.auth.app)?Promise.reject(rs(n.auth)):(i=await hl(n.auth,t,_(r)),new ll(i,e=>ao(n,e)))})(this._delegate,e,t))}reauthenticateWithPopup(e){return Gh(this.auth,(async(e,t,r)=>{var n=_(e);if(Rt(n.auth.app))return Promise.reject(es(n.auth,"operation-not-supported-in-this-environment"));ns(n.auth,t,Ma);var i=dl(n.auth,r);return new vl(n.auth,"reauthViaPopup",t,i,n).executeNotNull()})(this._delegate,e,Fh))}async reauthenticateWithRedirect(e){return await Oh(aa(this.auth)),Sl(this._delegate,e,Fh)}sendEmailVerification(e){return mo(this._delegate,e)}async unlink(e){return await Za(this._delegate,e),this}updateEmail(e){return t=this._delegate,e=e,Rt((r=_(t)).auth.app)?Promise.reject(rs(r.auth)):_o(r,e,null);var t,r}updatePassword(e){return _o(_(this._delegate),null,e)}updatePhoneNumber(e){return(async(e,t)=>{var r=_(e);if(Rt(r.auth.app))return Promise.reject(rs(r.auth));await eo(r,t)})(this._delegate,e)}updateProfile(e){return vo(this._delegate,e)}verifyBeforeUpdateEmail(e,t){return Co(this._delegate,e,t)}get emailVerified(){return this._delegate.emailVerified}get isAnonymous(){return this._delegate.isAnonymous}get metadata(){return this._delegate.metadata}get phoneNumber(){return this._delegate.phoneNumber}get providerData(){return this._delegate.providerData}get refreshToken(){return this._delegate.refreshToken}get tenantId(){return this._delegate.tenantId}get displayName(){return this._delegate.displayName}get email(){return this._delegate.email}get photoURL(){return this._delegate.photoURL}get providerId(){return this._delegate.providerId}get uid(){return this._delegate.uid}get auth(){return this._delegate.auth}},jh=(qh.USER_MAP=new WeakMap,f);class Kh{constructor(e,t){var r,n;this.app=e,t.isInitialized()?this._delegate=t.getImmediate():(r=e.options.apiKey,jh(r,"invalid-api-key",{appName:e.name}),jh(r,"invalid-api-key",{appName:e.name}),n="undefined"!=typeof window?Fh:void 0,this._delegate=t.initialize({options:{persistence:((e,t)=>{var r=((e,t)=>{var r=Ph();if(!r)return[];var n=js(Rh,e,t);switch(r.getItem(n)){case Nh.NONE:return[qs];case Nh.LOCAL:return[Zo,Mo];case Nh.SESSION:return[Mo];default:return[]}})(e,t);if("undefined"==typeof self||r.includes(Zo)||r.push(Zo),"undefined"!=typeof window)for(var n of[Fo,Mo])r.includes(n)||r.push(n);return r.includes(qs)||r.push(qs),r})(r,e.name),popupRedirectResolver:n}}),this._delegate._updateErrorMap(Ji)),this.linkUnderlyingAuth()}get emulatorConfig(){return this._delegate.emulatorConfig}get currentUser(){return this._delegate.currentUser?qh.getOrCreate(this._delegate.currentUser):null}get languageCode(){return this._delegate.languageCode}set languageCode(e){this._delegate.languageCode=e}get settings(){return this._delegate.settings}get tenantId(){return this._delegate.tenantId}set tenantId(e){this._delegate.tenantId=e}useDeviceLanguage(){this._delegate.useDeviceLanguage()}signOut(){return this._delegate.signOut()}useEmulator(e,t){_a(this._delegate,e,t)}applyActionCode(e){return po(this._delegate,e)}checkActionCode(e){return go(this._delegate,e)}confirmPasswordReset(e,t){return(async(t,e,r)=>{await Da(_(t),{oobCode:e,newPassword:r}).catch(async e=>{throw"auth/password-does-not-meet-requirements"===e.code&&Bo(t),e})})(this._delegate,e,t)}async createUserWithEmailAndPassword(e,t){return Gh(this._delegate,(async(t,e,r)=>{var n,i;return Rt(t.app)?Promise.reject(rs(t)):(i=await va(n=aa(t),{returnSecureToken:!0,email:e,password:r,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",Ja,"EMAIL_PASSWORD_PROVIDER").catch(e=>{throw"auth/password-does-not-meet-requirements"===e.code&&Bo(t),e}),i=await Wa._fromIdTokenResponse(n,"signIn",i),await n._updateCurrentUser(i.user),i)})(this._delegate,e,t))}fetchProvidersForEmail(e){return this.fetchSignInMethodsForEmail(e)}fetchSignInMethodsForEmail(e){return fo(this._delegate,e)}isSignInWithEmailLink(e){return this._delegate,e=e,"EMAIL_SIGNIN"===Fa.parseLink(e)?.operation}async getRedirectResult(){jh(Sh(),this._delegate,"operation-not-supported-in-this-environment");e=this._delegate,t=Fh,await aa(e)._initializationPromise;var e,t,r=await Nl(e,t,!1);return r?Gh(this._delegate,Promise.resolve(r)):{credential:null,user:null}}addFrameworkForLogging(e){aa(this._delegate)._logFramework(e)}onAuthStateChanged(e,t,r){var{next:n,error:i,complete:s}=zh(e,t,r);return this._delegate.onAuthStateChanged(n,i,s)}onIdTokenChanged(e,t,r){var{next:n,error:i,complete:s}=zh(e,t,r);return this._delegate.onIdTokenChanged(n,i,s)}sendSignInLinkToEmail(e,t){return(async(e,t,r)=>{let n=aa(e);var i={requestType:"EMAIL_SIGNIN",email:t,clientType:"CLIENT_TYPE_WEB"};e=i,f((t=r).handleCodeInApp,n,"argument-error"),t&&co(n,e,t),await va(n,i,"getOobCode",ka,"EMAIL_PASSWORD_PROVIDER")})(this._delegate,e,t)}sendPasswordResetEmail(e,t){return(async(e,t,r)=>{var n=aa(e),i={requestType:"PASSWORD_RESET",email:t,clientType:"CLIENT_TYPE_WEB"};r&&co(n,i,r),await va(n,i,"getOobCode",Sa,"EMAIL_PASSWORD_PROVIDER")})(this._delegate,e,t||void 0)}async setPersistence(e){var t,r;t=this._delegate,r=e,Ah(Object.values(Nh).includes(r),t,"invalid-persistence-type"),ae()?Ah(r!==Nh.SESSION,t,"unsupported-persistence-type"):ne()?Ah(r===Nh.NONE,t,"unsupported-persistence-type"):Th()?Ah(r===Nh.NONE||r===Nh.LOCAL&&ue(),t,"unsupported-persistence-type"):Ah(r===Nh.NONE||Ih(),t,"unsupported-persistence-type");let n;switch(e){case Nh.SESSION:n=Mo;break;case Nh.LOCAL:var i=await Hs(Zo)._isAvailable();n=i?Zo:Fo;break;case Nh.NONE:n=qs;break;default:return Zi("argument-error",{appName:this._delegate.name})}return this._delegate.setPersistence(n)}signInAndRetrieveDataWithCredential(e){return this.signInWithCredential(e)}signInAnonymously(){return Gh(this._delegate,(async e=>{var t,r;return Rt(e.app)?Promise.reject(rs(e)):(await(t=aa(e))._initializationPromise,t.currentUser?.isAnonymous?new Wa({user:t.currentUser,providerId:null,operationType:"signIn"}):(r=await Ja(t,{returnSecureToken:!0}),r=await Wa._fromIdTokenResponse(t,"signIn",r,!0),await t._updateCurrentUser(r.user),r))})(this._delegate))}signInWithCredential(e){return Gh(this._delegate,io(this._delegate,e))}signInWithCustomToken(e){return Gh(this._delegate,oo(this._delegate,e))}signInWithEmailAndPassword(e,t){return Gh(this._delegate,(r=this._delegate,e=e,t=t,Rt(r.app)?Promise.reject(rs(r)):io(_(r),La.credential(e,t)).catch(async e=>{throw"auth/password-does-not-meet-requirements"===e.code&&Bo(r),e})));var r}signInWithEmailLink(e,t){return Gh(this._delegate,(async(e,t,r)=>{var n,i;return Rt(e.app)?Promise.reject(rs(e)):(n=_(e),f((i=La.credentialWithLink(t,r||os()))._tenantId===(n.tenantId||null),n,"tenant-id-mismatch"),io(n,i))})(this._delegate,e,t))}signInWithPhoneNumber(e,t){return Hh(this._delegate,(async(e,t,r)=>{if(Rt(e.app))return Promise.reject(rs(e));let n=aa(e);var i=await hl(n,t,_(r));return new ll(i,e=>io(n,e))})(this._delegate,e,t))}async signInWithPopup(e){return jh(Sh(),this._delegate,"operation-not-supported-in-this-environment"),Gh(this._delegate,(async(e,t,r)=>{var n,i;return Rt(e.app)?Promise.reject(es(e,"operation-not-supported-in-this-environment")):(n=aa(e),ns(e,t,Ma),i=dl(n,r),new vl(n,"signInViaPopup",t,i).executeNotNull())})(this._delegate,e,Fh))}async signInWithRedirect(e){return jh(Sh(),this._delegate,"operation-not-supported-in-this-environment"),await Oh(this._delegate),Tl(this._delegate,e,Fh)}updateCurrentUser(e){return this._delegate.updateCurrentUser(e)}verifyPasswordResetCode(e){return(async(e,t)=>{var r=(await go(_(e),t)).data;return r.email})(this._delegate,e)}unwrap(){return this._delegate}_delete(){return this._delegate._delete()}linkUnderlyingAuth(){this._delegate.wrapped=()=>this}}function zh(e,t,r){let n=e,i=("function"!=typeof e&&({next:n,error:t,complete:r}=e),n);return{next:e=>i(e&&qh.getOrCreate(e)),error:t,complete:r}}Kh.Persistence=Nh;class Jh{static credential(e,t){return cl.credential(e,t)}constructor(){this.providerId="phone",this._delegate=new cl(Lh(or.auth()))}verifyPhoneNumber(e,t){return this._delegate.verifyPhoneNumber(e,t)}unwrap(){return this._delegate}}Jh.PHONE_SIGN_IN_METHOD=cl.PHONE_SIGN_IN_METHOD,Jh.PROVIDER_ID=cl.PROVIDER_ID;let Wh=f;class Qh{constructor(e,t,r=or.app()){Wh(r.options?.apiKey,"invalid-api-key",{appName:r.name}),this._delegate=new ol(r.auth(),e,t),this.type=this._delegate.type}clear(){this._delegate.clear()}render(){return this._delegate.render()}verify(){return this._delegate.verify()}}(a=or).INTERNAL.registerComponent(new Ve("auth-compat",e=>{var t=e.getProvider("app-compat").getImmediate(),r=e.getProvider("auth");return new Kh(t,r)},"PUBLIC").setServiceProps({ActionCodeInfo:{Operation:{EMAIL_SIGNIN:Ki.EMAIL_SIGNIN,PASSWORD_RESET:Ki.PASSWORD_RESET,RECOVER_EMAIL:Ki.RECOVER_EMAIL,REVERT_SECOND_FACTOR_ADDITION:Ki.REVERT_SECOND_FACTOR_ADDITION,VERIFY_AND_CHANGE_EMAIL:Ki.VERIFY_AND_CHANGE_EMAIL,VERIFY_EMAIL:Ki.VERIFY_EMAIL}},EmailAuthProvider:La,FacebookAuthProvider:Ha,GithubAuthProvider:qa,GoogleAuthProvider:Va,OAuthProvider:Ga,SAMLAuthProvider:Ka,PhoneAuthProvider:Jh,PhoneMultiFactorGenerator:ah,RecaptchaVerifier:Qh,TwitterAuthProvider:za,Auth:Kh,AuthCredential:Ea,Error:Be}).setInstantiationMode("LAZY").setMultipleInstances(!1)),a.registerVersion("@firebase/auth-compat","0.6.9");let Yh="@firebase/database",$h="";function Xh(e){$h=e}class Zh{constructor(e){this.domStorage_=e,this.prefix_="firebase:"}set(e,t){null==t?this.domStorage_.removeItem(this.prefixedName_(e)):this.domStorage_.setItem(this.prefixedName_(e),fe(t))}get(e){var t=this.domStorage_.getItem(this.prefixedName_(e));return null==t?null:ge(t)}remove(e){this.domStorage_.removeItem(this.prefixedName_(e))}prefixedName_(e){return this.prefix_+e}toString(){return this.domStorage_.toString()}}class eu{constructor(){this.cache_={},this.isInMemoryStorage=!0}set(e,t){null==t?delete this.cache_[e]:this.cache_[e]=t}get(e){return Ce(this.cache_,e)?this.cache_[e]:null}remove(e){delete this.cache_[e]}}function tu(e){try{var t;if("undefined"!=typeof window&&void 0!==window[e])return(t=window[e]).setItem("firebase:sentinel","cache"),t.removeItem("firebase:sentinel"),new Zh(t)}catch(e){}return new eu}function ru(e){var t=(t=>{var r,n,i=[];let s=0;for(let a=0;a<t.length;a++){let e=t.charCodeAt(a);55296<=e&&e<=56319&&(r=e-55296,a++,g(a<t.length,"Surrogate pair missing trail surrogate."),n=t.charCodeAt(a)-56320,e=65536+(r<<10)+n),e<128?i[s++]=e:(e<2048?i[s++]=e>>6|192:(e<65536?i[s++]=e>>12|224:(i[s++]=e>>18|240,i[s++]=e>>12&63|128),i[s++]=e>>6&63|128),i[s++]=63&e|128)}return i})(e),r=new Te,t=(r.update(t),r.digest());return G.encodeByteArray(t)}function nu(t){return function(...e){mu(t,...e)}}function iu(...e){var t="FIREBASE INTERNAL ERROR: "+Bu(...e);cu.error(t)}function su(e,t){return e===t?0:e<t?-1:1}function au(e,t){if(t&&e in t)return t[e];throw new Error("Missing required key ("+e+") in object: "+fe(t))}function ou(e){if("object"!=typeof e||null===e)return fe(e);var t,r=[];for(t in e)r.push(t);r.sort();let n="{";for(let i=0;i<r.length;i++)0!==i&&(n+=","),n=(n=n+fe(r[i])+":")+ou(e[r[i]]);return n+="}"}function lu(e,t){var r=e.length;if(r<=t)return[e];var n=[];for(let i=0;i<r;i+=t)i+t>r?n.push(e.substring(i,r)):n.push(e.substring(i,i+t));return n}let hu=tu("localStorage"),uu=tu("sessionStorage"),cu=new $e("@firebase/database"),du=(()=>{let e=1;return function(){return e++}})(),Bu=function(...e){let t="";for(let n=0;n<e.length;n++){var r=e[n];Array.isArray(r)||r&&"object"==typeof r&&"number"==typeof r.length?t+=Bu.apply(null,r):t+="object"==typeof r?fe(r):r,t+=" "}return t},pu=null,gu=!0,fu=function(e,t){g(!t||!0===e||!1===e,"Can't turn on custom loggers persistently."),!0===e?(cu.logLevel=B.VERBOSE,pu=cu.log.bind(cu),t&&uu.set("logging_enabled",!0)):"function"==typeof e?pu=e:(pu=null,uu.remove("logging_enabled"))},mu=function(...e){var t;!0===gu&&(gu=!1,null===pu)&&!0===uu.get("logging_enabled")&&fu(!0),pu&&(t=Bu.apply(null,e),pu(t))},Cu=function(...e){var t="FIREBASE FATAL ERROR: "+Bu(...e);throw cu.error(t),new Error(t)},vu=function(...e){var t="FIREBASE WARNING: "+Bu(...e);cu.warn(t)},_u=function(){"undefined"!=typeof window&&window.location&&window.location.protocol&&-1!==window.location.protocol.indexOf("https:")&&vu("Insecure Firebase access from a secure page. Please use https in calls to new Firebase().")},yu=function(e){return"number"==typeof e&&(e!=e||e===Number.POSITIVE_INFINITY||e===Number.NEGATIVE_INFINITY)},wu="[MIN_NAME]",Eu="[MAX_NAME]",Du=function(e,t){var r,n;return e===t?0:e===wu||t===Eu?-1:t===wu||e===Eu?1:(r=Tu(e),n=Tu(t),null!==r?null!==n?r-n==0?e.length-t.length:r-n:-1:null===n&&e<t?-1:1)};function bu(e,t){for(var r in e)e.hasOwnProperty(r)&&t(r,e[r])}function Iu(e){g(!yu(e),"Invalid JSON number");let t,r,n,i,s;0===e?(r=0,n=0,t=1/e==-1/0?1:0):(t=e<0,e=Math.abs(e),n=e>=Math.pow(2,-1022)?(i=Math.min(Math.floor(Math.log(e)/Math.LN2),1023),r=i+1023,Math.round(e*Math.pow(2,52-i)-Math.pow(2,52))):(r=0,Math.round(e/Math.pow(2,-1074))));var a=[];for(s=52;s;--s)a.push(n%2?1:0),n=Math.floor(n/2);for(s=11;s;--s)a.push(r%2?1:0),r=Math.floor(r/2);a.push(t?1:0),a.reverse();var o=a.join("");let l="";for(s=0;s<64;s+=8){let e=parseInt(o.substr(s,8),2).toString(16);1===e.length&&(e="0"+e),l+=e}return l.toLowerCase()}function Tu(e){if(ku.test(e)){var t=Number(e);if(t>=Nu&&t<=Au)return t}return null}function Su(e,t){var r=setTimeout(e,t);return"number"==typeof r&&"undefined"!=typeof Deno&&Deno.unrefTimer?Deno.unrefTimer(r):"object"==typeof r&&r.unref&&r.unref(),r}let ku=new RegExp("^-?(0*)\\d{1,10}$"),Nu=-2147483648,Au=2147483647,Ru=function(e){try{e()}catch(t){setTimeout(()=>{var e=t.stack||"";throw vu("Exception was thrown by user callback.",e),t},Math.floor(0))}};class Ou{constructor(e,t){this.appCheckProvider=t,this.appName=e.name,Rt(e)&&e.settings.appCheckToken&&(this.serverAppAppCheckToken=e.settings.appCheckToken),this.appCheck=t?.getImmediate({optional:!0}),this.appCheck||t?.get().then(e=>this.appCheck=e)}getToken(r){if(this.serverAppAppCheckToken){if(r)throw new Error("Attempted reuse of `FirebaseServerApp.appCheckToken` after previous usage failed.");return Promise.resolve({token:this.serverAppAppCheckToken})}return this.appCheck?this.appCheck.getToken(r):new Promise((e,t)=>{setTimeout(()=>{this.appCheck?this.getToken(r).then(e,t):e(null)},0)})}addTokenChangeListener(t){this.appCheckProvider?.get().then(e=>e.addTokenListener(t))}notifyForInvalidToken(){vu(`Provided AppCheck credentials for the app named "${this.appName}" `+"are invalid. This usually indicates your app was not initialized correctly.")}}class Pu{constructor(e,t,r){this.appName_=e,this.firebaseOptions_=t,this.authProvider_=r,this.auth_=null,this.auth_=r.getImmediate({optional:!0}),this.auth_||r.onInit(e=>this.auth_=e)}getToken(r){return this.auth_?this.auth_.getToken(r).catch(e=>e&&"auth/token-not-initialized"===e.code?(mu("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(e)):new Promise((e,t)=>{setTimeout(()=>{this.auth_?this.getToken(r).then(e,t):e(null)},0)})}addTokenChangeListener(t){this.auth_?this.auth_.addAuthTokenListener(t):this.authProvider_.get().then(e=>e.addAuthTokenListener(t))}removeTokenChangeListener(t){this.authProvider_.get().then(e=>e.removeAuthTokenListener(t))}notifyForInvalidToken(){let e='Provided authentication credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly. ';"credential"in this.firebaseOptions_?e+='Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':"serviceAccount"in this.firebaseOptions_?e+='Make sure the "serviceAccount" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':e+='Make sure the "apiKey" and "databaseURL" properties provided to initializeApp() match the values provided for your app at https://console.firebase.google.com/.',vu(e)}}class xu{constructor(e){this.accessToken=e}getToken(e){return Promise.resolve({accessToken:this.accessToken})}addTokenChangeListener(e){e(this.accessToken)}removeTokenChangeListener(e){}notifyForInvalidToken(){}}xu.OWNER="owner";let Fu=/(console\.firebase|firebase-console-\w+\.corp|firebase\.corp)\.google\.com/,Lu="websocket",Mu="long_polling";class Uu{constructor(e,t,r,n,i=!1,s="",a=!1,o=!1,l=null){this.secure=t,this.namespace=r,this.webSocketOnly=n,this.nodeAdmin=i,this.persistenceKey=s,this.includeNamespaceInQueryParams=a,this.isUsingEmulator=o,this.emulatorOptions=l,this._host=e.toLowerCase(),this._domain=this._host.substr(this._host.indexOf(".")+1),this.internalHost=hu.get("host:"+e)||this._host}isCacheableHost(){return"s-"===this.internalHost.substr(0,2)}isCustomHost(){return"firebaseio.com"!==this._domain&&"firebaseio-demo.com"!==this._domain}get host(){return this._host}set host(e){e!==this.internalHost&&(this.internalHost=e,this.isCacheableHost())&&hu.set("host:"+this._host,this.internalHost)}toString(){let e=this.toURLString();return this.persistenceKey&&(e+="<"+this.persistenceKey+">"),e}toURLString(){var e=this.secure?"https://":"http://",t=this.includeNamespaceInQueryParams?"?ns="+this.namespace:"";return e+this.host+"/"+t}}function Gu(e,t,r){g("string"==typeof t,"typeof type must == string"),g("object"==typeof r,"typeof params must == object");let n;if(t===Lu)n=(e.secure?"wss://":"ws://")+e.internalHost+"/.ws?";else{if(t!==Mu)throw new Error("Unknown connection type: "+t);n=(e.secure?"https://":"http://")+e.internalHost+"/.lp?"}((t=e).host!==t.internalHost||t.isCustomHost()||t.includeNamespaceInQueryParams)&&(r.ns=e.namespace);let i=[];return bu(r,(e,t)=>{i.push(e+"="+t)}),n+i.join("&")}class Hu{constructor(){this.counters_={}}incrementCounter(e,t=1){Ce(this.counters_,e)||(this.counters_[e]=0),this.counters_[e]+=t}get(){return K(void 0,this.counters_)}}let Vu={},qu={};function ju(e){var t=e.toString();return Vu[t]||(Vu[t]=new Hu),Vu[t]}class Ku{constructor(e){this.onMessage_=e,this.pendingResponses=[],this.currentResponseNum=0,this.closeAfterResponse=-1,this.onClose=null}closeAfter(e,t){this.closeAfterResponse=e,this.onClose=t,this.closeAfterResponse<this.currentResponseNum&&(this.onClose(),this.onClose=null)}handleResponse(e,t){for(this.pendingResponses[e]=t;this.pendingResponses[this.currentResponseNum];){let e=this.pendingResponses[this.currentResponseNum];delete this.pendingResponses[this.currentResponseNum];for(let t=0;t<e.length;++t)e[t]&&Ru(()=>{this.onMessage_(e[t])});if(this.currentResponseNum===this.closeAfterResponse){this.onClose&&(this.onClose(),this.onClose=null);break}this.currentResponseNum++}}}class zu{constructor(e,t,r,n,i,s,a){this.connId=e,this.repoInfo=t,this.applicationId=r,this.appCheckToken=n,this.authToken=i,this.transportSessionId=s,this.lastSessionId=a,this.bytesSent=0,this.bytesReceived=0,this.everConnected_=!1,this.log_=nu(e),this.stats_=ju(t),this.urlFn=e=>(this.appCheckToken&&(e.ac=this.appCheckToken),Gu(t,Mu,e))}open(e,t){this.curSegmentNum=0,this.onDisconnect_=t,this.myPacketOrderer=new Ku(e),this.isClosed_=!1,this.connectTimeoutTimer_=setTimeout(()=>{this.log_("Timed out trying to connect."),this.onClosed_(),this.connectTimeoutTimer_=null},Math.floor(3e4));var r=()=>{var e;this.isClosed_||(this.scriptTagHolder=new Ju((...e)=>{var[t,r,n,,,]=e;if(this.incrementIncomingBytes_(e),this.scriptTagHolder)if(this.connectTimeoutTimer_&&(clearTimeout(this.connectTimeoutTimer_),this.connectTimeoutTimer_=null),this.everConnected_=!0,"start"===t)this.id=r,this.password=n;else{if("close"!==t)throw new Error("Unrecognized command received: "+t);r?(this.scriptTagHolder.sendNewPolls=!1,this.myPacketOrderer.closeAfter(r,()=>{this.onClosed_()})):this.onClosed_()}},(...e)=>{var[t,r]=e;this.incrementIncomingBytes_(e),this.myPacketOrderer.handleResponse(t,r)},()=>{this.onClosed_()},this.urlFn),(e={start:"t"}).ser=Math.floor(1e8*Math.random()),this.scriptTagHolder.uniqueCallbackIdentifier&&(e.cb=this.scriptTagHolder.uniqueCallbackIdentifier),e.v="5",this.transportSessionId&&(e.s=this.transportSessionId),this.lastSessionId&&(e.ls=this.lastSessionId),this.applicationId&&(e.p=this.applicationId),this.appCheckToken&&(e.ac=this.appCheckToken),"undefined"!=typeof location&&location.hostname&&Fu.test(location.hostname)&&(e.r="f"),e=this.urlFn(e),this.log_("Connecting via long-poll to "+e),this.scriptTagHolder.addTag(e,()=>{}))};if("complete"===document.readyState)r();else{let e=!1,t=function(){document.body?e||(e=!0,r()):setTimeout(t,Math.floor(10))};document.addEventListener?(document.addEventListener("DOMContentLoaded",t,!1),window.addEventListener("load",t,!1)):document.attachEvent&&(document.attachEvent("onreadystatechange",()=>{"complete"===document.readyState&&t()}),window.attachEvent("onload",t))}}start(){this.scriptTagHolder.startLongPoll(this.id,this.password),this.addDisconnectPingFrame(this.id,this.password)}static forceAllow(){zu.forceAllow_=!0}static forceDisallow(){zu.forceDisallow_=!0}static isAvailable(){return!!zu.forceAllow_||!(zu.forceDisallow_||"undefined"==typeof document||null==document.createElement||"object"==typeof window&&window.chrome&&window.chrome.extension&&!/^chrome/.test(window.location.href)||"object"==typeof Windows&&"object"==typeof Windows.UI)}markConnectionHealthy(){}shutdown_(){this.isClosed_=!0,this.scriptTagHolder&&(this.scriptTagHolder.close(),this.scriptTagHolder=null),this.myDisconnFrame&&(document.body.removeChild(this.myDisconnFrame),this.myDisconnFrame=null),this.connectTimeoutTimer_&&(clearTimeout(this.connectTimeoutTimer_),this.connectTimeoutTimer_=null)}onClosed_(){this.isClosed_||(this.log_("Longpoll is closing itself"),this.shutdown_(),this.onDisconnect_&&(this.onDisconnect_(this.everConnected_),this.onDisconnect_=null))}close(){this.isClosed_||(this.log_("Longpoll is being closed."),this.shutdown_())}send(e){var t=fe(e),t=(this.bytesSent+=t.length,this.stats_.incrementCounter("bytes_sent",t.length),V(t)),r=lu(t,1840);for(let n=0;n<r.length;n++)this.scriptTagHolder.enqueueSegment(this.curSegmentNum,r.length,r[n]),this.curSegmentNum++}addDisconnectPingFrame(e,t){this.myDisconnFrame=document.createElement("iframe");var r={dframe:"t"};r.id=e,r.pw=t,this.myDisconnFrame.src=this.urlFn(r),this.myDisconnFrame.style.display="none",document.body.appendChild(this.myDisconnFrame)}incrementIncomingBytes_(e){var t=fe(e).length;this.bytesReceived+=t,this.stats_.incrementCounter("bytes_received",t)}}class Ju{constructor(t,r,e,n){this.onDisconnect=e,this.urlFn=n,this.outstandingRequests=new Set,this.pendingSegs=[],this.currentSerial=Math.floor(1e8*Math.random()),this.sendNewPolls=!0;{this.uniqueCallbackIdentifier=du(),window["pLPCommand"+this.uniqueCallbackIdentifier]=t,window["pRTLPCB"+this.uniqueCallbackIdentifier]=r,this.myIFrame=Ju.createIFrame_();let e="";this.myIFrame.src&&"javascript:"===this.myIFrame.src.substr(0,"javascript:".length)&&(i=document.domain,e='<script>document.domain="'+i+'";<\/script>');var i="<html><body>"+e+"</body></html>";try{this.myIFrame.doc.open(),this.myIFrame.doc.write(i),this.myIFrame.doc.close()}catch(e){mu("frame writing exception"),e.stack&&mu(e.stack),mu(e)}}}static createIFrame_(){var t=document.createElement("iframe");if(t.style.display="none",!document.body)throw"Document body has not initialized. Wait to initialize Firebase until after the document is ready.";document.body.appendChild(t);try{t.contentWindow.document||mu("No IE domain setting required")}catch(e){var r=document.domain;t.src="javascript:void((function(){document.open();document.domain='"+r+"';document.close();})())"}return t.contentDocument?t.doc=t.contentDocument:t.contentWindow?t.doc=t.contentWindow.document:t.document&&(t.doc=t.document),t}close(){this.alive=!1,this.myIFrame&&(this.myIFrame.doc.body.textContent="",setTimeout(()=>{null!==this.myIFrame&&(document.body.removeChild(this.myIFrame),this.myIFrame=null)},Math.floor(0)));var e=this.onDisconnect;e&&(this.onDisconnect=null,e())}startLongPoll(e,t){for(this.myID=e,this.myPW=t,this.alive=!0;this.newRequest_(););}newRequest_(){if(this.alive&&this.sendNewPolls&&this.outstandingRequests.size<(0<this.pendingSegs.length?2:1)){this.currentSerial++;var r={},r=(r.id=this.myID,r.pw=this.myPW,r.ser=this.currentSerial,this.urlFn(r));let e="",t=0;for(;0<this.pendingSegs.length;){if(!(this.pendingSegs[0].d.length+30+e.length<=1870))break;var n=this.pendingSegs.shift();e=e+"&seg"+t+"="+n.seg+"&ts"+t+"="+n.ts+"&d"+t+"="+n.d,t++}return r+=e,this.addLongPollTag_(r,this.currentSerial),!0}return!1}enqueueSegment(e,t,r){this.pendingSegs.push({seg:e,ts:t,d:r}),this.alive&&this.newRequest_()}addLongPollTag_(e,t){this.outstandingRequests.add(t);let r=()=>{this.outstandingRequests.delete(t),this.newRequest_()},n=setTimeout(r,Math.floor(25e3));this.addTag(e,()=>{clearTimeout(n),r()})}addTag(e,r){setTimeout(()=>{try{if(this.sendNewPolls){let t=this.myIFrame.doc.createElement("script");t.type="text/javascript",t.async=!0,t.src=e,t.onload=t.onreadystatechange=function(){var e=t.readyState;e&&"loaded"!==e&&"complete"!==e||(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),r())},t.onerror=()=>{mu("Long-poll script failed to load: "+e),this.sendNewPolls=!1,this.close()},this.myIFrame.doc.body.appendChild(t)}}catch(e){}},Math.floor(1))}}let Wu=null;"undefined"!=typeof MozWebSocket?Wu=MozWebSocket:"undefined"!=typeof WebSocket&&(Wu=WebSocket);class Qu{constructor(e,t,r,n,i,s,a){this.connId=e,this.applicationId=r,this.appCheckToken=n,this.authToken=i,this.keepaliveTimer=null,this.frames=null,this.totalFrames=0,this.bytesSent=0,this.bytesReceived=0,this.log_=nu(this.connId),this.stats_=ju(t),this.connURL=Qu.connectionURL_(t,s,a,n,r),this.nodeAdmin=t.nodeAdmin}static connectionURL_(e,t,r,n,i){var s={v:"5"};return"undefined"!=typeof location&&location.hostname&&Fu.test(location.hostname)&&(s.r="f"),t&&(s.s=t),r&&(s.ls=r),n&&(s.ac=n),i&&(s.p=i),Gu(e,Lu,s)}open(e,t){this.onDisconnect=t,this.onMessage=e,this.log_("Websocket connecting to "+this.connURL),this.everConnected_=!1,hu.set("previous_websocket_failure",!0);try{d.NODE_ADMIN,this.mySock=new Wu(this.connURL,[],void 0)}catch(e){this.log_("Error instantiating WebSocket.");var r=e.message||e.data;return r&&this.log_(r),void this.onClosed_()}this.mySock.onopen=()=>{this.log_("Websocket connected."),this.everConnected_=!0},this.mySock.onclose=()=>{this.log_("Websocket connection was disconnected."),this.mySock=null,this.onClosed_()},this.mySock.onmessage=e=>{this.handleIncomingFrame(e)},this.mySock.onerror=e=>{this.log_("WebSocket error. Closing connection.");var t=e.message||e.data;t&&this.log_(t),this.onClosed_()}}start(){}static forceDisallow(){Qu.forceDisallow_=!0}static isAvailable(){let e=!1;var t;return!(e="undefined"!=typeof navigator&&navigator.userAgent&&(t=navigator.userAgent.match(/Android ([0-9]{0,}\.[0-9]{0,})/))&&1<t.length&&parseFloat(t[1])<4.4?!0:e)&&null!==Wu&&!Qu.forceDisallow_}static previouslyFailed(){return hu.isInMemoryStorage||!0===hu.get("previous_websocket_failure")}markConnectionHealthy(){hu.remove("previous_websocket_failure")}appendFrame_(e){var t;this.frames.push(e),this.frames.length===this.totalFrames&&(t=this.frames.join(""),this.frames=null,t=ge(t),this.onMessage(t))}handleNewFrameCount_(e){this.totalFrames=e,this.frames=[]}extractFrameCount_(e){if(g(null===this.frames,"We already have a frame buffer"),e.length<=6){var t=Number(e);if(!isNaN(t))return this.handleNewFrameCount_(t),null}return this.handleNewFrameCount_(1),e}handleIncomingFrame(e){var t;null!==this.mySock&&(t=e.data,this.bytesReceived+=t.length,this.stats_.incrementCounter("bytes_received",t.length),this.resetKeepAlive(),null!==this.frames?this.appendFrame_(t):null!==(t=this.extractFrameCount_(t))&&this.appendFrame_(t))}send(e){this.resetKeepAlive();var t=fe(e),r=(this.bytesSent+=t.length,this.stats_.incrementCounter("bytes_sent",t.length),lu(t,16384));1<r.length&&this.sendString_(String(r.length));for(let n=0;n<r.length;n++)this.sendString_(r[n])}shutdown_(){this.isClosed_=!0,this.keepaliveTimer&&(clearInterval(this.keepaliveTimer),this.keepaliveTimer=null),this.mySock&&(this.mySock.close(),this.mySock=null)}onClosed_(){this.isClosed_||(this.log_("WebSocket is closing itself"),this.shutdown_(),this.onDisconnect&&(this.onDisconnect(this.everConnected_),this.onDisconnect=null))}close(){this.isClosed_||(this.log_("WebSocket is being closed"),this.shutdown_())}resetKeepAlive(){clearInterval(this.keepaliveTimer),this.keepaliveTimer=setInterval(()=>{this.mySock&&this.sendString_("0"),this.resetKeepAlive()},Math.floor(45e3))}sendString_(e){try{this.mySock.send(e)}catch(e){this.log_("Exception thrown from WebSocket.send():",e.message||e.data,"Closing connection."),setTimeout(this.onClosed_.bind(this),0)}}}Qu.responsesRequiredToBeHealthy=2,Qu.healthyTimeout=3e4;class Yu{static get ALL_TRANSPORTS(){return[zu,Qu]}static get IS_TRANSPORT_INITIALIZED(){return this.globalTransportInitialized_}constructor(e){this.initTransports_(e)}initTransports_(e){var t=Qu&&Qu.isAvailable();let r=t&&!Qu.previouslyFailed();if(e.webSocketOnly&&(t||vu("wss:// URL used, but browser isn't known to support websockets. Trying anyway."),r=!0),r)this.transports_=[Qu];else{var n,i=this.transports_=[];for(n of Yu.ALL_TRANSPORTS)n&&n.isAvailable()&&i.push(n);Yu.globalTransportInitialized_=!0}}initialTransport(){if(0<this.transports_.length)return this.transports_[0];throw new Error("No transports available")}upgradeTransport(){return 1<this.transports_.length?this.transports_[1]:null}}Yu.globalTransportInitialized_=!1;class $u{constructor(e,t,r,n,i,s,a,o,l,h){this.id=e,this.repoInfo_=t,this.applicationId_=r,this.appCheckToken_=n,this.authToken_=i,this.onMessage_=s,this.onReady_=a,this.onDisconnect_=o,this.onKill_=l,this.lastSessionId=h,this.connectionCount=0,this.pendingDataMessages=[],this.state_=0,this.log_=nu("c:"+this.id+":"),this.transportManager_=new Yu(t),this.log_("Connection created"),this.start_()}start_(){var e=this.transportManager_.initialTransport();this.conn_=new e(this.nextTransportId_(),this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,null,this.lastSessionId),this.primaryResponsesRequired_=e.responsesRequiredToBeHealthy||0;let t=this.connReceiver_(this.conn_),r=this.disconnReceiver_(this.conn_);this.tx_=this.conn_,this.rx_=this.conn_,this.secondaryConn_=null,this.isHealthy_=!1,setTimeout(()=>{this.conn_&&this.conn_.open(t,r)},Math.floor(0));e=e.healthyTimeout||0;0<e&&(this.healthyTimeout_=Su(()=>{this.healthyTimeout_=null,this.isHealthy_||(this.conn_&&102400<this.conn_.bytesReceived?(this.log_("Connection exceeded healthy timeout but has received "+this.conn_.bytesReceived+" bytes. Marking connection healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()):this.conn_&&10240<this.conn_.bytesSent?this.log_("Connection exceeded healthy timeout but has sent "+this.conn_.bytesSent+" bytes. Leaving connection alive."):(this.log_("Closing unhealthy connection after timeout."),this.close()))},Math.floor(e)))}nextTransportId_(){return"c:"+this.id+":"+this.connectionCount++}disconnReceiver_(t){return e=>{t===this.conn_?this.onConnectionLost_(e):t===this.secondaryConn_?(this.log_("Secondary connection lost."),this.onSecondaryConnectionLost_()):this.log_("closing an old connection")}}connReceiver_(t){return e=>{2!==this.state_&&(t===this.rx_?this.onPrimaryMessageReceived_(e):t===this.secondaryConn_?this.onSecondaryMessageReceived_(e):this.log_("message on old connection"))}}sendRequest(e){this.sendData_({t:"d",d:e})}tryCleanupConnection(){this.tx_===this.secondaryConn_&&this.rx_===this.secondaryConn_&&(this.log_("cleaning up and promoting a connection: "+this.secondaryConn_.connId),this.conn_=this.secondaryConn_,this.secondaryConn_=null)}onSecondaryControl_(e){var t;"t"in e&&("a"===(t=e.t)?this.upgradeIfSecondaryHealthy_():"r"===t?(this.log_("Got a reset on secondary, closing it"),this.secondaryConn_.close(),this.tx_!==this.secondaryConn_&&this.rx_!==this.secondaryConn_||this.close()):"o"===t&&(this.log_("got pong on secondary."),this.secondaryResponsesRequired_--,this.upgradeIfSecondaryHealthy_()))}onSecondaryMessageReceived_(e){var t=au("t",e),r=au("d",e);if("c"===t)this.onSecondaryControl_(r);else{if("d"!==t)throw new Error("Unknown protocol layer: "+t);this.pendingDataMessages.push(r)}}upgradeIfSecondaryHealthy_(){this.secondaryResponsesRequired_<=0?(this.log_("Secondary connection is healthy."),this.isHealthy_=!0,this.secondaryConn_.markConnectionHealthy(),this.proceedWithUpgrade_()):(this.log_("sending ping on secondary."),this.secondaryConn_.send({t:"c",d:{t:"p",d:{}}}))}proceedWithUpgrade_(){this.secondaryConn_.start(),this.log_("sending client ack on secondary"),this.secondaryConn_.send({t:"c",d:{t:"a",d:{}}}),this.log_("Ending transmission on primary"),this.conn_.send({t:"c",d:{t:"n",d:{}}}),this.tx_=this.secondaryConn_,this.tryCleanupConnection()}onPrimaryMessageReceived_(e){var t=au("t",e),r=au("d",e);"c"===t?this.onControl_(r):"d"===t&&this.onDataMessage_(r)}onDataMessage_(e){this.onPrimaryResponse_(),this.onMessage_(e)}onPrimaryResponse_(){this.isHealthy_||(this.primaryResponsesRequired_--,this.primaryResponsesRequired_<=0&&(this.log_("Primary connection is healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()))}onControl_(e){var t=au("t",e);if("d"in e){var r=e.d;if("h"===t){var n={...r};this.repoInfo_.isUsingEmulator&&(n.h=this.repoInfo_.host),this.onHandshake_(n)}else if("n"===t){this.log_("recvd end transmission on primary"),this.rx_=this.secondaryConn_;for(let e=0;e<this.pendingDataMessages.length;++e)this.onDataMessage_(this.pendingDataMessages[e]);this.pendingDataMessages=[],this.tryCleanupConnection()}else"s"===t?this.onConnectionShutdown_(r):"r"===t?this.onReset_(r):"e"===t?iu("Server Error: "+r):"o"===t?(this.log_("got pong on primary."),this.onPrimaryResponse_(),this.sendPingOnPrimaryIfNecessary_()):iu("Unknown control packet command: "+t)}}onHandshake_(e){var t=e.ts,r=e.v,n=e.h;this.sessionId=e.s,this.repoInfo_.host=n,0===this.state_&&(this.conn_.start(),this.onConnectionEstablished_(this.conn_,t),"5"!==r&&vu("Protocol version mismatch detected"),this.tryStartUpgrade_())}tryStartUpgrade_(){var e=this.transportManager_.upgradeTransport();e&&this.startUpgrade_(e)}startUpgrade_(e){this.secondaryConn_=new e(this.nextTransportId_(),this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,this.sessionId),this.secondaryResponsesRequired_=e.responsesRequiredToBeHealthy||0;var t=this.connReceiver_(this.secondaryConn_),r=this.disconnReceiver_(this.secondaryConn_);this.secondaryConn_.open(t,r),Su(()=>{this.secondaryConn_&&(this.log_("Timed out trying to upgrade."),this.secondaryConn_.close())},Math.floor(6e4))}onReset_(e){this.log_("Reset packet received. New host: "+e),this.repoInfo_.host=e,1===this.state_?this.close():(this.closeConnections_(),this.start_())}onConnectionEstablished_(e,t){this.log_("Realtime connection established."),this.conn_=e,this.state_=1,this.onReady_&&(this.onReady_(t,this.sessionId),this.onReady_=null),0===this.primaryResponsesRequired_?(this.log_("Primary connection is healthy."),this.isHealthy_=!0):Su(()=>{this.sendPingOnPrimaryIfNecessary_()},Math.floor(5e3))}sendPingOnPrimaryIfNecessary_(){this.isHealthy_||1!==this.state_||(this.log_("sending ping on primary."),this.sendData_({t:"c",d:{t:"p",d:{}}}))}onSecondaryConnectionLost_(){var e=this.secondaryConn_;this.secondaryConn_=null,this.tx_!==e&&this.rx_!==e||this.close()}onConnectionLost_(e){this.conn_=null,e||0!==this.state_?1===this.state_&&this.log_("Realtime connection lost."):(this.log_("Realtime connection failed."),this.repoInfo_.isCacheableHost()&&(hu.remove("host:"+this.repoInfo_.host),this.repoInfo_.internalHost=this.repoInfo_.host)),this.close()}onConnectionShutdown_(e){this.log_("Connection shutdown command received. Shutting down..."),this.onKill_&&(this.onKill_(e),this.onKill_=null),this.onDisconnect_=null,this.close()}sendData_(e){if(1!==this.state_)throw"Connection is not connected";this.tx_.send(e)}close(){2!==this.state_&&(this.log_("Closing realtime connection."),this.state_=2,this.closeConnections_(),this.onDisconnect_)&&(this.onDisconnect_(),this.onDisconnect_=null)}closeConnections_(){this.log_("Shutting down all connections"),this.conn_&&(this.conn_.close(),this.conn_=null),this.secondaryConn_&&(this.secondaryConn_.close(),this.secondaryConn_=null),this.healthyTimeout_&&(clearTimeout(this.healthyTimeout_),this.healthyTimeout_=null)}}class Xu{put(e,t,r,n){}merge(e,t,r,n){}refreshAuthToken(e){}refreshAppCheckToken(e){}onDisconnectPut(e,t,r){}onDisconnectMerge(e,t,r){}onDisconnectCancel(e,t){}reportStats(e){}}var Zu,ar=class{constructor(e){this.allowedEvents_=e,this.listeners_={},g(Array.isArray(e)&&0<e.length,"Requires a non-empty array")}trigger(t,...r){if(Array.isArray(this.listeners_[t])){var n=[...this.listeners_[t]];for(let e=0;e<n.length;e++)n[e].callback.apply(n[e].context,r)}}on(e,t,r){this.validateEventType_(e),this.listeners_[e]=this.listeners_[e]||[],this.listeners_[e].push({callback:t,context:r});var n=this.getInitialEvent(e);n&&t.apply(r,n)}off(e,t,r){this.validateEventType_(e);var n=this.listeners_[e]||[];for(let i=0;i<n.length;i++)if(n[i].callback===t&&(!r||r===n[i].context))return void n.splice(i,1)}validateEventType_(t){g(this.allowedEvents_.find(e=>e===t),"Unknown event: "+t)}};class ec extends ar{static getInstance(){return new ec}constructor(){super(["online"]),this.online_=!0,"undefined"==typeof window||void 0===window.addEventListener||re()||(window.addEventListener("online",()=>{this.online_||(this.online_=!0,this.trigger("online",!0))},!1),window.addEventListener("offline",()=>{this.online_&&(this.online_=!1,this.trigger("online",!1))},!1))}getInitialEvent(e){return g("online"===e,"Unknown event type: "+e),[this.online_]}currentlyOnline(){return this.online_}}let tc=32,rc=768;class nc{constructor(r,e){if(void 0===e){this.pieces_=r.split("/");let e=0;for(let t=0;t<this.pieces_.length;t++)0<this.pieces_[t].length&&(this.pieces_[e]=this.pieces_[t],e++);this.pieces_.length=e,this.pieceNum_=0}else this.pieces_=r,this.pieceNum_=e}toString(){let e="";for(let t=this.pieceNum_;t<this.pieces_.length;t++)""!==this.pieces_[t]&&(e+="/"+this.pieces_[t]);return e||"/"}}function ic(){return new nc("")}function m(e){return e.pieceNum_>=e.pieces_.length?null:e.pieces_[e.pieceNum_]}function sc(e){return e.pieces_.length-e.pieceNum_}function ac(e){let t=e.pieceNum_;return t<e.pieces_.length&&t++,new nc(e.pieces_,t)}function oc(e){return e.pieceNum_<e.pieces_.length?e.pieces_[e.pieces_.length-1]:null}function lc(e,t=0){return e.pieces_.slice(e.pieceNum_+t)}function hc(e){if(e.pieceNum_>=e.pieces_.length)return null;var t=[];for(let r=e.pieceNum_;r<e.pieces_.length-1;r++)t.push(e.pieces_[r]);return new nc(t,0)}function uc(e,t){var r=[];for(let i=e.pieceNum_;i<e.pieces_.length;i++)r.push(e.pieces_[i]);if(t instanceof nc)for(let e=t.pieceNum_;e<t.pieces_.length;e++)r.push(t.pieces_[e]);else{var n=t.split("/");for(let e=0;e<n.length;e++)0<n[e].length&&r.push(n[e])}return new nc(r,0)}function C(e){return e.pieceNum_>=e.pieces_.length}function cc(e,t){var r=m(e),n=m(t);if(null===r)return t;if(r===n)return cc(ac(e),ac(t));throw new Error("INTERNAL ERROR: innerPath ("+t+") is not within outerPath ("+e+")")}function dc(e,t){var r=lc(e,0),n=lc(t,0);for(let s=0;s<r.length&&s<n.length;s++){var i=Du(r[s],n[s]);if(0!==i)return i}return r.length===n.length?0:r.length<n.length?-1:1}function Bc(e,t){if(sc(e)!==sc(t))return!1;for(let r=e.pieceNum_,n=t.pieceNum_;r<=e.pieces_.length;r++,n++)if(e.pieces_[r]!==t.pieces_[n])return!1;return!0}function pc(e,t){let r=e.pieceNum_,n=t.pieceNum_;if(sc(e)>sc(t))return!1;for(;r<e.pieces_.length;){if(e.pieces_[r]!==t.pieces_[n])return!1;++r,++n}return!0}class gc{constructor(e,t){this.errorPrefix_=t,this.parts_=lc(e,0),this.byteLength_=Math.max(1,this.parts_.length);for(let r=0;r<this.parts_.length;r++)this.byteLength_+=Pe(this.parts_[r]);fc(this)}}function fc(e){if(e.byteLength_>rc)throw new Error(e.errorPrefix_+"has a key path longer than "+rc+" bytes ("+e.byteLength_+").");if(e.parts_.length>tc)throw new Error(e.errorPrefix_+"path specified exceeds the maximum depth that can be written ("+tc+") or object contains a cycle "+mc(e))}function mc(e){return 0===e.parts_.length?"":"in property '"+e.parts_.join(".")+"'"}let Cc=class nU extends ar{static getInstance(){return new nU}constructor(){super(["visible"]);let t,e;"undefined"!=typeof document&&void 0!==document.addEventListener&&(void 0!==document.hidden?(e="visibilitychange",t="hidden"):void 0!==document.mozHidden?(e="mozvisibilitychange",t="mozHidden"):void 0!==document.msHidden?(e="msvisibilitychange",t="msHidden"):void 0!==document.webkitHidden&&(e="webkitvisibilitychange",t="webkitHidden")),this.visible_=!0,e&&document.addEventListener(e,()=>{var e=!document[t];e!==this.visible_&&(this.visible_=e,this.trigger("visible",e))},!1)}getInitialEvent(e){return g("visible"===e,"Unknown event type: "+e),[this.visible_]}};class vc extends Xu{constructor(e,t,r,n,i,s,a,o){if(super(),this.repoInfo_=e,this.applicationId_=t,this.onDataUpdate_=r,this.onConnectStatus_=n,this.onServerInfoUpdate_=i,this.authTokenProvider_=s,this.appCheckTokenProvider_=a,this.authOverride_=o,this.id=vc.nextPersistentConnectionId_++,this.log_=nu("p:"+this.id+":"),this.interruptReasons_={},this.listens=new Map,this.outstandingPuts_=[],this.outstandingGets_=[],this.outstandingPutCount_=0,this.outstandingGetCount_=0,this.onDisconnectRequestQueue_=[],this.connected_=!1,this.reconnectDelay_=1e3,this.maxReconnectDelay_=3e5,this.securityDebugCallback_=null,this.lastSessionId=null,this.establishConnectionTimer_=null,this.visible_=!1,this.requestCBHash_={},this.requestNumber_=0,this.realtime_=null,this.authToken_=null,this.appCheckToken_=null,this.forceTokenRefresh_=!1,this.invalidAuthTokenCount_=0,this.invalidAppCheckTokenCount_=0,this.firstConnection_=!0,this.lastConnectionAttemptTime_=null,this.lastConnectionEstablishedTime_=null,o)throw new Error("Auth override specified in options, but not supported on non Node.js platforms");Cc.getInstance().on("visible",this.onVisible_,this),-1===e.host.indexOf("fblocal")&&ec.getInstance().on("online",this.onOnline_,this)}sendRequest(e,t,r){var n=++this.requestNumber_,i={r:n,a:e,b:t};this.log_(fe(i)),g(this.connected_,"sendRequest call when we're not connected not allowed."),this.realtime_.sendRequest(i),r&&(this.requestCBHash_[n]=r)}get(e){this.initConnection_();let r=new Z;var t={p:e._path.toString(),q:e._queryObject},t=(this.outstandingGets_.push({action:"g",request:t,onComplete:e=>{var t=e.d;"ok"===e.s?r.resolve(t):r.reject(t)}}),this.outstandingGetCount_++,this.outstandingGets_.length-1);return this.connected_&&this.sendGet_(t),r.promise}listen(e,t,r,n){this.initConnection_();var i=e._queryIdentifier,s=e._path.toString(),a=(this.log_("Listen called for "+s+" "+i),this.listens.has(s)||this.listens.set(s,new Map),g(e._queryParams.isDefault()||!e._queryParams.loadsAllData(),"listen() called for non-default but complete query"),g(!this.listens.get(s).has(i),"listen() called twice for same path/queryId."),{onComplete:n,hashFn:t,query:e,tag:r});this.listens.get(s).set(i,a),this.connected_&&this.sendListen_(a)}sendGet_(t){let r=this.outstandingGets_[t];this.sendRequest("g",r.request,e=>{delete this.outstandingGets_[t],this.outstandingGetCount_--,0===this.outstandingGetCount_&&(this.outstandingGets_=[]),r.onComplete&&r.onComplete(e)})}sendListen_(i){let s=i.query,a=s._path.toString(),o=s._queryIdentifier;this.log_("Listen on "+a+" for "+o);var e={p:a};i.tag&&(e.q=s._queryObject,e.t=i.tag),e.h=i.hashFn(),this.sendRequest("q",e,e=>{var t=e.d,r=e.s,n=(vc.warnOnListenWarnings_(t,s),this.listens.get(a)&&this.listens.get(a).get(o));n===i&&(this.log_("listen response",e),"ok"!==r&&this.removeListen_(a,o),i.onComplete)&&i.onComplete(r,t)})}static warnOnListenWarnings_(e,t){var r,n;e&&"object"==typeof e&&Ce(e,"w")&&(r=ve(e,"w"),Array.isArray(r))&&~r.indexOf("no_index")&&(r='".indexOn": "'+t._queryParams.getIndex().toString()+'"',n=t._path.toString(),vu("Using an unspecified index. Your data will be downloaded and "+`filtered on the client. Consider adding ${r} at `+n+" to your security rules for better performance."))}refreshAuthToken(e){this.authToken_=e,this.log_("Auth token refreshed"),this.authToken_?this.tryAuth():this.connected_&&this.sendRequest("unauth",{},()=>{}),this.reduceReconnectDelayIfAdminCredential_(e)}reduceReconnectDelayIfAdminCredential_(e){var t;(e&&40===e.length||(e=e,"object"==typeof(t=me(e).claims)&&!0===t.admin))&&(this.log_("Admin auth credential detected. Reducing max reconnect time."),this.maxReconnectDelay_=3e4)}refreshAppCheckToken(e){this.appCheckToken_=e,this.log_("App check token refreshed"),this.appCheckToken_?this.tryAppCheck():this.connected_&&this.sendRequest("unappeck",{},()=>{})}tryAuth(){if(this.connected_&&this.authToken_){let n=this.authToken_;r=n;var e=!!(e=me(r).claims)&&"object"==typeof e&&e.hasOwnProperty("iat")?"auth":"gauth",t={cred:n};null===this.authOverride_?t.noauth=!0:"object"==typeof this.authOverride_&&(t.authvar=this.authOverride_),this.sendRequest(e,t,e=>{var t=e.s,r=e.d||"error";this.authToken_===n&&("ok"===t?this.invalidAuthTokenCount_=0:this.onAuthRevoked_(t,r))})}var r,e}tryAppCheck(){this.connected_&&this.appCheckToken_&&this.sendRequest("appcheck",{token:this.appCheckToken_},e=>{var t=e.s,r=e.d||"error";"ok"===t?this.invalidAppCheckTokenCount_=0:this.onAppCheckRevoked_(t,r)})}unlisten(e,t){var r=e._path.toString(),n=e._queryIdentifier,i=(this.log_("Unlisten called for "+r+" "+n),g(e._queryParams.isDefault()||!e._queryParams.loadsAllData(),"unlisten() called for non-default but complete query"),this.removeListen_(r,n));i&&this.connected_&&this.sendUnlisten_(r,n,e._queryObject,t)}sendUnlisten_(e,t,r,n){this.log_("Unlisten on "+e+" for "+t);var i={p:e};n&&(i.q=r,i.t=n),this.sendRequest("n",i)}onDisconnectPut(e,t,r){this.initConnection_(),this.connected_?this.sendOnDisconnect_("o",e,t,r):this.onDisconnectRequestQueue_.push({pathString:e,action:"o",data:t,onComplete:r})}onDisconnectMerge(e,t,r){this.initConnection_(),this.connected_?this.sendOnDisconnect_("om",e,t,r):this.onDisconnectRequestQueue_.push({pathString:e,action:"om",data:t,onComplete:r})}onDisconnectCancel(e,t){this.initConnection_(),this.connected_?this.sendOnDisconnect_("oc",e,null,t):this.onDisconnectRequestQueue_.push({pathString:e,action:"oc",data:null,onComplete:t})}sendOnDisconnect_(e,t,r,n){var i={p:t,d:r};this.log_("onDisconnect "+e,i),this.sendRequest(e,i,e=>{n&&setTimeout(()=>{n(e.s,e.d)},Math.floor(0))})}put(e,t,r,n){this.putInternal("p",e,t,r,n)}merge(e,t,r,n){this.putInternal("m",e,t,r,n)}putInternal(e,t,r,n,i){this.initConnection_();var s={p:t,d:r},s=(void 0!==i&&(s.h=i),this.outstandingPuts_.push({action:e,request:s,onComplete:n}),this.outstandingPutCount_++,this.outstandingPuts_.length-1);this.connected_?this.sendPut_(s):this.log_("Buffering put: "+t)}sendPut_(t){let r=this.outstandingPuts_[t].action;var e=this.outstandingPuts_[t].request;let n=this.outstandingPuts_[t].onComplete;this.outstandingPuts_[t].queued=this.connected_,this.sendRequest(r,e,e=>{this.log_(r+" response",e),delete this.outstandingPuts_[t],this.outstandingPutCount_--,0===this.outstandingPutCount_&&(this.outstandingPuts_=[]),n&&n(e.s,e.d)})}reportStats(e){var t;this.connected_&&(this.log_("reportStats",t={c:e}),this.sendRequest("s",t,e=>{var t;"ok"!==e.s&&(t=e.d,this.log_("reportStats","Error sending stats: "+t))}))}onDataMessage_(e){if("r"in e){this.log_("from server: "+fe(e));var t=e.r,r=this.requestCBHash_[t];r&&(delete this.requestCBHash_[t],r(e.b))}else{if("error"in e)throw"A server-side error has occurred: "+e.error;"a"in e&&this.onDataPush_(e.a,e.b)}}onDataPush_(e,t){this.log_("handleServerMessage",e,t),"d"===e?this.onDataUpdate_(t.p,t.d,!1,t.t):"m"===e?this.onDataUpdate_(t.p,t.d,!0,t.t):"c"===e?this.onListenRevoked_(t.p,t.q):"ac"===e?this.onAuthRevoked_(t.s,t.d):"apc"===e?this.onAppCheckRevoked_(t.s,t.d):"sd"===e?this.onSecurityDebugPacket_(t):iu("Unrecognized action received from server: "+fe(e)+"\nAre you using the latest client?")}onReady_(e,t){this.log_("connection ready"),this.connected_=!0,this.lastConnectionEstablishedTime_=(new Date).getTime(),this.handleTimestamp_(e),this.lastSessionId=t,this.firstConnection_&&this.sendConnectStats_(),this.restoreState_(),this.firstConnection_=!1,this.onConnectStatus_(!0)}scheduleConnect_(e){g(!this.realtime_,"Scheduling a connect when we're already connected/ing?"),this.establishConnectionTimer_&&clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=setTimeout(()=>{this.establishConnectionTimer_=null,this.establishConnection_()},Math.floor(e))}initConnection_(){!this.realtime_&&this.firstConnection_&&this.scheduleConnect_(0)}onVisible_(e){e&&!this.visible_&&this.reconnectDelay_===this.maxReconnectDelay_&&(this.log_("Window became visible. Reducing delay."),this.reconnectDelay_=1e3,this.realtime_||this.scheduleConnect_(0)),this.visible_=e}onOnline_(e){e?(this.log_("Browser went online."),this.reconnectDelay_=1e3,this.realtime_||this.scheduleConnect_(0)):(this.log_("Browser went offline. Killing connection."),this.realtime_&&this.realtime_.close())}onRealtimeDisconnect_(){var e;this.log_("data client disconnected"),this.connected_=!1,this.realtime_=null,this.cancelSentTransactions_(),this.requestCBHash_={},this.shouldReconnect_()&&(this.visible_?this.lastConnectionEstablishedTime_&&(3e4<(new Date).getTime()-this.lastConnectionEstablishedTime_&&(this.reconnectDelay_=1e3),this.lastConnectionEstablishedTime_=null):(this.log_("Window isn't visible. Delaying reconnect."),this.reconnectDelay_=this.maxReconnectDelay_,this.lastConnectionAttemptTime_=(new Date).getTime()),e=Math.max(0,(new Date).getTime()-this.lastConnectionAttemptTime_),e=Math.max(0,this.reconnectDelay_-e),e=Math.random()*e,this.log_("Trying to reconnect in "+e+"ms"),this.scheduleConnect_(e),this.reconnectDelay_=Math.min(this.maxReconnectDelay_,1.3*this.reconnectDelay_)),this.onConnectStatus_(!1)}async establishConnection_(){if(this.shouldReconnect_()){this.log_("Making a connection attempt"),this.lastConnectionAttemptTime_=(new Date).getTime(),this.lastConnectionEstablishedTime_=null;var n=this.onDataMessage_.bind(this),i=this.onReady_.bind(this);let e=this.onRealtimeDisconnect_.bind(this);var s=this.id+":"+vc.nextConnectionId_++,a=this.lastSessionId;let t=!1,r=null;var o=function(){r?r.close():(t=!0,e())},l=(this.realtime_={close:o,sendRequest:function(e){g(r,"sendRequest call when we're not connected not allowed."),r.sendRequest(e)}},this.forceTokenRefresh_);this.forceTokenRefresh_=!1;try{var[h,u]=await Promise.all([this.authTokenProvider_.getToken(l),this.appCheckTokenProvider_.getToken(l)]);t?mu("getToken() completed but was canceled"):(mu("getToken() completed. Creating connection."),this.authToken_=h&&h.accessToken,this.appCheckToken_=u&&u.token,r=new $u(s,this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,n,i,e,e=>{vu(e+" ("+this.repoInfo_.toString()+")"),this.interrupt("server_kill")},a))}catch(e){this.log_("Failed to get token: "+e),t||(this.repoInfo_.nodeAdmin&&vu(e),o())}}}interrupt(e){mu("Interrupting connection for reason: "+e),this.interruptReasons_[e]=!0,this.realtime_?this.realtime_.close():(this.establishConnectionTimer_&&(clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=null),this.connected_&&this.onRealtimeDisconnect_())}resume(e){mu("Resuming connection for reason: "+e),delete this.interruptReasons_[e],_e(this.interruptReasons_)&&(this.reconnectDelay_=1e3,this.realtime_||this.scheduleConnect_(0))}handleTimestamp_(e){var t=e-(new Date).getTime();this.onServerInfoUpdate_({serverTimeOffset:t})}cancelSentTransactions_(){for(let t=0;t<this.outstandingPuts_.length;t++){var e=this.outstandingPuts_[t];e&&"h"in e.request&&e.queued&&(e.onComplete&&e.onComplete("disconnect"),delete this.outstandingPuts_[t],this.outstandingPutCount_--)}0===this.outstandingPutCount_&&(this.outstandingPuts_=[])}onListenRevoked_(e,t){let r;r=t?t.map(e=>ou(e)).join("$"):"default";var n=this.removeListen_(e,r);n&&n.onComplete&&n.onComplete("permission_denied")}removeListen_(e,t){var r,n=new nc(e).toString();let i;return this.listens.has(n)?(r=this.listens.get(n),i=r.get(t),r.delete(t),0===r.size&&this.listens.delete(n)):i=void 0,i}onAuthRevoked_(e,t){mu("Auth token revoked: "+e+"/"+t),this.authToken_=null,this.forceTokenRefresh_=!0,this.realtime_.close(),"invalid_token"!==e&&"permission_denied"!==e||(this.invalidAuthTokenCount_++,3<=this.invalidAuthTokenCount_&&(this.reconnectDelay_=3e4,this.authTokenProvider_.notifyForInvalidToken()))}onAppCheckRevoked_(e,t){mu("App check token revoked: "+e+"/"+t),this.appCheckToken_=null,this.forceTokenRefresh_=!0,"invalid_token"!==e&&"permission_denied"!==e||(this.invalidAppCheckTokenCount_++,3<=this.invalidAppCheckTokenCount_&&this.appCheckTokenProvider_.notifyForInvalidToken())}onSecurityDebugPacket_(e){this.securityDebugCallback_?this.securityDebugCallback_(e):"msg"in e&&console.log("FIREBASE: "+e.msg.replace("\n","\nFIREBASE: "))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(var e of this.listens.values())for(var t of e.values())this.sendListen_(t);for(let n=0;n<this.outstandingPuts_.length;n++)this.outstandingPuts_[n]&&this.sendPut_(n);for(;this.onDisconnectRequestQueue_.length;){var r=this.onDisconnectRequestQueue_.shift();this.sendOnDisconnect_(r.action,r.pathString,r.data,r.onComplete)}for(let i=0;i<this.outstandingGets_.length;i++)this.outstandingGets_[i]&&this.sendGet_(i)}sendConnectStats_(){var e={};e["sdk.js."+$h.replace(/\./g,"-")]=1,re()?e["framework.cordova"]=1:ae()&&(e["framework.reactnative"]=1),this.reportStats(e)}shouldReconnect_(){var e=ec.getInstance().currentlyOnline();return _e(this.interruptReasons_)&&e}}vc.nextPersistentConnectionId_=0,vc.nextConnectionId_=0;class _c{constructor(e,t){this.name=e,this.node=t}static Wrap(e,t){return new _c(e,t)}}class yc{getCompare(){return this.compare.bind(this)}indexedValueChanged(e,t){var r=new _c(wu,e),n=new _c(wu,t);return 0!==this.compare(r,n)}minPost(){return _c.MIN}}let wc;class Ec extends yc{static get __EMPTY_NODE(){return wc}static set __EMPTY_NODE(e){wc=e}compare(e,t){return Du(e.name,t.name)}isDefinedOn(e){throw M("KeyIndex.isDefinedOn not expected to be called.")}indexedValueChanged(e,t){return!1}minPost(){return _c.MIN}maxPost(){return new _c(Eu,wc)}makePost(e,t){return g("string"==typeof e,"KeyIndex indexValue must always be a string."),new _c(e,wc)}toString(){return".key"}}let Dc=new Ec,bc=class{constructor(e,t,r,n,i=null){this.isReverse_=n,this.resultGenerator_=i,this.nodeStack_=[];let s=1;for(;!e.isEmpty();)if(s=t?r(e.key,t):1,n&&(s*=-1),s<0)e=this.isReverse_?e.left:e.right;else{if(0===s){this.nodeStack_.push(e);break}this.nodeStack_.push(e),e=this.isReverse_?e.right:e.left}}getNext(){if(0===this.nodeStack_.length)return null;let e=this.nodeStack_.pop(),t;if(t=this.resultGenerator_?this.resultGenerator_(e.key,e.value):{key:e.key,value:e.value},this.isReverse_)for(e=e.left;!e.isEmpty();)this.nodeStack_.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack_.push(e),e=e.left;return t}hasNext(){return 0<this.nodeStack_.length}peek(){var e;return 0===this.nodeStack_.length?null:(e=this.nodeStack_[this.nodeStack_.length-1],this.resultGenerator_?this.resultGenerator_(e.key,e.value):{key:e.key,value:e.value})}},Ic=class uC{constructor(e,t,r,n,i){this.key=e,this.value=t,this.color=null!=r?r:uC.RED,this.left=null!=n?n:Sc.EMPTY_NODE,this.right=null!=i?i:Sc.EMPTY_NODE}copy(e,t,r,n,i){return new uC(null!=e?e:this.key,null!=t?t:this.value,null!=r?r:this.color,null!=n?n:this.left,null!=i?i:this.right)}count(){return this.left.count()+1+this.right.count()}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||!!e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min_(){return this.left.isEmpty()?this:this.left.min_()}minKey(){return this.min_().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,r){let n=this;var i=r(e,n.key);return(n=i<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===i?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp_()}removeMin_(){if(this.left.isEmpty())return Sc.EMPTY_NODE;let e=this;return(e=(e=e.left.isRed_()||e.left.left.isRed_()?e:e.moveRedLeft_()).copy(null,null,null,e.left.removeMin_(),null)).fixUp_()}remove(e,t){let r,n;if(t(e,(r=this).key)<0)r=(r=r.left.isEmpty()||r.left.isRed_()||r.left.left.isRed_()?r:r.moveRedLeft_()).copy(null,null,null,r.left.remove(e,t),null);else{if(0===t(e,(r=(r=r.left.isRed_()?r.rotateRight_():r).right.isEmpty()||r.right.isRed_()||r.right.left.isRed_()?r:r.moveRedRight_()).key)){if(r.right.isEmpty())return Sc.EMPTY_NODE;n=r.right.min_(),r=r.copy(n.key,n.value,null,null,r.right.removeMin_())}r=r.copy(null,null,null,null,r.right.remove(e,t))}return r.fixUp_()}isRed_(){return this.color}fixUp_(){let e=this;return e=(e=(e=e.right.isRed_()&&!e.left.isRed_()?e.rotateLeft_():e).left.isRed_()&&e.left.left.isRed_()?e.rotateRight_():e).left.isRed_()&&e.right.isRed_()?e.colorFlip_():e}moveRedLeft_(){let e=this.colorFlip_();return e=e.right.left.isRed_()?(e=(e=e.copy(null,null,null,null,e.right.rotateRight_())).rotateLeft_()).colorFlip_():e}moveRedRight_(){let e=this.colorFlip_();return e=e.left.left.isRed_()?(e=e.rotateRight_()).colorFlip_():e}rotateLeft_(){var e=this.copy(null,null,uC.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight_(){var e=this.copy(null,null,uC.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip_(){var e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth_(){var e=this.check_();return Math.pow(2,e)<=this.count()+1}check_(){if(this.isRed_()&&this.left.isRed_())throw new Error("Red node has red child("+this.key+","+this.value+")");if(this.right.isRed_())throw new Error("Right child of ("+this.key+","+this.value+") is red");var e=this.left.check_();if(e!==this.right.check_())throw new Error("Black depths differ");return e+(this.isRed_()?0:1)}};Ic.RED=!0,Ic.BLACK=!1;class Tc{copy(e,t,r,n,i){return this}insert(e,t,r){return new Ic(e,t,null)}remove(e,t){return this}count(){return 0}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}check_(){return 0}isRed_(){return!1}}let Sc=class lC{constructor(e,t=lC.EMPTY_NODE){this.comparator_=e,this.root_=t}insert(e,t){return new lC(this.comparator_,this.root_.insert(e,t,this.comparator_).copy(null,null,Ic.BLACK,null,null))}remove(e){return new lC(this.comparator_,this.root_.remove(e,this.comparator_).copy(null,null,Ic.BLACK,null,null))}get(e){var t;let r=this.root_;for(;!r.isEmpty();){if(0===(t=this.comparator_(e,r.key)))return r.value;t<0?r=r.left:0<t&&(r=r.right)}return null}getPredecessorKey(e){let t,r=this.root_,n=null;for(;!r.isEmpty();){if(0===(t=this.comparator_(e,r.key))){if(r.left.isEmpty())return n?n.key:null;for(r=r.left;!r.right.isEmpty();)r=r.right;return r.key}t<0?r=r.left:0<t&&(r=(n=r).right)}throw new Error("Attempted to find predecessor key for a nonexistent key. What gives?")}isEmpty(){return this.root_.isEmpty()}count(){return this.root_.count()}minKey(){return this.root_.minKey()}maxKey(){return this.root_.maxKey()}inorderTraversal(e){return this.root_.inorderTraversal(e)}reverseTraversal(e){return this.root_.reverseTraversal(e)}getIterator(e){return new bc(this.root_,null,this.comparator_,!1,e)}getIteratorFrom(e,t){return new bc(this.root_,e,this.comparator_,!1,t)}getReverseIteratorFrom(e,t){return new bc(this.root_,e,this.comparator_,!0,t)}getReverseIterator(e){return new bc(this.root_,null,this.comparator_,!0,e)}};function kc(e,t){return Du(e.name,t.name)}function Nc(e,t){return Du(e,t)}Sc.EMPTY_NODE=new Tc;let Ac;function Rc(e){return"number"==typeof e?"number:"+Iu(e):"string:"+e}function Oc(e){var t;e.isLeafNode()?(t=e.val(),g("string"==typeof t||"number"==typeof t||"object"==typeof t&&Ce(t,".sv"),"Priority must be a string or number.")):g(e===Ac||e.isEmpty(),"priority of unexpected type."),g(e===Ac||e.getPriority().isEmpty(),"Priority nodes can't have a priority of their own.")}let Pc;class xc{static set __childrenNodeConstructor(e){Pc=e}static get __childrenNodeConstructor(){return Pc}constructor(e,t=xc.__childrenNodeConstructor.EMPTY_NODE){this.value_=e,this.priorityNode_=t,this.lazyHash_=null,g(null!=this.value_,"LeafNode shouldn't be created with null/undefined value."),Oc(this.priorityNode_)}isLeafNode(){return!0}getPriority(){return this.priorityNode_}updatePriority(e){return new xc(this.value_,e)}getImmediateChild(e){return".priority"===e?this.priorityNode_:xc.__childrenNodeConstructor.EMPTY_NODE}getChild(e){return C(e)?this:".priority"===m(e)?this.priorityNode_:xc.__childrenNodeConstructor.EMPTY_NODE}hasChild(){return!1}getPredecessorChildName(e,t){return null}updateImmediateChild(e,t){return".priority"===e?this.updatePriority(t):t.isEmpty()&&".priority"!==e?this:xc.__childrenNodeConstructor.EMPTY_NODE.updateImmediateChild(e,t).updatePriority(this.priorityNode_)}updateChild(e,t){var r=m(e);return null===r?t:t.isEmpty()&&".priority"!==r?this:(g(".priority"!==r||1===sc(e),".priority must be the last token in a path"),this.updateImmediateChild(r,xc.__childrenNodeConstructor.EMPTY_NODE.updateChild(ac(e),t)))}isEmpty(){return!1}numChildren(){return 0}forEachChild(e,t){return!1}val(e){return e&&!this.getPriority().isEmpty()?{".value":this.getValue(),".priority":this.getPriority().val()}:this.getValue()}hash(){if(null===this.lazyHash_){let e="";this.priorityNode_.isEmpty()||(e+="priority:"+Rc(this.priorityNode_.val())+":");var t=typeof this.value_;e=(e+=t+":")+("number"==t?Iu(this.value_):this.value_),this.lazyHash_=ru(e)}return this.lazyHash_}getValue(){return this.value_}compareTo(e){return e===xc.__childrenNodeConstructor.EMPTY_NODE?1:e instanceof xc.__childrenNodeConstructor?-1:(g(e.isLeafNode(),"Unknown node type"),this.compareToLeafNode_(e))}compareToLeafNode_(e){var t=typeof e.value_,r=typeof this.value_,n=xc.VALUE_TYPE_ORDER.indexOf(t),i=xc.VALUE_TYPE_ORDER.indexOf(r);return g(0<=n,"Unknown leaf type: "+t),g(0<=i,"Unknown leaf type: "+r),n===i?"object"==r?0:this.value_<e.value_?-1:this.value_===e.value_?0:1:i-n}withIndex(){return this}isIndexed(){return!0}equals(e){return e===this||!!e.isLeafNode()&&this.value_===e.value_&&this.priorityNode_.equals(e.priorityNode_)}}xc.VALUE_TYPE_ORDER=["object","boolean","number","string"];let Fc,Lc;class Mc extends yc{compare(e,t){var r=e.node.getPriority(),n=t.node.getPriority(),r=r.compareTo(n);return 0===r?Du(e.name,t.name):r}isDefinedOn(e){return!e.getPriority().isEmpty()}indexedValueChanged(e,t){return!e.getPriority().equals(t.getPriority())}minPost(){return _c.MIN}maxPost(){return new _c(Eu,new xc("[PRIORITY-POST]",Lc))}makePost(e,t){var r=Fc(e);return new _c(t,new xc("[PRIORITY-POST]",r))}toString(){return".priority"}}let Uc=new Mc,Gc=Math.log(2);class Hc{constructor(e){this.count=(t=e+1,parseInt(Math.log(t)/Gc,10)),this.current_=this.count-1,t=this.count;var t,r=parseInt(Array(t+1).join("1"),2);this.bits_=e+1&r}nextBitIsOne(){var e=!(this.bits_&1<<this.current_);return this.current_--,e}}function Vc(l,e,h,t){l.sort(e);let u=function(e,t){var r,n,i=t-e;let s,a;return 0==i?null:1==i?(s=l[e],a=h?h(s):s,new Ic(a,s.node,Ic.BLACK,null,null)):(i=parseInt(i/2,10)+e,r=u(e,i),n=u(i+1,t),s=l[i],a=h?h(s):s,new Ic(a,s.node,Ic.BLACK,r,n))};var r=(e=>{let s=null,a=null,o=l.length;function t(e,t){var r=o-e,n=o,n=(o-=e,u(1+r,n)),r=l[r],i=h?h(r):r,e=new Ic(i,r.node,t,null,n);s=(s?s.left=e:a=e,e)}for(let i=0;i<e.count;++i){var r=e.nextBitIsOne(),n=Math.pow(2,e.count-(i+1));r?t(n,Ic.BLACK):(t(n,Ic.BLACK),t(n,Ic.RED))}return a})(new Hc(l.length));return new Sc(t||e,r)}let qc,jc={};class Kc{static get Default(){return g((jc,Uc),"ChildrenNode.ts has not been loaded"),qc=qc||new Kc({".priority":jc},{".priority":Uc})}constructor(e,t){this.indexes_=e,this.indexSet_=t}get(e){var t=ve(this.indexes_,e);if(t)return t instanceof Sc?t:null;throw new Error("No index defined for "+e)}hasIndex(e){return Ce(this.indexSet_,e.toString())}addIndex(e,t){g(e!==Dc,"KeyIndex always exists and isn't meant to be added to the IndexMap.");var r=[];let n=!1;var i=t.getIterator(_c.Wrap);let s=i.getNext();for(;s;)n=n||e.isDefinedOn(s.node),r.push(s),s=i.getNext();let a;a=n?Vc(r,e.getCompare()):jc;var o=e.toString(),l={...this.indexSet_},h=(l[o]=e,{...this.indexes_});return h[o]=a,new Kc(h,l)}addToIndexes(s,a){var e=ye(this.indexes_,(t,e)=>{var r=ve(this.indexSet_,e);if(g(r,"Missing index implementation for "+e),t===jc){if(r.isDefinedOn(s.node)){var n=[],i=a.getIterator(_c.Wrap);let e=i.getNext();for(;e;)e.name!==s.name&&n.push(e),e=i.getNext();return n.push(s),Vc(n,r.getCompare())}return jc}{r=a.get(s.name);let e=t;return(e=r?e.remove(new _c(s.name,r)):e).insert(s,s.node)}});return new Kc(e,this.indexSet_)}removeFromIndexes(r,n){var e=ye(this.indexes_,e=>{var t;return e!==jc&&(t=n.get(r.name))?e.remove(new _c(r.name,t)):e});return new Kc(e,this.indexSet_)}}let zc;class v{static get EMPTY_NODE(){return zc=zc||new v(new Sc(Nc),null,Kc.Default)}constructor(e,t,r){this.children_=e,this.priorityNode_=t,this.indexMap_=r,this.lazyHash_=null,this.priorityNode_&&Oc(this.priorityNode_),this.children_.isEmpty()&&g(!this.priorityNode_||this.priorityNode_.isEmpty(),"An empty node cannot have a priority")}isLeafNode(){return!1}getPriority(){return this.priorityNode_||zc}updatePriority(e){return this.children_.isEmpty()?this:new v(this.children_,e,this.indexMap_)}getImmediateChild(e){var t;return".priority"===e?this.getPriority():null===(t=this.children_.get(e))?zc:t}getChild(e){var t=m(e);return null===t?this:this.getImmediateChild(t).getChild(ac(e))}hasChild(e){return null!==this.children_.get(e)}updateImmediateChild(r,n){if(g(n,"We should always be passing snapshot nodes"),".priority"===r)return this.updatePriority(n);{var i=new _c(r,n);let e,t;t=n.isEmpty()?(e=this.children_.remove(r),this.indexMap_.removeFromIndexes(i,this.children_)):(e=this.children_.insert(r,n),this.indexMap_.addToIndexes(i,this.children_));i=e.isEmpty()?zc:this.priorityNode_;return new v(e,i,t)}}updateChild(e,t){var r,n=m(e);return null===n?t:(g(".priority"!==m(e)||1===sc(e),".priority must be the last token in a path"),r=this.getImmediateChild(n).updateChild(ac(e),t),this.updateImmediateChild(n,r))}isEmpty(){return this.children_.isEmpty()}numChildren(){return this.children_.count()}val(r){if(this.isEmpty())return null;let n={},i=0,s=0,a=!0;if(this.forEachChild(Uc,(e,t)=>{n[e]=t.val(r),i++,a&&v.INTEGER_REGEXP_.test(e)?s=Math.max(s,Number(e)):a=!1}),!r&&a&&s<2*i){var e,t=[];for(e in n)t[e]=n[e];return t}return r&&!this.getPriority().isEmpty()&&(n[".priority"]=this.getPriority().val()),n}hash(){if(null===this.lazyHash_){let n="";this.getPriority().isEmpty()||(n+="priority:"+Rc(this.getPriority().val())+":"),this.forEachChild(Uc,(e,t)=>{var r=t.hash();""!==r&&(n+=":"+e+":"+r)}),this.lazyHash_=""===n?"":ru(n)}return this.lazyHash_}getPredecessorChildName(e,t,r){var n=this.resolveIndex_(r);return n?(n=n.getPredecessorKey(new _c(e,t)))?n.name:null:this.children_.getPredecessorKey(e)}getFirstChildName(e){var t=this.resolveIndex_(e);return t?(t=t.minKey())&&t.name:this.children_.minKey()}getFirstChild(e){var t=this.getFirstChildName(e);return t?new _c(t,this.children_.get(t)):null}getLastChildName(e){var t=this.resolveIndex_(e);return t?(t=t.maxKey())&&t.name:this.children_.maxKey()}getLastChild(e){var t=this.getLastChildName(e);return t?new _c(t,this.children_.get(t)):null}forEachChild(e,t){var r=this.resolveIndex_(e);return r?r.inorderTraversal(e=>t(e.name,e.node)):this.children_.inorderTraversal(t)}getIterator(e){return this.getIteratorFrom(e.minPost(),e)}getIteratorFrom(t,r){var e=this.resolveIndex_(r);if(e)return e.getIteratorFrom(t,e=>e);{var n=this.children_.getIteratorFrom(t.name,_c.Wrap);let e=n.peek();for(;null!=e&&r.compare(e,t)<0;)n.getNext(),e=n.peek();return n}}getReverseIterator(e){return this.getReverseIteratorFrom(e.maxPost(),e)}getReverseIteratorFrom(t,r){var e=this.resolveIndex_(r);if(e)return e.getReverseIteratorFrom(t,e=>e);{var n=this.children_.getReverseIteratorFrom(t.name,_c.Wrap);let e=n.peek();for(;null!=e&&0<r.compare(e,t);)n.getNext(),e=n.peek();return n}}compareTo(e){return this.isEmpty()?e.isEmpty()?0:-1:e.isLeafNode()||e.isEmpty()?1:e===Wc?-1:0}withIndex(e){var t;return e===Dc||this.indexMap_.hasIndex(e)?this:(t=this.indexMap_.addIndex(e,this.children_),new v(this.children_,this.priorityNode_,t))}isIndexed(e){return e===Dc||this.indexMap_.hasIndex(e)}equals(e){if(e===this)return!0;if(!e.isLeafNode()){var r=e;if(this.getPriority().equals(r.getPriority())){if(this.children_.count()!==r.children_.count())return!1;{var n=this.getIterator(Uc),i=r.getIterator(Uc);let e=n.getNext(),t=i.getNext();for(;e&&t;){if(e.name!==t.name||!e.node.equals(t.node))return!1;e=n.getNext(),t=i.getNext()}return null===e&&null===t}}}return!1}resolveIndex_(e){return e===Dc?null:this.indexMap_.get(e.toString())}}v.INTEGER_REGEXP_=/^(0|[1-9]\d*)$/;class Jc extends v{constructor(){super(new Sc(Nc),v.EMPTY_NODE,Kc.Default)}compareTo(e){return e===this?0:1}equals(e){return e===this}getPriority(){return this}getImmediateChild(e){return v.EMPTY_NODE}isEmpty(){return!1}}let Wc=new Jc,Qc=(Object.defineProperties(_c,{MIN:{value:new _c(wu,v.EMPTY_NODE)},MAX:{value:new _c(Eu,Wc)}}),Ec.__EMPTY_NODE=v.EMPTY_NODE,xc.__childrenNodeConstructor=v,a=Wc,Ac=a,a=Wc,Lc=a,!0);function Yc(s,e=null){if(null===s)return v.EMPTY_NODE;var t,r;if("object"==typeof s&&".priority"in s&&(e=s[".priority"]),g(null===e||"string"==typeof e||"number"==typeof e||"object"==typeof e&&".sv"in e,"Invalid priority type found: "+typeof e),"object"!=typeof(s="object"==typeof s&&".value"in s&&null!==s[".value"]?s[".value"]:s)||".sv"in s)return t=s,new xc(t,Yc(e));if(s instanceof Array||!Qc){let n=v.EMPTY_NODE;return bu(s,(e,t)=>{var r;!Ce(s,e)||"."===e.substring(0,1)||!(r=Yc(t)).isLeafNode()&&r.isEmpty()||(n=n.updateImmediateChild(e,r))}),n.updatePriority(Yc(e))}{let n=[],i=!1;return bu(s,(e,t)=>{var r;"."===e.substring(0,1)||(r=Yc(t)).isEmpty()||(i=i||!r.getPriority().isEmpty(),n.push(new _c(e,r)))}),0===n.length?v.EMPTY_NODE:(t=Vc(n,kc,e=>e.name,Nc),i?(r=Vc(n,Uc.getCompare()),new v(t,Yc(e),new Kc({".priority":r},{".priority":Uc}))):new v(t,Yc(e),Kc.Default))}}Fc=Yc;class $c extends yc{constructor(e){super(),this.indexPath_=e,g(!C(e)&&".priority"!==m(e),"Can't create PathIndex with empty path or .priority key")}extractChild(e){return e.getChild(this.indexPath_)}isDefinedOn(e){return!e.getChild(this.indexPath_).isEmpty()}compare(e,t){var r=this.extractChild(e.node),n=this.extractChild(t.node),r=r.compareTo(n);return 0===r?Du(e.name,t.name):r}makePost(e,t){var r=Yc(e),r=v.EMPTY_NODE.updateChild(this.indexPath_,r);return new _c(t,r)}maxPost(){var e=v.EMPTY_NODE.updateChild(this.indexPath_,Wc);return new _c(Eu,e)}toString(){return lc(this.indexPath_,0).join("/")}}class Xc extends yc{compare(e,t){var r=e.node.compareTo(t.node);return 0===r?Du(e.name,t.name):r}isDefinedOn(e){return!0}indexedValueChanged(e,t){return!e.equals(t)}minPost(){return _c.MIN}maxPost(){return _c.MAX}makePost(e,t){var r=Yc(e);return new _c(t,r)}toString(){return".value"}}let Zc=new Xc;function ed(e){return{type:"value",snapshotNode:e}}function td(e,t){return{type:"child_added",snapshotNode:t,childName:e}}function rd(e,t){return{type:"child_removed",snapshotNode:t,childName:e}}function nd(e,t,r){return{type:"child_changed",snapshotNode:t,childName:e,oldSnap:r}}class id{constructor(e){this.index_=e}updateChild(e,t,r,n,i,s){g(e.isIndexed(this.index_),"A node must be indexed if only a child is updated");var a=e.getImmediateChild(t);return a.getChild(n).equals(r.getChild(n))&&a.isEmpty()===r.isEmpty()||(null!=s&&(r.isEmpty()?e.hasChild(t)?s.trackChildChange(rd(t,a)):g(e.isLeafNode(),"A child remove without an old child only makes sense on a leaf node"):a.isEmpty()?s.trackChildChange(td(t,r)):s.trackChildChange(nd(t,r,a))),e.isLeafNode()&&r.isEmpty())?e:e.updateImmediateChild(t,r).withIndex(this.index_)}updateFullNode(n,r,i){return null!=i&&(n.isLeafNode()||n.forEachChild(Uc,(e,t)=>{r.hasChild(e)||i.trackChildChange(rd(e,t))}),r.isLeafNode()||r.forEachChild(Uc,(e,t)=>{var r;n.hasChild(e)?(r=n.getImmediateChild(e)).equals(t)||i.trackChildChange(nd(e,t,r)):i.trackChildChange(td(e,t))})),r.withIndex(this.index_)}updatePriority(e,t){return e.isEmpty()?v.EMPTY_NODE:e.updatePriority(t)}filtersNodes(){return!1}getIndexedFilter(){return this}getIndex(){return this.index_}}class sd{constructor(e){this.indexedFilter_=new id(e.getIndex()),this.index_=e.getIndex(),this.startPost_=sd.getStartPost_(e),this.endPost_=sd.getEndPost_(e),this.startIsInclusive_=!e.startAfterSet_,this.endIsInclusive_=!e.endBeforeSet_}getStartPost(){return this.startPost_}getEndPost(){return this.endPost_}matches(e){var t=this.startIsInclusive_?this.index_.compare(this.getStartPost(),e)<=0:this.index_.compare(this.getStartPost(),e)<0,r=this.endIsInclusive_?this.index_.compare(e,this.getEndPost())<=0:this.index_.compare(e,this.getEndPost())<0;return t&&r}updateChild(e,t,r,n,i,s){return this.matches(new _c(t,r))||(r=v.EMPTY_NODE),this.indexedFilter_.updateChild(e,t,r,n,i,s)}updateFullNode(e,t,r){let n=(t=t.isLeafNode()?v.EMPTY_NODE:t).withIndex(this.index_),i=(n=n.updatePriority(v.EMPTY_NODE),this);return t.forEachChild(Uc,(e,t)=>{i.matches(new _c(e,t))||(n=n.updateImmediateChild(e,v.EMPTY_NODE))}),this.indexedFilter_.updateFullNode(e,n,r)}updatePriority(e,t){return e}filtersNodes(){return!0}getIndexedFilter(){return this.indexedFilter_}getIndex(){return this.index_}static getStartPost_(e){var t;return e.hasStart()?(t=e.getIndexStartName(),e.getIndex().makePost(e.getIndexStartValue(),t)):e.getIndex().minPost()}static getEndPost_(e){var t;return e.hasEnd()?(t=e.getIndexEndName(),e.getIndex().makePost(e.getIndexEndValue(),t)):e.getIndex().maxPost()}}class ad{constructor(e){this.withinDirectionalStart=e=>this.reverse_?this.withinEndPost(e):this.withinStartPost(e),this.withinDirectionalEnd=e=>this.reverse_?this.withinStartPost(e):this.withinEndPost(e),this.withinStartPost=e=>{var t=this.index_.compare(this.rangedFilter_.getStartPost(),e);return this.startIsInclusive_?t<=0:t<0},this.withinEndPost=e=>{var t=this.index_.compare(e,this.rangedFilter_.getEndPost());return this.endIsInclusive_?t<=0:t<0},this.rangedFilter_=new sd(e),this.index_=e.getIndex(),this.limit_=e.getLimit(),this.reverse_=!e.isViewFromLeft(),this.startIsInclusive_=!e.startAfterSet_,this.endIsInclusive_=!e.endBeforeSet_}updateChild(e,t,r,n,i,s){return this.rangedFilter_.matches(new _c(t,r))||(r=v.EMPTY_NODE),e.getImmediateChild(t).equals(r)?e:e.numChildren()<this.limit_?this.rangedFilter_.getIndexedFilter().updateChild(e,t,r,n,i,s):this.fullLimitUpdateChild_(e,t,r,i,s)}updateFullNode(e,r,t){let n;if(r.isLeafNode()||r.isEmpty())n=v.EMPTY_NODE.withIndex(this.index_);else if(2*this.limit_<r.numChildren()&&r.isIndexed(this.index_)){n=v.EMPTY_NODE.withIndex(this.index_);let e,t=(e=this.reverse_?r.getReverseIteratorFrom(this.rangedFilter_.getEndPost(),this.index_):r.getIteratorFrom(this.rangedFilter_.getStartPost(),this.index_),0);for(;e.hasNext()&&t<this.limit_;){var i=e.getNext();if(this.withinDirectionalStart(i)){if(!this.withinDirectionalEnd(i))break;n=n.updateImmediateChild(i.name,i.node),t++}}}else{n=(n=r.withIndex(this.index_)).updatePriority(v.EMPTY_NODE);let e,t=(e=this.reverse_?n.getReverseIterator(this.index_):n.getIterator(this.index_),0);for(;e.hasNext();){var s=e.getNext();t<this.limit_&&this.withinDirectionalStart(s)&&this.withinDirectionalEnd(s)?t++:n=n.updateImmediateChild(s.name,v.EMPTY_NODE)}}return this.rangedFilter_.getIndexedFilter().updateFullNode(e,n,t)}updatePriority(e,t){return e}filtersNodes(){return!0}getIndexedFilter(){return this.rangedFilter_.getIndexedFilter()}getIndex(){return this.index_}fullLimitUpdateChild_(e,t,r,n,i){let s;if(this.reverse_){let r=this.index_.getCompare();s=(e,t)=>r(t,e)}else s=this.index_.getCompare();var a=e,o=(g(a.numChildren()===this.limit_,""),new _c(t,r)),l=this.reverse_?a.getFirstChild(this.index_):a.getLastChild(this.index_),h=this.rangedFilter_.matches(o);if(a.hasChild(t)){var u=a.getImmediateChild(t);let e=n.getChildAfterChild(this.index_,l,this.reverse_);for(;null!=e&&(e.name===t||a.hasChild(e.name));)e=n.getChildAfterChild(this.index_,e,this.reverse_);var c=null==e?1:s(e,o);return h&&!r.isEmpty()&&0<=c?(null!=i&&i.trackChildChange(nd(t,r,u)),a.updateImmediateChild(t,r)):(null!=i&&i.trackChildChange(rd(t,u)),c=a.updateImmediateChild(t,v.EMPTY_NODE),null!=e&&this.rangedFilter_.matches(e)?(null!=i&&i.trackChildChange(td(e.name,e.node)),c.updateImmediateChild(e.name,e.node)):c)}return!r.isEmpty()&&h&&0<=s(l,o)?(null!=i&&(i.trackChildChange(rd(l.name,l.node)),i.trackChildChange(td(t,r))),a.updateImmediateChild(t,r).updateImmediateChild(l.name,v.EMPTY_NODE)):e}}class od{constructor(){this.limitSet_=!1,this.startSet_=!1,this.startNameSet_=!1,this.startAfterSet_=!1,this.endSet_=!1,this.endNameSet_=!1,this.endBeforeSet_=!1,this.limit_=0,this.viewFrom_="",this.indexStartValue_=null,this.indexStartName_="",this.indexEndValue_=null,this.indexEndName_="",this.index_=Uc}hasStart(){return this.startSet_}isViewFromLeft(){return""===this.viewFrom_?this.startSet_:"l"===this.viewFrom_}getIndexStartValue(){return g(this.startSet_,"Only valid if start has been set"),this.indexStartValue_}getIndexStartName(){return g(this.startSet_,"Only valid if start has been set"),this.startNameSet_?this.indexStartName_:wu}hasEnd(){return this.endSet_}getIndexEndValue(){return g(this.endSet_,"Only valid if end has been set"),this.indexEndValue_}getIndexEndName(){return g(this.endSet_,"Only valid if end has been set"),this.endNameSet_?this.indexEndName_:Eu}hasLimit(){return this.limitSet_}hasAnchoredLimit(){return this.limitSet_&&""!==this.viewFrom_}getLimit(){return g(this.limitSet_,"Only valid if limit has been set"),this.limit_}getIndex(){return this.index_}loadsAllData(){return!(this.startSet_||this.endSet_||this.limitSet_)}isDefault(){return this.loadsAllData()&&this.index_===Uc}copy(){var e=new od;return e.limitSet_=this.limitSet_,e.limit_=this.limit_,e.startSet_=this.startSet_,e.startAfterSet_=this.startAfterSet_,e.indexStartValue_=this.indexStartValue_,e.startNameSet_=this.startNameSet_,e.indexStartName_=this.indexStartName_,e.endSet_=this.endSet_,e.endBeforeSet_=this.endBeforeSet_,e.indexEndValue_=this.indexEndValue_,e.endNameSet_=this.endNameSet_,e.indexEndName_=this.indexEndName_,e.index_=this.index_,e.viewFrom_=this.viewFrom_,e}}function ld(e,t,r){var n=e.copy();return n.startSet_=!0,n.indexStartValue_=t=void 0===t?null:t,null!=r?(n.startNameSet_=!0,n.indexStartName_=r):(n.startNameSet_=!1,n.indexStartName_=""),n}function hd(e,t,r){var n=e.copy();return n.endSet_=!0,n.indexEndValue_=t=void 0===t?null:t,void 0!==r?(n.endNameSet_=!0,n.indexEndName_=r):(n.endNameSet_=!1,n.indexEndName_=""),n}function ud(e,t){var r=e.copy();return r.index_=t,r}function cd(t){var r,n={};if(!t.isDefault()){let e;e=t.index_===Uc?"$priority":t.index_===Zc?"$value":t.index_===Dc?"$key":(g(t.index_ instanceof $c,"Unrecognized index type!"),t.index_.toString()),n.orderBy=fe(e),t.startSet_&&(n[r=t.startAfterSet_?"startAfter":"startAt"]=fe(t.indexStartValue_),t.startNameSet_)&&(n[r]+=","+fe(t.indexStartName_)),t.endSet_&&(n[r=t.endBeforeSet_?"endBefore":"endAt"]=fe(t.indexEndValue_),t.endNameSet_)&&(n[r]+=","+fe(t.indexEndName_)),t.limitSet_&&(t.isViewFromLeft()?n.limitToFirst=t.limit_:n.limitToLast=t.limit_)}return n}function dd(t){var r={};if(t.startSet_&&(r.sp=t.indexStartValue_,t.startNameSet_&&(r.sn=t.indexStartName_),r.sin=!t.startAfterSet_),t.endSet_&&(r.ep=t.indexEndValue_,t.endNameSet_&&(r.en=t.indexEndName_),r.ein=!t.endBeforeSet_),t.limitSet_){r.l=t.limit_;let e=t.viewFrom_;""===e&&(e=t.isViewFromLeft()?"l":"r"),r.vf=e}return t.index_!==Uc&&(r.i=t.index_.toString()),r}class Bd extends Xu{reportStats(e){throw new Error("Method not implemented.")}static getListenId_(e,t){return void 0!==t?"tag$"+t:(g(e._queryParams.isDefault(),"should have a tag if it's not a default query."),e._path.toString())}constructor(e,t,r,n){super(),this.repoInfo_=e,this.onDataUpdate_=t,this.authTokenProvider_=r,this.appCheckTokenProvider_=n,this.log_=nu("p:rest:"),this.listens_={}}listen(e,t,n,i){let s=e._path.toString(),a=(this.log_("Listen called for "+s+" "+e._queryIdentifier),Bd.getListenId_(e,n)),o={};this.listens_[a]=o;var r=cd(e._queryParams);this.restRequest_(s+".json",r,(t,e)=>{let r=e;if(null===(t=404===t?r=null:t)&&this.onDataUpdate_(s,r,!1,n),ve(this.listens_,a)===o){let e;e=t?401===t?"permission_denied":"rest_error:"+t:"ok",i(e,null)}})}unlisten(e,t){var r=Bd.getListenId_(e,t);delete this.listens_[r]}get(e){var t=cd(e._queryParams);let n=e._path.toString(),i=new Z;return this.restRequest_(n+".json",t,(e,t)=>{let r=t;null===(e=404===e?r=null:e)?(this.onDataUpdate_(n,r,!1,null),i.resolve(r)):i.reject(new Error(r))}),i.promise}refreshAuthToken(e){}restRequest_(i,s={},a){return s.format="export",Promise.all([this.authTokenProvider_.getToken(!1),this.appCheckTokenProvider_.getToken(!1)]).then(([e,t])=>{e&&e.accessToken&&(s.auth=e.accessToken),t&&t.token&&(s.ac=t.token);let r=(this.repoInfo_.secure?"https://":"http://")+this.repoInfo_.host+i+"?ns="+this.repoInfo_.namespace+De(s),n=(this.log_("Sending REST request for "+r),new XMLHttpRequest);n.onreadystatechange=()=>{if(a&&4===n.readyState){this.log_("REST Response for "+r+" received. status:",n.status,"response:",n.responseText);let e=null;if(200<=n.status&&n.status<300){try{e=ge(n.responseText)}catch(e){vu("Failed to parse JSON response for "+r+": "+n.responseText)}a(null,e)}else 401!==n.status&&404!==n.status&&vu("Got unsuccessful REST response for "+r+" Status: "+n.status),a(n.status);a=null}},n.open("GET",r,!0),n.send()})}}class pd{constructor(){this.rootNode_=v.EMPTY_NODE}getNode(e){return this.rootNode_.getChild(e)}updateSnapshot(e,t){this.rootNode_=this.rootNode_.updateChild(e,t)}}function gd(){return{value:null,children:new Map}}function fd(e,t,r){var n;C(t)?(e.value=r,e.children.clear()):null!==e.value?e.value=e.value.updateChild(t,r):(n=m(t),e.children.has(n)||e.children.set(n,gd()),fd(e.children.get(n),t=ac(t),r))}function md(e,r,n){var i;null!==e.value?n(r,e.value):(i=(e,t)=>{md(t,new nc(r.toString()+"/"+e),n)},e.children.forEach((e,t)=>{i(t,e)}))}class Cd{constructor(e){this.collection_=e,this.last_=null}get(){var e=this.collection_.get();let r={...e};return this.last_&&bu(this.last_,(e,t)=>{r[e]=r[e]-t}),this.last_=e,r}}class vd{constructor(e,t){this.server_=t,this.statsToReport_={},this.statsListener_=new Cd(e);var r=1e4+2e4*Math.random();Su(this.reportStats_.bind(this),Math.floor(r))}reportStats_(){var e=this.statsListener_.get();let r={},n=!1;bu(e,(e,t)=>{0<t&&Ce(this.statsToReport_,e)&&(r[e]=t,n=!0)}),n&&this.server_.reportStats(r),Su(this.reportStats_.bind(this),Math.floor(2*Math.random()*3e5))}}function _d(){return{fromUser:!0,fromServer:!1,queryId:null,tagged:!1}}function yd(){return{fromUser:!1,fromServer:!0,queryId:null,tagged:!1}}function wd(e){return{fromUser:!1,fromServer:!0,queryId:e,tagged:!0}}(a=Zu=Zu||{})[a.OVERWRITE=0]="OVERWRITE",a[a.MERGE=1]="MERGE",a[a.ACK_USER_WRITE=2]="ACK_USER_WRITE",a[a.LISTEN_COMPLETE=3]="LISTEN_COMPLETE";class Ed{constructor(e,t,r){this.path=e,this.affectedTree=t,this.revert=r,this.type=Zu.ACK_USER_WRITE,this.source=_d()}operationForChild(e){var t;return C(this.path)?null!=this.affectedTree.value?(g(this.affectedTree.children.isEmpty(),"affectedTree should not have overlapping affected paths."),this):(t=this.affectedTree.subtree(new nc(e)),new Ed(ic(),t,this.revert)):(g(m(this.path)===e,"operationForChild called for unrelated child."),new Ed(ac(this.path),this.affectedTree,this.revert))}}class Dd{constructor(e,t){this.source=e,this.path=t,this.type=Zu.LISTEN_COMPLETE}operationForChild(e){return C(this.path)?new Dd(this.source,ic()):new Dd(this.source,ac(this.path))}}class bd{constructor(e,t,r){this.source=e,this.path=t,this.snap=r,this.type=Zu.OVERWRITE}operationForChild(e){return C(this.path)?new bd(this.source,ic(),this.snap.getImmediateChild(e)):new bd(this.source,ac(this.path),this.snap)}}class Id{constructor(e,t,r){this.source=e,this.path=t,this.children=r,this.type=Zu.MERGE}operationForChild(e){var t;return C(this.path)?(t=this.children.subtree(new nc(e))).isEmpty()?null:t.value?new bd(this.source,ic(),t.value):new Id(this.source,ic(),t):(g(m(this.path)===e,"Can't get a merge for a child not on the path of the operation"),new Id(this.source,ac(this.path),this.children))}toString(){return"Operation("+this.path+": "+this.source.toString()+" merge: "+this.children.toString()+")"}}class Td{constructor(e,t,r){this.node_=e,this.fullyInitialized_=t,this.filtered_=r}isFullyInitialized(){return this.fullyInitialized_}isFiltered(){return this.filtered_}isCompleteForPath(e){var t;return C(e)?this.isFullyInitialized()&&!this.filtered_:(t=m(e),this.isCompleteForChild(t))}isCompleteForChild(e){return this.isFullyInitialized()&&!this.filtered_||this.node_.hasChild(e)}getNode(){return this.node_}}class Sd{constructor(e){this.query_=e,this.index_=this.query_._queryParams.getIndex()}}function kd(r,e,t,n){var i=[];let s=[];return e.forEach(e=>{var t;"child_changed"===e.type&&r.index_.indexedValueChanged(e.oldSnap,e.snapshotNode)&&s.push((t=e.childName,{type:"child_moved",snapshotNode:e.snapshotNode,childName:t}))}),Nd(r,i,"child_removed",e,n,t),Nd(r,i,"child_added",e,n,t),Nd(r,i,"child_moved",s,n,t),Nd(r,i,"child_changed",e,n,t),Nd(r,i,"value",e,n,t),i}function Nd(s,a,t,e,o,l){var r=e.filter(e=>e.type===t);r.sort((e,t)=>{var r=s;if(null==e.childName||null==t.childName)throw M("Should only compare child_ events.");var n=new _c(e.childName,e.snapshotNode),i=new _c(t.childName,t.snapshotNode);return r.index_.compare(n,i)}),r.forEach(t=>{e=s,i=l,"value"!==(n=t).type&&"child_removed"!==n.type&&(n.prevName=i.getPredecessorChildName(n.childName,n.snapshotNode,e.index_));let r=n;var e,n,i;o.forEach(e=>{e.respondsTo(t.type)&&a.push(e.createEvent(r,s.query_))})})}function Ad(e,t){return{eventCache:e,serverCache:t}}function Rd(e,t,r,n){return Ad(new Td(t,r,n),e.serverCache)}function Od(e,t,r,n){return Ad(e.eventCache,new Td(t,r,n))}function Pd(e){return e.eventCache.isFullyInitialized()?e.eventCache.getNode():null}function xd(e){return e.serverCache.isFullyInitialized()?e.serverCache.getNode():null}let Fd;class Ld{static fromObject(e){let r=new Ld(null);return bu(e,(e,t)=>{r=r.set(new nc(e),t)}),r}constructor(e,t=Fd=Fd||new Sc(su)){this.value=e,this.children=t}isEmpty(){return null===this.value&&this.children.isEmpty()}findRootMostMatchingPathAndValue(e,t){var r,n;return null!=this.value&&t(this.value)?{path:ic(),value:this.value}:!C(e)&&(r=m(e),null!==(n=this.children.get(r)))&&null!=(n=n.findRootMostMatchingPathAndValue(ac(e),t))?{path:uc(new nc(r),n.path),value:n.value}:null}findRootMostValueAndPath(e){return this.findRootMostMatchingPathAndValue(e,()=>!0)}subtree(e){var t;return C(e)?this:(t=m(e),null!==(t=this.children.get(t))?t.subtree(ac(e)):new Ld(null))}set(e,t){var r,n;return C(e)?new Ld(t,this.children):(n=m(e),r=(this.children.get(n)||new Ld(null)).set(ac(e),t),n=this.children.insert(n,r),new Ld(this.value,n))}remove(t){if(C(t))return this.children.isEmpty()?new Ld(null):new Ld(null,this.children);var r=m(t),n=this.children.get(r);if(n){n=n.remove(ac(t));let e;return e=n.isEmpty()?this.children.remove(r):this.children.insert(r,n),null===this.value&&e.isEmpty()?new Ld(null):new Ld(this.value,e)}return this}get(e){var t;return C(e)?this.value:(t=m(e),(t=this.children.get(t))?t.get(ac(e)):null)}setTree(t,r){if(C(t))return r;{var n=m(t),i=(this.children.get(n)||new Ld(null)).setTree(ac(t),r);let e;return e=i.isEmpty()?this.children.remove(n):this.children.insert(n,i),new Ld(this.value,e)}}fold(e){return this.fold_(ic(),e)}fold_(r,n){let i={};return this.children.inorderTraversal((e,t)=>{i[e]=t.fold_(uc(r,e),n)}),n(r,this.value,i)}findOnPath(e,t){return this.findOnPath_(e,ic(),t)}findOnPath_(e,t,r){var n,i=!!this.value&&r(t,this.value);return i||(!C(e)&&(i=m(e),n=this.children.get(i))?n.findOnPath_(ac(e),uc(t,i),r):null)}foreachOnPath(e,t){return this.foreachOnPath_(e,ic(),t)}foreachOnPath_(e,t,r){var n,i;return C(e)?this:(this.value&&r(t,this.value),n=m(e),(i=this.children.get(n))?i.foreachOnPath_(ac(e),uc(t,n),r):new Ld(null))}foreach(e){this.foreach_(ic(),e)}foreach_(r,n){this.children.inorderTraversal((e,t)=>{t.foreach_(uc(r,e),n)}),this.value&&n(r,this.value)}foreachChild(r){this.children.inorderTraversal((e,t)=>{t.value&&r(e,t.value)})}}class Md{constructor(e){this.writeTree_=e}static empty(){return new Md(new Ld(null))}}function Ud(t,r,n){if(C(r))return new Md(new Ld(n));var i=t.writeTree_.findRootMostValueAndPath(r);if(null==i)return s=new Ld(n),s=t.writeTree_.setTree(r,s),new Md(s);{var s=i.path;let e=i.value;i=cc(s,r);return e=e.updateChild(i,n),new Md(t.writeTree_.set(s,e))}}function Gd(e,r,t){let n=e;return bu(t,(e,t)=>{n=Ud(n,uc(r,e),t)}),n}function Hd(e,t){var r;return C(t)?Md.empty():(r=e.writeTree_.setTree(t,new Ld(null)),new Md(r))}function Vd(e,t){return null!=qd(e,t)}function qd(e,t){var r=e.writeTree_.findRootMostValueAndPath(t);return null!=r?e.writeTree_.get(r.path).getChild(cc(r.path,t)):null}function jd(e){let r=[];var t=e.writeTree_.value;return null!=t?t.isLeafNode()||t.forEachChild(Uc,(e,t)=>{r.push(new _c(e,t))}):e.writeTree_.children.inorderTraversal((e,t)=>{null!=t.value&&r.push(new _c(e,t.value))}),r}function Kd(e,t){var r;return C(t)?e:null!=(r=qd(e,t))?new Md(new Ld(r)):new Md(e.writeTree_.subtree(t))}function zd(e){return e.writeTree_.isEmpty()}function Jd(e,t){return function n(i,e,s){{if(null!=e.value)return s.updateChild(i,e.value);{let r=null;return e.children.inorderTraversal((e,t)=>{".priority"===e?(g(null!==t.value,"Priority writes must always be leaf nodes"),r=t.value):s=n(uc(i,e),t,s)}),s=s.getChild(i).isEmpty()||null===r?s:s.updateChild(uc(i,".priority"),r)}}}(ic(),e.writeTree_,t)}function Wd(e,t){return aB(t,e)}function Qd(t,r){var e,n=t.allWrites.findIndex(e=>e.writeId===r);g(0<=n,"removeWrite called with nonexistent writeId.");let i=t.allWrites[n],s=(t.allWrites.splice(n,1),i.visible),a=!1,o=t.allWrites.length-1;for(;s&&0<=o;){var l=t.allWrites[o];l.visible&&(o>=n&&((e,t)=>{if(e.snap)return pc(e.path,t);for(var r in e.children)if(e.children.hasOwnProperty(r)&&pc(uc(e.path,r),t))return 1})(l,i.path)?s=!1:pc(i.path,l.path)&&(a=!0)),o--}return!!s&&(a?((e=t).visibleWrites=$d(e.allWrites,Yd,ic()),0<e.allWrites.length?e.lastWriteId=e.allWrites[e.allWrites.length-1].writeId:e.lastWriteId=-1):i.snap?t.visibleWrites=Hd(t.visibleWrites,i.path):bu(i.children,e=>{t.visibleWrites=Hd(t.visibleWrites,uc(i.path,e))}),!0)}function Yd(e){return e.visible}function $d(e,t,r){let n=Md.empty();for(let a=0;a<e.length;++a){var i=e[a];if(t(i)){var s=i.path;let e;if(i.snap)pc(r,s)?(e=cc(r,s),n=Ud(n,e,i.snap)):pc(s,r)&&(e=cc(s,r),n=Ud(n,ic(),i.snap.getChild(e)));else{if(!i.children)throw M("WriteRecord should have .snap or .children");pc(r,s)?(e=cc(r,s),n=Gd(n,e,i.children)):pc(s,r)&&(C(e=cc(s,r))?n=Gd(n,ic(),i.children):(s=ve(i.children,m(e)))&&(i=s.getChild(ac(e)),n=Ud(n,ic(),i)))}}}return n}function Xd(e,t,r,n,i){var s;return n||i?(s=Kd(e.visibleWrites,t),!i&&zd(s)?r:i||null!=r||Vd(s,ic())?Jd($d(e.allWrites,function(e){return(e.visible||i)&&(!n||!~n.indexOf(e.writeId))&&(pc(e.path,t)||pc(t,e.path))},t),r||v.EMPTY_NODE):null):null!=(s=qd(e.visibleWrites,t))?s:zd(s=Kd(e.visibleWrites,t))?r:null!=r||Vd(s,ic())?Jd(s,r||v.EMPTY_NODE):null}function Zd(e,t,r,n){return Xd(e.writeTree,e.treePath,t,r,n)}function eB(e,t){{var r=e.writeTree;e=e.treePath;let i=v.EMPTY_NODE;var n=qd(r.visibleWrites,e);if(n)n.isLeafNode()||n.forEachChild(Uc,(e,t)=>{i=i.updateImmediateChild(e,t)});else if(t){let n=Kd(r.visibleWrites,e);t.forEachChild(Uc,(e,t)=>{var r=Jd(Kd(n,new nc(e)),t);i=i.updateImmediateChild(e,r)}),jd(n).forEach(e=>{i=i.updateImmediateChild(e.name,e.node)})}else jd(Kd(r.visibleWrites,e)).forEach(e=>{i=i.updateImmediateChild(e.name,e.node)});return i}}function tB(e,t,r,n){return i=e.writeTree,e=e.treePath,t=t,r=r,n=n,g(r||n,"Either existingEventSnap or existingServerSnap must exist"),s=uc(e,t),Vd(i.visibleWrites,s)?null:zd(s=Kd(i.visibleWrites,s))?n.getChild(t):Jd(s,n.getChild(t));var i,s}function rB(e,t){return r=e.writeTree,e=uc(e.treePath,t),qd(r.visibleWrites,e);var r}function nB(e,r,n,i,s,a){{var o=e.writeTree,l=(e=e.treePath,n),h=i;n=s,i=a;let t;var u=Kd(o.visibleWrites,e),c=qd(u,ic());if(null!=c)t=c;else{if(null==r)return[];t=Jd(u,r)}if((t=t.withIndex(i)).isEmpty()||t.isLeafNode())return[];{var d=[],B=i.getCompare(),p=n?t.getReverseIteratorFrom(l,i):t.getIteratorFrom(l,i);let e=p.getNext();for(;e&&d.length<h;)0!==B(e,l)&&d.push(e),e=p.getNext();return d}}}function iB(e,t,r){return n=e.writeTree,r=r,i=uc(e.treePath,e=t),null!=(s=qd(n.visibleWrites,i))?s:r.isCompleteForChild(e)?Jd(Kd(n.visibleWrites,i),r.getNode().getImmediateChild(e)):null;var n,i,s}function sB(e,t){return aB(uc(e.treePath,t),e.writeTree)}function aB(e,t){return{treePath:e,writeTree:t}}class oB{constructor(){this.changeMap=new Map}trackChildChange(e){var t=e.type,r=e.childName,n=(g("child_added"===t||"child_changed"===t||"child_removed"===t,"Only child changes supported for tracking"),g(".priority"!==r,"Only non-priority child changes can be tracked."),this.changeMap.get(r));if(n){var i=n.type;if("child_added"===t&&"child_removed"===i)this.changeMap.set(r,nd(r,e.snapshotNode,n.snapshotNode));else if("child_removed"===t&&"child_added"===i)this.changeMap.delete(r);else if("child_removed"===t&&"child_changed"===i)this.changeMap.set(r,rd(r,n.oldSnap));else if("child_changed"===t&&"child_added"===i)this.changeMap.set(r,td(r,e.snapshotNode));else{if("child_changed"!==t||"child_changed"!==i)throw M("Illegal combination of changes: "+e+" occurred after "+n);this.changeMap.set(r,nd(r,e.snapshotNode,n.oldSnap))}}else this.changeMap.set(r,e)}getChanges(){return Array.from(this.changeMap.values())}}let lB=new class{getCompleteChild(e){return null}getChildAfterChild(e,t,r){return null}};class hB{constructor(e,t,r=null){this.writes_=e,this.viewCache_=t,this.optCompleteServerCache_=r}getCompleteChild(e){var t=this.viewCache_.eventCache;return t.isCompleteForChild(e)?t.getNode().getImmediateChild(e):(t=null!=this.optCompleteServerCache_?new Td(this.optCompleteServerCache_,!0,!1):this.viewCache_.serverCache,iB(this.writes_,e,t))}getChildAfterChild(e,t,r){var n=null!=this.optCompleteServerCache_?this.optCompleteServerCache_:xd(this.viewCache_),n=nB(this.writes_,n,t,1,r,e);return 0===n.length?null:n[0]}}function uB(e,t,r,n,i){var s=new oB;let a,o;if(r.type===Zu.OVERWRITE){var l=r;a=l.source.fromUser?BB(e,t,l.path,l.snap,n,i,s):(g(l.source.fromServer,"Unknown source."),o=l.source.tagged||t.serverCache.isFiltered()&&!C(l.path),dB(e,t,l.path,l.snap,n,i,o,s))}else if(r.type===Zu.MERGE){var l=r;a=l.source.fromUser?((n,i,s,e,a,o,l)=>{let h=i;return e.foreach((e,t)=>{var r=uc(s,e);pB(i,m(r))&&(h=BB(n,h,r,t,a,o,l))}),e.foreach((e,t)=>{var r=uc(s,e);pB(i,m(r))||(h=BB(n,h,r,t,a,o,l))}),h})(e,t,l.path,l.children,n,i,s):(g(l.source.fromServer,"Unknown source."),o=l.source.tagged||t.serverCache.isFiltered(),fB(e,t,l.path,l.children,n,i,o,s))}else if(r.type===Zu.ACK_USER_WRITE){l=r;a=l.revert?((r,n,i,s,e,a)=>{let o;if(null!=rB(s,i))return n;{var l=new hB(s,n,e),h=n.eventCache.getNode();let t;if(C(i)||".priority"===m(i)){let e;e=e=n.serverCache.isFullyInitialized()?Zd(s,xd(n)):(u=n.serverCache.getNode(),g(u instanceof v,"serverChildren would be complete if leaf node"),eB(s,u)),t=r.filter.updateFullNode(h,e,a)}else{var u=m(i);let e=iB(s,u,n.serverCache);null==e&&n.serverCache.isCompleteForChild(u)&&(e=h.getImmediateChild(u)),(t=null!=e?r.filter.updateChild(h,u,e,ac(i),l,a):n.eventCache.getNode().hasChild(u)?r.filter.updateChild(h,u,v.EMPTY_NODE,ac(i),l,a):h).isEmpty()&&n.serverCache.isFullyInitialized()&&(o=Zd(s,xd(n))).isLeafNode()&&(t=r.filter.updateFullNode(t,o,a))}return o=n.serverCache.isFullyInitialized()||null!=rB(s,ic()),Rd(n,t,o,r.filter.filtersNodes())}})(e,t,l.path,n,i,s):((e,t,i,r,s,a,o)=>{if(null!=rB(s,i))return t;let l=t.serverCache.isFiltered(),h=t.serverCache;if(null!=r.value){if(C(i)&&h.isFullyInitialized()||h.isCompleteForPath(i))return dB(e,t,i,h.getNode().getChild(i),s,a,l,o);if(C(i)){let r=new Ld(null);return h.getNode().forEachChild(Dc,(e,t)=>{r=r.set(new nc(e),t)}),fB(e,t,i,r,s,a,l,o)}return t}{let n=new Ld(null);return r.foreach((e,t)=>{var r=uc(i,e);h.isCompleteForPath(r)&&(n=n.set(e,h.getNode().getChild(r)))}),fB(e,t,i,n,s,a,l,o)}})(e,t,l.path,l.affectedTree,n,i,s)}else{if(r.type!==Zu.LISTEN_COMPLETE)throw M("Unknown operation type: "+r.type);a=(i=e,e=r.path,r=n,n=s,l=t.serverCache,l=Od(t,l.getNode(),l.isFullyInitialized()||C(e),l.isFiltered()),cB(i,l,e,r,lB,n))}var h,u,s=s.getChanges(),i=t,e=a,r=s,c=e.eventCache;return c.isFullyInitialized()&&(h=c.getNode().isLeafNode()||c.getNode().isEmpty(),u=Pd(i),0<r.length||!i.eventCache.isFullyInitialized()||h&&!c.getNode().equals(u)||!c.getNode().getPriority().equals(u.getPriority()))&&r.push(ed(Pd(e))),{viewCache:a,changes:s}}function cB(n,i,s,a,o,l){var h=i.eventCache;if(null!=rB(a,s))return i;{let t,r;if(C(s))g(i.serverCache.isFullyInitialized(),"If change path is empty, we must have complete server data"),t=i.serverCache.isFiltered()?(u=eB(a,(u=xd(i))instanceof v?u:v.EMPTY_NODE),n.filter.updateFullNode(i.eventCache.getNode(),u,l)):(u=Zd(a,xd(i)),n.filter.updateFullNode(i.eventCache.getNode(),u,l));else{var u=m(s);if(".priority"===u){g(1===sc(s),"Can't have a priority with additional path components");var c=h.getNode(),d=tB(a,s,c,r=i.serverCache.getNode());t=null!=d?n.filter.updatePriority(c,d):h.getNode()}else{c=ac(s);let e;e=h.isCompleteForChild(u)?(r=i.serverCache.getNode(),null!=(d=tB(a,s,h.getNode(),r))?h.getNode().getImmediateChild(u).updateChild(c,d):h.getNode().getImmediateChild(u)):iB(a,u,i.serverCache),t=null!=e?n.filter.updateChild(h.getNode(),u,e,c,o,l):h.getNode()}}return Rd(i,t,h.isFullyInitialized()||C(s),n.filter.filtersNodes())}}function dB(e,t,r,n,i,s,a,o){var l=t.serverCache;let h;var u=a?e.filter:e.filter.getIndexedFilter();if(C(r))h=u.updateFullNode(l.getNode(),n,null);else if(u.filtersNodes()&&!l.isFiltered()){var c=l.getNode().updateChild(r,n);h=u.updateFullNode(l.getNode(),c,null)}else{c=m(r);if(!l.isCompleteForPath(r)&&1<sc(r))return t;var d=ac(r),B=l.getNode().getImmediateChild(c).updateChild(d,n);h=".priority"===c?u.updatePriority(l.getNode(),B):u.updateChild(l.getNode(),c,B,d,lB,null)}c=Od(t,h,l.isFullyInitialized()||C(r),u.filtersNodes());return cB(e,c,r,i,new hB(i,c,s),o)}function BB(t,r,n,i,e,s,a){var o=r.eventCache;let l,h;var u=new hB(e,r,s);if(C(n))h=t.filter.updateFullNode(r.eventCache.getNode(),i,a),l=Rd(r,h,!0,t.filter.filtersNodes());else{var c=m(n);if(".priority"===c)h=t.filter.updatePriority(r.eventCache.getNode(),i),l=Rd(r,h,o.isFullyInitialized(),o.isFiltered());else{var d,B=ac(n),p=o.getNode().getImmediateChild(c);let e;e=C(B)?i:null!=(d=u.getCompleteChild(c))?".priority"===oc(B)&&d.getChild(hc(B)).isEmpty()?d:d.updateChild(B,i):v.EMPTY_NODE,l=p.equals(e)?r:Rd(r,t.filter.updateChild(o.getNode(),c,e,B,u,a),o.isFullyInitialized(),t.filter.filtersNodes())}}return l}function pB(e,t){return e.eventCache.isCompleteForChild(t)}function gB(e,r,t){return t.foreach((e,t)=>{r=r.updateChild(e,t)}),r}function fB(n,i,e,t,s,a,o,l){if(i.serverCache.getNode().isEmpty()&&!i.serverCache.isFullyInitialized())return i;let h=i,r,u=(r=C(e)?t:new Ld(null).setTree(e,t),i.serverCache.getNode());return r.children.inorderTraversal((e,t)=>{var r;u.hasChild(e)&&(r=gB(0,i.serverCache.getNode().getImmediateChild(e),t),h=dB(n,h,new nc(e),r,s,a,o,l))}),r.children.inorderTraversal((e,t)=>{var r=!i.serverCache.isCompleteForChild(e)&&null===t.value;u.hasChild(e)||r||(r=gB(0,i.serverCache.getNode().getImmediateChild(e),t),h=dB(n,h,new nc(e),r,s,a,o,l))}),h}class mB{constructor(e,t){this.query_=e,this.eventRegistrations_=[];var r=this.query_._queryParams,n=new id(r.getIndex()),r=(e=r).loadsAllData()?new id(e.getIndex()):new(e.hasLimit()?ad:sd)(e),i=(this.processor_={filter:r},t.serverCache),s=t.eventCache,a=n.updateFullNode(v.EMPTY_NODE,i.getNode(),null),o=r.updateFullNode(v.EMPTY_NODE,s.getNode(),null),a=new Td(a,i.isFullyInitialized(),n.filtersNodes()),i=new Td(o,s.isFullyInitialized(),r.filtersNodes());this.viewCache_=Ad(i,a),this.eventGenerator_=new Sd(this.query_)}get query(){return this.query_}}function CB(e){return 0===e.eventRegistrations_.length}function vB(n,i,s){let a=[];if(s){g(null==i,"A cancel should cancel all event registrations.");let r=n.query._path;n.eventRegistrations_.forEach(e=>{var t=e.createCancelEvent(s,r);t&&a.push(t)})}if(i){let e=[];for(let t=0;t<n.eventRegistrations_.length;++t){var r=n.eventRegistrations_[t];if(r.matches(i)){if(i.hasAnyCallback()){e=e.concat(n.eventRegistrations_.slice(t+1));break}}else e.push(r)}n.eventRegistrations_=e}else n.eventRegistrations_=[];return a}function _B(e,t,r,n){t.type===Zu.MERGE&&null!==t.source.queryId&&(g(xd(e.viewCache_),"We should always have a full cache before handling merges"),g(Pd(e.viewCache_),"Missing event cache, even though we have a server cache"));var i=e.viewCache_,s=uB(e.processor_,i,t,r,n);return t=e.processor_,r=s.viewCache,g(r.eventCache.getNode().isIndexed(t.filter.getIndex()),"Event snap not indexed"),g(r.serverCache.getNode().isIndexed(t.filter.getIndex()),"Server snap not indexed"),g(s.viewCache.serverCache.isFullyInitialized()||!i.serverCache.isFullyInitialized(),"Once a server snap is complete, it should never go back"),e.viewCache_=s.viewCache,yB(e,s.changes,s.viewCache.eventCache.getNode(),null)}function yB(e,t,r,n){var i=n?[n]:e.eventRegistrations_;return kd(e.eventGenerator_,t,r,i)}let wB;class EB{constructor(){this.views=new Map}}function DB(t,r,n,i){var e=r.source.queryId;if(null!==e)return e=t.views.get(e),g(null!=e,"SyncTree gave us an op for an invalid query."),_B(e,r,n,i);{let e=[];for(var s of t.views.values())e=e.concat(_B(s,r,n,i));return e}}function bB(e,r,n,i,s){var a=r._queryIdentifier,a=e.views.get(a);if(a)return a;{let e=Zd(n,s?i:null),t=!1;t=!!e||(e=i instanceof v?eB(n,i):v.EMPTY_NODE,!1);a=Ad(new Td(e,t,!1),new Td(i,s,!1));return new mB(r,a)}}function IB(e,t,n,i,s,r){var a=bB(e,t,i,s,r);e.views.has(t._queryIdentifier)||e.views.set(t._queryIdentifier,a),a.eventRegistrations_.push(n);{s=n,a=(i=a).viewCache_.eventCache;let r=[];return a.getNode().isLeafNode()||a.getNode().forEachChild(Uc,(e,t)=>{r.push(td(e,t))}),a.isFullyInitialized()&&r.push(ed(a.getNode())),yB(i,r,a.getNode(),s)}}function TB(e,t,r,n){var i=t._queryIdentifier,s=[];let a=[];var o=RB(e);if("default"===i)for(var[l,h]of e.views.entries())a=a.concat(vB(h,r,n)),CB(h)&&(e.views.delete(l),h.query._queryParams.loadsAllData()||s.push(h.query));else{var u=e.views.get(i);u&&(a=a.concat(vB(u,r,n)),CB(u))&&(e.views.delete(i),u.query._queryParams.loadsAllData()||s.push(u.query))}return o&&!RB(e)&&s.push((g(wB,"Reference.ts has not been loaded"),new wB(t._repo,t._path))),{removed:s,events:a}}function SB(e){var t,r=[];for(t of e.views.values())t.query._queryParams.loadsAllData()||r.push(t);return r}function kB(e,t){let r=null;for(var n of e.views.values())r=r||(i=n,s=t,n=void 0,(n=xd(i.viewCache_))&&(i.query._queryParams.loadsAllData()||!C(s)&&!n.getImmediateChild(m(s)).isEmpty())?n.getChild(s):null);var i,s;return r}function NB(e,t){var r;return t._queryParams.loadsAllData()?OB(e):(r=t._queryIdentifier,e.views.get(r))}function AB(e,t){return null!=NB(e,t)}function RB(e){return null!=OB(e)}function OB(e){for(var t of e.views.values())if(t.query._queryParams.loadsAllData())return t;return null}let PB;let xB=1;class FB{constructor(e){this.listenProvider_=e,this.syncPointTree_=new Ld(null),this.pendingWriteTree_={visibleWrites:Md.empty(),allWrites:[],lastWriteId:-1},this.tagToQueryMap=new Map,this.queryToTagMap=new Map}}function LB(e,t,r,n,i){var s,a,o,l;return s=e.pendingWriteTree_,a=t,o=r,n=n,l=i,g(n>s.lastWriteId,"Stacking an older write on top of newer ones"),s.allWrites.push({path:a,snap:o,writeId:n,visible:l=void 0===l?!0:l}),l&&(s.visibleWrites=Ud(s.visibleWrites,a,o)),s.lastWriteId=n,i?zB(e,new bd(_d(),t,r)):[]}function MB(e,t,r,n){i=e.pendingWriteTree_,s=t,a=r,n=n,g(n>i.lastWriteId,"Stacking an older merge on top of newer ones"),i.allWrites.push({path:s,children:a,writeId:n,visible:!0}),i.visibleWrites=Gd(i.visibleWrites,s,a),i.lastWriteId=n;var i,s,a,o=Ld.fromObject(r);return zB(e,new Id(_d(),t,o))}function UB(e,t,r=!1){var n=((e,t)=>{for(let n=0;n<e.allWrites.length;n++){var r=e.allWrites[n];if(r.writeId===t)return r}return null})(e.pendingWriteTree_,t);if(Qd(e.pendingWriteTree_,t)){let t=new Ld(null);return null!=n.snap?t=t.set(ic(),!0):bu(n.children,e=>{t=t.set(new nc(e),!0)}),zB(e,new Ed(n.path,t,r))}return[]}function GB(e,t,r){return zB(e,new bd(yd(),t,r))}function HB(r,t,n,i,s=!1){var a=t._path,o=r.syncPointTree_.get(a);let l=[];if(o&&("default"===t._queryIdentifier||AB(o,t))){var h=TB(o,t,n,i),o=(0===o.views.size&&(r.syncPointTree_=r.syncPointTree_.remove(a)),h.removed);if(l=h.events,!s){var h=-1!==o.findIndex(e=>e._queryParams.loadsAllData()),u=r.syncPointTree_.findOnPath(a,(e,t)=>RB(t));if(h&&!u){a=r.syncPointTree_.subtree(a);if(!a.isEmpty()){var c=a.fold((e,t,n)=>{if(t&&RB(t))return[OB(t)];{let r=[];return t&&(r=SB(t)),bu(n,(e,t)=>{r=r.concat(t)}),r}});for(let e=0;e<c.length;++e){var d=c[e],B=d.query,d=WB(r,d);r.listenProvider_.startListening(ep(B),QB(r,B),d.hashFn,d.onComplete)}}}!u&&0<o.length&&!i&&(h?r.listenProvider_.stopListening(ep(t),null):o.forEach(e=>{var t=r.queryToTagMap.get(YB(e));r.listenProvider_.stopListening(ep(e),t)}))}var p=r,g=o;for(let e=0;e<g.length;++e){var f,m=g[e];m._queryParams.loadsAllData()||(m=YB(m),f=p.queryToTagMap.get(m),p.queryToTagMap.delete(m),p.tagToQueryMap.delete(f))}}return l}function VB(e,t,r,n){var i,s,a=$B(e,n);return null!=a?(i=(a=XB(a)).path,a=a.queryId,s=cc(i,t),ZB(e,i,new bd(wd(a),s,r))):[]}function qB(e,t,r,n=!1){let i=t._path,s=null,a=!1,o=(e.syncPointTree_.foreachOnPath(i,(e,t)=>{var r=cc(e,i);s=s||kB(t,r),a=a||RB(t)}),e.syncPointTree_.get(i));o?(a=a||RB(o),s=s||kB(o,ic())):(o=new EB,e.syncPointTree_=e.syncPointTree_.set(i,o));let l;null!=s?l=!0:(l=!1,s=v.EMPTY_NODE,e.syncPointTree_.subtree(i).foreachChild((e,t)=>{var r=kB(t,ic());r&&(s=s.updateImmediateChild(e,r))}));var h,u=AB(o,t),c=(u||t._queryParams.loadsAllData()||(h=YB(t),g(!e.queryToTagMap.has(h),"View does not exist, but we have a tag"),c=xB++,e.queryToTagMap.set(h,c),e.tagToQueryMap.set(c,h)),Wd(e.pendingWriteTree_,i));let d=IB(o,t,r,c,s,l);return u||a||n||(h=NB(o,t),d=d.concat(((t,e,r)=>{var n=e._path,i=QB(t,e),s=WB(t,r),s=t.listenProvider_.startListening(ep(e),i,s.hashFn,s.onComplete),n=t.syncPointTree_.subtree(n);if(i)g(!RB(n.value),"If we're adding a query, it shouldn't be shadowed");else{var a=n.fold((e,t,n)=>{if(!C(e)&&t&&RB(t))return[OB(t).query];{let r=[];return t&&(r=r.concat(SB(t).map(e=>e.query))),bu(n,(e,t)=>{r=r.concat(t)}),r}});for(let e=0;e<a.length;++e){var o=a[e];t.listenProvider_.stopListening(ep(o),QB(t,o))}}return s})(e,t,h))),d}function jB(e,n,t){var r=e.pendingWriteTree_,i=e.syncPointTree_.findOnPath(n,(e,t)=>{var r=kB(t,cc(e,n));if(r)return r});return Xd(r,n,i,t,!0)}function KB(e,t){let n=t._path,i=null,r=(e.syncPointTree_.foreachOnPath(n,(e,t)=>{var r=cc(e,n);i=i||kB(t,r)}),e.syncPointTree_.get(n));r?i=i||kB(r,ic()):(r=new EB,e.syncPointTree_=e.syncPointTree_.set(n,r));var s=null!=i,a=s?new Td(i,!0,!1):null,o=Wd(e.pendingWriteTree_,t._path);return Pd(bB(r,t,o,s?a.getNode():v.EMPTY_NODE,s).viewCache_)}function zB(e,t){return function a(t,o,l,h){{if(C(t.path))return JB(t,o,l,h);{let e=o.get(ic()),r=(null==l&&null!=e&&(l=kB(e,ic())),[]),n=m(t.path),i=t.operationForChild(n),s=o.children.get(n);if(s&&i){let e=l?l.getImmediateChild(n):null,t=sB(h,n);r=r.concat(a(i,s,e,t))}return r=e?r.concat(DB(e,t,h,l)):r}}}(t,e.syncPointTree_,null,Wd(e.pendingWriteTree_,ic()))}function JB(s,e,a,o){var t=e.get(ic());null==a&&null!=t&&(a=kB(t,ic()));let l=[];return e.children.inorderTraversal((e,t)=>{var r=a?a.getImmediateChild(e):null,n=sB(o,e),i=s.operationForChild(e);i&&(l=l.concat(JB(i,t,r,n)))}),l=t?l.concat(DB(t,s,o,a)):l}function WB(o,e){let l=e.query,h=QB(o,l);return{hashFn:()=>(e.viewCache_.serverCache.getNode()||v.EMPTY_NODE).hash(),onComplete:e=>{var t,r,n,i,s,a;return"ok"===e?h?(t=o,r=l._path,n=h,(a=$B(t,n))?(i=(a=XB(a)).path,a=a.queryId,s=cc(i,r),ZB(t,i,new Dd(wd(a),s))):[]):(n=o,r=l._path,zB(n,new Dd(yd(),r))):(i=((e,t)=>{let r="Unknown Error";"too_big"===e?r="The data requested exceeds the maximum size that can be accessed with a single request.":"permission_denied"===e?r="Client doesn't have permission to access the desired data.":"unavailable"===e&&(r="The service is unavailable");var n=new Error(e+" at "+t._path.toString()+": "+r);return n.code=e.toUpperCase(),n})(e,l),HB(o,l,null,i))}}}function QB(e,t){var r=YB(t);return e.queryToTagMap.get(r)}function YB(e){return e._path.toString()+"$"+e._queryIdentifier}function $B(e,t){return e.tagToQueryMap.get(t)}function XB(e){var t=e.indexOf("$");return g(-1!==t&&t<e.length-1,"Bad queryKey."),{queryId:e.substr(t+1),path:new nc(e.substr(0,t))}}function ZB(e,t,r){var n=e.syncPointTree_.get(t),i=(g(n,"Missing sync point for query tag that we're tracking"),Wd(e.pendingWriteTree_,t));return DB(n,r,i,null)}function ep(e){return e._queryParams.loadsAllData()&&!e._queryParams.isDefault()?(g(PB,"Reference.ts has not been loaded"),new PB(e._repo,e._path)):e}class tp{constructor(e){this.node_=e}getImmediateChild(e){var t=this.node_.getImmediateChild(e);return new tp(t)}node(){return this.node_}}class rp{constructor(e,t){this.syncTree_=e,this.path_=t}getImmediateChild(e){var t=uc(this.path_,e);return new rp(this.syncTree_,t)}node(){return jB(this.syncTree_,this.path_)}}let np=function(e){return(e=e||{}).timestamp=e.timestamp||(new Date).getTime(),e},ip=function(e,t,r){return e&&"object"==typeof e?(g(".sv"in e,"Unexpected leaf node or priority contents"),"string"==typeof e[".sv"]?sp(e[".sv"],t,r):"object"==typeof e[".sv"]?ap(e[".sv"],t):void g(!1,"Unexpected server value: "+JSON.stringify(e,null,2))):e},sp=function(e,t,r){if("timestamp"===e)return r.timestamp;g(!1,"Unexpected server value: "+e)},ap=function(e,t,r){e.hasOwnProperty("increment")||g(!1,"Unexpected server value: "+JSON.stringify(e,null,2));var n=e.increment,i=("number"!=typeof n&&g(!1,"Unexpected increment value: "+n),t.node());return g(null!=i,"Expected ChildrenNode.EMPTY_NODE for nulls"),!i.isLeafNode()||"number"!=typeof(i=i.getValue())?n:i+n},op=function(e,t,r,n){return hp(t,new rp(r,e),n)},lp=function(e,t,r){return hp(e,new tp(t),r)};function hp(e,n,i){var t,r,s=e.getPriority().val(),s=ip(s,n.getImmediateChild(".priority"),i);let a;return e.isLeafNode()?(r=e,(t=ip(r.getValue(),n,i))!==r.getValue()||s!==r.getPriority().val()?new xc(t,Yc(s)):e):(r=e,s!==(a=r).getPriority().val()&&(a=a.updatePriority(new xc(s))),r.forEachChild(Uc,(e,t)=>{var r=hp(t,n.getImmediateChild(e),i);r!==t&&(a=a.updateImmediateChild(e,r))}),a)}class up{constructor(e="",t=null,r={children:{},childCount:0}){this.name=e,this.parent=t,this.node=r}}function cp(e,t){let r=t instanceof nc?t:new nc(t),n=e,i=m(r);for(;null!==i;){var s=ve(n.node.children,i)||{children:{},childCount:0};n=new up(i,n,s),r=ac(r),i=m(r)}return n}function dp(e){return e.node.value}function Bp(e,t){e.node.value=t,mp(e)}function pp(e){return 0<e.node.childCount}function gp(r,n){bu(r.node.children,(e,t)=>{n(new up(e,r,t))})}function fp(e){return new nc(null===e.parent?e.name:fp(e.parent)+"/"+e.name)}function mp(e){var t,r,n,i;null!==e.parent&&(t=e.parent,r=e.name,n=(e=>void 0===dp(e)&&!pp(e))(e=e),i=Ce(t.node.children,r),n&&i?(delete t.node.children[r],t.node.childCount--,mp(t)):n||i||(t.node.children[r]=e.node,t.node.childCount++,mp(t)))}function Cp(e,t,r,n){n&&void 0===t||Ap(Ae(e,"value"),t,r)}function vp(e,t,n,r){let i=Ae(e,"values");if(!t||"object"!=typeof t||Array.isArray(t))throw new Error(i+" must be an object containing the children to replace.");let s=[];bu(t,(e,t)=>{var r=new nc(e);if(Ap(i,t,uc(n,r)),".priority"===oc(r)&&!Np(t))throw new Error(i+"contains an invalid value for '"+r.toString()+"', which must be a valid Firebase priority (a string, finite number, server value, or null).");s.push(r)});{var a=i,o=s;let t,r;for(t=0;t<o.length;t++){var l=lc(r=o[t]);for(let e=0;e<l.length;e++)if((".priority"!==l[e]||e!==l.length-1)&&!Tp(l[e]))throw new Error(a+"contains an invalid key ("+l[e]+") in path "+r.toString()+'. Keys must be non-empty strings and can\'t contain ".", "#", "$", "/", "[", or "]"')}o.sort(dc);let e=null;for(t=0;t<o.length;t++){if(r=o[t],null!==e&&pc(e,r))throw new Error(a+"contains a path "+e.toString()+" that is ancestor of another path "+r.toString());e=r}}}function _p(e,t,r){if(yu(t))throw new Error(Ae(e,"priority")+"is "+t.toString()+", but must be a valid Firebase priority (a string, finite number, server value, or null).");if(!Np(t))throw new Error(Ae(e,"priority")+"must be a valid Firebase priority (a string, finite number, server value, or null).")}function yp(e,t,r,n){if(void 0!==r&&!Tp(r))throw new Error(Ae(e,t)+'was an invalid key = "'+r+'". Firebase keys must be non-empty strings and can\'t contain ".", "#", "$", "/", "[", or "]").')}function wp(e,t,r,n){r=r&&r.replace(/^\/*\.info(\/|$)/,"/"),Rp(e,t,r)}function Ep(e,t){if(".info"===m(t))throw new Error(e+" failed = Can't modify data under /.info/")}let Dp=/[\[\].#$\/\u0000-\u001F\u007F]/,bp=/[\[\].#$\u0000-\u001F\u007F]/,Ip=10485760,Tp=function(e){return"string"==typeof e&&0!==e.length&&!Dp.test(e)},Sp=function(e){return"string"==typeof e&&0!==e.length&&!bp.test(e)},kp=function(e){return e=e&&e.replace(/^\/*\.info(\/|$)/,"/"),Sp(e)},Np=function(e){return null===e||"string"==typeof e||"number"==typeof e&&!yu(e)||e&&"object"==typeof e&&Ce(e,".sv")},Ap=function(a,e,t){let o=t instanceof nc?new gc(t,a):t;if(void 0===e)throw new Error(a+"contains undefined "+mc(o));if("function"==typeof e)throw new Error(a+"contains a function "+mc(o)+" with contents = "+e.toString());if(yu(e))throw new Error(a+"contains "+e.toString()+" "+mc(o));if("string"==typeof e&&e.length>Ip/3&&Pe(e)>Ip)throw new Error(a+"contains a string greater than "+Ip+" utf8 bytes "+mc(o)+" ('"+e.substring(0,50)+"...')");if(e&&"object"==typeof e){let i=!1,s=!1;if(bu(e,(e,t)=>{if(".value"===e)i=!0;else if(".priority"!==e&&".sv"!==e&&(s=!0,!Tp(e)))throw new Error(a+" contains an invalid key ("+e+") "+mc(o)+'. Keys must be non-empty strings and can\'t contain ".", "#", "$", "/", "[", or "]"');var r,n;r=o,e=e,0<r.parts_.length&&(r.byteLength_+=1),r.parts_.push(e),r.byteLength_+=Pe(e),fc(r),Ap(a,t,o),e=o,n=e.parts_.pop(),e.byteLength_-=Pe(n),0<e.parts_.length&&--e.byteLength_}),i&&s)throw new Error(a+' contains ".value" child '+mc(o)+" in addition to actual children.")}},Rp=function(e,t,r,n){if(!Sp(r))throw new Error(Ae(e,t)+'was an invalid path = "'+r+'". Paths must be non-empty strings and can\'t contain ".", "#", "$", "[", or "]"')},Op=function(e,t){var r=t.path.toString();if("string"!=typeof t.repoInfo.host||0===t.repoInfo.host.length||!Tp(t.repoInfo.namespace)&&"localhost"!==t.repoInfo.host.split(":")[0]||0!==r.length&&!kp(r))throw new Error(Ae(e,"url")+'must be a valid firebase URL and the path can\'t contain ".", "#", "$", "[", or "]".')};class Pp{constructor(){this.eventLists_=[],this.recursionDepth_=0}}function xp(e,t){let r=null;for(let s=0;s<t.length;s++){var n=t[s],i=n.getPath();null===r||Bc(i,r.path)||(e.eventLists_.push(r),r=null),(r=null===r?{events:[],path:i}:r).events.push(n)}r&&e.eventLists_.push(r)}function Fp(e,t,r){xp(e,r),Mp(e,e=>Bc(e,t))}function Lp(e,t,r){xp(e,r),Mp(e,e=>pc(e,t)||pc(t,e))}function Mp(t,e){t.recursionDepth_++;let r=!0;for(let o=0;o<t.eventLists_.length;o++){var n=t.eventLists_[o];if(n)if(e(n.path)){s=a=i=void 0;var i=t.eventLists_[o];for(let e=0;e<i.events.length;e++){var s,a=i.events[e];null!==a&&(i.events[e]=null,s=a.getEventRunner(),pu&&mu("event: "+a.toString()),Ru(s))}t.eventLists_[o]=null}else r=!1}r&&(t.eventLists_=[]),t.recursionDepth_--}let Up="repo_interrupt",Gp=25;class Hp{constructor(e,t,r,n){this.repoInfo_=e,this.forceRestClient_=t,this.authTokenProvider_=r,this.appCheckProvider_=n,this.dataUpdateCount=0,this.statsListener_=null,this.eventQueue_=new Pp,this.nextWriteId_=1,this.interceptServerDataCallback_=null,this.onDisconnect_=gd(),this.transactionQueueTree_=new up,this.persistentConnection_=null,this.key=this.repoInfo_.toURLString()}toString(){return(this.repoInfo_.secure?"https://":"http://")+this.repoInfo_.host}}function Vp(a,e,t){if(a.stats_=ju(a.repoInfo_),a.forceRestClient_||0<=("object"==typeof window&&window.navigator&&window.navigator.userAgent||"").search(/googlebot|google webmaster tools|bingbot|yahoo! slurp|baiduspider|yandexbot|duckduckbot/i))a.server_=new Bd(a.repoInfo_,(e,t,r,n)=>{Kp(a,e,t,r,n)},a.authTokenProvider_,a.appCheckProvider_),setTimeout(()=>zp(a,!0),0);else{if(null!=t){if("object"!=typeof t)throw new Error("Only objects are supported for option databaseAuthVariableOverride");try{fe(t)}catch(e){throw new Error("Invalid authOverride provided: "+e)}}a.persistentConnection_=new vc(a.repoInfo_,e,(e,t,r,n)=>{Kp(a,e,t,r,n)},e=>{zp(a,e)},e=>{var r;r=a,bu(e,(e,t)=>{Jp(r,e,t)})},a.authTokenProvider_,a.appCheckProvider_,t),a.server_=a.persistentConnection_}var r;a.authTokenProvider_.addTokenChangeListener(e=>{a.server_.refreshAuthToken(e)}),a.appCheckProvider_.addTokenChangeListener(e=>{a.server_.refreshAppCheckToken(e.token)}),a.statsReporter_=(e=()=>new vd(a.stats_,a.server_),r=a.repoInfo_.toString(),qu[r]||(qu[r]=e()),qu[r]),a.infoData_=new pd,a.infoSyncTree_=new FB({startListening:(e,t,r,n)=>{let i=[];var s=a.infoData_.getNode(e._path);return s.isEmpty()||(i=GB(a.infoSyncTree_,e._path,s),setTimeout(()=>{n("ok")},0)),i},stopListening:()=>{}}),Jp(a,"connected",!1),a.serverSyncTree_=new FB({startListening:(n,e,t,i)=>(a.server_.listen(n,t,e,(e,t)=>{var r=i(e,t);Lp(a.eventQueue_,n._path,r)}),[]),stopListening:(e,t)=>{a.server_.unlisten(e,t)}})}function qp(e){var t=e.infoData_.getNode(new nc(".info/serverTimeOffset")).val()||0;return(new Date).getTime()+t}function jp(e){return np({timestamp:qp(e)})}function Kp(e,t,r,n,i){e.dataUpdateCount++;var s,a,o,l,h,u,c=new nc(t);r=e.interceptServerDataCallback_?e.interceptServerDataCallback_(t,r):r;let d=[],B=c;0<(d=i?n?(u=ye(r,e=>Yc(e)),t=e.serverSyncTree_,s=c,a=u,(u=$B(t,i))?(o=(u=XB(u)).path,u=u.queryId,l=cc(o,s),h=Ld.fromObject(a),ZB(t,o,new Id(wd(u),l,h))):[]):(o=Yc(r),VB(e.serverSyncTree_,c,o,i)):n?(u=ye(r,e=>Yc(e)),s=e.serverSyncTree_,a=c,t=u,l=Ld.fromObject(t),zB(s,new Id(yd(),a,l))):(h=Yc(r),GB(e.serverSyncTree_,c,h))).length&&(B=ig(e,c)),Lp(e.eventQueue_,B,d)}function zp(e,t){if(Jp(e,"connected",t),!1===t){var a=e;eg(a,"onDisconnectEvents");let n=jp(a),i=gd(),s=(md(a.onDisconnect_,ic(),(e,t)=>{var r=op(e,t,a.serverSyncTree_,n);fd(i,e,r)}),[]);md(i,ic(),(e,t)=>{s=s.concat(GB(a.serverSyncTree_,e,t));var r=lg(a,e);ig(a,r)}),a.onDisconnect_=gd(),Lp(a.eventQueue_,ic(),s)}}function Jp(e,t,r){var n=new nc("/.info/"+t),i=Yc(r),i=(e.infoData_.updateSnapshot(n,i),GB(e.infoSyncTree_,n,i));Lp(e.eventQueue_,n,i)}function Wp(e){return e.nextWriteId_++}function Qp(n,i,e,t,s){eg(n,"set",{path:i.toString(),value:e,priority:t});var r=jp(n),a=Yc(e,t),o=jB(n.serverSyncTree_,i),o=lp(a,o,r);let l=Wp(n);r=LB(n.serverSyncTree_,i,o,l,!0),xp(n.eventQueue_,r),n.server_.put(i.toString(),a.val(!0),(e,t)=>{var r="ok"===e,r=(r||vu("set at "+i+" failed: "+e),UB(n.serverSyncTree_,l,!r));Lp(n.eventQueue_,i,r),tg(0,s,e,t)}),o=lg(n,i);ig(n,o),Lp(n.eventQueue_,o,[])}function Yp(r,n,i){r.server_.onDisconnectCancel(n.toString(),(e,t)=>{"ok"===e&&!function e(r,t){var n;return C(t)?(r.value=null,r.children.clear(),!0):null!==r.value?!r.value.isLeafNode()&&(n=r.value,r.value=null,n.forEachChild(Uc,(e,t)=>{fd(r,new nc(e),t)}),e(r,t)):!(0<r.children.size)||(n=m(t),t=ac(t),r.children.has(n)&&e(r.children.get(n),t)&&r.children.delete(n),0===r.children.size)}(r.onDisconnect_,n),tg(0,i,e,t)})}function $p(r,n,e,i){let s=Yc(e);r.server_.onDisconnectPut(n.toString(),s.val(!0),(e,t)=>{"ok"===e&&fd(r.onDisconnect_,n,s),tg(0,i,e,t)})}function Xp(e,t,r){let n;n=".info"===m(t._path)?HB(e.infoSyncTree_,t,r):HB(e.serverSyncTree_,t,r),Fp(e.eventQueue_,t._path,n)}function Zp(e){e.persistentConnection_&&e.persistentConnection_.interrupt(Up)}function eg(e,...t){let r="";e.persistentConnection_&&(r=e.persistentConnection_.id+":"),mu(r,...t)}function tg(e,n,i,s){n&&Ru(()=>{if("ok"===i)n(null);else{var t=(i||"error").toUpperCase();let e=t;s&&(e+=": "+s);var r=new Error(e);r.code=t,n(r)}})}function rg(e,t,r){return jB(e.serverSyncTree_,t,r)||v.EMPTY_NODE}function ng(o,l=o.transactionQueueTree_){if(l||og(o,l),dp(l)){var h=ag(o,l),e=(g(0<h.length,"Sending zero length transaction queue"),h.every(e=>0===e.status));if(e){var u=o;var c=fp(l);var d=h;let e=d.map(e=>e.currentWriteId),t=rg(u,c,e),r=t,n=t.hash();for(let a=0;a<d.length;a++){var B=d[a],p=(g(0===B.status,"tryToSendTransactionQueue_: items in queue should all be run."),B.status=1,B.retryCount++,cc(c,B.path));r=r.updateChild(p,B.currentOutputSnapshotRaw)}let i=r.val(!0),s=c;u.server_.put(s.toString(),i,t=>{eg(u,"transaction put response",{path:s.toString(),status:t});let r=[];if("ok"===t){var n=[];for(let e=0;e<d.length;e++)d[e].status=2,r=r.concat(UB(u.serverSyncTree_,d[e].currentWriteId)),d[e].onComplete&&n.push(()=>d[e].onComplete(null,!0,d[e].currentOutputSnapshotResolved)),d[e].unwatcher();og(u,cp(u.transactionQueueTree_,c)),ng(u,u.transactionQueueTree_),Lp(u.eventQueue_,c,r);for(let t=0;t<n.length;t++)Ru(n[t])}else{if("datastale"===t)for(let e=0;e<d.length;e++)3===d[e].status?d[e].status=4:d[e].status=0;else{vu("transaction at "+s.toString()+" failed: "+t);for(let e=0;e<d.length;e++)d[e].status=4,d[e].abortReason=t}ig(u,c)}},n)}}else pp(l)&&gp(l,e=>{ng(o,e)})}function ig(e,t){var r=sg(e,t),n=fp(r),r=ag(e,r),i=e,s=r,a=n;if(0!==s.length){var o=[];let r=[];var l=s.filter(e=>0===e.status).map(e=>e.currentWriteId);for(let n=0;n<s.length;n++){var h=s[n],u=cc(a,h.path);let e=!1,t;if(g(null!==u,"rerunTransactionsUnderNode_: relativePath should not be null."),4===h.status)e=!0,t=h.abortReason,r=r.concat(UB(i.serverSyncTree_,h.currentWriteId,!0));else if(0===h.status)if(h.retryCount>=Gp)e=!0,t="maxretry",r=r.concat(UB(i.serverSyncTree_,h.currentWriteId,!0));else{var u=rg(i,h.path,l),c=(h.currentInputSnapshot=u,s[n].update(u.val()));if(void 0!==c){Ap("transaction failed: Data returned ",c,h.path);let e=Yc(c);"object"==typeof c&&null!=c&&Ce(c,".priority")||(e=e.updatePriority(u.getPriority()));var c=h.currentWriteId,d=jp(i),u=lp(e,u,d);h.currentOutputSnapshotRaw=e,h.currentOutputSnapshotResolved=u,h.currentWriteId=Wp(i),l.splice(l.indexOf(c),1),r=(r=r.concat(LB(i.serverSyncTree_,h.path,u,h.currentWriteId,h.applyLocally))).concat(UB(i.serverSyncTree_,c,!0))}else e=!0,t="nodata",r=r.concat(UB(i.serverSyncTree_,h.currentWriteId,!0))}Lp(i.eventQueue_,a,r),r=[],e&&(s[n].status=2,(e=>{setTimeout(e,Math.floor(0))})(s[n].unwatcher),s[n].onComplete)&&("nodata"===t?o.push(()=>s[n].onComplete(null,!1,s[n].currentInputSnapshot)):o.push(()=>s[n].onComplete(new Error(t),!1,null)))}og(i,i.transactionQueueTree_);for(let e=0;e<o.length;e++)Ru(o[e]);ng(i,i.transactionQueueTree_)}return n}function sg(e,t){let r,n=e.transactionQueueTree_;for(r=m(t);null!==r&&void 0===dp(n);)n=cp(n,r),t=ac(t),r=m(t);return n}function ag(e,t){var r=[];return function t(r,e,n){let i=dp(e);if(i)for(let e=0;e<i.length;e++)n.push(i[e]);gp(e,e=>{t(r,e,n)})}(e,t,r),r.sort((e,t)=>e.order-t.order),r}function og(t,r){var n=dp(r);if(n){let e=0;for(let t=0;t<n.length;t++)2!==n[t].status&&(n[e]=n[t],e++);n.length=e,Bp(r,0<n.length?n:void 0)}gp(r,e=>{og(t,e)})}function lg(t,e){var r=fp(sg(t,e)),n=cp(t.transactionQueueTree_,e);return((e,t)=>{let r=e.parent;for(;null!==r;){if(t(r))return;r=r.parent}})(n,e=>{hg(t,e)}),hg(t,n),function t(e,r,n){n&&r(e),gp(e,e=>{t(e,r,!0)})}(n,e=>{hg(t,e)}),r}function hg(i,s){var a=dp(s);if(a){var o=[];let e=[],t=-1;for(let r=0;r<a.length;r++)3!==a[r].status&&(1===a[r].status?(g(t===r-1,"All SENT items should be at beginning of queue."),a[t=r].status=3,a[r].abortReason="set"):(g(0===a[r].status,"Unexpected transaction status in abort"),a[r].unwatcher(),e=e.concat(UB(i.serverSyncTree_,a[r].currentWriteId,!0)),a[r].onComplete&&o.push(a[r].onComplete.bind(null,new Error("set"),!1,null))));-1===t?Bp(s,void 0):a.length=t+1,Lp(i.eventQueue_,fp(s),e);for(let n=0;n<o.length;n++)Ru(o[n])}}let ug=function(e,t){var r=cg(e),n=r.namespace,i=("firebase.com"===r.domain&&Cu(r.host+" is no longer supported. Please use <YOUR FIREBASE>.firebaseio.com instead"),n&&"undefined"!==n||"localhost"===r.domain||Cu("Cannot parse Firebase url. Please use https://<YOUR FIREBASE>.firebaseio.com"),r.secure||_u(),"ws"===r.scheme||"wss"===r.scheme);return{repoInfo:new Uu(r.host,r.secure,n,i,t,"",n!==r.subdomain),path:new nc(r.pathString)}},cg=function(n){let i="",s="",a="",o="",l="",h=!0,u="https",c=443;if("string"==typeof n){let e=n.indexOf("//"),t=(0<=e&&(u=n.substring(0,e-1),n=n.substring(e+2)),n.indexOf("/")),r=(-1===t&&(t=n.length),n.indexOf("?"));-1===r&&(r=n.length),i=n.substring(0,Math.min(t,r)),t<r&&(o=(e=>{let t="";var r=e.split("/");for(let n=0;n<r.length;n++)if(0<r[n].length){let e=r[n];try{e=decodeURIComponent(e.replace(/\+/g," "))}catch(e){}t+="/"+e}return t})(n.substring(t,r)));var d=(e=>{var t,r,n={};for(t of(e="?"===e.charAt(0)?e.substring(1):e).split("&"))0!==t.length&&(2===(r=t.split("=")).length?n[decodeURIComponent(r[0])]=decodeURIComponent(r[1]):vu(`Invalid query segment '${t}' in query '${e}'`));return n})(n.substring(Math.min(n.length,r))),B=(0<=(e=i.indexOf(":"))?(h="https"===u||"wss"===u,c=parseInt(i.substring(e+1),10)):e=i.length,i.slice(0,e));"localhost"===B.toLowerCase()?s="localhost":B.split(".").length<=2?s=B:(B=i.indexOf("."),a=i.substring(0,B).toLowerCase(),s=i.substring(B+1),l=a),"ns"in d&&(l=d.ns)}return{host:i,port:c,domain:s,subdomain:a,secure:h,scheme:u,pathString:o,namespace:l}},dg="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz",Bg=(()=>{let s=0,a=[];return function(e){var t=e===s;s=e;let r;var n=new Array(8);for(r=7;0<=r;r--)n[r]=dg.charAt(e%64),e=Math.floor(e/64);g(0===e,"Cannot push at time == 0");let i=n.join("");if(t){for(r=11;0<=r&&63===a[r];r--)a[r]=0;a[r]++}else for(r=0;r<12;r++)a[r]=Math.floor(64*Math.random());for(r=0;r<12;r++)i+=dg.charAt(a[r]);return g(20===i.length,"nextPushId: Length should be 20."),i}})();class pg{constructor(e,t,r,n){this.eventType=e,this.eventRegistration=t,this.snapshot=r,this.prevName=n}getPath(){var e=this.snapshot.ref;return("value"===this.eventType?e:e.parent)._path}getEventType(){return this.eventType}getEventRunner(){return this.eventRegistration.getEventRunner(this)}toString(){return this.getPath().toString()+":"+this.eventType+":"+fe(this.snapshot.exportVal())}}class gg{constructor(e,t,r){this.eventRegistration=e,this.error=t,this.path=r}getPath(){return this.path}getEventType(){return"cancel"}getEventRunner(){return this.eventRegistration.getEventRunner(this)}toString(){return this.path.toString()+":cancel"}}class fg{constructor(e,t){this.snapshotCallback=e,this.cancelCallback=t}onValue(e,t){this.snapshotCallback.call(null,e,t)}onCancel(e){return g(this.hasCancelCallback,"Raising a cancel event on a listener with no cancel callback"),this.cancelCallback.call(null,e)}get hasCancelCallback(){return!!this.cancelCallback}matches(e){return this.snapshotCallback===e.snapshotCallback||void 0!==this.snapshotCallback.userCallback&&this.snapshotCallback.userCallback===e.snapshotCallback.userCallback&&this.snapshotCallback.context===e.snapshotCallback.context}}let mg=class{constructor(e,t){this._repo=e,this._path=t}cancel(){var e=new Z;return Yp(this._repo,this._path,e.wrapCallback(()=>{})),e.promise}remove(){Ep("OnDisconnect.remove",this._path);var e=new Z;return $p(this._repo,this._path,null,e.wrapCallback(()=>{})),e.promise}set(e){Ep("OnDisconnect.set",this._path),Cp("OnDisconnect.set",e,this._path,!1);var t=new Z;return $p(this._repo,this._path,e,t.wrapCallback(()=>{})),t.promise}setWithPriority(e,t){Ep("OnDisconnect.setWithPriority",this._path),Cp("OnDisconnect.setWithPriority",e,this._path,!1),_p("OnDisconnect.setWithPriority",t);var n=new Z;{var i=this._repo,s=this._path,a=n.wrapCallback(()=>{});let r=Yc(e,t);i.server_.onDisconnectPut(s.toString(),r.val(!0),(e,t)=>{"ok"===e&&fd(i.onDisconnect_,s,r),tg(0,a,e,t)})}return n.promise}update(e){Ep("OnDisconnect.update",this._path),vp("OnDisconnect.update",e,this._path);var n,i,r,s,t=new Z;return n=this._repo,i=this._path,r=e,s=t.wrapCallback(()=>{}),_e(r)?(mu("onDisconnect().update() called with empty data. Don't do anything."),tg(0,s,"ok",void 0)):n.server_.onDisconnectMerge(i.toString(),r,(e,t)=>{"ok"===e&&bu(r,(e,t)=>{var r=Yc(t);fd(n.onDisconnect_,uc(i,e),r)}),tg(0,s,e,t)}),t.promise}};class Cg{constructor(e,t,r,n){this._repo=e,this._path=t,this._queryParams=r,this._orderByCalled=n}get key(){return C(this._path)?null:oc(this._path)}get ref(){return new wg(this._repo,this._path)}get _queryIdentifier(){var e=dd(this._queryParams),e=ou(e);return"{}"===e?"default":e}get _queryObject(){return dd(this._queryParams)}isEqual(e){var t,r,n;return(e=_(e))instanceof Cg&&(t=this._repo===e._repo,r=Bc(this._path,e._path),n=this._queryIdentifier===e._queryIdentifier,t)&&r&&n}toJSON(){return this.toString()}toString(){return this._repo.toString()+(e=>{let t="";for(let r=e.pieceNum_;r<e.pieces_.length;r++)""!==e.pieces_[r]&&(t+="/"+encodeURIComponent(String(e.pieces_[r])));return t||"/"})(this._path)}}function vg(e,t){if(!0===e._orderByCalled)throw new Error(t+": You can't combine multiple orderBy calls.")}function _g(e){let t=null,r=null;if(e.hasStart()&&(t=e.getIndexStartValue()),e.hasEnd()&&(r=e.getIndexEndValue()),e.getIndex()===Dc){var n="Query: When ordering by key, you may only pass one argument to startAt(), endAt(), or equalTo().",i="Query: When ordering by key, the argument passed to startAt(), startAfter(), endAt(), endBefore(), or equalTo() must be a string.";if(e.hasStart()){if(e.getIndexStartName()!==wu)throw new Error(n);if("string"!=typeof t)throw new Error(i)}if(e.hasEnd()){if(e.getIndexEndName()!==Eu)throw new Error(n);if("string"!=typeof r)throw new Error(i)}}else if(e.getIndex()===Uc){if(null!=t&&!Np(t)||null!=r&&!Np(r))throw new Error("Query: When ordering by priority, the first argument passed to startAt(), startAfter() endAt(), endBefore(), or equalTo() must be a valid priority value (null, a number, or a string).")}else if(g(e.getIndex()instanceof $c||e.getIndex()===Zc,"unknown index type."),null!=t&&"object"==typeof t||null!=r&&"object"==typeof r)throw new Error("Query: First argument passed to startAt(), startAfter(), endAt(), endBefore(), or equalTo() cannot be an object.")}function yg(e){if(e.hasStart()&&e.hasEnd()&&e.hasLimit()&&!e.hasAnchoredLimit())throw new Error("Query: Can't combine startAt(), startAfter(), endAt(), endBefore(), and limit(). Use limitToFirst() or limitToLast() instead.")}class wg extends Cg{constructor(e,t){super(e,t,new od,!1)}get parent(){var e=hc(this._path);return null===e?null:new wg(this._repo,e)}get root(){let e=this;for(;null!==e.parent;)e=e.parent;return e}}let Eg=class ff{constructor(e,t,r){this._node=e,this.ref=t,this._index=r}get priority(){return this._node.getPriority().val()}get key(){return this.ref.key}get size(){return this._node.numChildren()}child(e){var t=new nc(e),r=Ig(this.ref,e);return new ff(this._node.getChild(t),r,Uc)}exists(){return!this._node.isEmpty()}exportVal(){return this._node.val(!0)}forEach(r){return!this._node.isLeafNode()&&!!this._node.forEachChild(this._index,(e,t)=>r(new ff(t,Ig(this.ref,e),Uc)))}hasChild(e){var t=new nc(e);return!this._node.getChild(t).isEmpty()}hasChildren(){return!this._node.isLeafNode()&&!this._node.isEmpty()}toJSON(){return this.exportVal()}val(){return this._node.val()}};function Dg(e,t){return(e=_(e))._checkNotDeleted("ref"),void 0!==t?Ig(e._root,t):e._root}function bg(e,t){(e=_(e))._checkNotDeleted("refFromURL");var r=ug(t,e._repo.repoInfo_.nodeAdmin),n=(Op("refFromURL",r),r.repoInfo);return e._repo.repoInfo_.isCustomHost()||n.host===e._repo.repoInfo_.host||Cu("refFromURL: Host name does not match the current database: (found "+n.host+" but expected "+e._repo.repoInfo_.host+")"),Dg(e,r.path.toString())}function Ig(e,t){return(null===m((e=_(e))._path)?wp:Rp)("child","path",t),new wg(e._repo,uc(e._path,t))}function Tg(e,t){e=_(e),Ep("set",e._path),Cp("set",t,e._path,!1);var r=new Z;return Qp(e._repo,e._path,t,null,r.wrapCallback(()=>{})),r.promise}function Sg(e,t){vp("update",t,e._path);var i=new Z;{var a=e._repo,o=e._path,l=(e=t,i.wrapCallback(()=>{}));eg(a,"update",{path:o.toString(),value:e});let r=!0,n=jp(a),s={};if(bu(e,(e,t)=>{r=!1,s[e]=op(uc(o,e),Yc(t),a.serverSyncTree_,n)}),r)mu("update() called with empty data. Don't do anything."),tg(0,l,"ok",void 0);else{let i=Wp(a);var h=MB(a.serverSyncTree_,o,s,i);xp(a.eventQueue_,h),a.server_.merge(o.toString(),e,(e,t)=>{var r="ok"===e,r=(r||vu("update at "+o+" failed: "+e),UB(a.serverSyncTree_,i,!r)),n=0<r.length?ig(a,o):o;Lp(a.eventQueue_,n,r),tg(0,l,e,t)}),bu(e,e=>{var t=lg(a,uc(o,e));ig(a,t)}),Lp(a.eventQueue_,o,[])}}return i.promise}function kg(t){t=_(t);var i,s,a,e=new fg(()=>{}),e=new Ng(e);return i=t._repo,s=t,a=e,(null!=(e=KB(i.serverSyncTree_,s))?Promise.resolve(e):i.server_.get(s).then(e=>{var t,r=Yc(e).withIndex(s._queryParams.getIndex());qB(i.serverSyncTree_,s,a,!0);let n;return n=s._queryParams.loadsAllData()?GB(i.serverSyncTree_,s._path,r):(t=QB(i.serverSyncTree_,s),VB(i.serverSyncTree_,s._path,r,t)),Lp(i.eventQueue_,s._path,n),HB(i.serverSyncTree_,s,a,null,!0),r},e=>(eg(i,"get for query "+fe(s)+" failed: "+e),Promise.reject(new Error(e))))).then(e=>new Eg(e,new wg(t._repo,t._path),t._queryParams.getIndex()))}class Ng{constructor(e){this.callbackContext=e}respondsTo(e){return"value"===e}createEvent(e,t){var r=t._queryParams.getIndex();return new pg("value",this,new Eg(e.snapshotNode,new wg(t._repo,t._path),r))}getEventRunner(e){return"cancel"===e.getEventType()?()=>this.callbackContext.onCancel(e.error):()=>this.callbackContext.onValue(e.snapshot,null)}createCancelEvent(e,t){return this.callbackContext.hasCancelCallback?new gg(this,e,t):null}matches(e){return e instanceof Ng&&(!e.callbackContext||!this.callbackContext||e.callbackContext.matches(this.callbackContext))}hasAnyCallback(){return null!==this.callbackContext}}class Ag{constructor(e,t){this.eventType=e,this.callbackContext=t}respondsTo(e){var t="children_added"===e?"child_added":e;return this.eventType===("children_removed"===t?"child_removed":t)}createCancelEvent(e,t){return this.callbackContext.hasCancelCallback?new gg(this,e,t):null}createEvent(e,t){g(null!=e.childName,"Child events should have a childName.");var r=Ig(new wg(t._repo,t._path),e.childName),n=t._queryParams.getIndex();return new pg(e.type,this,new Eg(e.snapshotNode,r,n),e.prevName)}getEventRunner(e){return"cancel"===e.getEventType()?()=>this.callbackContext.onCancel(e.error):()=>this.callbackContext.onValue(e.snapshot,e.prevName)}matches(e){return e instanceof Ag&&this.eventType===e.eventType&&(!this.callbackContext||!e.callbackContext||this.callbackContext.matches(e.callbackContext))}hasAnyCallback(){return!!this.callbackContext}}function Rg(n,e,t,r,i){let s;if("object"==typeof r&&(s=void 0,i=r),"function"==typeof r&&(s=r),i&&i.onlyOnce){let r=t;var a=(e,t)=>{Xp(n._repo,n,o),r(e,t)};a.userCallback=t.userCallback,a.context=t.context,t=a}a=new fg(t,s||void 0);let o="value"===e?new Ng(a):new Ag(e,a);{r=n._repo,i=n,t=o;let e;e=".info"===m(i._path)?qB(r.infoSyncTree_,i,t):qB(r.serverSyncTree_,i,t),Fp(r.eventQueue_,i._path,e)}return()=>Xp(n._repo,n,o)}function Og(e,t,r,n){return Rg(e,"value",t,r,n)}function Pg(e,t,r,n){Rg(e,"child_added",t,r,n)}function xg(e,t,r,n){Rg(e,"child_changed",t,r,n)}function Fg(e,t,r,n){Rg(e,"child_moved",t,r,n)}function Lg(e,t,r,n){Rg(e,"child_removed",t,r,n)}function Mg(e,t,r){let n=null;var i=r?new fg(r):null;"value"===t?n=new Ng(i):t&&(n=new Ag(t,i)),Xp(e._repo,e,n)}t=class{};let Ug=class extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="endAt"}_apply(e){Cp("endAt",this._value,e._path,!0);var t=hd(e._queryParams,this._value,this._key);if(yg(t),_g(t),e._queryParams.hasEnd())throw new Error("endAt: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new Cg(e._repo,e._path,t,e._orderByCalled)}};class Gg extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="endBefore"}_apply(e){Cp("endBefore",this._value,e._path,!1);var t=((e,t,r)=>{let n;return(n=e.index_===Dc||r?hd(e,t,r):hd(e,t,wu)).endBeforeSet_=!0,n})(e._queryParams,this._value,this._key);if(yg(t),_g(t),e._queryParams.hasEnd())throw new Error("endBefore: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new Cg(e._repo,e._path,t,e._orderByCalled)}}let Hg=class extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="startAt"}_apply(e){Cp("startAt",this._value,e._path,!0);var t=ld(e._queryParams,this._value,this._key);if(yg(t),_g(t),e._queryParams.hasStart())throw new Error("startAt: Starting point was already set (by another call to startAt, startBefore or equalTo).");return new Cg(e._repo,e._path,t,e._orderByCalled)}};class Vg extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="startAfter"}_apply(e){Cp("startAfter",this._value,e._path,!1);var t=((e,t,r)=>{let n;return(n=e.index_===Dc||r?ld(e,t,r):ld(e,t,Eu)).startAfterSet_=!0,n})(e._queryParams,this._value,this._key);if(yg(t),_g(t),e._queryParams.hasStart())throw new Error("startAfter: Starting point was already set (by another call to startAt, startAfter, or equalTo).");return new Cg(e._repo,e._path,t,e._orderByCalled)}}class qg extends t{constructor(e){super(),this._limit=e,this.type="limitToFirst"}_apply(e){if(e._queryParams.hasLimit())throw new Error("limitToFirst: Limit was already set (by another call to limitToFirst or limitToLast).");return new Cg(e._repo,e._path,(t=e._queryParams,r=this._limit,(n=t.copy()).limitSet_=!0,n.limit_=r,n.viewFrom_="l",n),e._orderByCalled);var t,r,n}}class jg extends t{constructor(e){super(),this._limit=e,this.type="limitToLast"}_apply(e){if(e._queryParams.hasLimit())throw new Error("limitToLast: Limit was already set (by another call to limitToFirst or limitToLast).");return new Cg(e._repo,e._path,(t=e._queryParams,r=this._limit,(n=t.copy()).limitSet_=!0,n.limit_=r,n.viewFrom_="r",n),e._orderByCalled);var t,r,n}}class Kg extends t{constructor(e){super(),this._path=e,this.type="orderByChild"}_apply(e){vg(e,"orderByChild");var t=new nc(this._path);if(C(t))throw new Error("orderByChild: cannot pass in empty path. Use orderByValue() instead.");t=new $c(t),t=ud(e._queryParams,t);return _g(t),new Cg(e._repo,e._path,t,!0)}}class zg extends t{constructor(){super(...arguments),this.type="orderByKey"}_apply(e){vg(e,"orderByKey");var t=ud(e._queryParams,Dc);return _g(t),new Cg(e._repo,e._path,t,!0)}}class Jg extends t{constructor(){super(...arguments),this.type="orderByPriority"}_apply(e){vg(e,"orderByPriority");var t=ud(e._queryParams,Uc);return _g(t),new Cg(e._repo,e._path,t,!0)}}class Wg extends t{constructor(){super(...arguments),this.type="orderByValue"}_apply(e){vg(e,"orderByValue");var t=ud(e._queryParams,Zc);return _g(t),new Cg(e._repo,e._path,t,!0)}}class Qg extends t{constructor(e,t){super(),this._value=e,this._key=t,this.type="equalTo"}_apply(e){if(Cp("equalTo",this._value,e._path,!1),e._queryParams.hasStart())throw new Error("equalTo: Starting point was already set (by another call to startAt/startAfter or equalTo).");if(e._queryParams.hasEnd())throw new Error("equalTo: Ending point was already set (by another call to endAt/endBefore or equalTo).");return new Ug(this._value,this._key)._apply(new Hg(this._value,this._key)._apply(e))}}function Yg(e,...t){let r=_(e);for(var n of t)r=n._apply(r);return r}a=wg,g(!wB,"__referenceConstructor has already been defined"),wB=a,a=wg,g(!PB,"__referenceConstructor has already been defined"),PB=a;let $g="FIREBASE_DATABASE_EMULATOR_HOST",Xg={},Zg=!1;function ef(e,t,r,n,i){let s=n||e.options.databaseURL,a=(void 0===s&&(e.options.projectId||Cu("Can't determine Firebase Database URL. Be sure to include a Project ID when calling firebase.initializeApp()."),mu("Using default host for project ",e.options.projectId),s=e.options.projectId+"-default-rtdb.firebaseio.com"),ug(s,i)),o=a.repoInfo,l,h=void 0;(h="undefined"!=typeof process&&process.env?process.env[$g]:h)?(l=!0,s=`http://${h}?ns=`+o.namespace,a=ug(s,i),o=a.repoInfo):l=!a.repoInfo.secure;var u=i&&l?new xu(xu.OWNER):new Pu(e.name,e.options,t),u=(Op("Invalid Firebase Database URL",a),C(a.path)||Cu("Database URL must point to the root of a Firebase Database (not including a child path)."),((e,t,r,n)=>{let i=Xg[t.name];var s;return i||(i={},Xg[t.name]=i),(s=i[e.toURLString()])&&Cu("Database initialized multiple times. Please make sure the format of the database URL matches with each database() call."),s=new Hp(e,Zg,r,n),i[e.toURLString()]=s})(o,e,u,new Ou(e,r)));return new tf(u,e)}let tf=class{constructor(e,t){this._repoInternal=e,this.app=t,this.type="database",this._instanceStarted=!1}get _repo(){return this._instanceStarted||(Vp(this._repoInternal,this.app.options.appId,this.app.options.databaseAuthVariableOverride),this._instanceStarted=!0),this._repoInternal}get _root(){return this._rootInternal||(this._rootInternal=new wg(this._repo,ic())),this._rootInternal}_delete(){var e,t,r;return null!==this._rootInternal&&(e=this._repo,t=this.app.name,(r=Xg[t])&&r[e.key]===e||Cu(`Database ${t}(${e.repoInfo_}) has already been deleted.`),Zp(e),delete r[e.key],this._repoInternal=null,this._rootInternal=null),Promise.resolve()}_checkNotDeleted(e){null===this._rootInternal&&Cu("Cannot call "+e+" on a deleted database.")}};function rf(){Yu.IS_TRANSPORT_INITIALIZED&&vu("Transport has already been initialized. Please call this function before calling ref or setting up a listener")}function nf(){rf(),zu.forceDisallow()}function sf(){rf(),Qu.forceDisallow(),zu.forceAllow()}function af(e,t,r,n={}){(e=_(e))._checkNotDeleted("useEmulator");var i,s=t+":"+r,a=e._repoInternal;if(e._instanceStarted){if(s===e._repoInternal.repoInfo_.host&&we(n,a.repoInfo_.emulatorOptions))return;Cu("connectDatabaseEmulator() cannot initialize or alter the emulator configuration after the database instance has started.")}let o=void 0;a.repoInfo_.nodeAdmin?(n.mockUserToken&&Cu('mockUserToken is not supported by the Admin SDK. For client access with mock users, please use the "firebase" package instead of "firebase-admin".'),o=new xu(xu.OWNER)):n.mockUserToken&&(i="string"==typeof n.mockUserToken?n.mockUserToken:ee(n.mockUserToken,e.app.options.projectId),o=new xu(i)),Ge(t)&&He(t),r=a,e=s,t=n,n=o,i=e.lastIndexOf(":"),i=Ge(e.substring(0,i)),r.repoInfo_=new Uu(e,i,r.repoInfo_.namespace,r.repoInfo_.webSocketOnly,r.repoInfo_.nodeAdmin,r.repoInfo_.persistenceKey,r.repoInfo_.includeNamespaceInQueryParams,!0,t),n&&(r.authTokenProvider_=n)}function of(e){(e=_(e))._checkNotDeleted("goOnline"),(e=e._repo).persistentConnection_&&e.persistentConnection_.resume(Up)}function lf(e,t){fu(e,t)}let hf={".sv":"timestamp"};let uf=class{constructor(e,t){this.committed=e,this.snapshot=t}toJSON(){return{committed:this.committed,snapshot:this.snapshot.toJSON()}}};function cf(i,e,t){if(i=_(i),Ep("Reference.transaction",i._path),".length"===i.key||".keys"===i.key)throw"Reference.transaction failed: "+i.key+" is a read-only object.";var r=t?.applyLocally??!0;let s=new Z;var n=Og(i,()=>{}),t=i._repo,a=i._path,o=(e,t,r)=>{var n;e?s.reject(e):(n=new Eg(r,new wg(i._repo,i._path),Uc),s.resolve(new uf(t,n)))},l=n,h=r;eg(t,"transaction on "+a);var u,n={path:a,update:e,onComplete:o,status:null,order:du(),applyLocally:h,retryCount:0,unwatcher:l,abortReason:null,currentWriteId:null,currentInputSnapshot:null,currentOutputSnapshotRaw:null,currentOutputSnapshotResolved:null},r=rg(t,a,void 0);if(n.currentInputSnapshot=r,void 0===(u=n.update(r.val())))n.unwatcher(),n.currentOutputSnapshotRaw=null,n.currentOutputSnapshotResolved=null,n.onComplete&&n.onComplete(null,!1,n.currentInputSnapshot);else{Ap("transaction failed: Data returned ",u,n.path),n.status=0;var c=cp(t.transactionQueueTree_,a),d=dp(c)||[];d.push(n),Bp(c,d);let e;"object"==typeof u&&null!==u&&Ce(u,".priority")?(e=ve(u,".priority"),g(Np(e),"Invalid priority returned by transaction. Priority must be a valid string, finite number, server value, or null.")):(c=jB(t.serverSyncTree_,a)||v.EMPTY_NODE,e=c.getPriority().val());d=jp(t),c=Yc(u,e),u=lp(c,r,d),r=(n.currentOutputSnapshotRaw=c,n.currentOutputSnapshotResolved=u,n.currentWriteId=Wp(t),LB(t.serverSyncTree_,a,u,n.currentWriteId,n.applyLocally));Lp(t.eventQueue_,a,r),ng(t,t.transactionQueueTree_)}return s.promise}vc.prototype.simpleListen=function(e,t){this.sendRequest("q",{p:e},t)},vc.prototype.echo=function(e,t){this.sendRequest("echo",{d:e},t)},Xh(Lt),St(new Ve("database",(e,{instanceIdentifier:t})=>ef(e.getProvider("app").getImmediate(),e.getProvider("auth-internal"),e.getProvider("app-check-internal"),t),"PUBLIC").setMultipleInstances(!0)),Ht(Yh,"1.1.4",AL),Ht(Yh,"1.1.4","esm2020");function df(e){var t="FIREBASE WARNING: "+e;Bf.warn(t)}let Bf=new $e("@firebase/database-compat");class pf{constructor(e){this._delegate=e}cancel(t){l("OnDisconnect.cancel",0,1,arguments.length),Re("OnDisconnect.cancel","onComplete",t,!0);var e=this._delegate.cancel();return t&&e.then(()=>t(null),e=>t(e)),e}remove(t){l("OnDisconnect.remove",0,1,arguments.length),Re("OnDisconnect.remove","onComplete",t,!0);var e=this._delegate.remove();return t&&e.then(()=>t(null),e=>t(e)),e}set(e,t){l("OnDisconnect.set",1,2,arguments.length),Re("OnDisconnect.set","onComplete",t,!0);var r=this._delegate.set(e);return t&&r.then(()=>t(null),e=>t(e)),r}setWithPriority(e,t,r){l("OnDisconnect.setWithPriority",2,3,arguments.length),Re("OnDisconnect.setWithPriority","onComplete",r,!0);var n=this._delegate.setWithPriority(e,t);return r&&n.then(()=>r(null),e=>r(e)),n}update(t,r){if(l("OnDisconnect.update",1,2,arguments.length),Array.isArray(t)){var n={};for(let e=0;e<t.length;++e)n[""+e]=t[e];t=n,df("Passing an Array to firebase.database.onDisconnect().update() is deprecated. Use set() if you want to overwrite the existing data, or an Object with integer keys if you really do want to only update some of the children.")}Re("OnDisconnect.update","onComplete",r,!0);var e=this._delegate.update(t);return r&&e.then(()=>r(null),e=>r(e)),e}}class gf{constructor(e,t){this.committed=e,this.snapshot=t}toJSON(){return l("TransactionResult.toJSON",0,1,arguments.length),{committed:this.committed,snapshot:this.snapshot.toJSON()}}}class ff{constructor(e,t){this._database=e,this._delegate=t}val(){return l("DataSnapshot.val",0,0,arguments.length),this._delegate.val()}exportVal(){return l("DataSnapshot.exportVal",0,0,arguments.length),this._delegate.exportVal()}toJSON(){return l("DataSnapshot.toJSON",0,1,arguments.length),this._delegate.toJSON()}exists(){return l("DataSnapshot.exists",0,0,arguments.length),this._delegate.exists()}child(e){return l("DataSnapshot.child",0,1,arguments.length),e=String(e),Rp("DataSnapshot.child","path",e),new ff(this._database,this._delegate.child(e))}hasChild(e){return l("DataSnapshot.hasChild",1,1,arguments.length),Rp("DataSnapshot.hasChild","path",e),this._delegate.hasChild(e)}getPriority(){return l("DataSnapshot.getPriority",0,0,arguments.length),this._delegate.priority}forEach(t){return l("DataSnapshot.forEach",1,1,arguments.length),Re("DataSnapshot.forEach","action",t,!1),this._delegate.forEach(e=>t(new ff(this._database,e)))}hasChildren(){return l("DataSnapshot.hasChildren",0,0,arguments.length),this._delegate.hasChildren()}get key(){return this._delegate.key}numChildren(){return l("DataSnapshot.numChildren",0,0,arguments.length),this._delegate.size}getRef(){return l("DataSnapshot.ref",0,0,arguments.length),new Cf(this._database,this._delegate.ref)}get ref(){return this.getRef()}}let mf=class AR{constructor(e,t){this.database=e,this._delegate=t}on(e,r,t,n){l("Query.on",2,4,arguments.length),Re("Query.on","callback",r,!1);let i=AR.getCancelAndContextArgs_("Query.on",t,n);var s=(e,t)=>{r.call(i.context,new ff(this.database,e),t)},a=(s.userCallback=r,s.context=i.context,i.cancel?.bind(i.context));switch(e){case"value":return Og(this._delegate,s,a),r;case"child_added":return Pg(this._delegate,s,a),r;case"child_removed":return Lg(this._delegate,s,a),r;case"child_changed":return xg(this._delegate,s,a),r;case"child_moved":return Fg(this._delegate,s,a),r;default:throw new Error(Ae("Query.on","eventType")+'must be a valid event type = "value", "child_added", "child_removed", "child_changed", or "child_moved".')}}off(e,t,r){l("Query.off",0,3,arguments.length);var n,i="Query.off",s=e;if(void 0!==s)switch(s){case"value":case"child_added":case"child_removed":case"child_changed":case"child_moved":break;default:throw new Error(Ae(i,"eventType")+'must be a valid event type = "value", "child_added", "child_removed", "child_changed", or "child_moved".')}Re("Query.off","callback",t,!0),Oe("Query.off","context",r),t?((n=()=>{}).userCallback=t,n.context=r,Mg(this._delegate,e,n)):Mg(this._delegate,e)}get(){return kg(this._delegate).then(e=>new ff(this.database,e))}once(e,n,t,r){l("Query.once",1,4,arguments.length),Re("Query.once","callback",n,!0);let i=AR.getCancelAndContextArgs_("Query.once",t,r),s=new Z;var a=(e,t)=>{var r=new ff(this.database,e);n&&n.call(i.context,r,t),s.resolve(r)},o=(a.userCallback=n,a.context=i.context,e=>{i.cancel&&i.cancel.call(i.context,e),s.reject(e)});switch(e){case"value":Og(this._delegate,a,o,{onlyOnce:!0});break;case"child_added":Pg(this._delegate,a,o,{onlyOnce:!0});break;case"child_removed":Lg(this._delegate,a,o,{onlyOnce:!0});break;case"child_changed":xg(this._delegate,a,o,{onlyOnce:!0});break;case"child_moved":Fg(this._delegate,a,o,{onlyOnce:!0});break;default:throw new Error(Ae("Query.once","eventType")+'must be a valid event type = "value", "child_added", "child_removed", "child_changed", or "child_moved".')}return s.promise}limitToFirst(e){return l("Query.limitToFirst",1,1,arguments.length),new AR(this.database,Yg(this._delegate,(e=>{if("number"!=typeof e||Math.floor(e)!==e||e<=0)throw new Error("limitToFirst: First argument must be a positive integer.");return new qg(e)})(e)))}limitToLast(e){return l("Query.limitToLast",1,1,arguments.length),new AR(this.database,Yg(this._delegate,(e=>{if("number"!=typeof e||Math.floor(e)!==e||e<=0)throw new Error("limitToLast: First argument must be a positive integer.");return new jg(e)})(e)))}orderByChild(e){return l("Query.orderByChild",1,1,arguments.length),new AR(this.database,Yg(this._delegate,(e=>{if("$key"===e)throw new Error('orderByChild: "$key" is invalid. Use orderByKey() instead.');if("$priority"===e)throw new Error('orderByChild: "$priority" is invalid. Use orderByPriority() instead.');if("$value"===e)throw new Error('orderByChild: "$value" is invalid. Use orderByValue() instead.');return Rp("orderByChild","path",e),new Kg(e)})(e)))}orderByKey(){return l("Query.orderByKey",0,0,arguments.length),new AR(this.database,Yg(this._delegate,new zg))}orderByPriority(){return l("Query.orderByPriority",0,0,arguments.length),new AR(this.database,Yg(this._delegate,new Jg))}orderByValue(){return l("Query.orderByValue",0,0,arguments.length),new AR(this.database,Yg(this._delegate,new Wg))}startAt(e=null,t){return l("Query.startAt",0,2,arguments.length),new AR(this.database,Yg(this._delegate,([e=null,t]=[e,t],yp("startAt","key",t),new Hg(e,t))))}startAfter(e=null,t){return l("Query.startAfter",0,2,arguments.length),new AR(this.database,Yg(this._delegate,(e=e,t=t,yp("startAfter","key",t),new Vg(e,t))))}endAt(e=null,t){return l("Query.endAt",0,2,arguments.length),new AR(this.database,Yg(this._delegate,(e=e,t=t,yp("endAt","key",t),new Ug(e,t))))}endBefore(e=null,t){return l("Query.endBefore",0,2,arguments.length),new AR(this.database,Yg(this._delegate,(e=e,t=t,yp("endBefore","key",t),new Gg(e,t))))}equalTo(e,t){return l("Query.equalTo",1,2,arguments.length),new AR(this.database,Yg(this._delegate,(e=e,t=t,yp("equalTo","key",t),new Qg(e,t))))}toString(){return l("Query.toString",0,0,arguments.length),this._delegate.toString()}toJSON(){return l("Query.toJSON",0,1,arguments.length),this._delegate.toJSON()}isEqual(e){if(l("Query.isEqual",1,1,arguments.length),e instanceof AR)return this._delegate.isEqual(e._delegate);throw new Error("Query.isEqual failed: First argument must be an instance of firebase.database.Query.")}static getCancelAndContextArgs_(e,t,r){var n={cancel:void 0,context:void 0};if(t&&r)n.cancel=t,Re(e,"cancel",n.cancel,!0),n.context=r,Oe(e,"context",n.context);else if(t)if("object"==typeof t&&null!==t)n.context=t;else{if("function"!=typeof t)throw new Error(Ae(e,"cancelOrContext")+" must either be a cancel callback or a context object.");n.cancel=t}return n}get ref(){return new Cf(this.database,new wg(this._delegate._repo,this._delegate._path))}},Cf=class Zx extends mf{constructor(e,t){super(e,new Cg(t._repo,t._path,new od,!1)),this.database=e,this._delegate=t}getKey(){return l("Reference.key",0,0,arguments.length),this._delegate.key}child(e){return l("Reference.child",1,1,arguments.length),"number"==typeof e&&(e=String(e)),new Zx(this.database,Ig(this._delegate,e))}getParent(){l("Reference.parent",0,0,arguments.length);var e=this._delegate.parent;return e?new Zx(this.database,e):null}getRoot(){return l("Reference.root",0,0,arguments.length),new Zx(this.database,this._delegate.root)}set(e,t){l("Reference.set",1,2,arguments.length),Re("Reference.set","onComplete",t,!0);var r=Tg(this._delegate,e);return t&&r.then(()=>t(null),e=>t(e)),r}update(t,r){if(l("Reference.update",1,2,arguments.length),Array.isArray(t)){var n={};for(let e=0;e<t.length;++e)n[""+e]=t[e];t=n,df("Passing an Array to Firebase.update() is deprecated. Use set() if you want to overwrite the existing data, or an Object with integer keys if you really do want to only update some of the children.")}Ep("Reference.update",this._delegate._path),Re("Reference.update","onComplete",r,!0);var e=Sg(this._delegate,t);return r&&e.then(()=>r(null),e=>r(e)),e}setWithPriority(e,t,r){l("Reference.setWithPriority",2,3,arguments.length),Re("Reference.setWithPriority","onComplete",r,!0);var n=((e,t,r)=>{if(Ep("setWithPriority",e._path),Cp("setWithPriority",t,e._path,!1),_p("setWithPriority",r),".length"===e.key||".keys"===e.key)throw"setWithPriority failed: "+e.key+" is a read-only object.";var n=new Z;return Qp(e._repo,e._path,t,r,n.wrapCallback(()=>{})),n.promise})(this._delegate,e,t);return r&&n.then(()=>r(null),e=>r(e)),n}remove(t){l("Reference.remove",0,1,arguments.length),Re("Reference.remove","onComplete",t,!0);e=this._delegate,Ep("remove",e._path);var e,r=Tg(e,null);return t&&r.then(()=>t(null),e=>t(e)),r}transaction(e,t,r){l("Reference.transaction",1,3,arguments.length),Re("Reference.transaction","transactionUpdate",e,!1),Re("Reference.transaction","onComplete",t,!0);var n="Reference.transaction",i="applyLocally",s=r;if(void 0!==s&&"boolean"!=typeof s)throw new Error(Ae(n,i)+"must be a boolean.");var a=cf(this._delegate,e,{applyLocally:r}).then(e=>new gf(e.committed,new ff(this.database,e.snapshot)));return t&&a.then(e=>t(null,e.committed,e.snapshot),e=>t(e,!1,null)),a}setPriority(e,t){l("Reference.setPriority",1,2,arguments.length),Re("Reference.setPriority","onComplete",t,!0);r=this._delegate,e=e,r=_(r),Ep("setPriority",r._path),_p("setPriority",e),n=new Z,Qp(r._repo,uc(r._path,".priority"),e,null,n.wrapCallback(()=>{}));var r,n=n.promise;return t&&n.then(()=>t(null),e=>t(e)),n}push(e,t){l("Reference.push",0,2,arguments.length),Re("Reference.push","onComplete",t,!0);var r=((e,t)=>{e=_(e),Ep("push",e._path),Cp("push",t,e._path,!0);var r=qp(e._repo),r=Bg(r),n=Ig(e,r);let i=Ig(e,r),s;return s=null!=t?Tg(i,t).then(()=>i):Promise.resolve(i),n.then=s.then.bind(s),n.catch=s.then.bind(s,void 0),n})(this._delegate,e),n=r.then(e=>new Zx(this.database,e)),r=(t&&n.then(()=>t(null),e=>t(e)),new Zx(this.database,r));return r.then=n.then.bind(n),r.catch=n.catch.bind(n,void 0),r}onDisconnect(){return Ep("Reference.onDisconnect",this._delegate._path),new pf(new mg(this._delegate._repo,this._delegate._path))}get key(){return this.getKey()}get parent(){return this.getParent()}get root(){return this.getRoot()}};class vf{constructor(e,t){this._delegate=e,this.app=t,this.INTERNAL={delete:()=>this._delegate._delete(),forceWebSockets:nf,forceLongPolling:sf}}useEmulator(e,t,r={}){af(this._delegate,e,t,r)}ref(e){var t;return l("database.ref",0,1,arguments.length),e instanceof Cf?(t=bg(this._delegate,e.toString()),new Cf(this,t)):(t=Dg(this._delegate,e),new Cf(this,t))}refFromURL(e){l("database.refFromURL",1,1,arguments.length);var t=bg(this._delegate,e);return new Cf(this,t)}goOffline(){var e;l("database.goOffline",0,0,arguments.length),(e=_(e=this._delegate))._checkNotDeleted("goOffline"),Zp(e._repo)}goOnline(){return l("database.goOnline",0,0,arguments.length),of(this._delegate)}}vf.ServerValue={TIMESTAMP:hf,increment:e=>({".sv":{increment:e}})};var _f=Object.freeze({__proto__:null,initStandalone:function({app:e,url:t,version:r,customAuthImpl:n,customAppCheckImpl:i,namespace:s,nodeAdmin:a=!1}){Xh(r);var o=new Ke("database-standalone"),l=new je("auth-internal",o);l.setComponent(new Ve("auth-internal",()=>n,"PRIVATE"));let h=void 0;return i&&(h=new je("app-check-internal",o)).setComponent(new Ve("app-check-internal",()=>i,"PRIVATE")),{instance:new vf(ef(e,l,h,t,a),e),namespace:s}}});let yf=vf.ServerValue;(a=or).INTERNAL.registerComponent(new Ve("database-compat",(e,{instanceIdentifier:t})=>{var r=e.getProvider("app-compat").getImmediate(),n=e.getProvider("database").getImmediate({identifier:t});return new vf(n,r)},"PUBLIC").setServiceProps({Reference:Cf,Query:mf,Database:vf,DataSnapshot:ff,enableLogging:lf,INTERNAL:_f,ServerValue:yf}).setMultipleInstances(!0)),a.registerVersion("@firebase/database-compat","2.1.6");var wf,Ef,Df,bf,If,Tf,Sf,kf,Nf,Af,sr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Rf=(!(function(){var e,t,s;function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.C=Array(this.blockSize),this.o=this.h=0,this.u()}function n(){}function a(e,t,r){r=r||0;var n=Array(16);if("string"==typeof t)for(var i=0;i<16;++i)n[i]=t.charCodeAt(r++)|t.charCodeAt(r++)<<8|t.charCodeAt(r++)<<16|t.charCodeAt(r++)<<24;else for(i=0;i<16;++i)n[i]=t[r++]|t[r++]<<8|t[r++]<<16|t[r++]<<24;t=e.g[0],r=e.g[1];var i=e.g[2],s=e.g[3],a=t+(s^r&(i^s))+n[0]+3614090360&4294967295;a=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=(r=(i=(s=(t=r+(a<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[1]+3905402710&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[2]+606105819&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[3]+3250441966&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[4]+4118548399&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[5]+1200080426&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[6]+2821735955&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[7]+4249261313&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[8]+1770035416&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[9]+2336552879&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[10]+4294925233&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[11]+2304563134&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^r&(i^s))+n[12]+1804603682&4294967295)<<7&4294967295|a>>>25))+((a=s+(i^t&(r^i))+n[13]+4254626195&4294967295)<<12&4294967295|a>>>20))+((a=i+(r^s&(t^r))+n[14]+2792965006&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^i&(s^t))+n[15]+1236535329&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^s&(r^i))+n[1]+4129170786&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[6]+3225465664&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[11]+643717713&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[0]+3921069994&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[5]+3593408605&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[10]+38016083&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[15]+3634488961&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[4]+3889429448&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[9]+568446438&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[14]+3275163606&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[3]+4107603335&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[8]+1163531501&4294967295)<<20&4294967295|a>>>12))+((a=t+(i^s&(r^i))+n[13]+2850285829&4294967295)<<5&4294967295|a>>>27))+((a=s+(r^i&(t^r))+n[2]+4243563512&4294967295)<<9&4294967295|a>>>23))+((a=i+(t^r&(s^t))+n[7]+1735328473&4294967295)<<14&4294967295|a>>>18))+((a=r+(s^t&(i^s))+n[12]+2368359562&4294967295)<<20&4294967295|a>>>12))+((a=t+(r^i^s)+n[5]+4294588738&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[8]+2272392833&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[11]+1839030562&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[14]+4259657740&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[1]+2763975236&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[4]+1272893353&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[7]+4139469664&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[10]+3200236656&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[13]+681279174&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[0]+3936430074&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[3]+3572445317&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[6]+76029189&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^i^s)+n[9]+3654602809&4294967295)<<4&4294967295|a>>>28))+((a=s+(t^r^i)+n[12]+3873151461&4294967295)<<11&4294967295|a>>>21))+((a=i+(s^t^r)+n[15]+530742520&4294967295)<<16&4294967295|a>>>16))+((a=r+(i^s^t)+n[2]+3299628645&4294967295)<<23&4294967295|a>>>9))+((a=t+(i^(r|~s))+n[0]+4096336452&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[7]+1126891415&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[14]+2878612391&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[5]+4237533241&4294967295)<<21&4294967295|a>>>11))+((a=t+(i^(r|~s))+n[12]+1700485571&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[3]+2399980690&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[10]+4293915773&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[1]+2240044497&4294967295)<<21&4294967295|a>>>11))+((a=t+(i^(r|~s))+n[8]+1873313359&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[15]+4264355552&4294967295)<<10&4294967295|a>>>22))+((a=i+(t^(s|~r))+n[6]+2734768916&4294967295)<<15&4294967295|a>>>17))+((a=r+(s^(i|~t))+n[13]+1309151649&4294967295)<<21&4294967295|a>>>11))+((s=(t=r+((a=t+(i^(r|~s))+n[4]+4149444226&4294967295)<<6&4294967295|a>>>26))+((a=s+(r^(t|~i))+n[11]+3174756917&4294967295)<<10&4294967295|a>>>22))^((i=s+((a=i+(t^(s|~r))+n[2]+718787259&4294967295)<<15&4294967295|a>>>17))|~t))+n[9]+3951481745&4294967295,e.g[0]=e.g[0]+t&4294967295,e.g[1]=e.g[1]+(i+(a<<21&4294967295|a>>>11))&4294967295,e.g[2]=e.g[2]+i&4294967295,e.g[3]=e.g[3]+s&4294967295}function l(e,t){this.h=t;var r=[];let n=!0;for(let s=e.length-1;0<=s;s--){var i=0|e[s];n&&i==t||(r[s]=i,n=!1)}this.g=r}t=r,s=function(){this.blockSize=-1},n.prototype=s.prototype,t.F=s.prototype,t.prototype=new n,(t.prototype.constructor=t).D=function(e,t,r){for(var n=Array(arguments.length-2),i=2;i<arguments.length;i++)n[i-2]=arguments[i];return s.prototype[t].apply(e,n)},r.prototype.u=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0},r.prototype.v=function(e,t){var r=(t=void 0===t?e.length:t)-this.blockSize,n=this.C;let i=this.h,s=0;for(;s<t;){if(0==i)for(;s<=r;)a(this,e,s),s+=this.blockSize;if("string"==typeof e){for(;s<t;)if(n[i++]=e.charCodeAt(s++),i==this.blockSize){a(this,n),i=0;break}}else for(;s<t;)if(n[i++]=e[s++],i==this.blockSize){a(this,n),i=0;break}}this.h=i,this.o+=t},r.prototype.A=function(){var t=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);t[0]=128;for(var r=1;r<t.length-8;++r)t[r]=0;for(var r=8*this.o,n=t.length-8;n<t.length;++n)t[n]=255&r,r/=256;for(this.v(t),t=Array(16),n=r=0;n<4;++n)for(let e=0;e<32;e+=8)t[r++]=this.g[n]>>>e&255;return t};var i={};function o(e){return-128<=e&&e<128?(t=e,r=function(e){return new l([0|e],e<0?-1:0)},n=i,Object.prototype.hasOwnProperty.call(n,t)?n[t]:n[t]=r(t)):new l([0|e],e<0?-1:0);var t,r,n}function h(e){if(isNaN(e)||!isFinite(e))return u;if(e<0)return g(h(-e));var t=[];let r=1;for(let n=0;e>=r;n++)t[n]=e/r|0,r*=4294967296;return new l(t,0)}var u=o(0),c=o(1),d=o(16777216);function B(t){if(0==t.h){for(let e=0;e<t.g.length;e++)if(0!=t.g[e])return;return 1}}function p(e){return-1==e.h}function g(e){var t=e.g.length,r=[];for(let n=0;n<t;n++)r[n]=~e.g[n];return new l(r,~e.h).add(c)}function f(e,t){return e.add(g(t))}function m(e,t){for(;(65535&e[t])!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function C(e,t){this.g=e,this.h=t}function v(e,t){if(B(t))throw Error("division by zero");if(B(e))return new C(u,u);if(p(e))return t=v(g(e),t),new C(g(t.g),g(t.h));if(p(t))return t=v(e,g(t)),new C(g(t.g),t.h);if(30<e.g.length){if(p(e)||p(t))throw Error("slowDivide_ only works with positive integers.");for(var r=c,n=t;n.l(e)<=0;)r=_(r),n=_(n);for(var i=y(r,1),s=y(n,1),n=y(n,2),r=y(r,2);!B(n);){var a=s.add(n);a.l(e)<=0&&(i=i.add(r),s=a),n=y(n,1),r=y(r,1)}return t=f(e,i.j(t)),new C(i,t)}for(i=u;0<=e.l(t);){for(r=Math.max(1,Math.floor(e.m()/t.m())),n=(n=Math.ceil(Math.log(r)/Math.LN2))<=48?1:Math.pow(2,n-48),a=(s=h(r)).j(t);p(a)||0<a.l(e);)a=(s=h(r-=n)).j(t);B(s)&&(s=c),i=i.add(s),e=f(e,a)}return new C(i,e)}function _(e){var t=e.g.length+1,r=[];for(let n=0;n<t;n++)r[n]=e.i(n)<<1|e.i(n-1)>>>31;return new l(r,e.h)}function y(e,t){var r=t>>5,n=(t%=32,e.g.length-r),i=[];for(let s=0;s<n;s++)i[s]=0<t?e.i(s+r)>>>t|e.i(s+r+1)<<32-t:e.i(s+r);return new l(i,e.h)}(e=l.prototype).m=function(){if(p(this))return-g(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){var r=this.i(n);e+=(0<=r?r:4294967296+r)*t,t*=4294967296}return e},e.toString=function(t){if((t=t||10)<2||36<t)throw Error("radix out of range: "+t);if(B(this))return"0";if(p(this))return"-"+g(this).toString(t);var r=h(Math.pow(t,6)),n=this;let i="";for(;;){var s=v(n,r).g;let e=((0<(n=f(n,s.j(r))).g.length?n.g[0]:n.h)>>>0).toString(t);if(B(n=s))return e+i;for(;e.length<6;)e="0"+e;i=e+i}},e.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},e.l=function(e){return p(e=f(this,e))?-1:B(e)?0:1},e.abs=function(){return p(this)?g(this):this},e.add=function(e){var t=Math.max(this.g.length,e.g.length),r=[];let n=0;for(let a=0;a<=t;a++){var i=n+(65535&this.i(a))+(65535&e.i(a)),s=(i>>>16)+(this.i(a)>>>16)+(e.i(a)>>>16);n=s>>>16,i&=65535,s&=65535,r[a]=s<<16|i}return new l(r,-2147483648&r[r.length-1]?-1:0)},e.j=function(t){if(B(this)||B(t))return u;if(p(this))return p(t)?g(this).j(g(t)):g(g(this).j(t));if(p(t))return g(this.j(g(t)));if(this.l(d)<0&&t.l(d)<0)return h(this.m()*t.m());for(var e=this.g.length+t.g.length,r=[],n=0;n<2*e;n++)r[n]=0;for(n=0;n<this.g.length;n++)for(let e=0;e<t.g.length;e++){var i=this.i(n)>>>16,s=65535&this.i(n),a=t.i(e)>>>16,o=65535&t.i(e);r[2*n+2*e]+=s*o,m(r,2*n+2*e),r[2*n+2*e+1]+=i*o,m(r,2*n+2*e+1),r[2*n+2*e+1]+=s*a,m(r,2*n+2*e+1),r[2*n+2*e+2]+=i*a,m(r,2*n+2*e+2)}for(t=0;t<e;t++)r[t]=r[2*t+1]<<16|r[2*t];for(t=e;t<2*e;t++)r[t]=0;return new l(r,0)},e.B=function(e){return v(this,e).h},e.and=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)&e.i(n);return new l(r,this.h&e.h)},e.or=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)|e.i(n);return new l(r,this.h|e.h)},e.xor=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)^e.i(n);return new l(r,this.h^e.h)},r.prototype.digest=r.prototype.A,r.prototype.reset=r.prototype.u,r.prototype.update=r.prototype.v,Ef=r,l.prototype.multiply=l.prototype.j,l.prototype.modulo=l.prototype.B,l.prototype.compare=l.prototype.l,l.prototype.toNumber=l.prototype.m,l.prototype.getBits=l.prototype.i,l.fromNumber=h,l.fromString=function e(t,r){if(0==t.length)throw Error("number format error: empty string");if((r=r||10)<2||36<r)throw Error("radix out of range: "+r);if("-"==t.charAt(0))return g(e(t.substring(1),r));if(0<=t.indexOf("-"))throw Error('number format error: interior "-" character');var n=h(Math.pow(r,8));let i=u;for(let o=0;o<t.length;o+=8){var s=Math.min(8,t.length-o),a=parseInt(t.substring(o,o+s),r);i=(s<8?(s=h(Math.pow(r,s)),i.j(s)):i=i.j(n)).add(h(a))}return i},wf=l}).apply(void 0!==sr?sr:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{}),E=(!(function(){var e,F=Object.defineProperty;var L=(e=>{e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof Rf&&Rf];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")})(this);function M(e,t){if(t)e:{var r=L;e=e.split(".");for(var n=0;n<e.length-1;n++){var i=e[n];if(!(i in r))break e;r=r[i]}(t=t(n=r[e=e[e.length-1]]))!=n&&null!=t&&F(r,e,{configurable:!0,writable:!0,value:t})}}M("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),M("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),M("Object.entries",function(e){return e||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.push([t,e[t]]);return r}});var U=U||{},k=this||self;function G(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function H(e,t,r){return e.call.apply(e.bind,arguments)}function m(e,t,r){return(m=H).apply(null,arguments)}function V(t){var r=Array.prototype.slice.call(arguments,1);return function(){var e=r.slice();return e.push.apply(e,arguments),t.apply(this,e)}}function t(e,s){function t(){}t.prototype=s.prototype,e.Z=s.prototype,e.prototype=new t,(e.prototype.constructor=e).Ob=function(e,t,r){for(var n=Array(arguments.length-2),i=2;i<arguments.length;i++)n[i-2]=arguments[i];return s.prototype[t].apply(e,n)}}var q="undefined"!=typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function j(t){var r=t.length;if(0<r){var n=Array(r);for(let e=0;e<r;e++)n[e]=t[e];return n}return[]}function K(t){for(let e=1;e<arguments.length;e++){var r=arguments[e];if("array"==(n="object"!=(n=typeof r)?n:r?Array.isArray(r)?"array":n:"null")||"object"==n&&"number"==typeof r.length){var n=t.length||0,i=r.length||0;t.length=n+i;for(let e=0;e<i;e++)t[n+e]=r[e]}else t.push(r)}}var z=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return 0<this.h?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new J,e=>e.reset());class J{constructor(){this.next=this.g=this.h=null}set(e,t){this.h=e,this.g=t,this.next=null}reset(){this.next=this.g=this.h=null}}let r,n=!1,W=new class{constructor(){this.h=this.g=null}add(e,t){var r=z.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r}},Q=()=>{let e=Promise.resolve(void 0);r=()=>{e.then(Y)}};function Y(){for(var e;e=(()=>{let e=W,t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t})();){try{e.h.call(e.g)}catch(e){(e=>{k.setTimeout(()=>{throw e},0)})(e)}var t=z;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}n=!1}function i(){this.u=this.u,this.C=this.C}function o(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}i.prototype.u=!1,i.prototype.dispose=function(){this.u||(this.u=!0,this.N())},i.prototype[Symbol.dispose]=function(){this.dispose()},i.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},o.prototype.h=function(){this.defaultPrevented=!0};var $=(()=>{if(!k.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{var r=()=>{};k.addEventListener("test",r,t),k.removeEventListener("test",r,t)}catch(e){}return e})();function N(e){return/^[\s\xa0]*$/.test(e)}function s(e,t){o.call(this,e?e.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,e&&this.init(e,t)}t(s,o),s.prototype.init=function(e,t){var r=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,(t=e.relatedTarget)||("mouseover"==r?t=e.fromElement:"mouseout"==r&&(t=e.toElement)),this.relatedTarget=t,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0):(this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||"",this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType=e.pointerType,this.state=e.state,(this.i=e).defaultPrevented&&s.Z.h.call(this)},s.prototype.h=function(){s.Z.h.call(this);var e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var X="closure_listenable_"+(1e6*Math.random()|0),Z=0;function ee(e,t,r,n,i){this.listener=e,this.proxy=null,this.src=t,this.type=r,this.capture=!!n,this.ha=i,this.key=++Z,this.da=this.fa=!1}function te(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function re(e,t,r){for(var n in e)t.call(r,e[n],n,e)}function ne(e){var t,r={};for(t in e)r[t]=e[t];return r}let ie="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function se(t){let r,n;for(let i=1;i<arguments.length;i++){for(r in n=arguments[i])t[r]=n[r];for(let e=0;e<ie.length;e++)r=ie[e],Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}}function ae(e){this.src=e,this.g={},this.h=0}function oe(e,t){var r,n,i,s=t.type;s in e.g&&(r=e.g[s],(i=0<=(n=Array.prototype.indexOf.call(r,t,void 0)))&&Array.prototype.splice.call(r,n,1),i)&&(te(t),0==e.g[s].length)&&(delete e.g[s],e.h--)}function le(e,t,r,n){for(let s=0;s<e.length;++s){var i=e[s];if(!i.da&&i.listener==t&&i.capture==!!r&&i.ha==n)return s}return-1}ae.prototype.add=function(e,t,r,n,i){var s=e.toString(),a=((e=this.g[s])||(e=this.g[s]=[],this.h++),le(e,t,n,i));return-1<a?(t=e[a],r||(t.fa=!1)):((t=new ee(t,this.src,s,!!n,i)).fa=r,e.push(t)),t};var he="closure_lm_"+(1e6*Math.random()|0),ue={};function ce(r,n,i,s,a){if(Array.isArray(n)){for(let e=0;e<n.length;e++)ce(r,n[e],i,s,a);return null}if(i=me(i),r&&r[X])return r.J(n,i,!!G(s)&&!!s.capture,a);{var o=r,l=n,h=i,u=!1,c=s,d=a;if(!l)throw Error("Invalid event type");let e=G(c)?!!c.capture:!!c,t=ge(o);if(t||(o[he]=t=new ae(o)),!(h=t.add(l,h,u,e,d)).proxy)if(u=(()=>{let r=pe;return function e(t){return r.call(e.src,e.listener,t)}})(),(h.proxy=u).src=o,u.listener=h,o.addEventListener)void 0===(c=$?c:e)&&(c=!1),o.addEventListener(l.toString(),u,c);else if(o.attachEvent)o.attachEvent(Be(l.toString()),u);else{if(!o.addListener||!o.removeListener)throw Error("addEventListener and attachEvent are unavailable.");o.addListener(u)}return h}}function de(e){var t,r,n;"number"!=typeof e&&e&&!e.da&&((t=e.src)&&t[X]?oe(t.i,e):(r=e.type,n=e.proxy,t.removeEventListener?t.removeEventListener(r,n,e.capture):t.detachEvent?t.detachEvent(Be(r),n):t.addListener&&t.removeListener&&t.removeListener(n),(r=ge(t))?(oe(r,e),0==r.h&&(r.src=null,t[he]=null)):te(e)))}function Be(e){return e in ue?ue[e]:ue[e]="on"+e}function pe(e,t){var r,n;return e=!!e.da||(t=new s(t,this),r=e.listener,n=e.ha||e.src,e.fa&&de(e),r.call(n,t))}function ge(e){return(e=e[he])instanceof ae?e:null}var fe="__closure_events_fn_"+(1e9*Math.random()>>>0);function me(t){return"function"==typeof t?t:(t[fe]||(t[fe]=function(e){return t.handleEvent(e)}),t[fe])}function a(){i.call(this),this.i=new ae(this),(this.M=this).G=null}function l(e,t){var r,n,i=e.G;if(i)for(r=[];i;i=i.G)r.push(i);e=e.M,i=t.type||t,"string"==typeof t?t=new o(t,e):t instanceof o?t.target=t.target||e:(n=t,se(t=new o(i,e),n)),n=!0;let s,a;if(r)for(a=r.length-1;0<=a;a--)n=Ce(s=t.g=r[a],i,!0,t)&&n;if(n=Ce(s=t.g=e,i,!0,t)&&n,n=Ce(s,i,!1,t)&&n,r)for(a=0;a<r.length;a++)n=Ce(s=t.g=r[a],i,!1,t)&&n}function Ce(e,t,r,n){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let i=!0;for(let l=0;l<t.length;++l){var s,a,o=t[l];o&&!o.da&&o.capture==r&&(s=o.listener,a=o.ha||o.src,o.fa&&oe(e.i,o),i=!1!==s.call(a,n)&&i)}return i&&!n.defaultPrevented}function ve(e){e.g=((e,t)=>{if("function"!=typeof e){if(!e||"function"!=typeof e.handleEvent)throw Error("Invalid listener argument");e=m(e.handleEvent,e)}return 2147483647<Number(t)?-1:k.setTimeout(e,t||0)})(()=>{e.g=null,e.i&&(e.i=!1,ve(e))},e.l);var t=e.h;e.h=null,e.m.apply(null,t)}t(a,i),a.prototype[X]=!0,a.prototype.removeEventListener=function(e,t,r,n){!function e(t,r,n,i,s){if(Array.isArray(r))for(var a=0;a<r.length;a++)e(t,r[a],n,i,s);else i=G(i)?!!i.capture:!!i,n=me(n),t&&t[X]?(t=t.i,(a=String(r).toString())in t.g&&-1<(n=le(r=t.g[a],n,i,s))&&(te(r[n]),Array.prototype.splice.call(r,n,1),0==r.length)&&(delete t.g[a],t.h--)):(t=t&&ge(t))&&(r=t.g[r.toString()],n=(t=-1)<(t=r?le(r,n,i,s):t)?r[t]:null)&&de(n)}(this,e,t,r,n)},a.prototype.N=function(){if(a.Z.N.call(this),this.i){var t,r=this.i;for(t in r.g){var n=r.g[t];for(let e=0;e<n.length;e++)te(n[e]);delete r.g[t],r.h--}}this.G=null},a.prototype.J=function(e,t,r,n){return this.i.add(String(e),t,!1,r,n)},a.prototype.K=function(e,t,r,n){return this.i.add(String(e),t,!0,r,n)};class _e extends i{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:ve(this)}N(){super.N(),this.g&&(k.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function h(e){i.call(this),this.h=e,this.g={}}t(h,i);var ye=[];function we(e){re(e.g,function(e,t){this.g.hasOwnProperty(t)&&de(e)},e),e.g={}}h.prototype.N=function(){h.Z.N.call(this),we(this)},h.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var Ee=k.JSON.stringify,De=k.JSON.parse,be=class{stringify(e){return k.JSON.stringify(e,void 0)}parse(e){return k.JSON.parse(e,void 0)}};function Ie(){}function Te(){}var Se={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function ke(){o.call(this,"d")}function Ne(){o.call(this,"c")}t(ke,o),t(Ne,o);var u={},Ae=null;function Re(){return Ae=Ae||new a}function Oe(e){o.call(this,u.Ia,e)}function Pe(){var e=Re();l(e,new Oe(e))}function xe(e,t){o.call(this,u.STAT_EVENT,e),this.stat=t}function A(e){var t=Re();l(t,new xe(t,e))}function Fe(e,t){o.call(this,u.Ja,e),this.size=t}function C(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return k.setTimeout(function(){e()},t)}function c(){this.g=!0}function R(e,t,r,n){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+((e,t)=>{if(!e.g)return t;if(!t)return null;try{var r=JSON.parse(t);if(r)for(e=0;e<r.length;e++)if(Array.isArray(r[e])){var n=r[e];if(!(n.length<2)){var i=n[1];if(Array.isArray(i)&&!(i.length<1)){var s=i[0];if("noop"!=s&&"stop"!=s&&"close"!=s)for(let e=1;e<i.length;e++)i[e]=""}}}return Ee(r)}catch(e){return t}})(e,r)+(n?" "+n:"")})}u.Ia="serverreachability",t(Oe,o),u.STAT_EVENT="statevent",t(xe,o),u.Ja="timingevent",t(Fe,o),c.prototype.ua=function(){this.g=!1},c.prototype.info=function(){};var Le={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},Me={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function Ue(){}function d(e){return encodeURIComponent(String(e))}function B(e,t,r,n){this.j=e,this.i=t,this.l=r,this.S=n||1,this.V=new h(this),this.H=45e3,this.J=null,this.o=!1,this.u=this.B=this.A=this.M=this.F=this.T=this.D=null,this.G=[],this.g=null,this.C=0,this.m=this.v=null,this.X=-1,this.K=!1,this.P=0,this.O=null,this.W=this.L=this.U=this.R=!1,this.h=new Ge}function Ge(){this.i=null,this.g="",this.h=!1}t(Ue,Ie),Ue.prototype.g=function(){return new XMLHttpRequest};var He=new Ue,Ve={},qe={};function je(e,t,r){e.M=1,e.A=ot(g(t)),e.u=r,e.R=!0,Ke(e,null)}function Ke(e,t){e.F=Date.now(),Je(e),e.B=g(e.A);var a,o,l,h,u,c,r=e.B,n=e.S,i=(Array.isArray(n)||(n=[String(n)]),vt(r.i,"t",n),e.C=0,r=e.j.L,e.h=new Ge,e.g=er(e.j,r?t:null,!e.u),0<e.P&&(e.O=new _e(m(e.Y,e,e.g),e.P)),t=e.V,r=e.g,n=e.ba,"readystatechange");Array.isArray(i)||(i&&(ye[0]=i.toString()),i=ye);for(let d=0;d<i.length;d++){var s=ce(r,i[d],n||t.handleEvent,!1,t.h||t);if(!s)break;t.g[s.key]=s}t=e.J?ne(e.J):{},e.u?(e.v||(e.v="POST"),t["Content-Type"]="application/x-www-form-urlencoded",e.g.ea(e.B,e.v,e.u,t)):(e.v="GET",e.g.ea(e.B,e.v,null,t)),Pe(),a=e.i,o=e.v,l=e.B,h=e.l,u=e.S,c=e.u,a.info(function(){if(a.g)if(c){var t="",r=c.split("&");for(let e=0;e<r.length;e++){var n,i,s=r[e].split("=");1<s.length&&(n=s[0],s=s[1],t=2<=(i=n.split("_")).length&&"type"==i[1]?t+(n+"=")+s+"&":t+(n+"=redacted&"))}}else t=null;else t=c;return"XMLHTTP REQ ("+h+") [attempt "+u+"]: "+o+"\n"+l+"\n"+t})}function ze(e){return e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function Je(e){e.T=Date.now()+e.H,We(e,e.H)}function We(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=C(m(e.aa,e),t)}function Qe(e){e.D&&(k.clearTimeout(e.D),e.D=null)}function O(e){0==e.j.I||e.K||Yt(e.j,e)}function P(e){Qe(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,we(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dispose())}function Ye(e,t){try{var r=e.j;if(0!=r.I&&(r.g==e||tt(r.h,e)))if(!e.L&&tt(r.h,e)&&3==r.I){try{var n=r.Ba.g.parse(t)}catch(e){n=null}if(Array.isArray(n)&&3==n.length){var i=n;if(0==i[0]){e:if(!r.v){if(r.g){if(!(r.g.F+3e3<e.F))break e;Qt(r),Ut(r)}zt(r),A(18)}}else r.xa=i[1],0<r.xa-r.K&&i[2]<37500&&r.F&&0==r.A&&!r.C&&(r.C=C(m(r.Va,r),6e3));et(r.h)<=1&&r.ta&&(r.ta=void 0)}else I(r,11)}else if(!e.L&&r.g!=e||Qt(r),!N(t))for(i=r.Ba.g.parse(t),t=0;t<i.length;t++){var s,a,o,l,h,u,c,d,B,p,g=i[t],f=g[0];f<=r.K||(r.K=f,g=g[1],2==r.I?"c"==g[0]?(r.M=g[1],r.ba=g[2],null!=(s=g[3])&&(r.ka=s,r.j.info("VER="+r.ka)),null!=(a=g[4])&&(r.za=a,r.j.info("SVER="+r.za)),null!=(o=g[5])&&"number"==typeof o&&0<o&&(n=1.5*o,r.O=n,r.j.info("backChannelRequestTimeoutMs_="+n)),n=r,(l=e.g)&&(!(h=l.g?l.g.getResponseHeader("X-Client-Wire-Protocol"):null)||(u=n.h).g||-1==h.indexOf("spdy")&&-1==h.indexOf("quic")&&-1==h.indexOf("h2")||(u.j=u.l,u.g=new Set,u.h&&(rt(u,u.h),u.h=null)),n.G)&&(c=l.g?l.g.getResponseHeader("X-HTTP-Session-Id"):null)&&(n.wa=c,_(n.J,n.G,c)),r.I=3,r.l&&r.l.ra(),r.aa&&(r.T=Date.now()-e.F,r.j.info("Handshake RTT: "+r.T+"ms")),d=e,(n=r).na=Zt(n,n.L?n.ba:null,n.W),d.L?(nt(n.h,d),B=d,(p=n.O)&&(B.H=p),B.D&&(Qe(B),Je(B)),n.g=d):Kt(n),0<r.i.length&&Ht(r)):"stop"!=g[0]&&"close"!=g[0]||I(r,7):3==r.I&&("stop"==g[0]||"close"==g[0]?"stop"==g[0]?I(r,7):Mt(r):"noop"!=g[0]&&r.l&&r.l.qa(g),r.A=0))}Pe()}catch(e){}}B.prototype.ba=function(e){e=e.target;var t=this.O;t&&3==x(e)?t.j():this.Y(e)},B.prototype.Y=function(e){try{if(e==this.g)e:{var t=x(this.g),r=this.g.ya();this.g.ca();if(!(t<3)&&(3!=t||this.g&&(this.h.h||this.g.la()||xt(this.g)))){this.K||4!=t||7==r||Pe(),Qe(this);var n,i,s=this.g.ca(),a=(this.X=s,(e=>{if(!ze(e))return e.g.la();var t=xt(e.g);if(""===t)return"";let r="",n=t.length,i=4==x(e.g);if(!e.h.i){if("undefined"==typeof TextDecoder)return P(e),O(e),"";e.h.i=new k.TextDecoder}for(let s=0;s<n;s++)e.h.h=!0,r+=e.h.i.decode(t[s],{stream:!(i&&s==n-1)});return t.length=0,e.h.g+=r,e.C=0,e.h.g})(this));if(this.o=200==s,w=this.i,E=this.v,D=this.B,b=this.l,I=this.S,T=t,S=s,w.info(function(){return"XMLHTTP RESP ("+b+") [ attempt "+I+"]: "+E+"\n"+D+"\n"+T+" "+S}),this.o){if(this.U&&!this.L){t:{if(this.g){var o,l=this.g;if((o=l.g?l.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!N(o)){var h=o;break t}}h=null}if(!(e=h)){this.o=!1,this.m=3,A(12),P(this),O(this);break e}R(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,Ye(this,e)}if(this.R){for(e=!0;!this.K&&this.C<a.length;){if(v=a,y=_=void 0,_=(C=this).C,(n=-1==(y=v.indexOf("\n",_))?qe:(_=Number(v.substring(_,y)),isNaN(_)?Ve:(y+=1)+_>v.length?qe:(v=v.slice(y,y+_),C.C=y+_,v)))==qe){4==t&&(this.m=4,A(14),e=!1),R(this.i,this.l,null,"[Incomplete Response]");break}if(n==Ve){this.m=4,A(15),R(this.i,this.l,a,"[Invalid Chunk]"),e=!1;break}R(this.i,this.l,n,null),Ye(this,n)}ze(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=t||0!=a.length||this.h.h||(this.m=1,A(16),e=!1),this.o=this.o&&e,e?0<a.length&&!this.W&&(this.W=!0,(i=this.j).g==this)&&i.aa&&!i.P&&(i.j.info("Great, no buffering proxy detected. Bytes received: "+a.length),Jt(i),i.P=!0,A(11)):(R(this.i,this.l,a,"[Invalid Chunked Response]"),P(this),O(this))}else R(this.i,this.l,a,null),Ye(this,a);4==t&&P(this),this.o&&!this.K&&(4==t?Yt(this.j,this):(this.o=!1,Je(this)))}else{{var u=this.g;var c,d,B,p={};u=(u.g&&2<=x(u)&&u.g.getAllResponseHeaders()||"").split("\r\n");for(let e=0;e<u.length;e++)N(u[e])||(c=(e=>{for(var t=1,r=(e=e.split(":"),[]);0<t&&e.length;)r.push(e.shift()),t--;return e.length&&r.push(e.join(":")),r})(u[e]),d=c[0],"string"==typeof(c=c[1])&&(c=c.trim(),B=p[d]||[],(p[d]=B).push(c)));var g,f=p,m=function(e){return e.join(", ")};for(g in f)m.call(void 0,f[g],g,f)}400==s&&0<a.indexOf("Unknown SID")?(this.m=3,A(12)):(this.m=0,A(13)),P(this),O(this)}}}}catch(e){}var C,v,_,y,w,E,D,b,I,T,S},B.prototype.cancel=function(){this.K=!0,P(this)},B.prototype.aa=function(){this.D=null;var e,t,r=Date.now();0<=r-this.T?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(Pe(),A(17)),P(this),this.m=2,O(this)):We(this,this.T-r)};var $e=class{constructor(e,t){this.g=e,this.map=t}};function Xe(e){this.l=e||10,e=k.PerformanceNavigationTiming?0<(e=k.performance.getEntriesByType("navigation")).length&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(k.chrome&&k.chrome.loadTimes&&k.chrome.loadTimes()&&k.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function Ze(e){return e.h||e.g&&e.g.size>=e.j}function et(e){return e.h?1:e.g?e.g.size:0}function tt(e,t){return e.h?e.h==t:e.g&&e.g.has(t)}function rt(e,t){e.g?e.g.add(t):e.h=t}function nt(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function it(t){if(null!=t.h)return t.i.concat(t.h.G);if(null==t.g||0===t.g.size)return j(t.i);{let e=t.i;for(var r of t.g.values())e=e.concat(r.G);return e}}Xe.prototype.cancel=function(){if(this.i=it(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(var e of this.g.values())e.cancel();this.g.clear()}};var st=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function p(e){this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1;let t;e instanceof p?(this.l=e.l,f(this,e.j),this.o=e.o,this.g=e.g,v(this,e.u),this.h=e.h,at(this,_t(e.i)),this.m=e.m):e&&(t=String(e).match(st))?(this.l=!1,f(this,t[1]||"",!0),this.o=y(t[2]||""),this.g=y(t[3]||"",!0),v(this,t[4]),this.h=y(t[5]||"",!0),at(this,t[6]||"",!0),this.m=y(t[7]||"")):(this.l=!1,this.i=new gt(null,this.l))}function g(e){return new p(e)}function f(e,t,r){e.j=r?y(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function v(e,t){if(t){if(t=Number(t),isNaN(t)||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function at(e,t,r){var n,i;t instanceof gt?(e.i=t,n=e.i,(i=e.l)&&!n.j&&(w(n),n.i=null,n.g.forEach(function(e,t){var r=t.toLowerCase();t!=r&&(ft(this,t),vt(this,r,e))},n)),n.j=i):(r||(t=lt(t,Bt)),e.i=new gt(t,e.l))}function _(e,t,r){e.i.set(t,r)}function ot(e){return _(e,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),e}function y(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function lt(e,t,r){return"string"==typeof e?(e=encodeURI(e).replace(t,ht),e=r?e.replace(/%25([0-9a-fA-F]{2})/g,"%$1"):e):null}function ht(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}p.prototype.toString=function(){var e=[],t=this.j,r=(t&&e.push(lt(t,ut,!0),":"),this.g);return!r&&"file"!=t||(e.push("//"),(t=this.o)&&e.push(lt(t,ut,!0),"@"),e.push(d(r).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null==(r=this.u))||e.push(":",String(r)),(r=this.h)&&(this.g&&"/"!=r.charAt(0)&&e.push("/"),e.push(lt(r,"/"==r.charAt(0)?dt:ct,!0))),(r=this.i.toString())&&e.push("?",r),(r=this.m)&&e.push("#",lt(r,pt)),e.join("")},p.prototype.resolve=function(e){var t=g(this);let r=!!e.j;r?f(t,e.j):r=!!e.o,r?t.o=e.o:r=!!e.g,r?t.g=e.g:r=null!=e.u;var n=e.h;if(r)v(t,e.u);else if(r=!!e.h)if("/"!=n.charAt(0)&&(this.g&&!this.h?n="/"+n:-1!=(i=t.h.lastIndexOf("/"))&&(n=t.h.slice(0,i+1)+n)),".."==(i=n)||"."==i)n="";else if(-1!=i.indexOf("./")||-1!=i.indexOf("/.")){var n=0==i.lastIndexOf("/",0),i=i.split("/"),s=[];for(let e=0;e<i.length;){var a=i[e++];"."==a?n&&e==i.length&&s.push(""):".."==a?((1<s.length||1==s.length&&""!=s[0])&&s.pop(),n&&e==i.length&&s.push("")):(s.push(a),n=!0)}n=s.join("/")}else n=i;return r?t.h=n:r=""!==e.i.toString(),r?at(t,_t(e.i)):r=!!e.m,r&&(t.m=e.m),t};var ut=/[#\/\?@]/g,ct=/[#\?:]/g,dt=/[#\?]/g,Bt=/[#\?@]/g,pt=/#/g;function gt(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function w(r){if(!r.g&&(r.g=new Map,r.h=0,r.i)){var n=r.i,i=function(e,t){r.add(decodeURIComponent(e.replace(/\+/g," ")),t)};if(n){n=n.split("&");for(let r=0;r<n.length;r++){var s=n[r].indexOf("=");let e,t=null;0<=s?(e=n[r].substring(0,s),t=n[r].substring(s+1)):e=n[r],i(e,t?decodeURIComponent(t.replace(/\+/g," ")):"")}}}}function ft(e,t){w(e),t=E(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function mt(e,t){return w(e),t=E(e,t),e.g.has(t)}function Ct(e,t){w(e);let r=[];if("string"==typeof t)mt(e,t)&&(r=r.concat(e.g.get(E(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)r=r.concat(e[t]);return r}function vt(e,t,r){ft(e,t),0<r.length&&(e.i=null,e.g.set(E(e,t),j(r)),e.h+=r.length)}function _t(e){var t=new gt;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function E(e,t){return t=String(t),t=e.j?t.toLowerCase():t}function D(e,t,r,n,i){try{i&&(i.onload=null,i.onerror=null,i.onabort=null,i.ontimeout=null),n(r)}catch(e){}}function yt(){this.g=new be}function wt(e){this.i=e.Sb||null,this.h=e.ab||!1}function Et(e,t){a.call(this),this.H=e,this.o=t,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.A=new Headers,this.h=null,this.F="GET",this.D="",this.g=!1,this.B=this.j=this.l=null,this.v=new AbortController}function Dt(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function bt(e){e.readyState=4,e.l=null,e.j=null,e.B=null,It(e)}function It(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function Tt(e){let r="";return re(e,function(e,t){r=(r=r+t+":")+e+"\r\n"}),r}function St(e,t,r){e:{for(n in r){var n=!1;break e}n=!0}n||(r=Tt(r),"string"==typeof e?null!=r&&d(r):_(e,t,r))}function b(e){a.call(this),this.headers=new Map,this.L=e||null,this.h=!1,this.g=null,this.D="",this.o=0,this.l="",this.j=this.B=this.v=this.A=!1,this.m=null,this.F="",this.H=!1}(e=gt.prototype).add=function(e,t){w(this),this.i=null,e=E(this,e);let r=this.g.get(e);return r||this.g.set(e,r=[]),r.push(t),this.h+=1,this},e.forEach=function(r,n){w(this),this.g.forEach(function(e,t){e.forEach(function(e){r.call(n,e,t,this)},this)},this)},e.set=function(e,t){return w(this),this.i=null,mt(this,e=E(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},e.get=function(e,t){return e&&0<(e=Ct(this,e)).length?String(e[0]):t},e.toString=function(){if(this.i)return this.i;if(!this.g)return"";var r=[],e=Array.from(this.g.keys());for(let s=0;s<e.length;s++){var n=d(i=e[s]),i=Ct(this,i);for(let t=0;t<i.length;t++){let e=n;""!==i[t]&&(e+="="+d(i[t])),r.push(e)}}return this.i=r.join("&")},t(wt,Ie),wt.prototype.g=function(){return new Et(this.i,this.h)},t(Et,a),(e=Et.prototype).open=function(e,t){if(0!=this.readyState)throw this.abort(),Error("Error reopening a connection");this.F=e,this.D=t,this.readyState=1,It(this)},e.send=function(e){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");if(this.v.signal.aborted)throw this.abort(),Error("Request was aborted.");this.g=!0;var t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||k).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},e.abort=function(){this.response=this.responseText="",this.A=new Headers,this.status=0,this.v.abort(),this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,bt(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,It(this)),this.g)&&(this.readyState=3,It(this),this.g))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==k.ReadableStream&&"body"in e){if(this.j=e.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.B=new TextDecoder;Dt(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},e.Ma=function(e){var t;this.g&&(this.o&&e.value?this.response.push(e.value):!this.o&&(t=e.value||new Uint8Array(0),t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t),(e.done?bt:It)(this),3==this.readyState)&&Dt(this)},e.Oa=function(e){this.g&&(this.response=this.responseText=e,bt(this))},e.Na=function(e){this.g&&(this.response=e,bt(this))},e.ga=function(){this.g&&bt(this)},e.setRequestHeader=function(e,t){this.A.append(e,t)},e.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},e.getAllResponseHeaders=function(){if(!this.h)return"";for(var e=[],t=this.h.entries(),r=t.next();!r.done;)r=r.value,e.push(r[0]+": "+r[1]),r=t.next();return e.join("\r\n")},Object.defineProperty(Et.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),t(b,a);var kt=/^https?$/i,Nt=["POST","PUT"];function At(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,Rt(e),Pt(e)}function Rt(e){e.A||(e.A=!0,l(e,"complete"),l(e,"error"))}function Ot(t){if(t.h&&void 0!==U)if(t.v&&4==x(t))setTimeout(t.Ca.bind(t),0);else if(l(t,"readystatechange"),4==x(t)){t.h=!1;try{var e,r,n=t.ca();switch(n){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var i=!0;break;default:i=!1}if(!(e=i)){if(r=0===n){let e=String(t.D).match(st)[1]||null;!e&&k.self&&k.self.location&&(e=k.self.location.protocol.slice(0,-1)),r=!kt.test(e?e.toLowerCase():"")}e=r}if(e)l(t,"complete"),l(t,"success");else{t.o=6;try{var s=2<x(t)?t.g.statusText:""}catch(e){s=""}t.l=s+" ["+t.ca()+"]",Rt(t)}}finally{Pt(t)}}}function Pt(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);var r=e.g;e.g=null,t||l(e,"ready");try{r.onreadystatechange=null}catch(e){}}}function x(e){return e.g?e.g.readyState:0}function xt(e){try{if(e.g){if("response"in e.g)return e.g.response;switch(e.F){case"":case"text":return e.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in e.g)return e.g.mozResponseArrayBuffer}}return null}catch(e){return null}}function Ft(e,t,r){return r&&r.internalChannelParams&&r.internalChannelParams[e]||t}function Lt(e){this.za=0,this.i=[],this.j=new c,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=Ft("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=Ft("baseRetryDelayMs",5e3,e),this.Za=Ft("retryDelaySeedMs",1e4,e),this.Ta=Ft("forwardChannelMaxRetries",2,e),this.va=Ft("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 Xe(e&&e.concurrentRequestLimit),this.Ba=new yt,this.S=e&&e.fastHandshake||!1,this.R=e&&e.encodeInitMessageHeaders||!1,this.S&&this.R&&(this.R=!1),this.Ra=e&&e.Pb||!1,e&&e.ua&&this.j.ua(),e&&e.forceLongPolling&&(this.X=!1),this.aa=!this.S&&this.X&&e&&e.detectBufferingProxy||!1,this.ia=void 0,e&&e.longPollingTimeout&&0<e.longPollingTimeout&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function Mt(e){if(Gt(e),3==e.I){var t=e.V++,r=g(e.J);if(_(r,"SID",e.M),_(r,"RID",t),_(r,"TYPE","terminate"),qt(e,r),(t=new B(e,e.j,t)).M=2,t.A=ot(g(r)),r=!1,k.navigator&&k.navigator.sendBeacon)try{r=k.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!r&&k.Image&&((new Image).src=t.A,r=!0),r||(t.g=er(t.j,null),t.g.ea(t.A)),t.F=Date.now(),Je(t)}Xt(e)}function Ut(e){e.g&&(Jt(e),e.g.cancel(),e.g=null)}function Gt(e){Ut(e),e.v&&(k.clearTimeout(e.v),e.v=null),Qt(e),e.h.cancel(),e.m&&("number"==typeof e.m&&k.clearTimeout(e.m),e.m=null)}function Ht(e){var t;Ze(e.h)||e.m||(e.m=!0,t=e.Ea,r||Q(),n||(r(),n=!0),W.add(t,e),e.D=0)}function Vt(e,t){var r=t?t.l:e.V++,n=g(e.J);_(n,"SID",e.M),_(n,"RID",r),_(n,"AID",e.K),qt(e,n),e.u&&e.o&&St(n,e.u,e.o),r=new B(e,e.j,r,e.D+1),null===e.u&&(r.J=e.o),t&&(e.i=t.G.concat(e.i)),t=jt(e,r,1e3),r.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),rt(e.h,r),je(r,n,t)}function qt(e,r){e.H&&re(e.H,function(e,t){_(r,t,e)}),e.l&&re({},function(e,t){_(r,t,e)})}function jt(e,t,i){i=Math.min(e.i.length,i);var s=e.l?m(e.l.Ka,e.l,e):null;e:{let r=e.i,n=-1;for(;;){var a=["count="+i];-1==n?0<i?(n=r[0].g,a.push("ofs="+n)):n=0:a.push("ofs="+n);let e=!0;for(let t=0;t<i;t++){var o=r[t].g,l=r[t].map;if((o-=n)<0)n=Math.max(0,r[t].g-100),e=!1;else try{o="req"+o+"_"||"";try{var h,u,c=l instanceof Map?l:Object.entries(l);for([h,u]of c){let e=u;G(u)&&(e=Ee(u)),a.push(o+h+"="+encodeURIComponent(e))}}catch(e){throw a.push(o+"type="+encodeURIComponent("_badmap")),e}}catch(e){s&&s(l)}}if(e){c=a.join("&");break e}}c=void 0}return e=e.i.splice(0,i),t.G=e,c}function Kt(e){var t;e.g||e.v||(e.Y=1,t=e.Da,r||Q(),n||(r(),n=!0),W.add(t,e),e.A=0)}function zt(e){return!(e.g||e.v||3<=e.A)&&(e.Y++,e.v=C(m(e.Da,e),$t(e,e.A)),e.A++,1)}function Jt(e){null!=e.B&&(k.clearTimeout(e.B),e.B=null)}function Wt(e){e.g=new B(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=g(e.na),r=(_(t,"RID","rpc"),_(t,"SID",e.M),_(t,"AID",e.K),_(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&_(t,"TO",e.ia),_(t,"TYPE","xmlhttp"),qt(e,t),e.u&&e.o&&St(t,e.u,e.o),e.O&&(e.g.H=e.O),e.g);e=e.ba,r.M=1,r.A=ot(g(t)),r.u=null,r.R=!0,Ke(r,e)}function Qt(e){null!=e.C&&(k.clearTimeout(e.C),e.C=null)}function Yt(e,t){var r,n,i,s=null;if(e.g==t){Qt(e),Jt(e),e.g=null;var a=2}else{if(!tt(e.h,t))return;s=t.G,nt(e.h,t),a=1}if(0!=e.I)if(t.o)(1==a?(s=t.u?t.u.length:0,t=Date.now()-t.F,r=e.D,l(a=Re(),new Fe(a,s)),Ht):Kt)(e);else if(3==(r=t.m)||0==r&&0<t.X||(1!=a||(i=t,et((n=e).h)>=n.h.j-(n.m?1:0))||(n.m?(n.i=i.G.concat(n.i),0):1==n.I||2==n.I||n.D>=(n.Sa?0:n.Ta)||(n.m=C(m(n.Ea,n,i),$t(n,n.D)),n.D++,0)))&&(2!=a||!zt(e)))switch(s&&0<s.length&&(t=e.h,t.i=t.i.concat(s)),r){case 1:I(e,5);break;case 4:I(e,10);break;case 3:I(e,6);break;default:I(e,2)}}function $t(e,t){let r=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(r*=2),r*t}function I(e,t){var r,n,i;e.j.info("Error code "+t),2==t?(r=m(e.bb,e),n=!(i=e.Ua),i=new p(i||"//www.google.com/images/cleardot.gif"),k.location&&"http"==k.location.protocol||f(i,"https"),ot(i),(n?(t,r)=>{var n=new c;if(k.Image){let e=new Image;e.onload=V(D,n,"TestLoadImage: loaded",!0,r,e),e.onerror=V(D,n,"TestLoadImage: error",!1,r,e),e.onabort=V(D,n,"TestLoadImage: abort",!1,r,e),e.ontimeout=V(D,n,"TestLoadImage: timeout",!1,r,e),k.setTimeout(function(){e.ontimeout&&e.ontimeout()},1e4),e.src=t}else r(!1)}:(e,t)=>{let r=new c,n=new AbortController,i=setTimeout(()=>{n.abort(),D(r,0,!1,t)},1e4);fetch(e,{signal:n.signal}).then(e=>{clearTimeout(i),e.ok?D(r,0,!0,t):D(r,0,!1,t)}).catch(()=>{clearTimeout(i),D(r,0,!1,t)})})(i.toString(),r)):A(2),e.I=0,e.l&&e.l.pa(t),Xt(e),Gt(e)}function Xt(e){var t;e.I=0,e.ja=[],e.l&&(0==(t=it(e.h)).length&&0==e.i.length||(K(e.ja,t),K(e.ja,e.i),e.h.i.length=0,j(e.i),e.i.length=0),e.l.oa())}function Zt(e,t,r){var n,i,s=r instanceof p?g(r):new p(r);return""!=s.g?(t&&(s.g=t+"."+s.g),v(s,s.u)):(s=(n=k.location).protocol,t=t?t+"."+n.hostname:n.hostname,n=+n.port,i=new p(null),s&&f(i,s),t&&(i.g=t),n&&v(i,n),r&&(i.h=r),s=i),r=e.G,t=e.wa,r&&t&&_(s,r,t),_(s,"VER",e.ka),qt(e,s),s}function er(e,t,r){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=e.Aa&&!e.ma?new b(new wt({ab:r})):new b(e.ma)).Fa(e.L),t}function tr(){}function rr(){}function T(e,t){a.call(this),this.g=new Lt(t),this.l=e,this.h=t&&t.messageUrlParams||null,e=t&&t.messageHeaders||null,t&&t.clientProtocolHeaderRequired&&(e?e["X-Client-Protocol"]="webchannel":e={"X-Client-Protocol":"webchannel"}),this.g.o=e,e=t&&t.initMessageHeaders||null,t&&t.messageContentType&&(e?e["X-WebChannel-Content-Type"]=t.messageContentType:e={"X-WebChannel-Content-Type":t.messageContentType}),t&&t.sa&&(e?e["X-WebChannel-Client-Profile"]=t.sa:e={"X-WebChannel-Client-Profile":t.sa}),this.g.U=e,(e=t&&t.Qb)&&!N(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!N(t)&&(this.g.G=t,null!==(e=this.h))&&t in e&&t in(e=this.h)&&delete e[t],this.j=new S(this)}function nr(e){ke.call(this),e.__headers__&&(this.headers=e.__headers__,this.statusCode=e.__status__,delete e.__headers__,delete e.__status__);var t=e.__sm__;if(t){e:{for(var r in t){e=r;break e}e=void 0}(this.i=e)&&(e=this.i,t=null!==t&&e in t?t[e]:void 0),this.data=t}else this.data=e}function ir(){Ne.call(this),this.status=1}function S(e){this.g=e}(e=b.prototype).Fa=function(e){this.H=e},e.ea=function(e,t,r,n){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+e);t=t?t.toUpperCase():"GET",this.D=e,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=(this.L||He).g(),this.g.onreadystatechange=q(m(this.Ca,this));try{this.B=!0,this.g.open(t,String(e),!0),this.B=!1}catch(e){return void At(this,e)}if(e=r||"",r=new Map(this.headers),n)if(Object.getPrototypeOf(n)===Object.prototype)for(var i in n)r.set(i,n[i]);else{if("function"!=typeof n.keys||"function"!=typeof n.get)throw Error("Unknown input type for opt_headers: "+String(n));for(var s of n.keys())r.set(s,n.get(s))}n=Array.from(r.keys()).find(e=>"content-type"==e.toLowerCase()),i=k.FormData&&e instanceof k.FormData,0<=Array.prototype.indexOf.call(Nt,t,void 0)&&!n&&!i&&r.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(var[a,o]of r)this.g.setRequestHeader(a,o);this.F&&(this.g.responseType=this.F),"withCredentials"in this.g&&this.g.withCredentials!==this.H&&(this.g.withCredentials=this.H);try{this.m&&(clearTimeout(this.m),this.m=null),this.v=!0,this.g.send(e),this.v=!1}catch(e){At(this,e)}},e.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,l(this,"complete"),l(this,"abort"),Pt(this))},e.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Pt(this,!0)),b.Z.N.call(this)},e.Ca=function(){this.u||(this.B||this.v||this.j?Ot(this):this.Xa())},e.Xa=function(){Ot(this)},e.isActive=function(){return!!this.g},e.ca=function(){try{return 2<x(this)?this.g.status:-1}catch(e){return-1}},e.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},e.La=function(e){var t;if(this.g)return t=this.g.responseText,e&&0==t.indexOf(e)&&(t=t.substring(e.length)),De(t)},e.ya=function(){return this.o},e.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(e=Lt.prototype).ka=8,e.I=1,e.connect=function(e,t,r,n){A(0),this.W=e,this.H=t||{},r&&void 0!==n&&(this.H.OSID=r,this.H.OAID=n),this.F=this.X,this.J=Zt(this,null,this.W),Ht(this)},e.Ea=function(t){if(this.m)if(this.m=null,1==this.I){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var r=new B(this,this.j,t);let e=this.o;if(this.U&&(e?se(e=ne(e),this.U):e=this.U),null!==this.u||this.R||(r.J=e,e=null),this.S)e:{for(var n=0,i=0;i<this.i.length;i++){var s=this.i[i];if("__data__"in s.map&&"string"==typeof(s=s.map.__data__)?s=s.length:s=void 0,void 0===s)break;if(4096<(n+=s)){n=i;break e}if(4096===n||i===this.i.length-1){n=i+1;break e}}n=1e3}else n=1e3;n=jt(this,r,n),_(i=g(this.J),"RID",t),_(i,"CVER",22),this.G&&_(i,"X-HTTP-Session-Id",this.G),qt(this,i),e&&(this.R?n="headers="+d(Tt(e))+"&"+n:this.u&&St(i,this.u,e)),rt(this.h,r),this.Ra&&_(i,"TYPE","init"),this.S?(_(i,"$req",n),_(i,"SID","null"),r.U=!0,je(r,i,null)):je(r,i,n),this.I=2}}else 3==this.I&&(t?Vt(this,t):0==this.i.length||Ze(this.h)||Vt(this))},e.Da=function(){var e;this.v=null,Wt(this),this.aa&&!(this.P||null==this.g||this.T<=0)&&(e=4*this.T,this.j.info("BP detection timer enabled: "+e),this.B=C(m(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,A(10),Ut(this),Wt(this))},e.Va=function(){null!=this.C&&(this.C=null,Ut(this),zt(this),A(19))},e.bb=function(e){e?(this.j.info("Successfully pinged google.com"),A(2)):(this.j.info("Failed to ping google.com"),A(1))},e.isActive=function(){return!!this.l&&this.l.isActive(this)},(e=tr.prototype).ra=function(){},e.qa=function(){},e.pa=function(){},e.oa=function(){},e.isActive=function(){return!0},e.Ka=function(){},rr.prototype.g=function(e,t){return new T(e,t)},t(T,a),T.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},T.prototype.close=function(){Mt(this.g)},T.prototype.o=function(e){var t,r=this.g;"string"==typeof e?((t={}).__data__=e,e=t):this.v&&((t={}).__data__=Ee(e),e=t),r.i.push(new $e(r.Ya++,e)),3==r.I&&Ht(r)},T.prototype.N=function(){this.g.l=null,delete this.j,Mt(this.g),delete this.g,T.Z.N.call(this)},t(nr,ke),t(ir,Ne),t(S,tr),S.prototype.ra=function(){l(this.g,"a")},S.prototype.qa=function(e){l(this.g,new nr(e))},S.prototype.pa=function(e){l(this.g,new ir)},S.prototype.oa=function(){l(this.g,"b")},rr.prototype.createWebChannel=rr.prototype.g,T.prototype.send=T.prototype.o,T.prototype.open=T.prototype.m,Af=function(){return new rr},Nf=Re,kf=u,Sf={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},Le.NO_ERROR=0,Le.TIMEOUT=8,Le.HTTP_ERROR=6,Tf=Le,Me.COMPLETE="complete",If=Me,(Te.EventType=Se).OPEN="a",Se.CLOSE="b",Se.ERROR="c",Se.MESSAGE="d",a.prototype.listen=a.prototype.J,bf=Te,b.prototype.listenOnce=b.prototype.K,b.prototype.getLastError=b.prototype.Ha,b.prototype.getLastErrorCode=b.prototype.ya,b.prototype.getStatus=b.prototype.ca,b.prototype.getResponseJson=b.prototype.La,b.prototype.getResponseText=b.prototype.la,b.prototype.send=b.prototype.ea,b.prototype.setWithCredentials=b.prototype.Fa,Df=b}).apply(void 0!==Rf?Rf:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),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});const Of=1,Pf=2,xf=4,Ff=8,Lf=16,Mf=512;let Uf=new Int32Array(128),Gf=new Int32Array(128),Hf=65535;for(let cU=0;cU<128;cU++)97<=cU&&cU<=122?Uf[cU]=cU-32:Uf[cU]=cU,65<=cU&&cU<=90?Gf[cU]=cU+32:Gf[cU]=cU;var y=class{static CODES=new Map([["",7],["\b",8],["\t",9],["\n",10],["\v",11],["\f",12],["\r",13],[" ",32],['"',34],["$",36],["&",38],["'",39],["(",40],[")",41],["*",42],["+",43],["-",45],[".",46],["0",48],["1",49],["2",50],["3",51],["4",52],["5",53],["6",54],["7",55],["8",56],["9",57],[":",58],["<",60],[">",62],["?",63],["A",65],["B",66],["C",67],["F",70],["P",80],["Q",81],["U",85],["Z",90],["[",91],["\\",92],["]",93],["^",94],["_",95],["`",96],["a",97],["b",98],["f",102],["i",105],["m",109],["n",110],["r",114],["s",115],["t",116],["v",118],["x",120],["z",122],["{",123],["|",124],["}",125]]);static toUpperCase(e){var t,r,n;return e<128?Uf[e]:(r=(t=String.fromCodePoint(e).toUpperCase()).codePointAt(0)>Hf?2:1,t.length>r||(n=(r=String.fromCodePoint(t.codePointAt(0)).toLowerCase()).codePointAt(0)>Hf?2:1,r.length>n)||r.codePointAt(0)!==e?e:t.codePointAt(0))}static toLowerCase(e){var t,r,n;return e<128?Gf[e]:(r=(t=String.fromCodePoint(e).toLowerCase()).codePointAt(0)>Hf?2:1,t.length>r||(n=(r=String.fromCodePoint(t.codePointAt(0)).toUpperCase()).codePointAt(0)>Hf?2:1,r.length>n)||r.codePointAt(0)!==e?e:t.codePointAt(0))}},r=class{constructor(e,t=!1){this.data=e,this.isStride1=t,this.SIZE=t?2:3}getLo(e){return this.data[e*this.SIZE]}getHi(e){return this.data[e*this.SIZE+1]}getStride(e){return this.isStride1?1:this.data[e*this.SIZE+2]}get length(){return this.data.length/this.SIZE}};let Vf=new Uint8Array(256);for(let dU=0;dU<64;dU++)Vf["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-".charCodeAt(dU)]=dU;let qf=e=>{var t=[];let r=0,n=0;for(let s=0;s<e.length;s++){var i=Vf[e.charCodeAt(s)];r|=(31&i)<<n,0==(32&i)?(t.push(r),r=0,n=0):n+=5}return t},n=(e,t)=>{var r=qf(e),n=t?r.length/2:r.length/3,i=new Uint32Array(3*n);let s=0,a=0;for(let o=0;o<n;o++)s+=r[a++],i[3*o]=s,s+=r[a++],i[3*o+1]=s,i[3*o+2]=t?1:r[a++];return i},jf=class{constructor(e){this.initializer=e,this.cache=new Map}has(e){return e in this.initializer}get(e){var t;return this.cache.has(e)?this.cache.get(e):(t=(t=this.initializer[e])?t():null,this.cache.set(e,t),t)}};var Kf=class{static _CASE_ORBIT=null;static get CASE_ORBIT(){return this._CASE_ORBIT||(this._CASE_ORBIT=(e=>{var t=qf(e),r=new Map;let n=0;for(let s=0;s<t.length;s+=2){n+=t[s];var i=t[s+1];r.set(n,n+(i>>>1^-(1&i)))}return r})("rCgCIgCY+rQI4QiCuuBLgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCCgCBgCBgCBgCBgCBgCBgCB+7OB-BB-BB-BB-BB-BBskQB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BC-BB-BB-BB-BB-BB-BB-BByHBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBxHBCBBBCBBBCBBB3SBmMBkNBCBBBCBBB8MBCBBB6MB6MBCBBC+EB0MB2MBCBBB6MB+MBiGBmNBiNBCBBBmKBikzCBmNBqNBkIBsNBCBBBCBBBCBBB0NBCBBB0NDCBBB0NBCBBByNByNBCBBBCBBB2NBCBBDCBBCwDFCBCBDBCBCBDBCBCBDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB9EBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBCBDBCBBBhGBvDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBjICCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBH2iVBCBBBlKBwiVB+jVB+jVBCBBBlMBqEBuEBCBBBCBBBCBBBCBBBCBBB+hVB4hVB8hVBjNB7MC5MB5MCzMC1MB+0yCE5MB20yCC9MBu2yCBwyyCBo0yCChNBlNBo0yCBu-UBi0yCDlNC6-UBpNDrNIu+UDzNCm0yCBzNE0yyCBzNBpEBxNBxNBtEG1NLqxyCBkxyCnFoFrBCBBBCBBDCBBEkIBkIBkICoHHsCCqCBqCBqCCgEC+DB+DBmkOBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCC+BBgCBgCBgCBgCBgCBgCBgCBgCBrCBpCBpCBpCBmjOB-BB8BB-BB-BBgEB-BB-BByBBqgOBsDB-BBtwBB-BB-BB-BBsBBgDBCB-BB-BB-BBeB-BB-BB61OB-BB-BB-DB9DB9DBQB7DBmCE9CBrDBPBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBrFB-EBOBnHB3FB-FCCBBBNBCBBCjIBjIBjIBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB8kMB-BB6kMB-BB-BB-BB-BB-BB-BB-BB-BB-BBokMB-BB-BBkkMBkkMB-BB-BB-BB-BB-BB-BB-BB4jMB-BB-BB-BB-BB-BB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EBCBBBCBoiMBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBJCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBeBCBBBCBBBCBBBCBBBCBBBCBBBCBBBdBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDL-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-C64CgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOCgmOGgmODg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FDg8FBg8FBg8FhVg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBQBQBQBQBQBQDPBPBPBPBPBPjkC7mMB5mMBnmMBjmMBCBlmMB3lMBpiMBk8kCBCBBG-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FD-7FB-7FB-7F6FoglCEsuHRwjlCyDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCB0DBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBG1DD97OCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPEQCQCQCQCPCPCPCPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPB0EB0EBsFBsFBsFBsFBoGBoGBgIBgIBgHBgHB8HB8HDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQCSFPBPBzEBzEBRCxnOFSFrFBrFBrFBrFBREQBQClkOFPBPBnGBnGFQBQCljOCODPBPB-GB-GBNHSF-HB-HB7HB7HBRqJ53OE9tQBrmQH4Bc3BSgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfECBByZ0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzB34BgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CBCBBBt-UBruHBt+UB1iVBviVBCBBBCBBBCBBB3hVB5-UB9hVB7hVCCBBCCBBI9jVB9jVBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBICBBBCBBECBBN-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOC-lOG-lOzoeCBBBCBBBCBBBCBBBCBBBCBl8kCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBTCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBnECBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBKCBBBCBBBnglCBCBBBCBBBCBBBCBBBCBBECBBBvyyCDCBBBCBBBgDCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBn0yCB90yCB10yCBh0yCBn0yCCjxyCBzyyCBpxyCBg6BBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB-CBl0yCBvjlCBCBBBCBBBt2yCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBhkzCZCBB9a-5Bd-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCm6TCBB7gBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCH-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BmlBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvChDwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCFvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvC1DuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCCuCBuCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCCtCBtCk2BgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEO-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-D+CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCL-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-B74CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhrVgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BD1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BtxekCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjC")),this._CASE_ORBIT}static _Print=null;static get Print(){return this._Print||(this._Print=new r(n("hB9CBjBLBCpWBDFBFGBCCCBSBCsMBClBBDxBBDCBC2BBJaBFFBSVBC-FBCvBBD6BBDkDBP6BBDwBBDOBCbBDCCBJBGfBIqCBCgFBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYBDCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPBLCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGBCCBCHBDBBDVBCGBCBBCEBDIBDBBDCBICBFBBCEBDRBLBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBGMBCCBCWBCPBDIBCCBCDBIBBCCBCBBDDBDJBIVBCCBCWBCJBCEBDIBCCBCDBIBBGCBCDBDJBCCBNMBCCBCyBBCCBCFBFPBDZBCCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBN5BBFcBmBBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDBhBnCBCjBBFmBBCjBBCOBCMBmBlGBCGGD4LBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBH1CBDFBD-TBCbBE4CBIVBKXBKTBNMBCCBCBBN9CBDJBHJBHNBCKBH4CBIqBBGlCBLeBCLBFLBFEEBoBBDEBMrBBFZBHKBE9BBDgCBCcBDKBHJBHNBDtBBDLBVsCBClFBJ7BBEOBE9BBGqBBDKBJqBBG1QBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBSXBJuBBSBBDaBCMBEhBBPgBBQrEBF5UBXKBWz4BBD9LBGsBBCGGD3BBIBBPXBKGBCGBCGBCGBCGBCGBCGBCGBC9DBjBZBC4CBN1GBbPBC+BBC1CBDmDBGqBBC9CBC1CBKvBBCszcBE2BBK7KBV3FBJ8GBV7BBEJBH3BBJlCBJLBHzDBMdBEtCBCKBFgBBC2BBKNBDJBDmDBZbBLFBDFBDFBKGBCGBC7BBF9DBDJBHj9KBNWBFwBBloItLBDpDBnBGBNEBGZBCEBCCCBCCBCCBoUBhBpBBHyBBCSBCDBFEBCmEBF9FBEFBDFBDFBDCBEGBCGBOBBDLBCZBCSBCBBCOBDNBjB6DBGCBFsBBE3CBCMBEwBwBBsBBjEcBEwBBQbBFjBBKdBGqBBGdBCkBBFNBrB9EBDJBHjBBFjBBFnBBJzBBMLBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBCnCBJIBxBSBCBBGgBBEaBGaBnB3BBFTBDxBBCBBGHBCCBCcBDCBFJBIIBI-BBhBmBBFLBK1BBEcBDaBGZBIDBNGBxCoCB4ByBBOyBBItBBJJBHlBBEcBJBBxGeBCpBBCCBDBBRFBJIBiBtBBJpBBXZBnBbBVWBKtCBFjBBK9BBCEBOYBIJBH0BBCRBJmBBK-CBCTBMRBCuBB-BGBCCCBCBCOBCKBH6BBGJBHDBCHBDBBDVBCGBCBBCEBCJBDBBDCBDHHGGBDGBEEBMJBCDDClBBCJBCDDCDBCJBCBBJBBe7CBCEBfnCBJJBnF1BBDlBBjBkCBMJBHMBU5BBHJBHTBdaBDOBFWB6F7BBlDyCBNHBDDDBGBCBBCdBCBBDLBKJBnCHBDtBBDKBcnCBJyCBOoCBIJB3CHB5ChBBPJBHIBCsBBCNBLcBEfBDVBCNBqCGBCBBCrBBECCBCCBHBJJBHFBCBBCkBBCBBCFBIJBHrBBFJB3HYBIQBCoBBEcB2CQQBwBBO6cBnDuDBCEBMjGBtyCiDBOvhBBRVBL68DBGmSB61G5BBn2B4RBIeBCJBFwCBCJBHdBDFBLlCBLJBCGBCUBGSBxN5BBnG6CBGYBDYBtBqCBF4BBIQBhCEBMGBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBDDBh7D8HBEzNBHWBQQBQtBBDWBKzDB9B1HBLmBBDpCBJvDBWlCB7DTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBD9VBQEBCOBxiBeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBENBDJBFBBhKeBS5BBGxOxOBoBB3GqBBFhGhGBdBCVBJBBhHGBCDBCBBCOBCkGBDPBqBrCBFJBFBByYjCBtC8BBjGDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBBvIrBBFjDBNOBDOBCOBCkBBLtFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBmgB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIBnkzVvHB",!1))),this._Print}static CATEGORIES=new jf({C:()=>new r(n("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 r(n("AfgDgB",!0)),Cf:()=>new r(n("tFzqBzqBBEBXhGhGyBhMhMBxCxCs5D9-B9-BBDBbEByBEBCJBw03B6H6HBBBimEQQj7IPBhjiBDBwmFHBn0rYffB+CB",!1)),Cn:()=>new r(n("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 r(n("gg4B-nGh4hc9--BD9--B",!0)),Cs:()=>new r(n("gg2B--B",!0)),L:()=>new r(n("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICCiEEBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoCaBFDBuBqBBkBBBCiDBCQQBIIBLLBBBDRRCdBe4CBMZZBfBKBBFGGBUBFKKEYYBXBIKBGXBCGBRpBB7B1BBETTIJBQPBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNGB7BBBCCCBDBCXBCCCBIBCBBKDDBDBCWWBCBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNSSBkBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBkBFFkC4CBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBzC+C+CBtBBSHB3BdBOBBLrBBbjBBqBCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBhC1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBF1B1BB8zC8zCBjHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBxC2O2OBrBrBBDBGBBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBReBDlCByBIBDmDBDxCBVQBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBdRRBDBCJBLEBCoBBYCBCHBVWBEEEBwBBCEEBDDBDBDCCZCBDKBICBNFBDFBDFBKGBCGBCqBBCNBHyDBej9KBNWBFwBBloItLBDpDBnBGBNEBGCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBxB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOjBBnBbBKWB7HpBBHBBRFB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB1D-BBgBHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBqBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBGjCjCBLBhCBBCPPBNNB0mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBn7F0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFBmI9BBzEsBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCCBCBBCGBDEBKBBhHGBCDBCBBCOBCkGB8BjCBI1lB1lBBCBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),LC:()=>new r(n("hCZBHZB7BLLBVBCeBCiGBCDBFvGBDZBhGDBDBBECBCHHCCBCCCBSBCyCBCqEBJlFBClBBKoBB44ClBBCGGDqBBDCBhV1CBDFBjkCKBGqBBDCBhCrBBgCMBChBBmD1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGBmIFFDJBCEEBDBHGCBCBCFBFDDBCBGEBF1B1BB8zC8zCB6DBDmDBHDBEBBNlBBCGGzoetBBTbBnEtCBCWBEDBCsCBZBBE2Z2ZBpBBGIBIvCBh6TGBNEBqgBZBHZBmlBvCBhDjBBFjBB1DKBCOBCGBCBBCKBCOBCGBCBBk2ByBBOyBB+CVBLVB74C-BBhrV-BBhBYBDYBtpZ0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BJBCTBHFB2uCjCB",!1)),Ll:()=>new r(n("hDZB7BqBqBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDZBiGCCEEEBBBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBDCB5XFBjkCIBC2D2DBqBBgCMBChBBnD0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBBzIEEBEEcKFDBBJDBF2B2Bs1CvBBCEEBGCFCCBCCBEBGiDCBIICFFNlBBCGG0oesBCUaCoEMCBBBC+BCBGBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCbEE2ZqBBGIBIvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFB4vChBB",!1)),Lm:()=>new r(n("wVRBFLBPEBICCmEGG-OnHnHlFBBuIBBFgBgBKEEhFoFoF1mBgEgE2R72B72BsDkTkTxOFBvF+BBOjBjBBjBByVOORMBg-CBByHgGgG2OsBsBBDBGiDiDB+C+CBBB34bjnBjnBBEBvIzDzDdBB6DIBxCYYpDDBEBB2OXXqEtDtDWBBoDDBKngVngVuBBBh-BFBCpBBCIB0sBhBhB2K04D04DnrTDB9PCBpBBBnRMBhCBBCPPB9-P9-PBCBCGBCBByhM9BBqGGBud0Q0QsSAB",!1)),Lo:()=>new r(n("qFQQhIFFBCBxGBB7ZaBFDBuBfBCJBkBBBCiDBCZZBLLBBBDRRCdBe4CBMZZBfBWVBrBYBIKBGXBCGBRoBB8B1BBETTIJBROBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNFB8BBBCCCBDBCXBCCCBIBCBBKDDBDBYDBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNyDyDBnKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPByDrTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBpBkCkCBhBBC0BBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBxFuBBSHB3BdBOBBLrBBbjBBqBCBLdByDDBCFBCBBE7hB7hBBCB4-C3BBZWBKGBCGBCGBCGBCGBCGBCGBCGBoR2B2BF1CBJCCB4CBFGGBpBBC9CBSfBxBPBhQ-tGBhC0wUBC2jBBkCnBBJrIBFPBLBBjCyByBBkCBqFoDoDEGBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBuBEBDIBLEBCoBBYCBCHBVPBCFBEEEBwBBCEEBDDBDBDCCZBBEKBIPPBEBDFBDFBKGBCGByEiBBej9KBNWBFwBBloItLBDpDBkCCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBqDJBCsBBDeBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBhEtCBjDnBBJzBB9CzBBN2JBKVBLHB5EFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4FjBBnBDBCxJxJBoBBHBBRCBCBB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB0GHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBnBBCBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBB0BUBGSB0NnBB2MqCBGwFwFB0mHBqBfBiDyDBuwIiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBxzI2P2PBrBBiBiKiKBcBTrBBlPaBmHdBDwGwGBdBCCBCBBCGBDEBKiHiHBFBCDBCBBCOBCkGB8pBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Lt:()=>new r(n("lOGDnB2sH2sHBGBJHBJHBNQQwBAB",!1)),Lu:()=>new r(n("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBG+B+B9zCvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBB",!1)),M:()=>new r(n("gYvDB0IGBoIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCgBB3BCBCRBCGBLBBeCB5BCCBFBDBBDCBKLLBbbDCB5BCCBDBFBBDCBEffBEEMCB5BCCBGBCCBCCBVBBXFBCCB5BCCBFBDBBDCBICBLBBf8B8BBDBECBCDBKpBpBBDB4BCCBFBCCBCDBIBBMBBeCB5BCCBFBCCBCDBIBBMBBQNNBCB4BBBCGBCCBCDBKLLBeeBBBnCFFBEBCCCBGBTBB+BDDBFBNHBjDDDBHBMGBqCBBcECFBByBTBCBBGKBCjBBKlDlDBSBYDBFCBCCBDGBEDBOLBCLLBCBgWCBzdDBdCBeBBfBBhCfBKuBuBBBBC2D2DBjBjB3DLBFLB8GEB6BJBCcBDxBxBBsBBDLBVEBwBQBnBIBNCBfMB5BNBxBTB5ECBCUBFHHDCBnG-BBxWgBB--CCBuEhDhDBeBrRFBqDBB1udDBCJBhBBBxCBBxIEEFYYBDBF0C0CBzBzBBQBbRBOnBnBBGBaMBtBDBwBNBlBkCkCBMBNJJBuBuBBBBzBCCBBBDBBGBBCqBqBBDBGBBtHHBCBBx5TiXiXBOBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB7DCB2BOBqBDDBLLBCBuBKBI+B+BBBBlBNBRBBtBNNBBBxBNBJDBCBB9CLBHDD+ELBWDB4BBBCGBDBBDCBKLLBDDBFBEEBkCIBCDDCDBCEBCPPBzCzCBQBYyCyCBSBsHGBDIBcBBzCQBrDMBmDOBhIOB2HFBCBBDDBCCCBuEuEBFBDGBEddBIBpBGBCDBJKKBJBvBPBnGHBoGHBCHBzCVBCNB7DFBECCBCCBFBCjCjCBDBCBBCEB8KDBKBBCxBxBBFBEEBYmnFmnFHOBpmLRBhuCEB8BGB5gBCCB1BBIDByCMMBslTslTBizEizEBsBBDWB-QEBEFBJHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),Mc:()=>new r(n("joC4B4BDCBJDBCBBzBBB7BCBHBBDBBLsBsB7BCBjC7B7BBBBJCCB2B2BB7B7BCHHBDDBLLnDBBCBBECBCCBLqBqBBBB+BDB+BBB7BCCBDBDBBCBBKBBdPPB7B7BBBBGCBCCBLrBrBBsCsCBBBHHBTBBrKBBgCsFsFBFFHDDBaaBLLBBBDGBWBBDFBDLLBBB5zBffiEIIBGBCBB7KDBDCBFBBCFBhHBB7BCCKCCBJJBEByExBxBGCCBDBCBB+BffFBBD9B9BDCBCEEBxBxBBGBJBBsFWW35EBB0-dBBD5C5CBzBzBBOBvEBBwBxBxBBFFBDDBBBvDBBDBBZuBuBCuDuDDBBGuHuHBCCBCCBCC0gZCCgEuBuBBBBFBB0DZZB8B8BxBCBKBBO+C+CBBBEBBCrFrFBBBgBBB7BBBCDBDBBDCBKLLB1C1CBBBIDDCDBCBBCmDmDBBBJBBErDrDBBBHCCBCBDuHuHBBBHDBDyDyDBBBJBBCuDuDCBBHoDoDCBBFmImIBBBK4H4HBEBCBBFDDCvEvEBBBJDBF1C1CeBB-BqGqGECCoGPPrDIID2G2GBDBFBBC-K-KBNNxBBBJBBCpvQpvQBBBlxD2BBpDBB0rYBBHFB",!1)),Me:()=>new r(n("okBBB1xF-wB-wBBCBCCBsshBCB",!1)),Mn:()=>new r(n("gYvDB0IEBqIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCfB4BCCFHBFEEBFBLBBe7B7BFDBJVVBbbDBB6BFFBFFBDDBBBEffBEEMBB6BFFBDBCBBFVVBXXBEBC7B7BDCCBCBJIIBMMBff+BNNzBEE4BCCBBBGCBCDBIBBMBBe7B7BDHHGBBVBBdBB6BBBFDBJVVBeepCIIBBBC7C7CDGBNHBjDDDBHBMGBqCBBcEC4BNBCEBCBBGKBCjBBKnDnDBCBCFBCBBDBBaBBFCBRDBODDBHHQgWgWBBBzdCBeBBfBBfBBhCBBCGBJDDBJBKuBuBBBBC2D2DBjBjB3DCBFBBKHHBBB8GBBD7B7BCGBCCCDHBHJBDxBxBBMBCeBDLBVDBxBCCBDBCGGpBIBNBBhBDBDBBCCB5BCCBEECCB7BHBDBB5ECBCMBCGBFHHEBBnG-BBxWMBFEEBKB--CCBuEhDhDBeBrRDBsDBB1udFFBIBhBBBxCBBxIEEFaaBGG4EBBbRBOnBnBBGBaKBvBCBxBDDBCBDBBoBkCkCBEBDBBDBBNJJwB0B0BCCBDBBGBBCrBrBBJJvHDDFx5Tx5TiXPBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB8D3B3BBNBqBDDBLLBBByBDBDBBI+B+BBBBlBEBCHB-BNNB1B1BBHBLDBDgDgDBBBDCCBHHD+E+EEHBWBB6BBBEmBmBBFBEEBnCFBOECPBB2CHBDCBCYY1CFBCFFBCCBvHvHBCBHBBCBBcBB2CHBDCCBrDrDCDDBEBCmDmDCDDBCBCEBkIIBCBBhIBBCFFxEDBDBBFhBhBBIBpBFBDDBJKKBEBDCBvBMBCBBnGCCBBBCqGqGBFBCFBCzCzCBUBDGBCBBCBB7DFBECCBCCBFBCpCpCBEEC8K8KBMMB1B1BBDBGCCYmnFmnFHOBpmLLBECBhuCEB8BGB5gBgCgCBCByC5lT5lTBizEizEBsBBDWBhRCBSHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),N:()=>new r(n("wBJB5DBBGDDBBBitBJBnEJBnGJB9MJB3DJBFFBtDJB3DJB3DJBDFBvDMB0DJBJGBoDJBpDGBISBuDJBhDJB3DJBnCTBtIJBnCJBwWTBybCBwHJBHJBXJBtJJBhEKBmFJBHJB3FJB3CJBnEJBHJB3gBEEBEBHJBnGyBBDEB3W7BBvCVB3TdBqrBqYqYaIBPCB4KDBrEJBfHBCOBhBJBoBOBh7cJB9FJBhKFB7EJBnBJBnGJBXJB3CJB3MJB34UJBuPsBBN4BBSBB2KaBlBDBeJJnEEBrGJBvdHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBxBJBHJB3IeB-EJBrBDBxDGBnEdBhEJB9BJBxEJBITB8HJB3KJB3DJB3LJBnDJBHTBtCLBlNSB+CJB3UJB3CcBkHJBnCJB3BJBnLJBnDUBshBuDBimPJBnpCJB3CJBnEJBCGBvQJBnIWB+KCB6nXJBnuBTBNTBtDYB2iBxBBhqCJBnNJB3PJB4HJBtWIBhEJB4Y6BBCCBCDBtCsBBCOBjeMBk3CJB",!1)),Nd:()=>new r(n("wBJnxBJnEJnGJ9MJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJhDJ3DJnCJ3IJnCJn6BJnBJtJJhEJnFJHJ3FJ3CJnEJHJnuiBJnVJnBJnGJXJ3CJ3MJ34UJnsBJnkCJHJ9YJhEJ9BJxEJ3IJ3KJ3DJ3LJnDJHTtCJnNJnDJ3UJ3CJ3HJnCJ3BJnLJ3uQJnpCJ3CJnEJ3QJ37XJ12CxBhqCJnNJ3PJ4HJ2aJ30EJ",!0)),Nl:()=>new r(n("u3FCBwzCiBBDDB-zDaaBHBPCBs1dJBxyW0BBtOJJnEEBrhIuDBm8SCB",!1)),No:()=>new r(n("yFBBGDDBBB2pCFB5LFB5DCBmEGB6GGBSIByNJB2hBTB0jBJBhP20B20BEFBHJBnGPBqB3W3WB6BBvCVB3TdBqrB1kB1kBBCBrEJBfHBCOBhBJBoBOBxrdFBymWsBBiCDBSBB2KaBlBDB1pBHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBhLeB-EJBrBDBxDGBnETB8LTBmqBBBvNIBobSB0aUBn8SGB-YWBqhZTBNTBtDYBvqFIBid6BBCCBCDBtCsBBCOBjeMB",!1)),P:()=>new r(n("hBCBCFBCDBLBBEBBbCBCccCkBkBGEELBBEEE-VJJzOFBqBBB0BCCDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCmBmBBCBoCrCrCBDBFBBwDFBsFlTlTBHB4EuTuTtBBBvCCBoCBB+ECBCCBmBKB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBM9Z9ZBWBJTBCMBCLBfBBPBB6TDBeBB+hBNBwCBBgBJB0MVBgCDBhBBB8XDBCBBxDwEwEBtBBCfBDLBkNCBFJBDLBRNNjD7C7CjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HzqUzqUBxGxGBIBXiBBCNBCFFCBB2ECBCFBCDBLBBEBBbCBCccCCCBFB7MCB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDByO-J-JjBlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Pc:()=>new r(n("-Cg-Hg-HBUU-u3BBBZCBwHAB",!1)),Pd:()=>new r(n("tB9qB9qB0BiyDiyDmgBqgCqgCBEBiwDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Pe:()=>new r(n("pB0B0BgB+1D+1DC-6B-6BqtC4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECtBGCtNICEGCDBB-ozB6G6GeOCESSCCCrF0B0BgBGD",!1)),Pf:()=>new r(n("7F+6H+6HEddpuDCCFDDQEE",!1)),Pi:()=>new r(n("rFt7Ht7HDBBDaapuDCCFDDQEE",!1)),Po:()=>new r(n("hBCBCCBDECBLLBEEBcclCGGPBBI-V-VJzOzOBEBqB3B3BDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCxDxDrCEBFBBwDFBsFlTlTBHBmY9D9DBBBoCBB+ECBCCBmBFBCDB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBMjajaBJJBGBJIBDDBDCBEKBCCCBIB7kDDBCBBxDwEwEBFFBBBDDDBHBCBBCDDBLLBDBCJBDDBCCCBLBDCBtNCB6B+F+FjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HlxUlxUBFBDXXVBBDDBECBCDBICBHCCB2E2EBBBCCBDECBLLBEEBcclBDDB7M7MBBB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDB0ZlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Ps:()=>new r(n("oBzBzBgB-1D-1DC-6B-6B-rCEEnB4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECaTTCECtNICEGCDipzBipzB4GeeCMCESSCCCrFzBzBgBEEDAB",!1)),S:()=>new r(n("kBHHRCBgBCCcCCkBEBCBBDCCBCBDEEfgBgBrODBNNBGGBCCCBPB2DPPBxDxDsErIrIBBB3DCBDDDBvGvGLUUB4H4HIBBpEqLqLBHHB2H2H-DjEjEBGBlEwGwGqBmGmGiGCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WuLuLlL+E+EBgBBiLJBKIBhiBCCBBBMCBOCBOCBOBBmCOOoBCBOCBUhBB-BBBCDBCBBLCCBBBGFBCECFMMBFFBDBGDBC7B7BBFFB2LBFcBD+HBXKByCtCBXnTBtBwBBDeBLyMBX+BBFfBD1LBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBB8CBB0HBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BB6RWBKBBoDBB+EDBLDB+RCBiHPPB+9T+9TpEgBBuLPBhCBB3BHBtBDBjDCCBBBD7E7EHRRBBBgBCCcCCiEGBCGBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSmWmWBiKiKBGBnjC2kC2kCBbBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQQBgDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBrbaagBaagBaagBaagBaa9B-PB4BDBzBHBCNBCBBp2BwNwNttCEE+DiOiOBvIvIBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Sc:()=>new r(n("kB+D+DBCBqnB8D8DzPBBzPBBI2H2HoImSmS8sClmClmCBgBB37hBkuVkuVtD7E7E8GBBEBB3-HDB-4wBxtCxtC",!1)),Sk:()=>new r(n("+CCCoCHHFEEqQDBNNBGGBCCCBPB2DPPBjoBjoB15FCCBBBMCBOCBOCBOBB9kEBBkzdWBKBBoDBBxePPBniUniUBPB8bCCjF4g9B4g9BBDB",!1)),Sm:()=>new r(n("rBRRBBB+BCCuBFFmBgBgB-XwQwQBBB8xGOOoBCBOCBsEoBoBBDBHlClCBDBGBBFGDIgBgBBDDCgBgBBqIBhBBB7CffBXBpBFB2OKK3BHBwDxKxKBDBDeBLPBhIiEBX+BBFfBDhIBxBUBDFB9+zB5Z5ZCCBlFRRBBB+BCCkEHHBCBitDBBhrwBx+Bx+BagBgBagBgBagBgBagBgBat5Ft5FB-uC-uCBHB",!1)),So:()=>new r(n("mFDDFCCyerIrIBgEgEBvGvGLUUB4H4HkQ2L2LjEFBClElEwGqBqBoMCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WzWzW+EhBBiLJBKIBksBBBCDBCBBLCCBHHBEBCECFMMBPPCBBC7B7BBKKBDBDDBCBBCBBCGBCeBDBBCCCBdBtIHBFTBDGBDwCBCdBanBBHnCBXKByCtCBX2FBCIBC1BBJuDBC3HBtBrBBhC-HBhQvBBWBBHmBBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBBxKBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BBibDBLBBC+R+RBBBqqUPBuLPBhCBB3BHBuBCBlPEEFBBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSpgBpgBBGBnjC2kC2kCBGBFQBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQPBhDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBqlB-PB4BDBzBHBCNBCBBp2B96C96CiEyWyWBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E6HBG4WBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBB-B3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Z:()=>new r(n("gBgEgEgvFgsCgsCBJBeBBGwBwBh9DAB",!1)),Zl:()=>new r(n("ohIA",!0)),Zp:()=>new r(n("phIA",!0)),Zs:()=>new r(n("gBgEgEgvFgsCgsCBJBlBwBwBh9DAB",!1)),ASCII_Hex_Digit:()=>new r(n("wBJIFbF",!0)),Alphabetic:()=>new r(n("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICC3CeeBQBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoBNBCCCBCCBCCJaBFDBeKBG3BBCGBPlDBCHBFHBFCBLCBDRRBuBBOkDBZgBBKBBFGGBWBDSBUYBIKBGXBCGBIJJBoBBLLBEGBHrCBCPBCCBFOBOSBCHBDBBDVBCGBCEEBCBEHBDBBDBBCJJFBBCEBNBBLFFBBBCFBFBBDVBCGBCBBCBBCBBFEBFBBDBBFIIBCBCSSBEBMCBCIBCCBCVBCGBCBBCEBEIBCCBCBBEQQBCBWDBFCBCHBDBBDVBCGBCBBCEBEHBDBBDBBKBBFBBCEBORRBCCBEBECBCDBEBBCCCBEEBEEBBBELBFEBECBCCBEHHpBMBCCBCWBCPBEHBCCBCCBJBBCCBCBBDDBdDBCHBCCBCWBCJBCEBEHBCCBCCBJBBGCBCDBOCBNMBCCBCoBBDHBCCBCCBCGGBCBIEBXFBCCBCRBEXBCIBCDDBFBJFBCCCBGBTBBO5BBGGBH0B0BBECBDBCXBCCCBRBCCBDEBCHHPDBhBgCgCBGBCjBBFSBFPBCjBBkC2BBCDDBDBR-BBLDBDlBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBEKBITBMUBNTBNMBCCBCBBNzBBDSBPFFkC4CBIqBBGlCBLeBCLBFIBYdBDEBMrBBFZB3BbBF+BBDTBzBYYBMMBBByBzBBCOBCHB0BpBBDDBLrBBCKBP2BBXCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBUhBBM1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBFSSBnBBuZzBB34BkHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBCfBwB2O2OBBBaIBIEBDEBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBGHBEwDBoBIBDmDBDxCBVUBCgBBZzBBNjCBCtBtBBEBECCBBBLgBBGiBBOcBEyBBCLBQRRBOBLEBC2BBKNBTWBEkCBCCCZCBDPBDDBMFBDFBDFBKGBCGBCqBBCNBH6DBWj9KBNWBFwBBloItLBDpDBnBGBNEBGLBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmC0BBsIcBEwBBwBfBOdBGqBBGdBDjBBFHBCEBrB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCDBCBBGHBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOnBBjBbBEGGBVB7HpBBCBBEBBRFBzBCBEcBLJJBUBrBRBvBUBcWBKlCBsBEBL4BBKOOBXBYyBBSDBJiBBEKKB+BBCDBKBBLCCkBRBChBBDHHBCB-BGBCCCBCBCOBCJBI4BBYDBCHBDBBDVBCGBCBBCEBEHBDBBDBBEHHGGBdJBCDDClBBCJBCDDCDBCBBECCtBhCBCCBCDBVCBfhCBDBBC5F5FB0BBDGBaFBjB+BBCEE8B1BBDoCoCBZBDNBWGB6F4BBoD-BBgBHBDDDBGBCBBCdBCBBDBBDDB+CHBDtBBDFBCCCBccBxBBDJBSnCBGTTBnCBoDHB5CgBBgBIBCsBBCGBCyByBBcBDVBCNBqCGBCBBCrBBECCBCCBBBCDDBZZBEBCBBCkBBCBBCDBCYYBqBBlIWBKQBCoBBECBwDwCwCB4cBnDuDBSjGBtyCgDBQvhBBSFBa68DBGmSB61GuBBy2B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBF4BBIQBhCBBCNNBFBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBFi7Fi7FBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCVBJBBhHGBCDBCBBCOBCkGB8BjCBEEE1lBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1TZBHZBHZB3zD-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Dash:()=>new r(n("tB9qB9qB0BiyDiyDmgBqgCqgCBEB+BoBoBQnMnMlgDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Emoji:()=>new r(n("jBHHGJBwDFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDrGrGhFBBNBBPDDBIBsCZBCBBYVVDIBWBBvFhBBDvDBDBBCCBDyCBDCBCmIBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDDBEJBECCBEEDJBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Emoji_Component:()=>new r(n("jBHHGJB0+H2G2Gsp3B3+8B3+8BBYB8PEBxtBDBtzhY-CB",!1)),Emoji_Modifier:()=>new r(n("7-8DE",!0)),Emoji_Modifier_Base:()=>new r(n("9wJ8G8GRDB4jzD9B9BBBBDDDBBB2DBBDKBWSBEFFBBBCCBICCZqGqGBFFWFFBvFvFBBBEEB0CRRBBBKMMgSDDJHBHKKBIBDCB5B+B+BBCCBCCSCBCMBmHCBrBIB",!1)),Emoji_Presentation:()=>new r(n("64IBBuGDBEDDqQBBWBBzBLBsBUUOJJBSSBGGBJJGWWIBBCFFDIIFBBdkBkBCFFBBBC+B+BBBBZPP8aBB0BFFvlxDrGrG-FDDBIBsCZBCZZVDDBDBCCBWBBvFgBBNIBClCBCVBNqBBFEBNQBEEEBlCBCCCB5FBD+BBODBCXBTbbBOO3C0CBxBlCBHEEBBBDDBEDBMBBIIBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Extended_Pictographic:()=>new r(n("pFFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDoBoBBCBlDLBQBBQPPBmBmBBIBxDBBNBBPDDBIBU3BBcOBLVVDIBCDBKWBH7FBDvDBDBBCCBDyCBDCBCDBG9HBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDQBECCBEBDMB7GlBBNDB5BHBLFBpBHBfBBNDBDNBKmBBNuBBCJBC4FB5CHBPxEBhI9fB",!1)),Hex_Digit:()=>new r(n("wBJIFbFq1-BJIFbF",!0)),Lowercase:()=>new r(n("hDZBwBLLFlBlBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDiBBIBBfEBhDsBsBCEEDDBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBCDB5XFBjkCIBC2D2DB+FBiC0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBB6DOORMBuDEEBEEcKFDBBJDBFiBiBBOBFsasaBYBn6BvBBCEEBGCFCCBCCBGBEiDCBIICFFNlBBCGG0oesBCUaCBBBmEMCBBBC8BCBIBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCWDBCCCBBB2ZqBBCNBHvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBkODDBBBCpBBCIBmoByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFBmI9BB1lChBB",!1)),Math:()=>new r(n("rBRRBBBgBeeCuBuBFmBmBgB5W5WBBBDbbBDDBBBwQCBuwGccBBBMEEOPPBCBWEBMEBiCMBFEEBFFBDBTFFDJBCDDBEBHEEBDDBCCBBBCFBENBClClCBWBCFBCBBFBBFfBCHHBPPBqIBJDBVBB7CffBZBCZZMGB+NBBNJBFFBFBBDBBEEBPCCDFBMHBGBB6BCCeDBKCBxK-BBhI-PBxBUBDFB9+zB4Z4ZBEBCjFjFRCBeCCeCCkEHHBCBitDBBhrwBwoBwoBBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBBhwFDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB-uCIB",!1)),Quotation_Mark:()=>new r(n("iBFFkEQQ96HHBaBBowDqOqOBCBOCBixzBDB+FFF7CBB",!1)),Terminal_Punctuation:()=>new r(n("hBLLCMMBEE-ZJJiQ6B6BpCPPCCB1FsBsBBJBCsHsHB3B3BBEBCHBgBmImIB1nB1nBBtFtFFFB4JBB2YHBmY9D9DBBBoCBB+ECBEoBoBBCBDBB7JBBjLDBjFBBLBBCCBeCB8FEB-BBBldYYBKKBBBwlDCBzJOOFLLCBBEBBtNBB8ndBBuICBkHEB-LBB3CBBgD4E4EBBB0ECBgERRB6H6HnxUDDB6B6BBBBCDBqFLLCMMBEEiCDD7hBxBxBnkBoGoG3JBB5EFBlCFB6CDB5dEBtBDB+FGBxDDBgECBiEBBHRRB5C5CBDBtDrJrJB2D2DBBBNBBnLDBEOBqDBB6HCBmQCC8HBB4CBBFBB-MCBuBmUmUBrCrCBspBspBBDB6vRBBmEiCiCBBBLqRqRBoJoJBnwTnwTovHDB",!1)),Uppercase:()=>new r(n("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBGbbBOBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBBvgCZBHZBHZB",!1)),White_Space:()=>new r(n("JEBTlDlDbgvFgvFgsCKBeBBGwBwBh9DAB",!1))});static get Upper(){return this.CATEGORIES.get("Lu")}static SCRIPTS=new jf({Adlam:()=>new r(n("go6DrCFJFB",!0)),Ahom:()=>new r(n("g4lCaDOFW",!0)),Anatolian_Hieroglyphs:()=>new r(n("ggxCmS",!0)),Arabic:()=>new r(n("gwBEBCFBCNBCCBCfBCJBMZBCrDBChBBxCvBBxHhBBGqCBCcBxy8BtPBDvEBhBPBxDEBCmEBk7DeBkCFBJIBiBFBh43BDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB",!1)),Armenian:()=>new r(n("xpBlBDxBDCks9BE",!0)),Avestan:()=>new r(n("g4iC1BEG",!0)),Balinese:()=>new r(n("g4GsCCxB",!0)),Bamum:()=>new r(n("g1pB3CpowB4R",!0)),Bassa_Vah:()=>new r(n("w26CdDF",!0)),Batak:()=>new r(n("g+GzBJD",!0)),Bengali:()=>new r(n("gsCDBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYB",!1)),Beria_Erfe:()=>new r(n("g17CYDY",!0)),Bhaiksuki:()=>new r(n("ggnCICsBCNLc",!0)),Bopomofo:()=>new r(n("qXB6wLqBxDf",!0)),Brahmi:()=>new r(n("ggkCtCFjBKA",!0)),Braille:()=>new r(n("ggK-H",!0)),Buginese:()=>new r(n("gwGbDB",!0)),Buhid:()=>new r(n("g6FT",!0)),Canadian_Aboriginal:()=>new r(n("ggF-TxRlC7tgCP",!0)),Carian:()=>new r(n("g1gCwB",!0)),Caucasian_Albanian:()=>new r(n("wphCzBMA",!0)),Chakma:()=>new r(n("gokC0BCR",!0)),Cham:()=>new r(n("gwqB2BKNDJDD",!0)),Cherokee:()=>new r(n("g9E1CDFz7lBvC",!0)),Chorasmian:()=>new r(n("w9jCb",!0)),Common:()=>new r(n("AgCBbFBbuBBCOBCEBYgBgBiOmBBGEBDTB1DKKHCC+THHPEEhB9E9ElQiEiEB6mB6mB2MDBjJwvBwvBBBBoCBBsGBBCumBumBOIIBCBCFBCCBDmYmYBKBD2CBCKBEKBCOBShBB-BlBBCCBDFBCaBCQBqBCBF5UBXKBW-cBhIzTBDpEBhQ9CBzMUBCCCBXBQHBFDB8CBBE7C7CB0E0EBOBhBlBBKxBxBB+BBgBwCBwB5C5CBmFBhuG-BBhoWhBBnDCBmFJB1HhFhFsMPPBzuUzuUBxGxGBIBXiBBCSBCDB0ECCBeBbFBbKBLuBuBBhChCBFBCGBLEBjICBFsBBEIBxCMB0BsBBlHaBltuBDB96D8HBEzNBHWBQQBgDzDB9B1HBLmBBD9BBEQBJBBIdBF8BB2GTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBByjFjCBtC8BBjWrBBFjDBNOBDOBCOBCkBBLtFB5BZBCBBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBnghYffB+CB",!1)),Coptic:()=>new r(n("ifNxkKzDGG",!0)),Cuneiform:()=>new r(n("ggoC5cnDuDCEMjG",!0)),Cypriot:()=>new r(n("ggiCFBDCCBqBBCBBEDD",!1)),Cypro_Minoan:()=>new r(n("w8rCiD",!0)),Cyrillic:()=>new r(n("ggBkEBDoFBx6FKBhFtCtCojEfBhie-CBv8VBBhw4B9BBiBAB",!1)),Deseret:()=>new r(n("gghCvC",!0)),Devanagari:()=>new r(n("goCwCFODZh7nBfhwcJ",!0)),Dives_Akuru:()=>new r(n("gomCGBDDDBGBCBBCdBCBBDLBKJB",!1)),Dogra:()=>new r(n("ggmC7B",!0)),Duployan:()=>new r(n("ggvDqDGMEIIJDD",!0)),Egyptian_Hieroglyphs:()=>new r(n("ggsC1iBL68D",!0)),Elbasan:()=>new r(n("gohCnB",!0)),Elymaic:()=>new r(n("g-jCW",!0)),Ethiopic:()=>new r(n("gwEoCBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBnvGWBKGBCGBCGBCGBCGBCGBCGBCGBjpfFBDFBDFBKGBCGBylvCGBCDBCBBCOB",!1)),Garay:()=>new r(n("gqjClBEcJB",!0)),Georgian:()=>new r(n("glElBBCGGDqBBCDBx8CqBBDCBhiElBBCGG",!1)),Glagolitic:()=>new r(n("ggL-Ch9sDGCQDGCBCE",!0)),Gothic:()=>new r(n("w5gCa",!0)),Grantha:()=>new r(n("g4kCDBCHBDBBDVBCGBCBBCEBDIBDBBDCBDHHGGBDGBEEB",!1)),Greek:()=>new r(n("wbDBCCBDDBCFFCCCBBBCCCBSBC+BBPPBnpGEBzBEBFEB1ChKhKBUBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBoJ-xiB-xiB7uVuCBSgj0Bgj0BBkCB",!1)),Gujarati:()=>new r(n("h0CCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGB",!1)),Gunjala_Gondi:()=>new r(n("grnCFCBCkBCBCFIJ",!0)),Gurmukhi:()=>new r(n("hwCCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPB",!1)),Gurung_Khema:()=>new r(n("go4C5B",!0)),Han:()=>new r(n("g0LZBC4CBN1GBwBCCaIBPDBle-tGBhC-vUBhoWtLBDpDBpodBBNGBqgkB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Hangul:()=>new r(n("goE-HvxHBiI9CyDeiCei3dckUj9KNWFwBl9JeEFDFDFDC",!0)),Hanifi_Rohingya:()=>new r(n("gojCnBJJ",!0)),Hanunoo:()=>new r(n("g5FU",!0)),Hatran:()=>new r(n("gniCSCBGE",!0)),Hebrew:()=>new r(n("xsB2BBJaBFFBpp9BZBCEBCCCBCCBCCBIB",!1)),Hiragana:()=>new r(n("hiM1CBHCBi7-C+IBTeeBBBulQAB",!1)),Imperial_Aramaic:()=>new r(n("giiCVCI",!0)),Inherited:()=>new r(n("gYvDB2IBBlOKBbhXhXBCB8qEtBBDLBlPCBCMBCGBFHHEBBnG-BBtQBBjGgBB65DDBsDBBmrzBPBRNBwejHjH7iEl+uBl+uBBsBBDWBhRCBSHBDGBfDBz6rYvHB",!1)),Inscriptional_Pahlavi:()=>new r(n("g7iCSGH",!0)),Inscriptional_Parthian:()=>new r(n("g6iCVDH",!0)),Javanese:()=>new r(n("gsqBtCDJFB",!0)),Kaithi:()=>new r(n("gkkCiCLA",!0)),Kannada:()=>new r(n("gkDMCCCWCJCEDICCCDIBGCCDDJCC",!0)),Katakana:()=>new r(n("hlM5CBDCBxHPBxGuBBC3CBvgzBJBCsBBzisBDBCGBCBBCgJgJBBBzBPPBCB",!1)),Kawi:()=>new r(n("g4nCQCoBEc",!0)),Kayah_Li:()=>new r(n("goqBtBCA",!0)),Kharoshthi:()=>new r(n("gwiCDCBGHCCCcDCFJII",!0)),Khitan_Small_Script:()=>new r(n("k-7C84G84GB0OBqBAB",!1)),Khmer:()=>new r(n("g8F9CDJHJnPf",!0)),Khojki:()=>new r(n("gwkCRCuB",!0)),Khudawadi:()=>new r(n("w1kC6BGJ",!0)),Kirat_Rai:()=>new r(n("gq7C5B",!0)),Lao:()=>new r(n("h0DBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDB",!1)),Latin:()=>new r(n("hCZBHZBwBQQGWBCeBCgOBoBEB8wGlBBHwBBGDBGMBClCBiC-HByLOORMBuEBBHccSoBB42CfBj1elDBExCBVOBxZqBBCIBCDB38TGB7gBZBHZBmhCFBCpBBCIBm61BeBHFB",!1)),Lepcha:()=>new r(n("ggH3BEOEC",!0)),Limbu:()=>new r(n("goGeBCLBFLBFEEBKB",!1)),Linear_A:()=>new r(n("gwhC2JKVLH",!0)),Linear_B:()=>new r(n("gggCLCZCSCBCODNjB6D",!0)),Lisu:()=>new r(n("wmpBvBx1eA",!0)),Lycian:()=>new r(n("g0gCc",!0)),Lydian:()=>new r(n("gpiCZGA",!0)),Mahajani:()=>new r(n("wqkCmB",!0)),Makasar:()=>new r(n("g3nCY",!0)),Malayalam:()=>new r(n("goDMCCCyBCCCFFPDZ",!0)),Mandaic:()=>new r(n("giCbDA",!0)),Manichaean:()=>new r(n("g2iCmBFL",!0)),Marchen:()=>new r(n("wjnCfDVCN",!0)),Masaram_Gondi:()=>new r(n("gonCGBCBBCrBBECCBCCBHBJJB",!1)),Medefaidrin:()=>new r(n("gy7C6C",!0)),Meetei_Mayek:()=>new r(n("g3qBWqGtBDJ",!0)),Mende_Kikakui:()=>new r(n("gg6DkGDP",!0)),Meroitic_Cursive:()=>new r(n("gtiCXFTDtB",!0)),Meroitic_Hieroglyphs:()=>new r(n("gsiCf",!0)),Miao:()=>new r(n("g47CqCF4BIQ",!0)),Modi:()=>new r(n("gwlCkCMJ",!0)),Mongolian:()=>new r(n("ggGBBDCCBSBH4CBIqBB2t-BMB",!1)),Mro:()=>new r(n("gy6CeCJFB",!0)),Multani:()=>new r(n("g0kCGBCCCBCBCOBCKB",!1)),Myanmar:()=>new r(n("ggE-EhqmBeiDfxibT",!0)),Nabataean:()=>new r(n("gkiCeJI",!0)),Nag_Mundari:()=>new r(n("wm5DpB",!0)),Nandinagari:()=>new r(n("gtmCHDtBDK",!0)),New_Tai_Lue:()=>new r(n("gsGrBFZHKEB",!0)),Newa:()=>new r(n("gglC7CCE",!0)),Nko:()=>new r(n("g+B6BDC",!0)),Nushu:()=>new r(n("h-7CvsQvsQBqMB",!1)),Nyiakeng_Puachue_Hmong:()=>new r(n("go4DsBENDJFB",!0)),Ogham:()=>new r(n("g0Fc",!0)),Ol_Chiki:()=>new r(n("wiHvB",!0)),Ol_Onal:()=>new r(n("wu5DqBFA",!0)),Old_Hungarian:()=>new r(n("gkjCyBOyBIF",!0)),Old_Italic:()=>new r(n("g4gCjBKC",!0)),Old_North_Arabian:()=>new r(n("g0iCf",!0)),Old_Permic:()=>new r(n("w6gCqB",!0)),Old_Persian:()=>new r(n("g9gCjBFN",!0)),Old_Sogdian:()=>new r(n("g4jCnB",!0)),Old_South_Arabian:()=>new r(n("gziCf",!0)),Old_Turkic:()=>new r(n("ggjCoC",!0)),Old_Uyghur:()=>new r(n("w7jCZ",!0)),Oriya:()=>new r(n("h4CCCHDBDVCGCBCEDIDBDCICFBCEDR",!0)),Osage:()=>new r(n("wlhCjBFjB",!0)),Osmanya:()=>new r(n("gkhCdDJ",!0)),Pahawh_Hmong:()=>new r(n("g46ClCLJCGCUGS",!0)),Palmyrene:()=>new r(n("gjiCf",!0)),Pau_Cin_Hau:()=>new r(n("g2mC4B",!0)),Phags_Pa:()=>new r(n("giqB3B",!0)),Phoenician:()=>new r(n("goiCbEA",!0)),Psalter_Pahlavi:()=>new r(n("g8iCRIDNG",!0)),Rejang:()=>new r(n("wpqBjBMA",!0)),Runic:()=>new r(n("g1FqCEK",!0)),Samaritan:()=>new r(n("ggCtBDO",!0)),Saurashtra:()=>new r(n("gkqBlCJL",!0)),Sharada:()=>new r(n("gskC-ChsCH",!0)),Shavian:()=>new r(n("wihCvB",!0)),Siddham:()=>new r(n("gslC1BDlB",!0)),Sidetic:()=>new r(n("gqiCZ",!0)),SignWriting:()=>new r(n("gg2DrUQECO",!0)),Sinhala:()=>new r(n("hsDCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBt-gCTB",!1)),Sogdian:()=>new r(n("w5jCpB",!0)),Sora_Sompeng:()=>new r(n("wmkCYIJ",!0)),Soyombo:()=>new r(n("wymCyC",!0)),Sundanese:()=>new r(n("g8G-BhIH",!0)),Sunuwar:()=>new r(n("g+mChBPJ",!0)),Syloti_Nagri:()=>new r(n("ggqBsB",!0)),Syriac:()=>new r(n("g4BNC7BDCxIK",!0)),Tagalog:()=>new r(n("g4FVKA",!0)),Tagbanwa:()=>new r(n("g7FMCCCB",!0)),Tai_Le:()=>new r(n("wqGdDE",!0)),Tai_Tham:()=>new r(n("gxG+BCcDKHJHN",!0)),Tai_Viet:()=>new r(n("g0qBiCZE",!0)),Tai_Yo:()=>new r(n("g25DeCVJB",!0)),Takri:()=>new r(n("g0lC5BHJ",!0)),Tamil:()=>new r(n("i8CBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBm+kCxBBOAB",!1)),Tangsa:()=>new r(n("wz6CuCCJ",!0)),Tangut:()=>new r(n("g-7CgBgBB+3GBhQeBiDyDB",!1)),Telugu:()=>new r(n("ggDMCCCWCPDICCCDIBCCCBDDDJII",!0)),Thaana:()=>new r(n("g8BxB",!0)),Thai:()=>new r(n("hwD5BGb",!0)),Tibetan:()=>new r(n("g4DnCCjBFmBCjBCOCGFB",!0)),Tifinagh:()=>new r(n("wpL3BIBPA",!0)),Tirhuta:()=>new r(n("gklCnCJJ",!0)),Todhri:()=>new r(n("guhCzB",!0)),Tolong_Siki:()=>new r(n("wtnCrBFJ",!0)),Toto:()=>new r(n("w04De",!0)),Tulu_Tigalari:()=>new r(n("g8kCJBCDDClBBCJBCDDCDBCJBCBBJBB",!1)),Ugaritic:()=>new r(n("g8gCdCA",!0)),Unknown:()=>new r(n("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 r(n("gopBrJ",!0)),Vithkuqi:()=>new r(n("wrhCKCOCGCBCKCOCGCB",!0)),Wancho:()=>new r(n("g24D5BGA",!0)),Warang_Citi:()=>new r(n("glmCyCNA",!0)),Yezidi:()=>new r(n("g0jCpBCCDB",!0)),Yi:()=>new r(n("ggoBskBE2B",!0)),Zanabazar_Square:()=>new r(n("gwmCnC",!0))});static FOLD_CATEGORIES=new jf({L:()=>new r(n("laA",!0)),LC:()=>new r(n("laA",!0)),Ll:()=>new r(n("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGC3HrBrBCEEJHHCCBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHxC9zC9zCBuBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Lt:()=>new r(n("kOCCBCCBCClBCCtsHHBJHBJHBMQQwBAB",!1)),Lu:()=>new r(n("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpL2B2Bs1CvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1)),M:()=>new r(n("5cgBgBlgHAB",!1)),Mn:()=>new r(n("5cgBgBlgHAB",!1)),Emoji:()=>new r(n("8mJA",!0)),Extended_Pictographic:()=>new r(n("8mJA",!0)),Lowercase:()=>new r(n("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHuBPBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Math:()=>new r(n("ycGDCHHFMMDDDCHHFAB",!1)),Uppercase:()=>new r(n("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpLiBiBBOBFsasaBYBn6BvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1))});static FOLD_SCRIPT=new jf({Common:()=>new r(n("8cgBgB",!1)),Greek:()=>new r(n("1FwUwU",!1)),Inherited:()=>new r(n("5cgBgBlgHAB",!1))})},w=class w{static MAX_RUNE=1114111;static MAX_ASCII=127;static MAX_LATIN1=255;static MAX_BMP=65535;static MIN_FOLD=65;static MAX_FOLD=125251;static MIN_HIGH_SURROGATE=55296;static MAX_HIGH_SURROGATE=56319;static MIN_LOW_SURROGATE=56320;static MAX_LOW_SURROGATE=57343;static MIN_SUPPLEMENTARY_CODE_POINT=65536;static is32(e,t){let r=0,n=e.length;for(;r<n;){var i=r+Math.floor((n-r)/2),s=e.getLo(i),a=e.getHi(i);if(s<=t&&t<=a)return(t-s)%e.getStride(i)==0;t<s?n=i:r=i+1}return!1}static is(t,r){if(r<=w.MAX_LATIN1){for(let e=0;e<t.length;e++){var n;if(!(r>t.getHi(e)))return!(r<(n=t.getLo(e)))&&(r-n)%t.getStride(e)==0}return!1}return 0<t.length&&r>=t.getLo(0)&&w.is32(t,r)}static isUpper(e){var t;return e<=w.MAX_LATIN1?(t=String.fromCodePoint(e)).toUpperCase()===t&&t.toLowerCase()!==t:w.is(Kf.Upper,e)}static isPrint(e){return e<=w.MAX_LATIN1?32<=e&&e<w.MAX_ASCII||161<=e&&173!==e:w.is(Kf.Print,e)}static simpleFold(e){var t;return Kf.CASE_ORBIT.has(e)?Kf.CASE_ORBIT.get(e):(t=y.toLowerCase(e))!==e?t:y.toUpperCase(e)}static equalsIgnoreCase(t,r){if(t===r)return!0;if(!(t<0||r<0)){if(t<=w.MAX_ASCII&&r<=w.MAX_ASCII)return 65<=t&&t<=90&&(t|=32),65<=r&&r<=90&&(r|=32),t===r;for(let e=w.simpleFold(t);e!==t;e=w.simpleFold(e))if(e===r)return!0}return!1}};let zf=new Uint8Array(256);for(let BU=0;BU<256;BU++)zf[BU]=97<=BU&&BU<=122||65<=BU&&BU<=90||48<=BU&&BU<=57||95===BU?1:0;let Jf=null,Wf=null;var D=class D{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 y.CODES.get("0")<=e&&e<=y.CODES.get("9")||y.CODES.get("a")<=e&&e<=y.CODES.get("z")||y.CODES.get("A")<=e&&e<=y.CODES.get("Z")}static unhex(e){return y.CODES.get("0")<=e&&e<=y.CODES.get("9")?e-y.CODES.get("0"):y.CODES.get("a")<=e&&e<=y.CODES.get("f")?e-y.CODES.get("a")+10:y.CODES.get("A")<=e&&e<=y.CODES.get("F")?e-y.CODES.get("A")+10:-1}static escapeRune(e){let t="";if(w.isPrint(e))0<=D.METACHARACTERS.indexOf(String.fromCodePoint(e))&&(t+="\\"),t+=String.fromCodePoint(e);else switch(e){case y.CODES.get('"'):t+='\\"';break;case y.CODES.get("\\"):t+="\\\\";break;case y.CODES.get("\t"):t+="\\t";break;case y.CODES.get("\n"):t+="\\n";break;case y.CODES.get("\r"):t+="\\r";break;case y.CODES.get("\b"):t+="\\b";break;case y.CODES.get("\f"):t+="\\f";break;default:var r=e.toString(16);e<256?(t+="\\x",1===r.length&&(t+="0"),t+=r):t+=`\\x{${r}}`}return t}static stringToRunes(e){var t=String(e),r=[];let n=0;for(;n<t.length;){var i=t.codePointAt(n);r.push(i),n+=i>w.MAX_BMP?2:1}return r}static runeToString(e){return String.fromCodePoint(e)}static isWordRune(e){return e<256&&1===zf[e]}static emptyOpContext(e,t){let r=0;return e<0&&(r|=D.EMPTY_BEGIN_TEXT|D.EMPTY_BEGIN_LINE),10===e&&(r|=D.EMPTY_BEGIN_LINE),t<0&&(r|=D.EMPTY_END_TEXT|D.EMPTY_END_LINE),10===t&&(r|=D.EMPTY_END_LINE),D.isWordRune(e)!==D.isWordRune(t)?r|=D.EMPTY_WORD_BOUNDARY:r|=D.EMPTY_NO_WORD_BOUNDARY,r}static quoteMeta(e){return e.split("").map(e=>0<=D.METACHARACTERS.indexOf(e)?"\\"+e:e).join("")}static charCount(e){return e>w.MAX_BMP?2:1}static toArray(e){var t=e.length,r=new Array(t);for(let n=0;n<t;n++)r[n]=e[n];return r}static stringToUtf8ByteArray(i){if(globalThis.TextEncoder)return Jf=Jf||new TextEncoder,D.toArray(Jf.encode(i));{let t=[],r=0;for(let n=0;n<i.length;n++){let e=i.charCodeAt(n);e<128?t[r++]=e:(e<2048?t[r++]=e>>6|192:((64512&e)===w.MIN_HIGH_SURROGATE&&n+1<i.length&&(64512&i.charCodeAt(n+1))===w.MIN_LOW_SURROGATE?(e=w.MIN_SUPPLEMENTARY_CODE_POINT+((1023&e)<<10)+(1023&i.charCodeAt(++n)),t[r++]=e>>18|240,t[r++]=e>>12&63|128):t[r++]=e>>12|224,t[r++]=e>>6&63|128),t[r++]=63&e|128)}return t}}static utf8ByteArrayToString(n){var e;if(globalThis.TextDecoder)return Wf=Wf||new TextDecoder("utf-8"),e=n instanceof Uint8Array?n:new Uint8Array(n),Wf.decode(e);{let e=[],t=0,r=0;for(;t<n.length;){var i,s,a,o=n[t++];o<128?e[r++]=String.fromCharCode(o):191<o&&o<224?(i=n[t++],e[r++]=String.fromCharCode((31&o)<<6|63&i)):239<o&&o<365?(i=((7&o)<<18|(63&n[t++])<<12|(63&n[t++])<<6|63&n[t++])-w.MIN_SUPPLEMENTARY_CODE_POINT,e[r++]=String.fromCharCode(w.MIN_HIGH_SURROGATE+(i>>10)),e[r++]=String.fromCharCode(w.MIN_LOW_SURROGATE+(1023&i))):(s=n[t++],a=n[t++],e[r++]=String.fromCharCode((15&o)<<12|(63&s)<<6|63&a))}return e.join("")}}},e=(e=[],t=0)=>{var r=Object.create(null);for(let s=0;s<e.length;s++){var n=e[s],i=t+s;r[n]=i,r[i]=n}return Object.freeze(r)},Qf=class Qf{static Encoding=e(["UTF_16","UTF_8"]);getEncoding(){throw Error("not implemented")}asCharSequence(){throw Error("not implemented")}asBytes(){throw Error("not implemented")}length(){throw Error("not implemented")}isUTF8Encoding(){return this.getEncoding()===Qf.Encoding.UTF_8}isUTF16Encoding(){return this.getEncoding()===Qf.Encoding.UTF_16}},Yf=class extends Qf{constructor(e=null){super(),this.bytes=e}getEncoding(){return Qf.Encoding.UTF_8}asCharSequence(){return D.utf8ByteArrayToString(this.bytes)}asBytes(){return this.bytes}length(){return this.bytes.length}},$f=class extends Qf{constructor(e=null){super(),this.charSequence=e}getEncoding(){return Qf.Encoding.UTF_16}asCharSequence(){return this.charSequence}asBytes(){return D.stringToUtf8ByteArray(this.charSequence.toString())}length(){return this.charSequence.length}},Xf=class{static utf16(e){return new $f(e)}static utf8(e){return D.isByteArray(e)?new Yf(e):new Yf(D.stringToUtf8ByteArray(e))}},Zf=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}},em=class extends Zf{constructor(e,t=0,r=e.length){super(),this.bytes=e,this.start=t,this.end=r}hasString(e,t){var r,n=e.bytes;return 0===n.length||-1!==(r=this.indexOf(this.bytes,n,this.start+t))&&r<=this.end-n.length}hasAnyString(e,t){return!!e.ac8&&e.ac8.searchUTF8(this.bytes,this.start+t,this.end)}step(e){var t,r,n,i;return(e+=this.start)>=this.end?Zf.EOF():(t=255&this.bytes[e])<128?t<<3|1:194<=t&&t<=223&&e+1<this.end?128!=(192&(r=255&this.bytes[e+1]))?t<<3|1:((31&t)<<6|63&r)<<3|2:224<=t&&t<=239&&e+2<this.end?128!=(192&(r=255&this.bytes[e+1]))||128!=(192&(n=255&this.bytes[e+2]))?t<<3|1:((15&t)<<12|(63&r)<<6|63&n)<<3|3:!(240<=t&&t<=244&&e+3<this.end)||128!=(192&(r=255&this.bytes[e+1]))||128!=(192&(n=255&this.bytes[e+2]))||128!=(192&(i=255&this.bytes[e+3]))?t<<3|1:((7&t)<<18|(63&r)<<12|(63&n)<<6|63&i)<<3|4}index(e,t){t+=this.start;var r=this.indexOf(this.bytes,e.prefixUTF8,t);return r<0?r:r-t}context(r){let n=-1;if((r+=this.start)>this.start&&r<=this.end){let t=r-1;if(128<=(n=this.bytes[t--])){let e=r-4;for(e<this.start&&(e=this.start);t>=e&&128==(192&this.bytes[t]);)t--;t<this.start&&(t=this.start),n=this.step(t-this.start)>>3}}var e=r<this.end?this.step(r-this.start)>>3:-1;return D.emptyOpContext(n,e)}indexOf(r,n,e=0){var i=n.length;if(0===i)return e<=this.end?e:-1;var s=n[0],a=this.end-i,o="function"==typeof r.indexOf;let l=e;for(;l<=a;){if(o){if(-1===(l=r.indexOf(s,l))||l>a)return-1}else{for(;l<=a&&r[l]!==s;)l++;if(l>a)return-1}let e=!0;for(let t=1;t<i;t++)if(r[l+t]!==n[t]){e=!1;break}if(e)return l;l++}return-1}prefixLength(e){return e.prefixUTF8.length}},tm=class extends Zf{constructor(e,t=0,r=e.length){super(),this.charSequence=e,this.start=t,this.end=r}hasString(e,t){var r=this.charSequence.indexOf(e.str,this.start+t);return-1!==r&&r<=this.end-e.str.length}hasAnyString(e,t){return!!e.ac16&&e.ac16.searchUTF16(this.charSequence,this.start+t,this.end)}step(e){var t,r;return(e+=this.start)>=this.end?Zf.EOF():!((t=this.charSequence.charCodeAt(e))<w.MIN_HIGH_SURROGATE||t>w.MAX_HIGH_SURROGATE||e+1>=this.end)&&(r=this.charSequence.charCodeAt(e+1))>=w.MIN_LOW_SURROGATE&&r<=w.MAX_LOW_SURROGATE?1024*(t-w.MIN_HIGH_SURROGATE)+(r-w.MIN_LOW_SURROGATE)+w.MIN_SUPPLEMENTARY_CODE_POINT<<3|2:t<<3|1}index(e,t){t+=this.start;var r=this.charSequence.indexOf(e.prefix,t);return r<0||r>this.end-e.prefix.length?-1:r-t}context(e){var t=(e+=this.start)>this.start&&e<=this.end?this.charSequence.charCodeAt(e-1):-1,r=e<this.end?this.charSequence.charCodeAt(e):-1;return D.emptyOpContext(t,r)}prefixLength(e){return e.prefix.length}},rm=class{static fromUTF8(e,t=0,r=e.length){return new em(e,t,r)}static fromUTF16(e,t=0,r=e.length){return new tm(e,t,r)}},ar=class extends Error{constructor(e){super(e),this.name="RE2JSException"}},nm=class extends ar{constructor(e,t=null){let r="error parsing regexp: "+e;t&&(r+=`: \`${t}\``),super(r),this.name="RE2JSSyntaxException",this.message=r,this.error=e,this.input=t}getDescription(){return this.error}getPattern(){return this.input}},im=class extends ar{constructor(e){super(e),this.name="RE2JSCompileException"}},sm=class extends ar{constructor(e){super(e),this.name="RE2JSGroupException"}},am=class extends ar{constructor(e){super(e),this.name="RE2JSFlagsException"}},om=class extends ar{constructor(e){super(e),this.name="RE2JSInternalException"}},lm=class lm{static MAX_REPLACER_ARGS=65535;static quoteReplacement(e,t=!1){return t?e.indexOf("\\")<0&&e.indexOf("$")<0?e:e.split("").map(e=>{var t=e.codePointAt(0);return t===y.CODES.get("\\")||t===y.CODES.get("$")?"\\"+e:e}).join(""):e.indexOf("$")<0?e:e.split("").map(e=>e.codePointAt(0)===y.CODES.get("$")?"$$":e).join("")}constructor(e,t){if(null===e)throw new Error("pattern is null");this.patternInput=e;var r=this.patternInput.re2();this.patternGroupCount=r.numberOfCapturingGroups(),this.groups=[],this.namedGroups=r.namedGroups,this.numberOfInstructions=r.numberOfInstructions(),t instanceof Qf?this.resetMatcherInput(t):D.isByteArray(t)?this.resetMatcherInput(Xf.utf8(t)):this.resetMatcherInput(Xf.utf16(t))}pattern(){return this.patternInput}reset(){return this.matcherInputLength=this.matcherInput.length(),this.appendPos=0,this.hasMatch=!1,this.hasGroups=!1,this.anchorFlag=0,this}resetMatcherInput(e){if(null===e)throw new Error("input is null");return this.matcherInput=e,this.reset(),this}start(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new sm(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e]}end(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new sm(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e+1]}programSize(){return this.numberOfInstructions}group(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new sm(`group '${e}' not found`);e=t}var t=this.start(e),r=this.end(e);return t<0&&r<0?null:this.substring(t,r)}getNamedGroups(){if(!this.hasMatch)throw new sm("perhaps no match attempted");var e,t=Object.create(null);for(e of Object.keys(this.namedGroups))t[e]=this.group(e);return t}groupCount(){return this.patternGroupCount}loadGroup(e){if(e<0||e>this.patternGroupCount)throw new sm("Group index out of bounds: "+e);if(!this.hasMatch)throw new sm("perhaps no match attempted");if(0!==e&&!this.hasGroups){var t=this.matcherInputLength,t=this.patternInput.re2().matchMachineInput(this.matcherInput,this.groups[0],t,this.anchorFlag,1+this.patternGroupCount);if(!t[0])throw new sm("inconsistency in matching group data");this.groups=t[1],this.hasGroups=!0}}matches(){return this.genMatch(0,E.ANCHOR_BOTH)}lookingAt(){return this.genMatch(0,E.ANCHOR_START)}find(e=null){if(null!==e){if(e<0||e>this.matcherInputLength)throw new sm("start index out of bounds: "+e);return this.reset(),this.genMatch(e,0)}var t;return e=0,this.hasMatch&&(e=this.groups[1],this.groups[0]===this.groups[1])&&((t=(this.matcherInput.isUTF16Encoding()?rm.fromUTF16(this.matcherInput.asCharSequence(),0,this.matcherInputLength):rm.fromUTF8(this.matcherInput.asBytes(),0,this.matcherInputLength)).step(e))<0?e++:e+=7&t),this.genMatch(e,E.UNANCHORED)}genMatch(e,t){var r=this.patternInput.re2().matchMachineInput(this.matcherInput,e,this.matcherInputLength,t,1);return!!r[0]&&(this.groups=r[1],this.hasMatch=!0,this.hasGroups=0===this.patternGroupCount,this.anchorFlag=t,!0)}substring(e,t){return this.matcherInput.isUTF8Encoding()?D.utf8ByteArrayToString(this.matcherInput.asBytes().slice(e,t)):this.matcherInput.asCharSequence().substring(e,t).toString()}inputLength(){return this.matcherInputLength}appendReplacement(e,t=!1){let r="";var n=this.start(),i=this.end();return this.appendPos<n&&(r+=this.substring(this.appendPos,n)),this.appendPos=i,r+=t?this.appendReplacementInternalJava(e):this.appendReplacementInternalJs(e)}appendReplacementInternalJava(r){let n="",i=0;var s=r.length;for(let l=0;l<s-1;l++)if(r.codePointAt(l)===y.CODES.get("\\"))i<l&&(n+=r.substring(i,l)),l++,i=l;else if(r.codePointAt(l)===y.CODES.get("$")){let t=r.codePointAt(l+1);if(y.CODES.get("0")<=t&&t<=y.CODES.get("9")){let e=t-y.CODES.get("0");for(i<l&&(n+=r.substring(i,l)),l+=2;l<s&&!((t=r.codePointAt(l))<y.CODES.get("0")||t>y.CODES.get("9")||10*e+t-y.CODES.get("0")>this.patternGroupCount);l++)e=10*e+t-y.CODES.get("0");if(e>this.patternGroupCount)throw new sm("n > number of groups: "+e);var a=this.group(e);null!==a&&(n+=a),i=l,l--}else if(t===y.CODES.get("{")){i<l&&(n+=r.substring(i,l));let e=++l+1;for(;e<r.length&&r.codePointAt(e)!==y.CODES.get("}")&&r.codePointAt(e)!==y.CODES.get(" ");)e++;if(e===r.length||r.codePointAt(e)!==y.CODES.get("}"))throw new sm("named capture group is missing trailing '}'");var a=r.substring(l+1,e),o=this.group(a);null!==o&&(n+=o),i=e+1,l=e}}return i<s&&(n+=r.substring(i,s)),n}appendReplacementInternalJs(r){let n="",i=0;var s=r.length;for(let h=0;h<s-1;h++)if(r.codePointAt(h)===y.CODES.get("$")){let t=r.codePointAt(h+1);if(y.CODES.get("$")===t){i<h&&(n+=r.substring(i,h)),n+="$",h++,i=h+1;continue}if(y.CODES.get("&")===t){i<h&&(n+=r.substring(i,h));var a=this.group(0);n+=null!==a?a:"$&",h++,i=h+1;continue}if(y.CODES.get("`")===t){i<h&&(n+=r.substring(i,h)),n+=this.substring(0,this.start(0)),h++,i=h+1;continue}if(y.CODES.get("'")===t){i<h&&(n+=r.substring(i,h)),n+=this.substring(this.end(0),this.matcherInputLength),h++,i=h+1;continue}if(y.CODES.get("1")<=t&&t<=y.CODES.get("9")){let e=t-y.CODES.get("0");for(i<h&&(n+=r.substring(i,h)),h+=2;h<s&&!((t=r.codePointAt(h))<y.CODES.get("0")||t>y.CODES.get("9")||10*e+t-y.CODES.get("0")>this.patternGroupCount);h++)e=10*e+t-y.CODES.get("0");if(e>this.patternGroupCount){n+="$"+e,i=h,h--;continue}a=this.group(e);null!==a&&(n+=a),i=h,h--;continue}if(t===y.CODES.get("<")){i<h&&(n+=r.substring(i,h));let e=++h+1;for(;e<r.length&&r.codePointAt(e)!==y.CODES.get(">")&&r.codePointAt(e)!==y.CODES.get(" ");)e++;if(e===r.length||r.codePointAt(e)!==y.CODES.get(">")){n+=r.substring(h-1,e+1),i=e+1,h=e;continue}var o,l=r.substring(h+1,e);Object.prototype.hasOwnProperty.call(this.namedGroups,l)?null!==(o=this.group(l))&&(n+=o):n+=`$<${l}>`,i=e+1,h=e;continue}}return i<s&&(n+=r.substring(i,s)),n}appendTail(){return this.substring(this.appendPos,this.matcherInputLength)}replaceAll(e,t=!1){return this.replace(e,!0,t)}replaceFirst(e,t=!1){return this.replace(e,!1,t)}replace(e,t=!0,r=!1){let n="";this.reset();var i="function"==typeof e,s=0<Object.keys(this.namedGroups).length;let a=null;if(i){if(this.groupCount()>=lm.MAX_REPLACER_ARGS)throw new sm("Too many capture groups to safely invoke replacer function");a=this.matcherInput.isUTF8Encoding()?this.matcherInput.asBytes():this.matcherInput.asCharSequence()}for(;this.find()&&(n+=i?this.appendReplacementFunc(e,s,a):this.appendReplacement(e,r),t););return n+=this.appendTail()}appendReplacementFunc(e,t,r){let n="";var i=this.start(),s=this.end(),s=(this.appendPos<i&&(n+=this.substring(this.appendPos,i)),this.appendPos=s,this.buildReplacerArgs(i,t,r));return n+=String(e(...s))}buildReplacerArgs(e,t,r){var n=[this.group(0)],i=this.groupCount();for(let l=1;l<=i;l++){var s=this.start(l);n.push(s<0?void 0:this.substring(s,this.end(l)))}if(n.push(e),n.push(r),t){var a,o=this.getNamedGroups();for(a in o)null===o[a]&&(o[a]=void 0);n.push(o)}return n}},b=class b{static ALT=1;static ALT_MATCH=2;static CAPTURE=3;static EMPTY_WIDTH=4;static FAIL=5;static MATCH=6;static NOP=7;static RUNE=8;static RUNE1=9;static RUNE_ANY=10;static RUNE_ANY_NOT_NL=11;static LB_WRITE=12;static LB_CHECK=13;static isRuneOp(e){return b.RUNE<=e&&e<=b.RUNE_ANY_NOT_NL}static escapeRunes(e){let t='"';for(var r of e)t+=D.escapeRune(r);return t+='"'}constructor(e){this.op=e,this.out=0,this.arg=0,this.runes=[],this.next=null}matchRune(t){if(1===this.runes.length)return s=this.runes[0],0!=(this.arg&E.FOLD_CASE)?w.equalsIgnoreCase(s,t):t===s;var r=this.runes.length;if(0===r)return!1;if(2===r||4===r||6===r||8===r){for(let e=0;e<r;e+=2){if(t<this.runes[e])return!1;if(t<=this.runes[e+1])return!0}return!1}let e=0,n=r>>1;for(;1<n;){var i=n>>1;e+=this.runes[e+i<<1]<=t?i:0,n-=i}var s=(e+=this.runes[e<<1]<=t?1:0)-1;return 0<=s&&t<=this.runes[s<<1|1]}matchRunePos(t){if(1===this.runes.length)return s=this.runes[0],0!=(this.arg&E.FOLD_CASE)?w.equalsIgnoreCase(s,t)?0:-1:t===s?0:-1;var r=this.runes.length;if(0===r)return-1;if(2===r||4===r||6===r||8===r){for(let e=0;e<r;e+=2){if(t<this.runes[e])return-1;if(t<=this.runes[e+1])return Math.floor(e/2)}return-1}let e=0,n=r>>1;for(;1<n;){var i=n>>1;e+=this.runes[e+i<<1]<=t?i:0,n-=i}var s=(e+=this.runes[e<<1]<=t?1:0)-1;return 0<=s&&t<=this.runes[s<<1|1]?s:-1}toString(){switch(this.op){case b.ALT:return`alt -> ${this.out}, `+this.arg;case b.ALT_MATCH:return`altmatch -> ${this.out}, `+this.arg;case b.CAPTURE:return`cap ${this.arg} -> `+this.out;case b.EMPTY_WIDTH:return`empty ${this.arg} -> `+this.out;case b.MATCH:return"match"+(0!==this.arg?" "+this.arg:"");case b.FAIL:return"fail";case b.NOP:return"nop -> "+this.out;case b.LB_WRITE:return`lbwrite ${this.arg} -> `+this.out;case b.LB_CHECK:return`lbcheck ${this.arg} -> `+this.out;case b.RUNE:return null===this.runes?"rune <null>":["rune ",b.escapeRunes(this.runes),0!=(this.arg&E.FOLD_CASE)?"/i":""," -> ",this.out].join("");case b.RUNE1:return`rune1 ${b.escapeRunes(this.runes)} -> `+this.out;case b.RUNE_ANY:return"any -> "+this.out;case b.RUNE_ANY_NOT_NL:return"anynotnl -> "+this.out;default:throw new Error("unhandled case in Inst.toString")}}},hm=class{constructor(){this.inst=null,this.cap=null}},um=class{constructor(e){this.sparse=new Int32Array(e),this.densePcs=new Int32Array(e),this.denseThreads=new Array(e),this.size=0}contains(e){var t=this.sparse[e];return t<this.size&&this.densePcs[t]===e}isEmpty(){return 0===this.size}add(e){var t=this.size++;return this.sparse[e]=t,this.denseThreads[t]=null,this.densePcs[t]=e,t}clear(){for(let e=0;e<this.size;e++)this.denseThreads[e]=null;this.size=0}toString(){let e="{";for(let t=0;t<this.size;t++)0!==t&&(e+=", "),e+=this.densePcs[t];return e+="}"}},cm=class cm{static THREADS_CHUNK_SIZE=128;static fromRE2(e){var t=new cm;return t.prog=e.prog,t.re2=e,t.q0=new um(t.prog.numInst()),t.q1=new um(t.prog.numInst()),t.pool=[],t.poolSize=0,t.matched=!1,t.matchcap=new Int32Array(t.prog.numCap<2?2:t.prog.numCap),t.ncap=0,t}static fromMachine(e){return cm.fromRE2(e.re2)}constructor(){this.prog=null,this.re2=null,this.q0=null,this.q1=null,this.pool=[],this.poolSize=0,this.matched=!1,this.matchcap=null,this.ncap=0,this.lbTable=null}init(e){(this.ncap=e)>this.matchcap.length?this.initNewCap(e):this.resetCap(),0<this.prog.numLb&&((!this.lbTable||this.lbTable.length<this.prog.numLb+1)&&(this.lbTable=new Int32Array(this.prog.numLb+1)),this.lbTable.fill(-1))}resetCap(){for(let e=0;e<this.poolSize;e++)this.pool[e].cap.fill(-1)}initNewCap(e){for(let t=0;t<this.poolSize;t++)this.pool[t].cap=new Int32Array(e).fill(-1);this.matchcap=new Int32Array(e).fill(-1)}submatches(){return 0===this.ncap?D.emptyInts():D.toArray(this.matchcap.subarray(0,this.ncap))}alloc(e){if(0===this.poolSize){var t=this.matchcap.length;for(let e=0;e<cm.THREADS_CHUNK_SIZE;e++){let e=new hm;e.cap=new Int32Array(t),this.pool[this.poolSize++]=e}}this.poolSize--;let r=this.pool[this.poolSize];return r.inst=e,r}freeQueue(e,t=0){for(let n=t;n<e.size;n++){var r=e.denseThreads[n];null!==r&&(this.pool[this.poolSize++]=r)}e.clear()}freeThread(e){this.pool[this.poolSize++]=e}match(e,t,r){var n=this.re2.cond;if(n===D.EMPTY_ALL)return!1;if((r===E.ANCHOR_START||r===E.ANCHOR_BOTH)&&0!==t)return!1;this.matched=!1,this.matchcap.fill(-1);let i=0<this.prog.numLb?0:t;var s=t;let a=this.q0,o=this.q1,l=e.step(i),h=l>>3,u=7&l,c=-1,d=0;l!==Zf.EOF()&&(l=e.step(i+u),c=l>>3,d=7&l);let B;for(B=0===i?D.emptyOpContext(-1,h):e.context(i);;){if(a.isEmpty()){if(0!=(n&D.EMPTY_BEGIN_TEXT)&&0!==i)break;if((r===E.ANCHOR_START||r===E.ANCHOR_BOTH)&&0!==i)break;if(this.matched)break;if(0===this.prog.numLb&&0!==this.re2.prefix.length&&c!==this.re2.prefixRune&&e.canCheckPrefix()){var p=e.index(this.re2,i);if(p<0)break;i+=p,l=e.step(i),h=l>>3,u=7&l,l=e.step(i+u),c=l>>3,d=7&l}}if(0===i&&0<this.prog.numLb)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(a,this.prog.lbStarts[e],i,this.matchcap,B,null);this.matched||0!==i&&r!==E.UNANCHORED||i>=s&&(0<this.ncap&&(this.matchcap[0]=i),this.add(a,this.prog.start,i,this.matchcap,B,null));p=i+u;if(B=e.context(p),this.step(a,o,i,p,h,B,r,i===e.endPos()),0===u)break;if(0===this.ncap&&this.matched)break;i+=u,h=c,u=d,-1!==h&&(l=e.step(i+u),c=l>>3,d=7&l);var g=a;a=o,o=g}return this.freeQueue(o),this.matched}matchSet(n,e,i){var t=this.re2.cond;if(t===D.EMPTY_ALL)return[];if((i===E.ANCHOR_START||i===E.ANCHOR_BOTH)&&0!==e)return[];let s=0<this.prog.numLb?0:e;var a=e;let o=this.q0,l=this.q1,h=n.step(s),u=h>>3,c=7&h,d=-1,B=0,p=(h!==Zf.EOF()&&(h=n.step(s+c),d=h>>3,B=7&h),0===s?D.emptyOpContext(-1,u):n.context(s));for(var g=new Set;;){if(o.isEmpty()){if(0!=(t&D.EMPTY_BEGIN_TEXT)&&0!==s)break;if((i===E.ANCHOR_START||i===E.ANCHOR_BOTH)&&0!==s)break}if(0===s&&0<this.prog.numLb)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(o,this.prog.lbStarts[e],s,this.matchcap,p,null);0!==s&&i!==E.UNANCHORED||s>=a&&this.add(o,this.prog.start,s,this.matchcap,p,null);var f=s+c;p=n.context(f);for(let r=0;r<o.size;r++){let t=o.denseThreads[r];if(null!==t){var m=t.inst;let e=!1;switch(m.op){case b.MATCH:i===E.ANCHOR_BOTH&&s!==n.endPos()||g.add(m.arg);break;case b.RUNE:e=m.matchRune(u);break;case b.RUNE1:e=u===m.runes[0];break;case b.RUNE_ANY:e=!0;break;case b.RUNE_ANY_NOT_NL:e=u!==y.CODES.get("\n");break;default:throw new om("bad inst")}null!==(t=e?this.add(l,m.out,f,t.cap,p,t):t)&&(this.freeThread(t),o.denseThreads[r]=null)}}if(o.clear(),0===c)break;s+=c,u=d,c=B,-1!==u&&(h=n.step(s+c),d=h>>3,B=7&h);var C=o;o=l,l=C}return this.freeQueue(l),Array.from(g).sort((e,t)=>e-t)}step(r,n,i,s,a,o,l,h){var u=this.re2.longest;for(let d=0;d<r.size;d++){let t=r.denseThreads[d];if(null!==t)if(u&&this.matched&&0<this.ncap&&this.matchcap[0]<t.cap[0])this.freeThread(t);else{var c=t.inst;let e=!1;switch(c.op){case b.MATCH:l===E.ANCHOR_BOTH&&!h||(0<this.ncap&&(!u||!this.matched||this.matchcap[1]<i)&&(t.cap[1]=i,this.matchcap.set(t.cap.subarray(0,this.ncap))),u||this.freeQueue(r,d+1),this.matched=!0);break;case b.RUNE:e=c.matchRune(a);break;case b.RUNE1:e=a===c.runes[0];break;case b.RUNE_ANY:e=!0;break;case b.RUNE_ANY_NOT_NL:e=a!==y.CODES.get("\n");break;default:throw new om("bad inst")}null!==(t=e?this.add(n,c.out,s,t.cap,o,t):t)&&(this.freeThread(t),r.denseThreads[d]=null)}}r.clear()}add(e,t,r,n,i,s){for(;;){if(0===t)return s;if(e.contains(t))return s;var a,o=e.add(t),l=this.prog.inst[t];switch(l.op){case b.FAIL:return s;case b.ALT:case b.ALT_MATCH:s=this.add(e,l.out,r,n,i,s),t=l.arg;continue;case b.EMPTY_WIDTH:if(0!=(l.arg&~i))return s;t=l.out;continue;case b.NOP:t=l.out;continue;case b.CAPTURE:if(l.arg<this.ncap)return a=n[l.arg],n[l.arg]=r,this.add(e,l.out,r,n,i,null),n[l.arg]=a,s;t=l.out;continue;case b.LB_WRITE:this.lbTable[Math.abs(l.arg)]=r,t=l.out;continue;case b.LB_CHECK:if(0<l.arg){if(this.lbTable[l.arg]===r){t=l.out;continue}}else if(this.lbTable[-l.arg]!==r){t=l.out;continue}return s;case b.MATCH:case b.RUNE:case b.RUNE1:case b.RUNE_ANY:case b.RUNE_ANY_NOT_NL:if(null===s?s=this.alloc(l):s.inst=l,0<this.ncap&&s.cap!==n)for(let e=0;e<this.ncap;e++)s.cap[e]=n[e];return e.denseThreads[o]=s,s=null;default:throw new Error("unhandled")}}}};let dm=e=>{let t=-2128831035;for(let r=0;r<e.length;r++)t^=e[r],t=Math.imul(t,16777619);return t};var Bm=class{constructor(e,t,r=[]){this.nfaStates=e,this.isMatch=t,this.matchIDs=r,this.nextLatin1=new Array(w.MAX_LATIN1+1).fill(null),this.nextLatin1Anchored=new Array(w.MAX_LATIN1+1).fill(null),this.transKeys=[],this.transVals=[],this.lastSeen=0}},pm=class pm{static MAX_CACHE_CLEARS=5;static STATE_MEMORY_ESTIMATE=838;constructor(e,t=8388608){this.prog=e,this.stateCache=new Map,this.stateCount=0,this.startState=null,this.stateLimit=Math.max(1,Math.floor(t/pm.STATE_MEMORY_ESTIMATE)),this.cacheClears=0,this.failed=!1,this.clock=0}computeClosure(e){var t=new Set,r=[...e];let n=!1;for(var i=[];0<r.length;){var s=r.pop();if(!t.has(s)){t.add(s);var a=this.prog.getInst(s);switch(a.op){case b.MATCH:n=!0,i.includes(a.arg)||i.push(a.arg);break;case b.ALT:case b.ALT_MATCH:r.push(a.out),r.push(a.arg);break;case b.NOP:case b.CAPTURE:r.push(a.out);break;case b.EMPTY_WIDTH:case b.LB_WRITE:case b.LB_CHECK:return null}}}var o=Int32Array.from(t).sort();return i.sort((e,t)=>e-t),{pcs:o,isMatch:n,matchIDs:i}}getState(e){var t=this.computeClosure(e);if(!t)return null;var r=t.pcs,n=dm(r);let i=this.stateCache.get(n);if(i)for(let t=0;t<i.length;t++){let e=i[t];if(((e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0})(e.nfaStates,r))return e.lastSeen=++this.clock,e}else i=[],this.stateCache.set(n,i);if(this.failed)return null;if(this.stateCount>=this.stateLimit){if(this.cacheClears++,this.cacheClears>=pm.MAX_CACHE_CLEARS)return this.failed=!0,this.stateCache.clear(),this.stateCount=0,this.startState=null;this.evictCache(),(i=this.stateCache.get(n))||(i=[],this.stateCache.set(n,i))}let s=new Bm(r,t.isMatch,t.matchIDs);return s.lastSeen=++this.clock,i.push(s),this.stateCount++,s}evictCache(){var t,r=[];for(t of this.stateCache.values())for(let e=0;e<t.length;e++)r.push(t[e]);r.sort((e,t)=>e.lastSeen-t.lastSeen);var e=Math.max(1,Math.floor(this.stateLimit/2)),n=r.slice(r.length-e),e=new Set(n);this.stateCache.clear();for(let a=this.stateCount=0;a<n.length;a++){var i=n[a],s=(i.nextLatin1.fill(null),i.nextLatin1Anchored.fill(null),i.transKeys.length=0,i.transVals.length=0,dm(i.nfaStates));let e=this.stateCache.get(s);e||(e=[],this.stateCache.set(s,e)),e.push(i),this.stateCount++}this.startState&&!e.has(this.startState)&&(this.startState=null)}step(t,r,n){if(r<=w.MAX_LATIN1)if(n===E.UNANCHORED){var e=t.nextLatin1[r];if(null!==e)return e}else{e=t.nextLatin1Anchored[r];if(null!==e)return e}else{var i=r+(n===E.UNANCHORED?0:w.MAX_RUNE+1),s=t.transKeys,a=s.length;for(let e=0;e<a;e++)if(s[e]===i)return t.transVals[e]}var o=[];for(let u=0;u<t.nfaStates.length;u++){var l=t.nfaStates[u],l=this.prog.getInst(l);b.isRuneOp(l.op)&&l.matchRune(r)&&o.push(l.out)}n===E.UNANCHORED&&o.push(this.prog.start);var h,e=this.getState(o);return r<=w.MAX_LATIN1?n===E.UNANCHORED?t.nextLatin1[r]=e:t.nextLatin1Anchored[r]=e:(h=r+(n===E.UNANCHORED?0:w.MAX_RUNE+1),t.transKeys.push(h),t.transVals.push(e)),e}match(r,n,i){if(i!==E.ANCHOR_START&&i!==E.ANCHOR_BOTH||0===n){if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;var s=r.endPos();let e=this.startState;if(e.isMatch){if(i!==E.ANCHOR_BOTH)return!0;if(n===s)return!0}let t=n;for(;t<s;){var a=r.step(t),o=a>>3,a=7&a;if(0==a)break;if(null===(e=i===E.UNANCHORED&&o<=w.MAX_LATIN1&&e.nextLatin1[o]||this.step(e,o,i)))return null;if(e.lastSeen=++this.clock,e.isMatch){if(i!==E.ANCHOR_BOTH)return!0;if(t+a===s)return!0}if(0===e.nfaStates.length&&i!==E.UNANCHORED)return!1;t+=a}}return!1}matchSet(e,t,r){if((r===E.ANCHOR_START||r===E.ANCHOR_BOTH)&&0!==t)return[];if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;let n=e.endPos(),i=this.startState,s=new Set;var a=(e,t)=>{e.isMatch&&(r===E.ANCHOR_BOTH?t===n&&e.matchIDs.forEach(e=>s.add(e)):e.matchIDs.forEach(e=>s.add(e)))};a(i,t);let o=t;for(;o<n;){var l=e.step(o),h=l>>3,l=7&l;if(0==l)break;if(null===(i=r===E.UNANCHORED&&h<=w.MAX_LATIN1&&i.nextLatin1[h]||this.step(i,h,r)))return null;if(i.lastSeen=++this.clock,o+=l,a(i,o),0===i.nfaStates.length&&r!==E.UNANCHORED)break}return Array.from(s).sort((e,t)=>e-t)}};var gm=class{constructor(){this.end=0,this.cap=new Int32Array(0),this.matchcap=new Int32Array(0),this.ncap=0,this.jobPc=new Int32Array(256),this.jobArg=new Uint8Array(256),this.jobPos=new Int32Array(256),this.jobLen=0,this.visited=new Uint32Array(0)}reset(e,t,r){this.end=t,this.jobLen=0,this.ncap=r;var n=e.numInst()*(t+1)+32-1>>>5;this.visited.length<n?this.visited=new Uint32Array(n):this.visited.fill(0,0,n),this.cap.length<r?this.cap=new Int32Array(r).fill(-1):this.cap.fill(-1,0,r),this.matchcap.length<r?this.matchcap=new Int32Array(r).fill(-1):this.matchcap.fill(-1,0,r)}shouldVisit(e,t){var r=e*(this.end+1)+t,n=r>>>5,r=1<<(31&r);return 0==(this.visited[n]&r)&&(this.visited[n]|=r,!0)}push(e,t,r,n){var i,s;e.prog.getInst(t).op!==b.FAIL&&(n||this.shouldVisit(t,r))&&(this.jobLen>=this.jobPc.length&&(i=2*this.jobPc.length,(s=new Int32Array(i)).set(this.jobPc),this.jobPc=s,(s=new Uint8Array(i)).set(this.jobArg),this.jobArg=s,(s=new Int32Array(i)).set(this.jobPos),this.jobPos=s),this.jobPc[this.jobLen]=t,this.jobArg[this.jobLen]=n?1:0,this.jobPos[this.jobLen]=r,this.jobLen++)}tryBacktrack(i,s,e,t,a){var o=i.longest;for(this.push(i,e,t,!1);0<this.jobLen;){this.jobLen--;let e=this.jobPc[this.jobLen],t=1===this.jobArg[this.jobLen],r=this.jobPos[this.jobLen],n=!0;for(;;){if(!n&&!this.shouldVisit(e,r))break;n=!1;var l=i.prog.getInst(e);switch(l.op){case b.FAIL:throw new om("unexpected InstFail");case b.ALT:if(t){t=!1,e=l.arg;continue}this.push(i,e,r,!0),e=l.out;continue;case b.ALT_MATCH:var h=i.prog.getInst(l.out);if(b.isRuneOp(h.op)){this.push(i,l.arg,r,!1),e=l.arg,r=this.end;continue}this.push(i,l.out,this.end,!1),e=l.out;continue;case b.RUNE:h=s.step(r);if(h===Zf.EOF())break;if(!l.matchRune(h>>3))break;r+=7&h,e=l.out;continue;case b.RUNE1:var u=s.step(r);if(u===Zf.EOF())break;if(u>>3!==l.runes[0])break;r+=7&u,e=l.out;continue;case b.RUNE_ANY_NOT_NL:u=s.step(r);if(u===Zf.EOF())break;if(u>>3==10)break;r+=7&u,e=l.out;continue;case b.RUNE_ANY:var c=s.step(r);if(c===Zf.EOF())break;r+=7&c,e=l.out;continue;case b.CAPTURE:if(t){this.cap[l.arg]=r;break}l.arg<this.ncap&&(this.push(i,e,this.cap[l.arg],!0),this.cap[l.arg]=r),e=l.out;continue;case b.EMPTY_WIDTH:c=s.context(r);if(0!=(l.arg&~c))break;e=l.out;continue;case b.NOP:e=l.out;continue;case b.MATCH:if(a!==E.ANCHOR_BOTH||r===this.end){if(0===this.ncap)return!0;1<this.ncap&&(this.cap[1]=r);var d=this.matchcap[1];if((-1===d||o&&0<r&&r>d)&&this.matchcap.set(this.cap),!o)return!0;if(r===this.end)return!0}break;case b.LB_WRITE:case b.LB_CHECK:throw new om("Backtracker cannot evaluate Lookbehind instructions");default:throw new om("bad inst")}break}}return o&&1<this.matchcap.length&&0<=this.matchcap[1]}};let fm=[];var mm=class mm{static shouldBacktrack(e){return e.numInst()<=500}static maxBitStateLen(e){return mm.shouldBacktrack(e)?Math.floor(262144/e.numInst()):0}static execute(t,r,n,i,e){var s=t.cond;if(s===D.EMPTY_ALL)return null;if((i===E.ANCHOR_START||i===E.ANCHOR_BOTH)&&0!==n)return null;if(0!=(s&D.EMPTY_BEGIN_TEXT)&&0!==n)return null;var a=0<fm.length?fm.pop():new gm,o=r.endPos();a.reset(t.prog,o,e);let l=!1;if(0!=(s&D.EMPTY_BEGIN_TEXT)||i===E.ANCHOR_START||i===E.ANCHOR_BOTH)0<a.ncap&&(a.cap[0]=n),a.tryBacktrack(t,r,t.prog.start,n,i)&&(l=!0);else{let e=-1;for(;n<=o&&0!==e;n+=e){if(0<t.prefix.length){var h=r.index(t,n);if(h<0)break;n+=h}if(0<a.ncap&&(a.cap[0]=n),a.tryBacktrack(t,r,t.prog.start,n,i)){l=!0;break}h=r.step(n);e=h===Zf.EOF()?0:7&h}}return l?(s=0===e?[]:D.toArray(a.matchcap.subarray(0,e)),fm.push(a),s):(fm.push(a),null)}},Cm=class{constructor(e){this.sparse=new Uint32Array(e),this.dense=new Uint32Array(e),this.size=0,this.nextIndex=0}empty(){return this.nextIndex>=this.size}next(){return this.dense[this.nextIndex++]}clear(){this.size=0,this.nextIndex=0}contains(e){return e<this.sparse.length&&this.sparse[e]<this.size&&this.dense[this.sparse[e]]===e}insert(e){this.contains(e)||this.insertNew(e)}insertNew(e){e>=this.sparse.length||(this.sparse[e]=this.size,this.dense[this.size]=e,this.size++)}};var vm=class{constructor(e){this.start=e.start,this.numCap=e.numCap,this.inst=new Array(e.inst.length);for(let n=0;n<e.inst.length;n++){var t=e.inst[n],r=new b(t.op);r.out=t.out,r.arg=t.arg,r.runes=t.runes?t.runes.slice():[],r.next=null,this.inst[n]=r}}};var _m=class _m{static compile(e){if(0===e.start)return null;if(0<e.numLb)return null;var t=e.inst[e.start];if(t.op!==b.EMPTY_WIDTH||0==(t.arg&D.EMPTY_BEGIN_TEXT))return null;let r=!1;for(let s=0;s<e.inst.length;s++)if(e.inst[s].op===b.ALT||e.inst[s].op===b.ALT_MATCH){r=!0;break}for(let a=0;a<e.inst.length;a++){var n=e.inst[a],i=e.inst[n.out].op;switch(n.op){case b.ALT:case b.ALT_MATCH:if(i===b.MATCH||e.inst[n.arg].op===b.MATCH)return null;break;case b.EMPTY_WIDTH:if(i!==b.MATCH)break;if((n.arg&D.EMPTY_END_TEXT)===D.EMPTY_END_TEXT)continue;return null;default:if(i===b.MATCH&&r)return null}}return null!==(t=(e=>{if(1e3<=e.inst.length)return null;let u=new Cm(e.inst.length),c=new Cm(e.inst.length),d=new Array(e.inst.length),B=new Array(e.inst.length).fill(!1),p=t=>{let r=!0;var n=e.inst[t];if(c.contains(t))return!0;switch(c.insert(t),n.op){case b.ALT:case b.ALT_MATCH:{r=p(n.out)&&p(n.arg);let e=B[n.out];var i=B[n.arg];if(e&&i)return!1;i&&(s=n.out,n.out=n.arg,n.arg=s,e,e=i,0),e&&(B[t]=!0,n.op=b.ALT_MATCH);var s=((i,s,a,o)=>{var e=i.length,t=s.length;let l=0,h=0,u=[],c=[],r=!0,d=-1;for(var n=e=>{var t=e?i:s,r=e?l:h,n=e?a:o;return!(0<d&&t[r]<=u[d]||(u.push(t[r],t[r+1]),e?l+=2:h+=2,d+=2,c.push(n),0))};l<e||h<t;)if(!(r=!(h>=t)&&(l>=e||s[h]<i[l])?n(!1):n(!0)))return null;return{merged:u,next:c}})(d[n.out]||[],d[n.arg]||[],n.out,n.arg);if(!s)return!1;d[t]=s.merged,n.next=new Uint32Array(s.next);break}case b.CAPTURE:case b.EMPTY_WIDTH:case b.NOP:r=p(n.out),B[t]=B[n.out],d[t]=d[n.out]?d[n.out].slice():[],n.next=new Uint32Array(Math.floor(d[t].length/2)+1).fill(n.out);break;case b.MATCH:case b.FAIL:B[t]=n.op===b.MATCH;break;case b.RUNE:if(B[t]=!1,!(n.next&&0<n.next.length))if(u.insert(n.out),n.runes&&0!==n.runes.length){var a=[];if(1===n.runes.length&&0!=(n.arg&E.FOLD_CASE)){var o=n.runes[0];a.push(o,o);for(let e=w.simpleFold(o);e!==o;e=w.simpleFold(e))a.push(e,e);a.sort((e,t)=>e-t)}else for(let e=0;e<n.runes.length;e++)a.push(n.runes[e]);d[t]=a,n.next=new Uint32Array(Math.floor(a.length/2)+1).fill(n.out),n.op=b.RUNE}else d[t]=[],n.next=new Uint32Array([n.out]);break;case b.RUNE1:if(B[t]=!1,!(n.next&&0<n.next.length)){u.insert(n.out);var l=[];if(0!=(n.arg&E.FOLD_CASE)){var h=n.runes[0];l.push(h,h);for(let e=w.simpleFold(h);e!==h;e=w.simpleFold(e))l.push(e,e);l.sort((e,t)=>e-t)}else l.push(n.runes[0],n.runes[0]);d[t]=l,n.next=new Uint32Array(Math.floor(l.length/2)+1).fill(n.out),n.op=b.RUNE}break;case b.RUNE_ANY:B[t]=!1,n.next&&0<n.next.length||(u.insert(n.out),d[t]=[0,w.MAX_RUNE],n.next=new Uint32Array([n.out]));break;case b.RUNE_ANY_NOT_NL:B[t]=!1,n.next&&0<n.next.length||(u.insert(n.out),d[t]=[0,9,11,w.MAX_RUNE],n.next=new Uint32Array(Math.floor(d[t].length/2)+1).fill(n.out))}return r};for(u.clear(),u.insert(e.start);!u.empty();)if(c.clear(),!p(u.next()))return null;for(let t=0;t<e.inst.length;t++)d[t]&&(e.inst[t].runes=d[t]);return e})((e=>{var t=new vm(e);for(let o=0;o<t.inst.length;o++){var a=t.inst[o];if(a.op===b.ALT||a.op===b.ALT_MATCH){let n="out",i="arg",s=t.inst[a[i]];if(s.op===b.ALT||s.op===b.ALT_MATCH||(n="arg",i="out",(s=t.inst[a[i]]).op===b.ALT)||s.op===b.ALT_MATCH){var r=t.inst[a[n]];if(r.op!==b.ALT&&r.op!==b.ALT_MATCH){let e="out",t="arg",r=!1;s.out===o?r=!0:s.arg===o&&(r=!0,e="arg",t="out"),r&&(s[e]=a[n]),a[n]===s[e]&&(a[i]=s[t])}}}}return t})(e)))&&((e,t)=>{for(let n=0;n<t.inst.length;n++){var r=t.inst[n];switch(r.op){case b.ALT:case b.ALT_MATCH:case b.RUNE:break;case b.CAPTURE:case b.EMPTY_WIDTH:case b.NOP:case b.MATCH:case b.FAIL:e.inst[n].next=null;break;case b.RUNE1:case b.RUNE_ANY:case b.RUNE_ANY_NOT_NL:e.inst[n].next=null,e.inst[n].op=r.op,e.inst[n].runes=r.runes?r.runes.slice():[]}}})(t,e),t}static next(e,t){var r=e.matchRunePos(t);return 0<=r?e.next[r]:e.op===b.ALT_MATCH?e.out:0}static execute(e,t,r,n,i){var s=e.onepass;if(!s)return null;var a=new Int32Array(i).fill(-1);let o=!1;var l,h=t.step(r);let u=h>>3,c=7&h,d=Zf.EOF(),B=-1,p=0,g=(h!==Zf.EOF()&&(d=t.step(r+c))!==Zf.EOF()&&(B=d>>3,p=7&d),0===r?D.emptyOpContext(-1,u):t.context(r)),f=s.start;for(;;){switch(l=s.inst[f],f=l.out,l.op){case b.MATCH:return n===E.ANCHOR_BOTH&&r!==t.endPos()?null:(o=!0,0<a.length&&(a[0]=0,a[1]=r),0===i?[]:D.toArray(a));case b.RUNE:if(l.matchRune(u))break;return null;case b.RUNE1:if(u!==l.runes[0])return null;break;case b.RUNE_ANY:break;case b.RUNE_ANY_NOT_NL:if(10===u)return null;break;case b.ALT:case b.ALT_MATCH:f=_m.next(l,u);continue;case b.FAIL:return null;case b.NOP:continue;case b.EMPTY_WIDTH:if(0!=(l.arg&~g))return null;continue;case b.CAPTURE:l.arg<a.length&&(a[l.arg]=r);continue;default:throw new om("bad inst")}if(0===c)break;g=D.emptyOpContext(u,B),r+=c,u=B,c=p,-1!==u&&(d=t.step(r+c),p=d!==Zf.EOF()?(B=d>>3,7&d):(B=-1,0))}return o?0===i?[]:D.toArray(a):null}},I=class I{static Op=e(["NO_MATCH","EMPTY_MATCH","LITERAL","CHAR_CLASS","ANY_CHAR_NOT_NL","ANY_CHAR","BEGIN_LINE","END_LINE","BEGIN_TEXT","END_TEXT","WORD_BOUNDARY","NO_WORD_BOUNDARY","CAPTURE","STAR","PLUS","QUEST","REPEAT","CONCAT","ALTERNATE","PLB","NLB","LEFT_PAREN","VERTICAL_BAR"]);static isPseudoOp(e){return e>=I.Op.LEFT_PAREN}static emptySubs(){return[]}static quoteIfHyphen(e){return e===y.CODES.get("-")?"\\":""}static fromRegexp(e){var t=new I(e.op);return t.flags=e.flags,t.subs=e.subs,t.runes=e.runes,t.cap=e.cap,t.min=e.min,t.max=e.max,t.name=e.name,t.namedGroups=e.namedGroups,t.lb=e.lb,t}constructor(e){this.op=e,this.flags=0,this.subs=I.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=I.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 I.Op.NO_MATCH:t+="[^\\x00-\\x{10FFFF}]";break;case I.Op.EMPTY_MATCH:t+="(?:)";break;case I.Op.STAR:case I.Op.PLUS:case I.Op.QUEST:case I.Op.REPEAT:var e=this.subs[0];switch(e.op>I.Op.CAPTURE||e.op===I.Op.LITERAL&&1<e.runes.length?t+=`(?:${e.appendTo()})`:t+=e.appendTo(),this.op){case I.Op.STAR:t+="*";break;case I.Op.PLUS:t+="+";break;case I.Op.QUEST:t+="?";break;case I.Op.REPEAT:t+="{"+this.min,this.min!==this.max&&(t+=",",0<=this.max)&&(t+=this.max),t+="}"}0!=(this.flags&E.NON_GREEDY)&&(t+="?");break;case I.Op.CONCAT:for(var r of this.subs)r.op===I.Op.ALTERNATE?t+=`(?:${r.appendTo()})`:t+=r.appendTo();break;case I.Op.ALTERNATE:{let e="";for(var n of this.subs)t+=e,e="|",t+=n.appendTo();break}case I.Op.LITERAL:0!=(this.flags&E.FOLD_CASE)&&(t+="(?i:");for(var i of this.runes)t+=D.escapeRune(i);0!=(this.flags&E.FOLD_CASE)&&(t+=")");break;case I.Op.ANY_CHAR_NOT_NL:t+="(?-s:.)";break;case I.Op.ANY_CHAR:t+="(?s:.)";break;case I.Op.PLB:t+=`(?<=${this.subs[0].appendTo()})`;break;case I.Op.NLB:t+=`(?<!${this.subs[0].appendTo()})`;break;case I.Op.CAPTURE:null===this.name||0===this.name.length?t+="(":t+=`(?P<${this.name}>`,this.subs[0].op!==I.Op.EMPTY_MATCH&&(t+=this.subs[0].appendTo()),t+=")";break;case I.Op.BEGIN_TEXT:t+="\\A";break;case I.Op.END_TEXT:0!=(this.flags&E.WAS_DOLLAR)?t+="(?-m:$)":t+="\\z";break;case I.Op.BEGIN_LINE:t+="^";break;case I.Op.END_LINE:t+="$";break;case I.Op.WORD_BOUNDARY:t+="\\b";break;case I.Op.NO_WORD_BOUNDARY:t+="\\B";break;case I.Op.CHAR_CLASS:if(this.runes.length%2!=0)t+="[invalid char class]";else{if(t+="[",0===this.runes.length)t+="^\\x00-\\x{10FFFF}";else if(0===this.runes[0]&&this.runes[this.runes.length-1]===w.MAX_RUNE){t+="^";for(let e=1;e<this.runes.length-1;e+=2){var s=this.runes[e]+1,a=this.runes[e+1]-1;t=(t+=I.quoteIfHyphen(s))+D.escapeRune(s),s!==a&&(t=(t=(t+="-")+I.quoteIfHyphen(a))+D.escapeRune(a))}}else for(let e=0;e<this.runes.length;e+=2){var o=this.runes[e],l=this.runes[e+1];t=(t+=I.quoteIfHyphen(o))+D.escapeRune(o),o!==l&&(t=(t=(t+="-")+I.quoteIfHyphen(l))+D.escapeRune(l))}t+="]"}break;default:t+=this.op}return t}maxCap(){let e=0;if(this.op===I.Op.CAPTURE&&(e=this.cap),null!==this.subs)for(var t of this.subs){t=t.maxCap();e<t&&(e=t)}return e}equals(t){if(!(null!==t&&t instanceof I))return!1;if(this.op!==t.op)return!1;switch(this.op){case I.Op.END_TEXT:if((this.flags&E.WAS_DOLLAR)!=(t.flags&E.WAS_DOLLAR))return!1;break;case I.Op.LITERAL:case I.Op.CHAR_CLASS:if(null!==this.runes||null!==t.runes){if(null===this.runes||null===t.runes)return!1;if(this.runes.length!==t.runes.length)return!1;for(let e=0;e<this.runes.length;e++)if(this.runes[e]!==t.runes[e])return!1}break;case I.Op.ALTERNATE:case I.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 I.Op.STAR:case I.Op.PLUS:case I.Op.QUEST:if((this.flags&E.NON_GREEDY)==(t.flags&E.NON_GREEDY)&&this.subs[0].equals(t.subs[0]))break;return!1;case I.Op.REPEAT:if((this.flags&E.NON_GREEDY)==(t.flags&E.NON_GREEDY)&&this.min===t.min&&this.max===t.max&&this.subs[0].equals(t.subs[0]))break;return!1;case I.Op.CAPTURE:if(this.cap===t.cap&&(null===this.name?null===t.name:this.name===t.name)&&this.subs[0].equals(t.subs[0]))break;return!1;case I.Op.PLB:case I.Op.NLB:if(this.lb===t.lb&&this.subs[0].equals(t.subs[0]))break;return!1}return!0}},ym=class{constructor(e){this.next=[Object.create(null)],this.fail=[0],this.match=[!1];for(var r of e){let e=0;for(let t=0;t<r.length;t++){var n=r[t];n in this.next[e]||(this.next.push(Object.create(null)),this.fail.push(0),this.match.push(!1),this.next[e][n]=this.next.length-1),e=this.next[e][n]}this.match[e]=!0}var t,i,s=[];for(t in this.next[0])Object.prototype.hasOwnProperty.call(this.next[0],t)&&(i=this.next[0][t],this.fail[i]=0,s.push(i));for(;0<s.length;){var a,o=s.shift();for(a in this.next[o])if(Object.prototype.hasOwnProperty.call(this.next[o],a)){var l=this.next[o][a];let e=this.fail[o];for(;0!==e&&!(a in this.next[e]);)e=this.fail[e];a in this.next[e]?this.fail[l]=this.next[e][a]:this.fail[l]=0,this.match[l]=this.match[l]||this.match[this.fail[l]],s.push(l)}}}searchUTF16(e,t,r){let n=0;for(let s=t;s<r;s++){for(var i=e.charCodeAt(s);0!==n&&!(i in this.next[n]);)n=this.fail[n];if(i in this.next[n]&&(n=this.next[n][i]),this.match[n])return!0}return!1}searchUTF8(e,t,r){let n=0;for(let s=t;s<r;s++){for(var i=e[s];0!==n&&!(i in this.next[n]);)n=this.fail[n];if(i in this.next[n]&&(n=this.next[n][i]),this.match[n])return!0}return!1}},c=class c{static Type={NONE:0,EXACT:1,AND:2,OR:3};constructor(e){this.type=e,this.subs=[],this.str="",this.bytes=null,this.ac16=null,this.ac8=null}eval(r,n){switch(this.type){case c.Type.NONE:return!0;case c.Type.EXACT:return r.hasString(this,n);case c.Type.AND:for(let e=0;e<this.subs.length;e++)if(!this.subs[e].eval(r,n))return!1;return!0;case c.Type.OR:if(this.ac16&&this.ac8)return r.hasAnyString(this,n);for(let t=0;t<this.subs.length;t++)if(this.subs[t].eval(r,n))return!0;return!1;default:return!0}}},wm=class wm{static build(e){var t=wm.fromRegexp(e);return wm.simplify(t)}static fromRegexp(r){if(!r)return new c(c.Type.NONE);switch(r.op){case I.Op.PLB:case I.Op.NLB:case I.Op.NO_MATCH:case I.Op.EMPTY_MATCH:case I.Op.BEGIN_LINE:case I.Op.END_LINE:case I.Op.BEGIN_TEXT:case I.Op.END_TEXT:case I.Op.WORD_BOUNDARY:case I.Op.NO_WORD_BOUNDARY:case I.Op.CHAR_CLASS:case I.Op.ANY_CHAR_NOT_NL:case I.Op.ANY_CHAR:return new c(c.Type.NONE);case I.Op.LITERAL:{if(0===r.runes.length||0!=(r.flags&E.FOLD_CASE))return new c(c.Type.NONE);var n=new c(c.Type.EXACT);let e="";for(let t=0;t<r.runes.length;t++)e+=String.fromCodePoint(r.runes[t]);return n.str=e,n.bytes=D.stringToUtf8ByteArray(n.str),n}case I.Op.CAPTURE:case I.Op.PLUS:return wm.fromRegexp(r.subs[0]);case I.Op.REPEAT:return 1<=r.min?wm.fromRegexp(r.subs[0]):new c(c.Type.NONE);case I.Op.CONCAT:var e,t=new c(c.Type.AND);for(e of r.subs)t.subs.push(wm.fromRegexp(e));return t;case I.Op.ALTERNATE:var i,s=new c(c.Type.OR);for(i of r.subs)s.subs.push(wm.fromRegexp(i));return s;default:return new c(c.Type.NONE)}}static simplify(t){if(t.type!==c.Type.EXACT&&t.type!==c.Type.NONE){if(t.type===c.Type.AND){var e,r=[];for(e of t.subs){var n=wm.simplify(e);if(n.type!==c.Type.NONE)if(n.type===c.Type.AND)for(let e=0;e<n.subs.length;e++)r.push(n.subs[e]);else r.push(n)}return 0===r.length?new c(c.Type.NONE):1===r.length?r[0]:(t.subs=r,t)}if(t.type===c.Type.OR){var i,s=[];for(i of t.subs){var a=wm.simplify(i);if(a.type===c.Type.NONE)return new c(c.Type.NONE);if(a.type===c.Type.OR)for(let e=0;e<a.subs.length;e++)s.push(a.subs[e]);else s.push(a)}if(0===s.length)return new c(c.Type.NONE);if(1===s.length)return s[0];var o,l,h=new Set,u=[];for(o of s)o.type===c.Type.EXACT?h.has(o.str)||(h.add(o.str),u.push(o)):u.push(o);let e=!0;for(l of t.subs=u)if(l.type!==c.Type.EXACT){e=!1;break}e&&1<u.length&&(t.ac16=new ym(u.map(e=>{var t=[];for(let r=0;r<e.str.length;r++)t.push(e.str.charCodeAt(r));return t})),t.ac8=new ym(u.map(e=>e.bytes)))}}return t}},Em=class{constructor(e=0,t=0){this.head=e,this.tail=t}},Dm=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 b(e))}skipNop(e){let t=this.inst[e];for(;t.op===b.NOP||t.op===b.CAPTURE;)e=(t=this.inst[e]).out;return t}prefix(){let e="",t=this.skipNop(this.start);if(b.isRuneOp(t.op)&&1===t.runes.length)for(;b.isRuneOp(t.op)&&1===t.runes.length&&0==(t.arg&E.FOLD_CASE);)e+=String.fromCodePoint(t.runes[0]),t=this.skipNop(t.out);return[t.op===b.MATCH,e]}startCond(){let e=0,t=this.start;e:for(;;){var r=this.inst[t];switch(r.op){case b.EMPTY_WIDTH:e|=r.arg;break;case b.FAIL:return-1;case b.CAPTURE:case b.NOP:break;default:break e}t=r.out}return e}patch(e,t){let r=e.head;for(;0!==r;){var n=this.inst[r>>1];0==(1&r)?(r=n.out,n.out=t):(r=n.arg,n.arg=t)}}append(e,t){var r;return 0===e.head?t:0===t.head?e:(r=this.inst[e.tail>>1],0==(1&e.tail)?r.out=t.head:r.arg=t.head,new Em(e.head,t.tail))}toString(){let e="";for(let r=0;r<this.inst.length;r++){var t=e.length;e+=r,r===this.start&&(e+="*"),e=(e+=" ".substring(e.length-t))+this.inst[r]+"\n"}return e}},bm=class{constructor(e=0,t=new Em,r=!1){this.i=e,this.out=t,this.nullable=r}},Im=class Im{static ANY_RUNE_NOT_NL(){return[0,y.CODES.get("\n")-1,y.CODES.get("\n")+1,w.MAX_RUNE]}static ANY_RUNE(){return[0,w.MAX_RUNE]}static compileRegexp(e){var t=new Im,r=t.compile(e);return t.prog.patch(r.out,t.newInst(b.MATCH).i),t.prog.start=r.i,t.prog}static compileSet(n){var i=new Im;if(0===n.length)i.prog.start=i.newInst(b.FAIL).i;else{var s=[];for(let t=0;t<n.length;t++){var a=i.compile(n[t]),o=i.newInst(b.MATCH);i.prog.getInst(o.i).arg=t,i.prog.patch(a.out,o.i),s.push(a.i)}let e=s[0];for(let r=1;r<s.length;r++){var l=i.newInst(b.ALT),h=i.prog.getInst(l.i);h.out=e,h.arg=s[r],e=l.i}i.prog.start=e}return i.prog}constructor(){this.prog=new Dm,this.newInst(b.FAIL)}newInst(e){return this.prog.addInst(e),new bm(this.prog.numInst()-1,new Em,!0)}nop(){var e=this.newInst(b.NOP);return e.out=new Em(e.i<<1,e.i<<1),e}fail(){return new bm}cap(e){var t=this.newInst(b.CAPTURE);return t.out=new Em(t.i<<1,t.i<<1),this.prog.getInst(t.i).arg=e,this.prog.numCap<e+1&&(this.prog.numCap=e+1),t}cat(e,t){return 0===e.i||0===t.i?this.fail():(this.prog.patch(e.out,t.i),new bm(e.i,t.out,e.nullable&&t.nullable))}alt(e,t){var r,n;return 0===e.i?t:0===t.i?e:(r=this.newInst(b.ALT),(n=this.prog.getInst(r.i)).out=e.i,n.arg=t.i,r.out=this.prog.append(e.out,t.out),r.nullable=e.nullable||t.nullable,r)}loop(e,t){var r=this.newInst(b.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new Em(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new Em(r.i<<1|1,r.i<<1|1)),this.prog.patch(e.out,r.i),r}quest(e,t){var r=this.newInst(b.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new Em(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new Em(r.i<<1|1,r.i<<1|1)),r.out=this.prog.append(r.out,e.out),r}star(e,t){return e.nullable?this.quest(this.plus(e,t),t):this.loop(e,t)}plus(e,t){return new bm(e.i,this.loop(e,t).out,e.nullable)}empty(e){var t=this.newInst(b.EMPTY_WIDTH);return this.prog.getInst(t.i).arg=e,t.out=new Em(t.i<<1,t.i<<1),t}rune(e,t){var r=this.newInst(b.RUNE),n=(r.nullable=!1,this.prog.getInst(r.i));return n.runes=e,t&=E.FOLD_CASE,1===e.length&&w.simpleFold(e[0])!==e[0]||(t&=-2),n.arg=t,r.out=new Em(r.i<<1,r.i<<1),0==(t&E.FOLD_CASE)&&1===e.length||2===e.length&&e[0]===e[1]?n.op=b.RUNE1:2===e.length&&0===e[0]&&e[1]===w.MAX_RUNE?n.op=b.RUNE_ANY:4===e.length&&0===e[0]&&e[1]===y.CODES.get("\n")-1&&e[2]===y.CODES.get("\n")+1&&e[3]===w.MAX_RUNE&&(n.op=b.RUNE_ANY_NOT_NL),r}lookBehind(e,t){var r=this.newInst(b.LB_WRITE),n=(this.prog.getInst(r.i).arg=t,this.rune(Im.ANY_RUNE(),0)),n=this.star(n,!0),n=this.cat(n,e),r=(this.prog.patch(n.out,r.i),this.newInst(b.LB_CHECK));return this.prog.getInst(r.i).arg=t,this.prog.lbStarts.push(n.i),Math.abs(t)>this.prog.numLb&&(this.prog.numLb=Math.abs(t)),r.out=new Em(r.i<<1,r.i<<1),r}compile(t){switch(t.op){case I.Op.NO_MATCH:return this.fail();case I.Op.EMPTY_MATCH:return this.nop();case I.Op.LITERAL:if(0===t.runes.length)return this.nop();{let e=null;for(var r of t.runes){r=this.rune([r],t.flags);e=null===e?r:this.cat(e,r)}return e}case I.Op.CHAR_CLASS:return this.rune(t.runes,t.flags);case I.Op.ANY_CHAR_NOT_NL:return this.rune(Im.ANY_RUNE_NOT_NL(),0);case I.Op.ANY_CHAR:return this.rune(Im.ANY_RUNE(),0);case I.Op.BEGIN_LINE:return this.empty(D.EMPTY_BEGIN_LINE);case I.Op.END_LINE:return this.empty(D.EMPTY_END_LINE);case I.Op.BEGIN_TEXT:return this.empty(D.EMPTY_BEGIN_TEXT);case I.Op.END_TEXT:return this.empty(D.EMPTY_END_TEXT);case I.Op.WORD_BOUNDARY:return this.empty(D.EMPTY_WORD_BOUNDARY);case I.Op.NO_WORD_BOUNDARY:return this.empty(D.EMPTY_NO_WORD_BOUNDARY);case I.Op.PLB:case I.Op.NLB:return this.lookBehind(this.compile(t.subs[0]),t.lb);case I.Op.CAPTURE:var e=this.cap(t.cap<<1),n=this.compile(t.subs[0]),i=this.cap(t.cap<<1|1);return this.cat(this.cat(e,n),i);case I.Op.STAR:return this.star(this.compile(t.subs[0]),0!=(t.flags&E.NON_GREEDY));case I.Op.PLUS:return this.plus(this.compile(t.subs[0]),0!=(t.flags&E.NON_GREEDY));case I.Op.QUEST:return this.quest(this.compile(t.subs[0]),0!=(t.flags&E.NON_GREEDY));case I.Op.CONCAT:if(0===t.subs.length)return this.nop();{let e=null;for(var s of t.subs){s=this.compile(s);e=null===e?s:this.cat(e,s)}return e}case I.Op.ALTERNATE:if(0===t.subs.length)return this.nop();{let e=null;for(var a of t.subs){a=this.compile(a);e=null===e?a:this.alt(e,a)}return e}default:throw new im("regexp: unhandled case in compile")}}},Tm=class Tm{static simplify(n){if(null===n)return null;switch(n.op){case I.Op.PLB:case I.Op.NLB:case I.Op.CAPTURE:var i=Tm.simplify(n.subs[0]);return i!==n.subs[0]?((e=I.fromRegexp(n)).runes=[],e.subs=[i],e):n;case I.Op.CONCAT:case I.Op.ALTERNATE:{var r=[];let t=!1;for(let e=0;e<n.subs.length;e++){var s=n.subs[e],a=Tm.simplify(s);if(a!==s&&(t=!0),n.op===I.Op.CONCAT){if(a.op===I.Op.NO_MATCH)return new I(I.Op.NO_MATCH);if(a.op===I.Op.EMPTY_MATCH){t=!0;continue}if(a.op===I.Op.CONCAT){t=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}else if(n.op===I.Op.ALTERNATE){if(a.op===I.Op.NO_MATCH){t=!0;continue}if(a.op===I.Op.ALTERNATE){t=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}r.push(a)}return t?0===r.length?new I(n.op===I.Op.CONCAT?I.Op.EMPTY_MATCH:I.Op.NO_MATCH):1===r.length?r[0]:((i=I.fromRegexp(n)).runes=[],i.subs=r,i):n}case I.Op.CHAR_CLASS:return null===n.runes?n:0===n.runes.length?new I(I.Op.NO_MATCH):2===n.runes.length&&0===n.runes[0]&&n.runes[1]===w.MAX_RUNE?new I(I.Op.ANY_CHAR):4===n.runes.length&&0===n.runes[0]&&n.runes[1]===y.CODES.get("\n")-1&&n.runes[2]===y.CODES.get("\n")+1&&n.runes[3]===w.MAX_RUNE?new I(I.Op.ANY_CHAR_NOT_NL):n;case I.Op.STAR:case I.Op.PLUS:case I.Op.QUEST:var e=Tm.simplify(n.subs[0]);return Tm.simplify1(n.op,n.flags,e,n);case I.Op.REPEAT:{if(0===n.min&&0===n.max)return new I(I.Op.EMPTY_MATCH);var o=Tm.simplify(n.subs[0]);if(-1===n.max){if(0===n.min)return Tm.simplify1(I.Op.STAR,n.flags,o,null);if(1===n.min)return Tm.simplify1(I.Op.PLUS,n.flags,o,null);var i=new I(I.Op.CONCAT),t=[];for(let e=0;e<n.min-1;e++)t.push(o);return t.push(Tm.simplify1(I.Op.PLUS,n.flags,o,null)),i.subs=t.slice(0),Tm.simplify(i)}if(1===n.min&&1===n.max)return o;let r=null;if(0<n.min){r=[];for(let e=0;e<n.min;e++)r.push(o)}if(n.min<n.max){let e=Tm.simplify1(I.Op.QUEST,n.flags,o,null);for(let t=n.min+1;t<n.max;t++){var l=new I(I.Op.CONCAT);l.subs=[o,e],e=Tm.simplify1(I.Op.QUEST,n.flags,l,null)}if(null===r)return e;r.push(e)}return null!==r?((e=new I(I.Op.CONCAT)).subs=r.slice(0),Tm.simplify(e)):new I(I.Op.NO_MATCH)}}return n}static simplify1(e,t,r,n){var i;return r.op===I.Op.EMPTY_MATCH?r:r.op===I.Op.NO_MATCH?e===I.Op.PLUS?r:new I(I.Op.EMPTY_MATCH):e===r.op&&(t&E.NON_GREEDY)==(r.flags&E.NON_GREEDY)?r:null!==n&&n.op===e&&(n.flags&E.NON_GREEDY)==(t&E.NON_GREEDY)&&r===n.subs[0]?n:((i=new I(e)).flags=t,i.subs=[r],i)}},t=class{constructor(e,t){this.sign=e,this.cls=t}},_f=[48,57],sr=[9,10,12,13,32,32],ar=[48,57,65,90,95,95,97,122];let Sm=new Map([["\\d",new t(1,_f)],["\\D",new t(-1,_f)],["\\s",new t(1,sr)],["\\S",new t(-1,sr)],["\\w",new t(1,ar)],["\\W",new t(-1,ar)]]);var e=[48,57,65,90,97,122],_f=[65,90,97,122],sr=[0,127],ar=[9,9,32,32],km=[0,31,127,127],Nm=[48,57],Am=[33,126],Rm=[97,122],Om=[32,126],Pm=[33,47,58,64,91,96,123,126],xm=[9,13,32,32],Fm=[65,90],Lm=[48,57,65,90,95,95,97,122],Mm=[48,57,65,70,97,102];let Um=new Map([["[:alnum:]",new t(1,e)],["[:^alnum:]",new t(-1,e)],["[:alpha:]",new t(1,_f)],["[:^alpha:]",new t(-1,_f)],["[:ascii:]",new t(1,sr)],["[:^ascii:]",new t(-1,sr)],["[:blank:]",new t(1,ar)],["[:^blank:]",new t(-1,ar)],["[:cntrl:]",new t(1,km)],["[:^cntrl:]",new t(-1,km)],["[:digit:]",new t(1,Nm)],["[:^digit:]",new t(-1,Nm)],["[:graph:]",new t(1,Am)],["[:^graph:]",new t(-1,Am)],["[:lower:]",new t(1,Rm)],["[:^lower:]",new t(-1,Rm)],["[:print:]",new t(1,Om)],["[:^print:]",new t(-1,Om)],["[:punct:]",new t(1,Pm)],["[:^punct:]",new t(-1,Pm)],["[:space:]",new t(1,xm)],["[:^space:]",new t(-1,xm)],["[:upper:]",new t(1,Fm)],["[:^upper:]",new t(-1,Fm)],["[:word:]",new t(1,Lm)],["[:^word:]",new t(-1,Lm)],["[:xdigit:]",new t(1,Mm)],["[:^xdigit:]",new t(-1,Mm)]]);var Gm,Hm,Vm=class Vm{static charClassToString(e,t){let r="[";for(let s=0;s<t;s+=2){0<s&&(r+=" ");var n=e[s],i=e[s+1];r+=n===i?"0x"+n.toString(16):`0x${n.toString(16)}-0x`+i.toString(16)}return r+="]"}static cmp(e,t,r,n){var i=e[t]-r;return 0!=i?i:n-e[t+1]}static qsortIntPair(e,t,r){var n,i=-2&((t+r)/2|0),s=e[i],a=e[1+i];let o=t,l=r;for(;o<=l;){for(;o<r&&Vm.cmp(e,o,s,a)<0;)o+=2;for(;l>t&&0<Vm.cmp(e,l,s,a);)l-=2;o<=l&&(o!==l&&(n=e[o],e[o]=e[l],e[l]=n,n=e[o+1],e[o+1]=e[l+1],e[l+1]=n),o+=2,l-=2)}t<l&&Vm.qsortIntPair(e,t,l),o<r&&Vm.qsortIntPair(e,o,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)){Vm.qsortIntPair(this.r,0,this.len-2);let e=2;for(let t=2;t<this.len;t+=2){var r=this.r[t],n=this.r[t+1];r<=this.r[e-1]+1?n>this.r[e-1]&&(this.r[e-1]=n):(this.r[e]=r,this.r[e+1]=n,e+=2)}this.len=e}return this}appendLiteral(e,t){return 0!=(t&E.FOLD_CASE)?this.appendFoldedRange(e,e):this.appendRange(e,e)}appendRange(t,r){if(0<this.len)for(let e=2;e<=4;e+=2)if(this.len>=e){var n=this.r[this.len-e],i=this.r[this.len-e+1];if(t<=i+1&&n<=r+1)return t<n&&(this.r[this.len-e]=t),i<r&&(this.r[this.len-e+1]=r),this}return this.r[this.len++]=t,this.r[this.len++]=r,this}appendFoldedRange(e,t){if(e<=w.MIN_FOLD&&t>=w.MAX_FOLD)return this.appendRange(e,t);if(t<w.MIN_FOLD||e>w.MAX_FOLD)return this.appendRange(e,t);e<w.MIN_FOLD&&(this.appendRange(e,w.MIN_FOLD-1),e=w.MIN_FOLD),t>w.MAX_FOLD&&(this.appendRange(w.MAX_FOLD+1,t),t=w.MAX_FOLD);for(let r=e;r<=t;r++){this.appendRange(r,r);for(let e=w.simpleFold(r);e!==r;e=w.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 i=0;i<e.length;i+=2){var r=e[i],n=e[i+1];t<=r-1&&this.appendRange(t,r-1),t=n+1}return t<=w.MAX_RUNE&&this.appendRange(t,w.MAX_RUNE),this}appendTable(e){for(let i=0;i<e.length;++i){var t=e.getLo(i),r=e.getHi(i),n=e.getStride(i);if(1===n)this.appendRange(t,r);else for(let e=t;e<=r;e+=n)this.appendRange(e,e)}return this}appendNegatedTable(e){let t=0;for(let s=0;s<e.length;++s){var r=e.getLo(s),n=e.getHi(s),i=e.getStride(s);if(1===i)t<=r-1&&this.appendRange(t,r-1),t=n+1;else for(let e=r;e<=n;e+=i)t<=e-1&&this.appendRange(t,e-1),t=e+1}return t<=w.MAX_RUNE&&this.appendRange(t,w.MAX_RUNE),this}appendTableWithSign(e,t){return t<0?this.appendNegatedTable(e):this.appendTable(e)}negateClass(){let e=0,t=0;for(let i=0;i<this.len;i+=2){var r=this.r[i],n=this.r[i+1];e<=r-1&&(this.r[t]=e,this.r[t+1]=r-1,t+=2),e=n+1}return this.len=t,e<=w.MAX_RUNE&&(this.r[this.len++]=e,this.r[this.len++]=w.MAX_RUNE),this}appendClassWithSign(e,t){return t<0?this.appendNegatedClass(e):this.appendClass(e)}appendGroup(e,t){let r=e.cls;return t&&(r=(new Vm).appendFoldedClass(r).cleanClass().toArray()),this.appendClassWithSign(r,e.sign)}toString(){return Vm.charClassToString(this.r,this.len)}},qm=class{constructor(e){this.str=e,this.position=0}pos(){return this.position}rewindTo(e){this.position=e}more(){return this.position<this.str.length}peek(){return this.str.codePointAt(this.position)}skip(e){this.position+=e}skipString(e){this.position+=e.length}pop(){var e=this.str.codePointAt(this.position);return this.position+=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()}},T=class T{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 r(new Uint32Array([0,w.MAX_RUNE,1]));static ASCII_TABLE=new r(new Uint32Array([0,127,1]));static ASCII_FOLD_TABLE=new r(new Uint32Array([0,127,1,383,383,1,8490,8490,1]));static unicodeTable(e){return"Any"===e?{tab:T.ANY_TABLE,fold:T.ANY_TABLE,sign:1}:"Ascii"===e?{tab:T.ASCII_TABLE,fold:T.ASCII_FOLD_TABLE,sign:1}:"Assigned"===e?{tab:Kf.CATEGORIES.get("Cn"),fold:Kf.CATEGORIES.get("Cn"),sign:-1}:"Lc"===e?{tab:Kf.CATEGORIES.get("LC"),fold:Kf.FOLD_CATEGORIES.get("LC"),sign:1}:Kf.CATEGORIES.has(e)?{tab:Kf.CATEGORIES.get(e),fold:Kf.FOLD_CATEGORIES.get(e),sign:1}:Kf.SCRIPTS.has(e)?{tab:Kf.SCRIPTS.get(e),fold:Kf.FOLD_SCRIPT.get(e),sign:1}:null}static minFoldRune(e){if(e<w.MIN_FOLD||e>w.MAX_FOLD)return e;let t=e;var r=e;for(e=w.simpleFold(e);e!==r;e=w.simpleFold(e))t>e&&(t=e);return t}static leadingRegexp(e){var t;return e.op===I.Op.EMPTY_MATCH?null:e.op===I.Op.CONCAT&&0<e.subs.length?(t=e.subs[0]).op===I.Op.EMPTY_MATCH?null:t:e}static literalRegexp(e,t){var r=new I(I.Op.LITERAL);return r.flags=t,r.runes=D.stringToRunes(e),r}static parse(e,t){return new T(e,t).parseInternal()}static parseRepeat(e){var t=e.pos();if(!e.more()||!e.lookingAt("{"))return-1;e.skip(1);var r=T.parseInt(e);if(-1===r)return-1;if(!e.more())return-1;let n;if(e.lookingAt(",")){if(e.skip(1),!e.more())return-1;if(e.lookingAt("}"))n=-1;else if(-1===(n=T.parseInt(e)))return-1}else n=r;if(!e.more()||!e.lookingAt("}"))return-1;if(e.skip(1),r<0||1e3<r||-2===n||1e3<n||0<=n&&r>n)throw new nm(T.ERR_INVALID_REPEAT_SIZE,e.from(t));return r<<16|n&w.MAX_BMP}static isValidCaptureName(e){if(0===e.length)return!1;for(let r=0;r<e.length;r++){var t=e.codePointAt(r);if(t!==y.CODES.get("_")&&!D.isalnum(t))return!1}return!0}static parseInt(e){for(var t=e.pos();e.more()&&e.peek()>=y.CODES.get("0")&&e.peek()<=y.CODES.get("9");)e.skip(1);t=e.from(t);return 0===t.length||1<t.length&&t.codePointAt(0)===y.CODES.get("0")?-1:8<t.length?-2:parseInt(t,10)}static isCharClass(e){return e.op===I.Op.LITERAL&&1===e.runes.length||e.op===I.Op.CHAR_CLASS||e.op===I.Op.ANY_CHAR_NOT_NL||e.op===I.Op.ANY_CHAR}static matchRune(t,r){switch(t.op){case I.Op.LITERAL:return 1===t.runes.length&&t.runes[0]===r;case I.Op.CHAR_CLASS:for(let e=0;e<t.runes.length;e+=2)if(t.runes[e]<=r&&r<=t.runes[e+1])return!0;return!1;case I.Op.ANY_CHAR_NOT_NL:return r!==y.CODES.get("\n");case I.Op.ANY_CHAR:return!0}return!1}static mergeCharClass(e,t){switch(e.op){case I.Op.ANY_CHAR:break;case I.Op.ANY_CHAR_NOT_NL:T.matchRune(t,y.CODES.get("\n"))&&(e.op=I.Op.ANY_CHAR);break;case I.Op.CHAR_CLASS:t.op===I.Op.LITERAL?e.runes=new Vm(e.runes).appendLiteral(t.runes[0],t.flags).toArray():e.runes=new Vm(e.runes).appendClass(t.runes).toArray();break;case I.Op.LITERAL:t.runes[0]===e.runes[0]&&t.flags===e.flags||(e.op=I.Op.CHAR_CLASS,e.runes=(new Vm).appendLiteral(e.runes[0],e.flags).appendLiteral(t.runes[0],t.flags).toArray())}}static parseEscape(r){var e=r.pos();if(r.skip(1),!r.more())throw new nm(T.ERR_TRAILING_BACKSLASH);let n=r.pop();e:switch(n){case y.CODES.get("1"):case y.CODES.get("2"):case y.CODES.get("3"):case y.CODES.get("4"):case y.CODES.get("5"):case y.CODES.get("6"):case y.CODES.get("7"):if(!r.more()||r.peek()<y.CODES.get("0")||r.peek()>y.CODES.get("7"))break;case y.CODES.get("0"):{let e=n-y.CODES.get("0");for(let t=1;t<3&&!(!r.more()||r.peek()<y.CODES.get("0")||r.peek()>y.CODES.get("7"));t++)e=8*e+r.peek()-y.CODES.get("0"),r.skip(1);return e}case y.CODES.get("x"):if(!r.more())break;if((n=r.pop())===y.CODES.get("{")){let e=0,t=0;for(;;){if(!r.more())break e;if((n=r.pop())===y.CODES.get("}"))break;var i=D.unhex(n);if(i<0)break e;if((t=16*t+i)>w.MAX_RUNE)break e;e++}if(0===e)break;return t}var t=D.unhex(n);if(!r.more())break;n=r.pop();var s=D.unhex(n);if(t<0||s<0)break;return 16*t+s;case y.CODES.get("a"):return y.CODES.get("");case y.CODES.get("f"):return y.CODES.get("\f");case y.CODES.get("n"):return y.CODES.get("\n");case y.CODES.get("r"):return y.CODES.get("\r");case y.CODES.get("t"):return y.CODES.get("\t");case y.CODES.get("v"):return y.CODES.get("\v");default:if(n<=w.MAX_ASCII&&!D.isalnum(n))return n}throw new nm(T.ERR_INVALID_ESCAPE,r.from(e))}static parseClassChar(e,t){if(e.more())return e.lookingAt("\\")?T.parseEscape(e):e.pop();throw new nm(T.ERR_MISSING_BRACKET,e.from(t))}static concatRunes(e,t){for(let r=0;r<t.length;r++)e.push(t[r]);return e}static hasCapture(e){if(null!==e){if(e.op===I.Op.CAPTURE)return!0;if(e.subs)for(var t of e.subs)if(T.hasCapture(t))return!0}return!1}constructor(e,t=0){this.wholeRegexp=e,this.flags=t,this.numCap=0,this.namedGroups=Object.create(null),this.stack=[],this.free=null,this.numRegexp=0,this.numRunes=0,this.repeats=0,this.height=null,this.size=null,this.nlb=0}newRegexp(e){let t=this.free;return null!==t&&null!==t.subs&&0<t.subs.length?(this.free=t.subs[0],t.reinit(),t.op=e):(t=new I(e),this.numRegexp+=1),t}reuse(e){null!==this.height&&this.height.has(e)&&this.height.delete(e),null!==e.subs&&0<e.subs.length&&(e.subs[0]=this.free),this.free=e}checkLimits(e){if(this.numRunes>T.MAX_RUNES)throw new nm(T.ERR_LARGE);this.checkSize(e),this.checkHeight(e)}checkSize(t){if(null===this.size){if(0===this.repeats&&(this.repeats=1),t.op===I.Op.REPEAT){let e=t.max;(e=(e=-1===e?t.min:e)<=0?1:e)>Math.floor(T.MAX_SIZE/this.repeats)?this.repeats=T.MAX_SIZE:this.repeats*=e}if(this.numRegexp<Math.floor(T.MAX_SIZE/this.repeats))return;this.size=new Map;for(var e of this.stack)this.checkSize(e)}if(this.calcSize(t,!0)>T.MAX_SIZE)throw new nm(T.ERR_LARGE)}calcSize(e,t=!1){if(!t&&null!==this.size&&this.size.has(e))return this.size.get(e);let r=0;switch(e.op){case I.Op.LITERAL:r=e.runes.length;break;case I.Op.PLB:case I.Op.NLB:case I.Op.CAPTURE:case I.Op.STAR:r=2+this.calcSize(e.subs[0]);break;case I.Op.PLUS:case I.Op.QUEST:r=1+this.calcSize(e.subs[0]);break;case I.Op.CONCAT:for(var n of e.subs)r+=this.calcSize(n);break;case I.Op.ALTERNATE:for(var i of e.subs)r+=this.calcSize(i);1<e.subs.length&&(r=r+e.subs.length-1);break;case I.Op.REPEAT:var s=this.calcSize(e.subs[0]);-1!==e.max?r=e.max*s+(e.max-e.min):r=0===e.min?2+s:1+e.min*s}return r=Math.max(1,r),null===this.size&&(this.size=new Map),this.size.set(e,r),r}checkHeight(e){if(!(this.numRegexp<T.MAX_HEIGHT)){if(null===this.height){this.height=new Map;for(var t of this.stack)this.checkHeight(t)}if(this.calcHeight(e,!0)>T.MAX_HEIGHT)throw new nm(T.ERR_NESTING_DEPTH)}}calcHeight(e,t=!1){if(!t&&null!==this.height&&this.height.has(e))return this.height.get(e);let r=1;for(var n of e.subs){n=this.calcHeight(n);r<1+n&&(r=1+n)}return null===this.height&&(this.height=new Map),this.height.set(e,r),r}pop(){return this.stack.pop()}popToPseudo(){var e=this.stack.length;let t=e;for(;0<t&&!I.isPseudoOp(this.stack[t-1].op);)t--;e=this.stack.slice(t,e);return this.stack=this.stack.slice(0,t),e}push(e){if(this.numRunes+=e.runes.length,e.op===I.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]===e.runes[1]){if(this.maybeConcat(e.runes[0],-2&this.flags))return null;e.op=I.Op.LITERAL,e.runes=[e.runes[0]],e.flags=-2&this.flags}else if(e.op===I.Op.CHAR_CLASS&&4===e.runes.length&&e.runes[0]===e.runes[1]&&e.runes[2]===e.runes[3]&&w.simpleFold(e.runes[0])===e.runes[2]&&w.simpleFold(e.runes[2])===e.runes[0]||e.op===I.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]+1===e.runes[1]&&w.simpleFold(e.runes[0])===e.runes[1]&&w.simpleFold(e.runes[1])===e.runes[0]){if(this.maybeConcat(e.runes[0],this.flags|E.FOLD_CASE))return null;e.op=I.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags|E.FOLD_CASE}else this.maybeConcat(-1,0);return this.stack.push(e),this.checkLimits(e),e}maybeConcat(e,t){var r=this.stack.length;if(!(r<2)){var n=this.stack[r-1],r=this.stack[r-2];if(n.op===I.Op.LITERAL&&r.op===I.Op.LITERAL&&(n.flags&E.FOLD_CASE)==(r.flags&E.FOLD_CASE)){if(r.runes=T.concatRunes(r.runes,n.runes),0<=e)return n.runes=[e],n.flags=t,!0;this.pop(),this.reuse(n)}}return!1}newLiteral(e,t){var r=this.newRegexp(I.Op.LITERAL);return 0!=((r.flags=t)&E.FOLD_CASE)&&(e=T.minFoldRune(e)),r.runes=[e],r}literal(e){this.push(this.newLiteral(e,this.flags))}op(e){var t=this.newRegexp(e);return t.flags=this.flags,this.push(t)}repeat(e,t,r,n,i,s){let a=this.flags;if(0!=(a&E.PERL_X)&&(i.more()&&i.lookingAt("?")&&(i.skip(1),a^=E.NON_GREEDY),-1!==s))throw new nm(T.ERR_INVALID_REPEAT_OP,i.from(s));var o=this.stack.length;if(0===o)throw new nm(T.ERR_MISSING_REPEAT_ARGUMENT,i.from(n));var l=this.stack[o-1];if(I.isPseudoOp(l.op))throw new nm(T.ERR_MISSING_REPEAT_ARGUMENT,i.from(n));var h=this.newRegexp(e);if(h.min=t,h.max=r,h.flags=a,h.subs=[l],this.stack[o-1]=h,this.checkLimits(h),e===I.Op.REPEAT&&(2<=t||2<=r)&&!this.repeatIsValid(h,1e3))throw new nm(T.ERR_INVALID_REPEAT_SIZE,i.from(n))}repeatIsValid(t,r){if(t.op===I.Op.REPEAT){let e=t.max;if(0===e)return!0;if((e=e<0?t.min:e)>r)return!1;0<e&&(r=Math.trunc(r/e))}for(var e of t.subs)if(!this.repeatIsValid(e,r))return!1;return!0}concat(){this.maybeConcat(-1,0);var e=this.popToPseudo();return 0===e.length?this.push(this.newRegexp(I.Op.EMPTY_MATCH)):this.push(this.collapse(e,I.Op.CONCAT))}alternate(){var e=this.popToPseudo();return 0<e.length&&this.cleanAlt(e[e.length-1]),0===e.length?this.push(this.newRegexp(I.Op.NO_MATCH)):this.push(this.collapse(e,I.Op.ALTERNATE))}cleanAlt(e){e.op===I.Op.CHAR_CLASS&&(e.runes=new Vm(e.runes).cleanClass().toArray(),2===e.runes.length&&0===e.runes[0]&&e.runes[1]===w.MAX_RUNE?(e.runes=[],e.op=I.Op.ANY_CHAR):4===e.runes.length&&0===e.runes[0]&&e.runes[1]===y.CODES.get("\n")-1&&e.runes[2]===y.CODES.get("\n")+1&&e.runes[3]===w.MAX_RUNE&&(e.runes=[],e.op=I.Op.ANY_CHAR_NOT_NL))}collapse(e,t){if(1===e.length)return e[0];let r=0;for(var n of e)r+=n.op===t?n.subs.length:1;var i,s,a=new Array(r).fill(null);let o=0;for(i of e)if(i.op===t){for(let e=0;e<i.subs.length;e++)a[o++]=i.subs[e];this.reuse(i)}else a[o++]=i;let l=this.newRegexp(t);return l.subs=a,t===I.Op.ALTERNATE&&(l.subs=this.factor(l.subs),1===l.subs.length)&&(l=(s=l).subs[0],this.reuse(s)),l}factor(i){if(i.length<2)return i;let s=0,a=i.length,o=0,l=null,h=0,u=0,c=0;for(let _=0;_<=a;_++){let t=null,r=0,n=0;if(_<a){let e=i[s+_];if((e=e.op===I.Op.CONCAT&&0<e.subs.length?e.subs[0]:e).op===I.Op.LITERAL&&(t=e.runes,r=e.runes.length,n=e.flags&E.FOLD_CASE),n===u){let e=0;for(;e<h&&e<r&&l[e]===t[e];)e++;if(0<e){h=e;continue}}}if(_!==c)if(_===c+1)i[o++]=i[s+c];else{var d=this.newRegexp(I.Op.LITERAL);d.flags=u,d.runes=l.slice(0,h);for(let e=c;e<_;e++)i[s+e]=this.removeLeadingString(i[s+e],h),this.checkLimits(i[s+e]);var B=this.collapse(i.slice(s+c,s+_),I.Op.ALTERNATE),p=this.newRegexp(I.Op.CONCAT);p.subs=[d,B],i[o++]=p}c=_,l=t,h=r,u=n}a=o,s=0,c=0;let t=null;for(let y=o=0;y<=a;y++){let e=null;if(!(y<a&&(e=T.leadingRegexp(i[s+y]),null!==t)&&t.equals(e)&&(T.isCharClass(t)||t.op===I.Op.REPEAT&&t.min===t.max&&T.isCharClass(t.subs[0])))){if(y!==c)if(y===c+1)i[o++]=i[s+c];else{var r=t;for(let e=c;e<y;e++){var n=e!==c;i[s+e]=this.removeLeadingRegexp(i[s+e],n),this.checkLimits(i[s+e])}var g=this.collapse(i.slice(s+c,s+y),I.Op.ALTERNATE),f=this.newRegexp(I.Op.CONCAT);f.subs=[r,g],i[o++]=f}c=y,t=e}}a=o,s=0,c=0;for(let w=o=0;w<=a;w++)if(!(w<a&&T.isCharClass(i[s+w]))){if(w!==c){if(w!==c+1){let e=c;for(let t=c+1;t<w;t++){var m=i[s+e],C=i[s+t];(m.op<C.op||m.op===C.op&&(null!==m.runes?m.runes.length:0)<(null!==C.runes?C.runes.length:0))&&(e=t)}var v=i[s+c];i[s+c]=i[s+e],i[s+e]=v;for(let r=c+1;r<w;r++)T.mergeCharClass(i[s+c],i[s+r]),this.reuse(i[s+r]);this.cleanAlt(i[s+c])}i[o++]=i[s+c]}w<a&&(i[o++]=i[s+w]),c=w+1}a=o,s=0,c=0;for(let e=o=0;e<a;++e)e+1<a&&i[s+e].op===I.Op.EMPTY_MATCH&&i[s+e+1].op===I.Op.EMPTY_MATCH||(i[o++]=i[s+e]);return a=o,s=0,i.slice(s,a)}removeLeadingString(e,t){if(e.op===I.Op.CONCAT&&0<e.subs.length){var r=this.removeLeadingString(e.subs[0],t);if((e.subs[0]=r).op===I.Op.EMPTY_MATCH)switch(this.reuse(r),e.subs.length){case 0:case 1:e.op=I.Op.EMPTY_MATCH,e.subs=I.emptySubs();break;case 2:var n=e;e=e.subs[1],this.reuse(n);break;default:e.subs=e.subs.slice(1,e.subs.length)}}else e.op===I.Op.LITERAL&&(e.runes=e.runes.slice(t,e.runes.length),0===e.runes.length)&&(e.op=I.Op.EMPTY_MATCH);return e}removeLeadingRegexp(e,t){if(e.op===I.Op.CONCAT&&0<e.subs.length){switch(t&&this.reuse(e.subs[0]),e.subs=e.subs.slice(1,e.subs.length),e.subs.length){case 0:e.op=I.Op.EMPTY_MATCH,e.subs=I.emptySubs();break;case 1:var r=e;e=e.subs[0],this.reuse(r)}return e}return t&&this.reuse(e),this.newRegexp(I.Op.EMPTY_MATCH)}parseInternal(){if(0!=(this.flags&E.LITERAL))return T.literalRegexp(this.wholeRegexp,this.flags);let r=-1,n=-1,i=-1;for(var s=new qm(this.wholeRegexp);s.more();){let t=-1;e:switch(s.peek()){case y.CODES.get("("):if(0!=(this.flags&E.LOOKBEHIND)){if(s.lookingAt("(?<=")){this.parsePosLookBehind(),s.skip(4);break}if(s.lookingAt("(?<!")){this.parseNegLookBehind(),s.skip(4);break}}0!=(this.flags&E.PERL_X)&&s.lookingAt("(?")?this.parsePerlFlags(s):(this.op(I.Op.LEFT_PAREN).cap=++this.numCap,s.skip(1));break;case y.CODES.get("|"):this.parseVerticalBar(),s.skip(1);break;case y.CODES.get(")"):this.parseRightParen(),s.skip(1);break;case y.CODES.get("^"):0!=(this.flags&E.ONE_LINE)?this.op(I.Op.BEGIN_TEXT):this.op(I.Op.BEGIN_LINE),s.skip(1);break;case y.CODES.get("$"):0!=(this.flags&E.ONE_LINE)?this.op(I.Op.END_TEXT).flags|=E.WAS_DOLLAR:this.op(I.Op.END_LINE),s.skip(1);break;case y.CODES.get("."):0!=(this.flags&E.DOT_NL)?this.op(I.Op.ANY_CHAR):this.op(I.Op.ANY_CHAR_NOT_NL),s.skip(1);break;case y.CODES.get("["):this.parseClass(s);break;case y.CODES.get("*"):case y.CODES.get("+"):case y.CODES.get("?"):{t=s.pos();let e=null;switch(s.pop()){case y.CODES.get("*"):e=I.Op.STAR;break;case y.CODES.get("+"):e=I.Op.PLUS;break;case y.CODES.get("?"):e=I.Op.QUEST}this.repeat(e,n,i,t,s,r);break}case y.CODES.get("{"):t=s.pos();var e=T.parseRepeat(s);e<0?(s.rewindTo(t),this.literal(s.pop())):(n=e>>16,i=(e&w.MAX_BMP)<<16>>16,this.repeat(I.Op.REPEAT,n,i,t,s,r));break;case y.CODES.get("\\"):var a=s.pos();if(s.skip(1),0!=(this.flags&E.PERL_X)&&s.more())switch(s.pop()){case y.CODES.get("A"):this.op(I.Op.BEGIN_TEXT);break e;case y.CODES.get("b"):this.op(I.Op.WORD_BOUNDARY);break e;case y.CODES.get("B"):this.op(I.Op.NO_WORD_BOUNDARY);break e;case y.CODES.get("C"):throw new nm(T.ERR_INVALID_ESCAPE,"\\C");case y.CODES.get("Q"):{let e=s.rest();var o=e.indexOf("\\E");0<=o?(e=e.substring(0,o),s.skipString(e),s.skipString("\\E")):s.skipString(e);let t=0;for(;t<e.length;){var l=e.codePointAt(t);this.literal(l),t+=D.charCount(l)}break e}case y.CODES.get("z"):this.op(I.Op.END_TEXT);break e;default:s.rewindTo(a)}else s.rewindTo(a);var h=this.newRegexp(I.Op.CHAR_CLASS);if(h.flags=this.flags,s.lookingAt("\\p")||s.lookingAt("\\P")){e=new Vm;if(this.parseUnicodeClass(s,e)){h.runes=e.toArray(),this.push(h);break}}var u=new Vm;this.parsePerlClassEscape(s,u)?(h.runes=u.toArray(),this.push(h)):(s.rewindTo(a),this.reuse(h),this.literal(T.parseEscape(s)));break;default:this.literal(s.pop())}r=t}if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),1!==this.stack.length)throw new nm(T.ERR_MISSING_PAREN,this.wholeRegexp);return this.stack[0].namedGroups=this.namedGroups,this.stack[0]}parsePerlFlags(n){var i=n.pos(),e=n.rest();if(!e.startsWith("(?P<")&&!e.startsWith("(?<")){n.skip(2);let e=this.flags,t=1,r=!1;e:for(;n.more();){var s=n.pop();switch(s){case y.CODES.get("i"):e|=E.FOLD_CASE,r=!0;break;case y.CODES.get("m"):e&=-17,r=!0;break;case y.CODES.get("s"):e|=E.DOT_NL,r=!0;break;case y.CODES.get("U"):e|=E.NON_GREEDY,r=!0;break;case y.CODES.get("-"):if(t<0)break e;t=-1,e=~e,r=!1;break;case y.CODES.get(":"):case y.CODES.get(")"):if(t<0){if(!r)break e;e=~e}return s===y.CODES.get(":")&&this.op(I.Op.LEFT_PAREN),void(this.flags=e);default:break e}}throw new nm(T.ERR_INVALID_PERL_OP,n.from(i))}var i="P"===e.charAt(2)?4:3,t=e.indexOf(">");if(t<0)throw new nm(T.ERR_INVALID_NAMED_CAPTURE,e);var r=e.substring(i,t);if(n.skipString(r),n.skip(1+i),!T.isValidCaptureName(r))throw new nm(T.ERR_INVALID_NAMED_CAPTURE,e.substring(0,t+1));i=this.op(I.Op.LEFT_PAREN);if(i.cap=++this.numCap,this.namedGroups[r])throw new nm(T.ERR_DUPLICATE_NAMED_CAPTURE,r);this.namedGroups[r]=this.numCap,i.name=r}parsePosLookBehind(){var e=this.newRegexp(I.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=++this.nlb,this.push(e)}parseNegLookBehind(){var e=this.newRegexp(I.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=-++this.nlb,this.push(e)}parseVerticalBar(){this.concat(),this.swapVerticalBar()||this.op(I.Op.VERTICAL_BAR)}swapVerticalBar(){var r=this.stack.length;if(3<=r&&this.stack[r-2].op===I.Op.VERTICAL_BAR&&T.isCharClass(this.stack[r-1])&&T.isCharClass(this.stack[r-3])){let e=this.stack[r-1],t=this.stack[r-3];return e.op>t.op&&(n=t,t=e,e=n,this.stack[r-3]=t),T.mergeCharClass(t,e),this.reuse(e),this.pop(),!0}if(2<=r){var n=this.stack[r-1],e=this.stack[r-2];if(e.op===I.Op.VERTICAL_BAR)return 3<=r&&this.cleanAlt(this.stack[r-3]),this.stack[r-2]=n,this.stack[r-1]=e,!0}return!1}parseRightParen(){if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),this.stack.length<2)throw new nm(T.ERR_UNEXPECTED_PAREN,this.wholeRegexp);var e=this.pop(),t=this.pop();if(t.op!==I.Op.LEFT_PAREN)throw new nm(T.ERR_UNEXPECTED_PAREN,this.wholeRegexp);if(this.flags=t.flags,0!==t.lb){if(T.hasCapture(e))throw new nm(T.ERR_INVALID_CAPTURE_IN_LOOKBEHIND,this.wholeRegexp);0<t.lb?t.op=I.Op.PLB:t.op=I.Op.NLB,t.subs=[e],this.push(t)}else 0===t.cap?this.push(e):(t.op=I.Op.CAPTURE,t.subs=[e],this.push(t))}parsePerlClassEscape(e,t){var r=e.pos();if(0==(this.flags&E.PERL_X)||!e.more()||e.pop()!==y.CODES.get("\\")||!e.more())return!1;e.pop();r=e.from(r),r=Sm.has(r)?Sm.get(r):null;return null!==r&&(t.appendGroup(r,0!=(this.flags&E.FOLD_CASE)),!0)}parseNamedClass(e,t){var r=e.rest(),n=r.indexOf(":]");if(n<0)return!1;r=r.substring(0,n+2),e.skipString(r),n=Um.has(r)?Um.get(r):null;if(null===n)throw new nm(T.ERR_INVALID_CHAR_RANGE,r);return t.appendGroup(n,0!=(this.flags&E.FOLD_CASE)),!0}parseUnicodeClass(e,t){var r=e.pos();if(0==(this.flags&E.UNICODE_GROUPS)||!e.lookingAt("\\p")&&!e.lookingAt("\\P"))return!1;e.skip(1);let n=1;if(e.pop()===y.CODES.get("P")&&(n=-1),!e.more())throw e.rewindTo(r),new nm(T.ERR_INVALID_CHAR_RANGE,e.rest());let i;if((s=e.pop())!==y.CODES.get("{"))i=D.runeToString(s);else{var s=e.rest(),a=s.indexOf("}");if(a<0)throw e.rewindTo(r),new nm(T.ERR_INVALID_CHAR_RANGE,e.rest());i=s.substring(0,a),e.skipString(i),e.skip(1)}0!==i.length&&i.codePointAt(0)===y.CODES.get("^")&&(n=0-n,i=i.substring(1));s=T.unicodeTable(i);if(null===s)throw new nm(T.ERR_INVALID_CHAR_RANGE,e.from(r));s.sign<0&&(n=0-n);a=s.tab,r=s.fold;return 0==(this.flags&E.FOLD_CASE)||null===r?t.appendTableWithSign(a,n):(s=(new Vm).appendTable(a).appendTable(r).cleanClass().toArray(),t.appendClassWithSign(s,n)),!0}parseClass(t){var r=t.pos(),e=(t.skip(1),this.newRegexp(I.Op.CHAR_CLASS)),n=(e.flags=this.flags,new Vm);let i=1,s=(t.more()&&t.lookingAt("^")&&(i=-1,t.skip(1),0==(this.flags&E.CLASS_NL))&&n.appendRange(y.CODES.get("\n"),y.CODES.get("\n")),!0);for(;!t.more()||t.peek()!==y.CODES.get("]")||s;){if(t.more()&&t.lookingAt("-")&&0==(this.flags&E.PERL_X)&&!s){var a=t.rest();if("-"===a||!a.startsWith("-]"))throw t.rewindTo(r),new nm(T.ERR_INVALID_CHAR_RANGE,t.rest())}s=!1;a=t.pos();if(t.lookingAt("[:")){if(this.parseNamedClass(t,n))continue;t.rewindTo(a)}if(!this.parseUnicodeClass(t,n)&&!this.parsePerlClassEscape(t,n)){t.rewindTo(a);var o=T.parseClassChar(t,r);let e=o;if(t.more()&&t.lookingAt("-"))if(t.skip(1),t.more()&&t.lookingAt("]"))t.skip(-1);else if((e=T.parseClassChar(t,r))<o)throw new nm(T.ERR_INVALID_CHAR_RANGE,t.from(a));0==(this.flags&E.FOLD_CASE)?n.appendRange(o,e):n.appendFoldedRange(o,e)}}t.skip(1),n.cleanClass(),i<0&&n.negateClass(),e.runes=n.toArray(),this.push(e)}},jm=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}compareAndSet(e,t){return this.value===e&&(this.value=t,!0)}},Km=class Km{static initTest(e){var t=Km.compile(e),r=new Km(t.expr,t.prog,t.numSubexp,t.longest);return r.cond=t.cond,r.prefix=t.prefix,r.prefixUTF8=t.prefixUTF8,r.prefixComplete=t.prefixComplete,r.prefixRune=t.prefixRune,r.prefilter=t.prefilter,r}static compile(e){return Km.compileImpl(e,E.PERL,!1)}static compilePOSIX(e){return Km.compileImpl(e,E.POSIX,!0)}static compileImpl(e,t,r){let n=T.parse(e,t);var i=n.maxCap(),s=(n=Tm.simplify(n),wm.build(n)),a=Im.compileRegexp(n),i=new Km(e,a,i,r),[s,a]=(i.prefilter=s.type===c.Type.NONE?null:s,a.prefix());return i.prefixComplete=s,i.prefix=a,i.prefixUTF8=D.stringToUtf8ByteArray(i.prefix),0<i.prefix.length&&(i.prefixRune=i.prefix.codePointAt(0)),i.namedGroups=n.namedGroups,i}static match(e,t){return Km.compile(e).match(t)}constructor(e,t,r=0,n=0){this.expr=e,this.prog=t,this.numSubexp=r,this.longest=n,this.cond=t.startCond(),this.prefix=null,this.prefixUTF8=null,this.prefixComplete=!1,this.prefixRune=0,this.pooled=new jm,this.dfa=new pm(this.prog),this.onepass=_m.compile(this.prog),this.prefilter=null}matchPrefixComplete(e,t,r,n){if((r===E.ANCHOR_START||r===E.ANCHOR_BOTH)&&0!==t)return null;let i=-1,s=-1;var a=e.prefixLength(this);if(r===E.UNANCHORED){var o=e.index(this,t);if(o<0)return null;i=t+o,s=i+a}else if(r===E.ANCHOR_BOTH){if(e.endPos()!==a)return null;if(0!==e.index(this,0))return null;i=0,s=a}else if(r===E.ANCHOR_START){if(0!==e.index(this,0))return null;i=0,s=a}return i<0?null:0<n?((o=new Int32Array(n).fill(-1))[0]=i,o[1]=s,Array.from(o)):[]}executeEngine(e,t,r,n){if(this.prefixComplete&&(0===n||0===this.numSubexp))return this.matchPrefixComplete(e,t,r,n);if(null!==this.prefilter&&r===E.UNANCHORED&&!this.prefilter.eval(e,t))return null;if(null!==this.onepass)return _m.execute(this,e,t,r,n);if(0<n)return 0===this.prog.numLb&&e.endPos()<=mm.maxBitStateLen(this.prog)?mm.execute(this,e,t,r,n):this.doExecuteNFA(e,t,r,n);if(0===this.prog.numLb){var i=this.dfa.match(e,t,r);if(null!==i)return i?[]:null;if(e.endPos()<=mm.maxBitStateLen(this.prog))return mm.execute(this,e,t,r,n)}return this.doExecuteNFA(e,t,r,n)}numberOfCapturingGroups(){return this.numSubexp}numberOfInstructions(){return this.prog.numInst()}get(){let e;for(;(e=this.pooled.get())&&!this.pooled.compareAndSet(e,e.next););return e}reset(){this.pooled.set(null)}put(e,t){var r;for(this.pooled.get();r=this.pooled.get(),!t&&r&&(e=cm.fromMachine(e),t=!0),e.next!==r&&(e.next=r),!this.pooled.compareAndSet(r,e););}toString(){return this.expr}doExecuteNFA(e,t,r,n){let i=this.get(),s=!1;i?null!==i.next&&(i=cm.fromMachine(i),s=!0):(i=cm.fromRE2(this),s=!0),i.init(n);var a=i.match(e,t,r)?i.submatches():null;return this.put(i,s),a}match(e){return null!==this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,0)}matchWithGroup(e,t,r,n,i){return e instanceof Qf||(e=D.isByteArray(e)?Xf.utf8(e):Xf.utf16(e)),this.matchMachineInput(e,t,r,n,i)}matchMachineInput(e,t,r,n,i){var s;return r<t||(s=e.isUTF16Encoding()?rm.fromUTF16(e.asCharSequence(),0,r):rm.fromUTF8(e.asBytes(),0,r),null===(s=this.executeEngine(s,t,n,2*i)))?[!1,null]:[!0,s]}matchUTF8(e){return null!==this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,0)}replaceAll(e,t){return this.replaceAllFunc(e,()=>t,2*e.length+1)}replaceFirst(e,t){return this.replaceAllFunc(e,()=>t,1)}replaceAllFunc(e,t,r){let n=0,i=0,s="";var a=rm.fromUTF16(e);let o=0;for(;i<=e.length;){var l=this.executeEngine(a,i,E.UNANCHORED,2);if(null===l||0===l.length)break;s+=e.substring(n,l[0]),(l[1]>n||0===l[0])&&(s+=t(e.substring(l[0],l[1])),o++),n=l[1];var h=7&a.step(i);if(i+h>l[1]?i+=h:i+1>l[1]?i++:i=l[1],o>=r)break}return s+=e.substring(n)}pad(t){if(null===t)return null;var r=2*(1+this.numSubexp);if(t.length<r){var n=new Array(r).fill(-1);for(let e=0;e<t.length;e++)n[e]=t[e];t=n}return t}allMatches(t,e,r=e=>e){var n=[],i=t.endPos();e<0&&(e=i+1);let s=0,a=0,o=-1;for(;a<e&&s<=i;){var l,h=this.executeEngine(t,s,E.UNANCHORED,this.prog.numCap);if(null===h||0===h.length)break;let e=!0;h[1]===s?(h[0]===o&&(e=!1),(l=t.step(s))<0?s=i+1:s+=7&l):s=h[1],o=h[1],e&&(n.push(r(this.pad(h))),a++)}return n}findUTF8(e){var t=this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,2);return null===t?null:e.slice(t[0],t[1])}findUTF8Index(e){var t=this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,2);return null===t?null:t.slice(0,2)}find(e){var t=this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,2);return null===t?"":e.substring(t[0],t[1])}findIndex(e){return this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,2)}findUTF8Submatch(e){var t=this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,this.prog.numCap);if(null===t)return null;var r=new Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&0<=t[2*n]&&(r[n]=e.slice(t[2*n],t[2*n+1]));return r}findUTF8SubmatchIndex(e){return this.pad(this.executeEngine(rm.fromUTF8(e),0,E.UNANCHORED,this.prog.numCap))}findSubmatch(e){var t=this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,this.prog.numCap);if(null===t)return null;var r=new Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&0<=t[2*n]&&(r[n]=e.substring(t[2*n],t[2*n+1]));return r}findSubmatchIndex(e){return this.pad(this.executeEngine(rm.fromUTF16(e),0,E.UNANCHORED,this.prog.numCap))}findAllUTF8(t,e){var r=this.allMatches(rm.fromUTF8(t),e,e=>t.slice(e[0],e[1]));return 0===r.length?null:r}findAllUTF8Index(e,t){var r=this.allMatches(rm.fromUTF8(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAll(t,e){var r=this.allMatches(rm.fromUTF16(t),e,e=>t.substring(e[0],e[1]));return 0===r.length?null:r}findAllIndex(e,t){var r=this.allMatches(rm.fromUTF16(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAllUTF8Submatch(n,e){var t=this.allMatches(rm.fromUTF8(n),e,e=>{var t=new Array(e.length/2|0).fill(null);for(let r=0;r<t.length;r++)0<=e[2*r]&&(t[r]=n.slice(e[2*r],e[2*r+1]));return t});return 0===t.length?null:t}findAllUTF8SubmatchIndex(e,t){var r=this.allMatches(rm.fromUTF8(e),t);return 0===r.length?null:r}findAllSubmatch(n,e){var t=this.allMatches(rm.fromUTF16(n),e,e=>{var t=new Array(e.length/2|0).fill(null);for(let r=0;r<t.length;r++)0<=e[2*r]&&(t[r]=n.substring(e[2*r],e[2*r+1]));return t});return 0===t.length?null:t}findAllSubmatchIndex(e,t){var r=this.allMatches(rm.fromUTF16(e),t);return 0===r.length?null:r}},zm=class zm{static isHexadecimal(e){return"0"<=e&&e<="9"||"A"<=e&&e<="F"||"a"<=e&&e<="f"}static translate(i){let e="";if(i instanceof RegExp&&(i.ignoreCase&&(e+="i"),i.multiline&&(e+="m"),i.dotAll&&(e+="s"),i=i.source),"string"!=typeof i)return i;let s="",a=!1;var o=i.length;0===o&&(s="(?:)",a=!0);let t=!1,l=0;for(;l<o;){let e=i[l];if("\\"===e){if(l+1<o)switch(e=i[l+1]){case"\\":s+="\\\\",l+=2;continue;case"c":if(l+2<o){var r=i[l+2].charCodeAt(0);if(65<=r&&r<=90||97<=r&&r<=122){r=r%32;s=(s=(s+="\\x")+(r>>4).toString(16).toUpperCase())+(15&r).toString(16).toUpperCase(),l+=3,a=!0;continue}}s+="c",l+=2,a=!0;continue;case"u":if(l+2<o)if("{"===i[l+2]){let e=l+3,t=!1,r=!1;for(;e<o;){var n=i[e];if("}"===n){r=!0;break}if(!zm.isHexadecimal(n))break;t=!0,e++}if(r&&t){s+="\\x",l+=2,a=!0;continue}}else if(l+5<o){let e=!0;for(let t=0;t<4;t++)if(!zm.isHexadecimal(i[l+2+t])){e=!1;break}if(e){s+="\\x{"+i.substring(l+2,l+6)+"}",l+=6,a=!0;continue}}s+="u",l+=2,a=!0;continue;case"x":{let n=!1;if(l+2<o&&"{"===i[l+2]){let e=l+3,t=!1,r=!1;for(;e<o;){var h=i[e];if("}"===h){r=!0;break}if(!zm.isHexadecimal(h))break;t=!0,e++}r&&t&&(n=!0)}else l+3<o&&zm.isHexadecimal(i[l+2])&&zm.isHexadecimal(i[l+3])&&(n=!0);n?(s+="\\x",l+=2):(s+="x",l+=2,a=!0);continue}case"n":case"r":case"t":case"a":case"f":case"v":case"d":case"D":case"s":case"S":case"w":case"W":case"b":case"B":case"p":case"P":case"A":case"z":case"Q":case"E":case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":s+="\\"+e,l+=2;continue;default:var u,r=i.codePointAt(l+1);48<=r&&r<=57||65<=r&&r<=90||97<=r&&r<=122?(u=D.charCount(r),s+=i.substring(l+1,l+1+u),l+=u+1,a=!0):(s+="\\",u=D.charCount(r),s+=i.substring(l+1,l+1+u),l+=u+1);continue}}else{if("/"===e){s+="\\/",l+=1,a=!0;continue}if("["===e)t=!0;else if("]"===e)t=!1;else if(!t&&"("===e&&l+2<o&&"?"===i[l+1]&&"<"===i[l+2]&&l+3<o&&!"=!>)".includes(i[l+3])){s+="(?P<",l+=3,a=!0;continue}}var c=i.codePointAt(l),c=D.charCount(c);s+=i.substring(l,l+c),l+=c}var d=a?s:i;return 0<e.length?`(?${e})`+d:d}},Jm=class Jm{static CASE_INSENSITIVE=Of;static DOTALL=Pf;static MULTILINE=xf;static DISABLE_UNICODE_GROUPS=Ff;static LONGEST_MATCH=Lf;static LOOKBEHINDS=Mf;static quote(e){return D.quoteMeta(e)}static quoteReplacement(e,t=!1){return lm.quoteReplacement(e,t)}static translateRegExp(e){return zm.translate(e)}static compile(e,t=0){let r=e;if(0!=(t&Jm.CASE_INSENSITIVE)&&(r="(?i)"+r),0!=(t&Jm.DOTALL)&&(r="(?s)"+r),0!=(t&Jm.MULTILINE)&&(r="(?m)"+r),0!=(-544&t))throw new am("Flags should only be a combination of MULTILINE, DOTALL, CASE_INSENSITIVE, DISABLE_UNICODE_GROUPS, LONGEST_MATCH, LOOKBEHINDS");let n=E.PERL;0!=(t&Jm.DISABLE_UNICODE_GROUPS)&&(n&=-129),0!=(t&Jm.LOOKBEHINDS)&&(n|=E.LOOKBEHIND);var i=new Jm(e,t);return i.re2Input=Km.compileImpl(r,n,0!=(t&Jm.LONGEST_MATCH)),i}static matches(e,t){return Jm.compile(e).testExact(t)}static initTest(e,t,r){if(null==e)throw new Error("pattern is null");if(null==r)throw new Error("re2 is null");var n=new Jm(e,t);return n.re2Input=r,n}constructor(e,t){this.patternInput=e,this.flagsInput=t,this.re2Input=null}reset(){this.re2Input.reset()}flags(){return this.flagsInput}pattern(){return this.patternInput}re2(){return this.re2Input}matches(e){return this.testExact(e)}matcher(e){return D.isByteArray(e)&&(e=Xf.utf8(e)),new lm(this,e)}test(e){return D.isByteArray(e)?this.re2Input.matchUTF8(e):this.re2Input.match(e)}testExact(e){var t=D.isByteArray(e)?rm.fromUTF8(e):rm.fromUTF16(e);return null!==this.re2Input.executeEngine(t,0,E.ANCHOR_BOTH,0)}split(e,t=0){var r=this.matcher(e),n=[];let i=0,s=0;for(;r.find();){if(0===s&&0===r.end());else{if(0<t&&n.length===t-1)break;if(s===r.start()){if(0===t){i+=1,s=r.end();continue}}else for(;0<i;)n.push(""),--i;n.push(r.substring(s,r.start()))}s=r.end()}if(0===t&&s!==r.inputLength()){for(;0<i;)n.push(""),--i;n.push(r.substring(s,r.inputLength()))}return 0===t&&0!==n.length||n.push(r.substring(s,r.inputLength())),n}*matchAll(t){for(var r=this.matcher(t);r.find();){var n=[r.group(0)];for(let e=1;e<=r.groupCount();e++){var i=r.group(e);n.push(null===i?void 0:i)}n.index=r.start(0),n.input=t;var s=this.namedGroups();if(0<Object.keys(s).length){var a,o=r.getNamedGroups();for(a in o)null===o[a]&&(o[a]=void 0);n.groups=o}else n.groups=void 0;yield n}}toString(){return this.patternInput}programSize(){return this.re2Input.numberOfInstructions()}groupCount(){return this.re2Input.numberOfCapturingGroups()}namedGroups(){return this.re2Input.namedGroups}equals(e){return this===e||null!==e&&this.constructor===e.constructor&&this.flagsInput===e.flagsInput&&this.patternInput===e.patternInput}};let Wm="12.17.1";let Qm=new $e("@firebase/firestore");function Ym(){return Qm.logLevel}function p(e,...t){var r;Qm.logLevel<=B.DEBUG&&(r=t.map(Zm),Qm.debug(`Firestore (${Wm}): `+e,...r))}function $m(e,...t){var r;Qm.logLevel<=B.ERROR&&(r=t.map(Zm),Qm.error(`Firestore (${Wm}): `+e,...r))}function Xm(e,...t){var r;Qm.logLevel<=B.WARN&&(r=t.map(Zm),Qm.warn(`Firestore (${Wm}): `+e,...r))}function Zm(t){if("string"==typeof t)return t;try{return JSON.stringify(t)}catch(e){return t}}function S(e,t,r){let n="Unexpected state";"string"==typeof t?n=t:r=t,eC(e,n,r)}function eC(e,t,r){let n=`FIRESTORE (${Wm}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==r)try{n+=" CONTEXT: "+JSON.stringify(r)}catch(e){n+=" CONTEXT: "+r}throw $m(n),new Error(n)}function k(e,t,r,n){let i="Unexpected state";"string"==typeof r?i=r:n=r,e||eC(t,i,n)}class tC{static newId(){var t=62*Math.floor(256/62);let r="";for(;r.length<20;){var n=(t=>{var r="undefined"!=typeof self&&(self.crypto||self.msCrypto),n=new Uint8Array(t);if(r&&"function"==typeof r.getRandomValues)r.getRandomValues(n);else for(let e=0;e<t;e++)n[e]=Math.floor(256*Math.random());return n})(40);for(let e=0;e<n.length;++e)r.length<20&&n[e]<t&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(n[e]%62))}return r}}function N(e,t){return e<t?-1:t<e?1:0}function rC(r,n){let e=Math.min(r.length,n.length);for(let i=0;i<e;i++){let e=r.charAt(i),t=n.charAt(i);if(e!==t)return sC(e)===sC(t)?N(e,t):sC(e)?1:-1}return N(r.length,n.length)}let nC=55296,iC=57343;function sC(e){var t=e.charCodeAt(0);return t>=nC&&t<=iC}function aC(e,r,n){return e.length===r.length&&e.every((e,t)=>n(e,r[t]))}function oC(e){return e+"\0"}class lC{constructor(e,t){this.comparator=e,this.root=t||uC.EMPTY}insert(e,t){return new lC(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,uC.BLACK,null,null))}remove(e){return new lC(this.comparator,this.root.remove(e,this.comparator).copy(null,null,uC.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){var r=this.comparator(e,t.key);if(0===r)return t.value;r<0?t=t.left:0<r&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){var n=this.comparator(e,r.key);if(0===n)return t+r.left.size;r=n<0?r.left:(t+=r.left.size+1,r.right)}return-1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(r){this.inorderTraversal((e,t)=>(r(e,t),!1))}toString(){let r=[];return this.inorderTraversal((e,t)=>(r.push(e+":"+t),!1)),`{${r.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new hC(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new hC(this.root,e,this.comparator,!1)}getReverseIterator(){return new hC(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new hC(this.root,e,this.comparator,!0)}}class hC{constructor(e,t,r,n){this.isReverse=n,this.nodeStack=[];let i=1;for(;!e.isEmpty();)if(i=t?r(e.key,t):1,t&&n&&(i*=-1),i<0)e=this.isReverse?e.left:e.right;else{if(0===i){this.nodeStack.push(e);break}this.nodeStack.push(e),e=this.isReverse?e.right:e.left}}getNext(){let e=this.nodeStack.pop();var t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return 0<this.nodeStack.length}peek(){var e;return 0===this.nodeStack.length?null:{key:(e=this.nodeStack[this.nodeStack.length-1]).key,value:e.value}}}class uC{constructor(e,t,r,n,i){this.key=e,this.value=t,this.color=null!=r?r:uC.RED,this.left=null!=n?n:uC.EMPTY,this.right=null!=i?i:uC.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,n,i){return new uC(null!=e?e:this.key,null!=t?t:this.value,null!=r?r:this.color,null!=n?n:this.left,null!=i?i:this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,r){var n=this,i=r(e,n.key);return(n=i<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===i?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp()}removeMin(){if(this.left.isEmpty())return uC.EMPTY;let e=this;return(e=(e=e.left.isRed()||e.left.left.isRed()?e:e.moveRedLeft()).copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let r,n=this;if(t(e,n.key)<0)n=(n=n.left.isEmpty()||n.left.isRed()||n.left.left.isRed()?n:n.moveRedLeft()).copy(null,null,null,n.left.remove(e,t),null);else{if(0===t(e,(n=(n=n.left.isRed()?n.rotateRight():n).right.isEmpty()||n.right.isRed()||n.right.left.isRed()?n:n.moveRedRight()).key)){if(n.right.isEmpty())return uC.EMPTY;r=n.right.min(),n=n.copy(r.key,r.value,null,null,n.right.removeMin())}n=n.copy(null,null,null,null,n.right.remove(e,t))}return n.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e=(e=(e=e.right.isRed()&&!e.left.isRed()?e.rotateLeft():e).left.isRed()&&e.left.left.isRed()?e.rotateRight():e).left.isRed()&&e.right.isRed()?e.colorFlip():e}moveRedLeft(){let e=this.colorFlip();return e=e.right.left.isRed()?(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip():e}moveRedRight(){let e=this.colorFlip();return e=e.left.left.isRed()?(e=e.rotateRight()).colorFlip():e}rotateLeft(){var e=this.copy(null,null,uC.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){var e=this.copy(null,null,uC.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){var e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){var e=this.check();return Math.pow(2,e)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw S(43730,{key:this.key,value:this.value});if(this.right.isRed())throw S(14113,{key:this.key,value:this.value});var e=this.left.check();if(e!==this.right.check())throw S(27949);return e+(this.isRed()?0:1)}}uC.EMPTY=null,uC.RED=!0,uC.BLACK=!1,uC.EMPTY=new class{constructor(){this.size=0}get key(){throw S(57766)}get value(){throw S(16141)}get color(){throw S(16727)}get left(){throw S(29726)}get right(){throw S(36894)}copy(e,t,r,n,i){return this}insert(e,t,r){return new uC(e,t)}remove(e,t){return this}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};class cC{constructor(e){this.comparator=e,this.data=new lC(this.comparator)}has(e){return null!==this.data.get(e)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(r){this.data.inorderTraversal((e,t)=>(r(e),!1))}forEachInRange(e,t){for(var r=this.data.getIteratorFrom(e[0]);r.hasNext();){var n=r.getNext();if(0<=this.comparator(n.key,e[1]))return;t(n.key)}}forEachWhile(e,t){for(var r=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){var t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new dC(this.data.getIterator())}getIteratorFrom(e){return new dC(this.data.getIteratorFrom(e))}add(e){return this.copy(this.data.remove(e).insert(e,!0))}delete(e){return this.has(e)?this.copy(this.data.remove(e)):this}isEmpty(){return this.data.isEmpty()}unionWith(e){let t=this;return t.size<e.size&&(t=e,e=this),e.forEach(e=>{t=t.add(e)}),t}isEqual(e){if(!(e instanceof cC))return!1;if(this.size!==e.size)return!1;for(var r=this.data.getIterator(),n=e.data.getIterator();r.hasNext();){let e=r.getNext().key,t=n.getNext().key;if(0!==this.comparator(e,t))return!1}return!0}toArray(){let t=[];return this.forEach(e=>{t.push(e)}),t}toString(){let t=[];return this.forEach(e=>t.push(e)),"SortedSet("+t.toString()+")"}copy(e){var t=new cC(this.comparator);return t.data=e,t}}class dC{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function BC(e){return e.hasNext()?e.getNext():void 0}let A={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"},R=class extends Be{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: `+this.message}},pC="__name__";class gC{constructor(e,t,r){void 0===t?t=0:t>e.length&&S(637,{offset:t,range:e.length}),void 0===r?r=e.length-t:r>e.length-t&&S(1746,{length:r,range:e.length-t}),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return 0===gC.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof gC?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return this.construct(this.segments,this.offset+(e=void 0===e?1:e),this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return 0===this.length}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,r){let e=Math.min(t.length,r.length);for(let n=0;n<e;n++){let e=gC.compareSegments(t.get(n),r.get(n));if(0!==e)return e}return N(t.length,r.length)}static compareSegments(e,t){var r=gC.isNumericId(e),n=gC.isNumericId(t);return r&&!n?-1:!r&&n?1:r&&n?gC.extractNumericId(e).compare(gC.extractNumericId(t)):rC(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return wf.fromString(e.substring(4,e.length-2))}}class O extends gC{construct(e,t,r){return new O(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toStringWithLeadingSlash(){return"/"+this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){var t,r=[];for(t of e){if(0<=t.indexOf("//"))throw new R(A.INVALID_ARGUMENT,`Invalid segment (${t}). Paths must not contain // in them.`);r.push(...t.split("/").filter(e=>0<e.length))}return new O(r)}static emptyPath(){return new O([])}}let fC=/^[_a-zA-Z][_a-zA-Z0-9]*$/,mC=class FR extends gC{construct(e,t,r){return new FR(e,t,r)}static isValidIdentifier(e){return fC.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e=FR.isValidIdentifier(e)?e:"`"+e+"`")).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===pC}static keyField(){return new FR([pC])}static fromServerFormat(t){let e=[],r="",n=0;var i=()=>{if(0===r.length)throw new R(A.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);e.push(r),r=""};let s=!1;for(;n<t.length;){let e=t[n];if("\\"===e){if(n+1===t.length)throw new R(A.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let e=t[n+1];if("\\"!==e&&"."!==e&&"`"!==e)throw new R(A.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);r+=e,n+=2}else"`"===e?s=!s:"."!==e||s?r+=e:i(),n++}if(i(),s)throw new R(A.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new FR(e)}static emptyPath(){return new FR([])}};class CC{constructor(e){(this.fields=e).sort(mC.comparator)}static empty(){return new CC([])}unionWith(e){let t=new cC(mC.comparator);for(let e of this.fields)t=t.add(e);for(var r of e)t=t.add(r);return new CC(t.toArray())}covers(e){for(var t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return aC(this.fields,e.fields,(e,t)=>e.isEqual(t))}}function vC(e){let t=0;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function _C(e,t){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(r,e[r])}function yC(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class P{constructor(e){this.path=e}static fromPath(e){return new P(O.fromString(e))}static fromName(e){return new P(O.fromString(e).popFirst(5))}static empty(){return new P(O.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return 2<=this.path.length&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return null!==e&&0===O.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return O.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new P(new O(e.slice()))}}function wC(e,t,r){if(!r)throw new R(A.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function EC(e,t,r,n){if(!0===t&&!0===n)throw new R(A.INVALID_ARGUMENT,e+` and ${r} cannot be used together.`)}function DC(e){if(!P.isDocumentKey(e))throw new R(A.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function bC(e){if(P.isDocumentKey(e))throw new R(A.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function IC(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function TC(e){var t,r;return void 0===e?"undefined":null===e?"null":"string"==typeof e?(20<e.length&&(e=e.substring(0,20)+"..."),JSON.stringify(e)):"number"==typeof e||"boolean"==typeof e?""+e:"object"==typeof e?e instanceof Array?"an array":(t=(r=e).constructor?r.constructor.name:null)?`a custom ${t} object`:"an object":"function"==typeof e?"a function":S(12329,{type:typeof e})}function SC(e,t){if((e="_delegate"in e?e._delegate:e)instanceof t)return e;if(t.name===e.constructor.name)throw new R(A.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");var r=TC(e);throw new R(A.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: `+r)}function kC(e,t){if(t<=0)throw new R(A.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)}function NC(e,t){var r={typeString:e};return t&&(r.value=t),r}function AC(e,t){if(!IC(e))throw new R(A.INVALID_ARGUMENT,"JSON must be an object");let r;for(var n in t)if(t[n]){var i=t[n].typeString,s="value"in t[n]?{value:t[n].value}:void 0;if(!(n in e)){r=`JSON missing required field: '${n}'`;break}var a=e[n];if(i&&typeof a!==i){r=`JSON field '${n}' must be a ${i}.`;break}if(void 0!==s&&a!==s.value){r=`Expected '${n}' field to equal '${s.value}'`;break}}if(r)throw new R(A.INVALID_ARGUMENT,r);return 1}let RC=-62135596800;class OC{static now(){return OC.fromMillis(Date.now())}static fromDate(e){return OC.fromMillis(e.getTime())}static fromMillis(e){var t=Math.floor(e/1e3),r=Math.floor(1e6*(e-1e3*t));return new OC(t,r)}constructor(e,t){if(this.seconds=e,(this.nanoseconds=t)<0)throw new R(A.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(1e9<=t)throw new R(A.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<RC)throw new R(A.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(253402300800<=e)throw new R(A.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}_compareTo(e){return this.seconds===e.seconds?N(this.nanoseconds,e.nanoseconds):N(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:OC._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(AC(e,OC._jsonSchema))return new OC(e.seconds,e.nanoseconds)}valueOf(){var e=this.seconds-RC;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}OC._jsonSchemaVersion="firestore/timestamp/1.0",OC._jsonSchema={type:NC("string",OC._jsonSchemaVersion),seconds:NC("number"),nanoseconds:NC("number")};class PC extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}class xC{constructor(e){this.binaryString=e}static fromBase64String(e){var t=(e=>{try{return atob(e)}catch(e){throw"undefined"!=typeof DOMException&&e instanceof DOMException?new PC("Invalid base64 string: "+e):e}})(e);return new xC(t)}static fromUint8Array(e){var t=(e=>{let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t})(e);return new xC(t)}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return e=this.binaryString,btoa(e);var e}toUint8Array(){var e=this.binaryString,t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return N(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}xC.EMPTY_BYTE_STRING=new xC("");let FC=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function LC(t){if(k(!!t,39018),"string"!=typeof t)return{seconds:MC(t.seconds),nanos:MC(t.nanos)};{let e=0;var r=FC.exec(t),r=(k(!!r,46558,{timestamp:t}),r[1]&&(r=((r=r[1])+"000000000").substr(0,9),e=Number(r)),new Date(t));return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}}function MC(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function UC(e){return"string"==typeof e?xC.fromBase64String(e):xC.fromUint8Array(e)}let GC="server_timestamp",HC="__type__",VC="__previous_value__",qC="__local_write_time__";function jC(e){return(e?.mapValue?.fields||{})[HC]?.stringValue===GC}function KC(e){var t=e.mapValue.fields[VC];return jC(t)?KC(t):t}function zC(e){var t=LC(e.mapValue.fields[qC].timestampValue);return new OC(t.seconds,t.nanos)}class JC{constructor(e,t,r,n,i,s,a,o,l,h,u,c,d){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=n,this.ssl=i,this.forceLongPolling=s,this.autoDetectLongPolling=a,this.longPollingOptions=o,this.useFetchStreams=l,this.isUsingEmulator=h,this.apiKey=u,this._customHeaders=c,this.grpcFlowControlWindow=d}}let WC="(default)";class QC{constructor(e,t){this.projectId=e,this.database=t||WC}static empty(){return new QC("","")}get isDefaultDatabase(){return this.database===WC}isEqual(e){return e instanceof QC&&e.projectId===this.projectId&&e.database===this.database}}let YC=-1;function $C(e){return null==e}function XC(e){return 0===e&&1/e==-1/0}function ZC(e){return"number"==typeof e&&Number.isInteger(e)&&!XC(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}let ev="__type__",tv="__max__",rv={mapValue:{fields:{__type__:{stringValue:tv}}}},nv="__vector__",iv="value",sv={nullValue:"NULL_VALUE"},av={booleanValue:!0},ov={booleanValue:!1};function lv(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?jC(e)?4:Iv(e)?9007199254740991:Ev(e)?10:11:S(28295,{value:e})}function hv(r,n,i){if(r===n)return!0;var t,s,a,o,e=lv(r);if(e!==lv(n))return!1;switch(e){case 0:case 9007199254740991:return!0;case 1:return r.booleanValue===n.booleanValue;case 4:return zC(r).isEqual(zC(n));case 3:return s=n,"string"==typeof(t=r).timestampValue&&"string"==typeof s.timestampValue&&t.timestampValue.length===s.timestampValue.length?t.timestampValue===s.timestampValue:(a=LC(t.timestampValue),o=LC(s.timestampValue),a.seconds===o.seconds&&a.nanos===o.nanos);case 5:return r.stringValue===n.stringValue;case 6:return t=n,UC(r.bytesValue).isEqual(UC(t.bytesValue));case 7:return r.referenceValue===n.referenceValue;case 8:return s=n,MC((l=r).geoPointValue.latitude)===MC(s.geoPointValue.latitude)&&MC(l.geoPointValue.longitude)===MC(s.geoPointValue.longitude);case 2:{var l=r;var h=n;var u=i;if("integerValue"in l&&"integerValue"in h)return MC(l.integerValue)===MC(h.integerValue);let e,t;if("doubleValue"in l&&"doubleValue"in h)e=MC(l.doubleValue),t=MC(h.doubleValue);else{if(!u?.t)return!1;e=MC(l.integerValue??l.doubleValue),t=MC(h.integerValue??h.doubleValue)}return e===t?!!u?.i||XC(e)===XC(t):!(void 0!==u&&!u.o)&&isNaN(e)&&isNaN(t);return}case 9:return aC(r.arrayValue.values||[],n.arrayValue.values||[],(e,t)=>hv(e,t,i));case 10:case 11:var c=r,h=n,d=i,B=c.mapValue.fields||{},p=h.mapValue.fields||{};if(vC(B)!==vC(p))return!1;for(let e in B)if(B.hasOwnProperty(e)&&(void 0===p[e]||!hv(B[e],p[e],d)))return!1;return!0;default:return S(52216,{left:r})}}function uv(e,t){return void 0!==(e.values||[]).find(e=>hv(e,t))}function cv(e,n){if(e===n)return 0;var i,s,a,o,l,h,u,c,d=lv(e),t=lv(n);if(d!==t)return N(d,t);switch(d){case 0:case 9007199254740991:return 0;case 1:return N(e.booleanValue,n.booleanValue);case 2:return h=n,u=MC((l=e).integerValue||l.doubleValue),c=MC(h.integerValue||h.doubleValue),u<c?-1:c<u?1:u===c?0:isNaN(u)?isNaN(c)?0:-1:1;case 3:return dv(e.timestampValue,n.timestampValue);case 4:return dv(zC(e),zC(n));case 5:return rC(e.stringValue,n.stringValue);case 6:return l=e.bytesValue,h=n.bytesValue,u=UC(l),c=UC(h),u.compareTo(c);case 7:var B=e.referenceValue,p=n.referenceValue,g=B.split("/"),f=p.split("/");for(let t=0;t<g.length&&t<f.length;t++){let e=N(g[t],f[t]);if(0!==e)return e}return N(g.length,f.length);case 8:return B=e.geoPointValue,p=n.geoPointValue,0!==(o=N(MC(B.latitude),MC(p.latitude)))?o:N(MC(B.longitude),MC(p.longitude));case 9:return Bv(e.arrayValue,n.arrayValue);case 10:return m=e.mapValue,i=n.mapValue,o=m.fields||{},s=i.fields||{},o=o[iv]?.arrayValue,s=s[iv]?.arrayValue,0!==(a=N(o?.values?.length||0,s?.values?.length||0))?a:Bv(o,s);case 11:var m=e.mapValue,C=n.mapValue;if(m===rv.mapValue&&C===rv.mapValue)return 0;if(m===rv.mapValue)return 1;if(C===rv.mapValue)return-1;var v=m.fields||{},_=Object.keys(v),y=C.fields||{},w=Object.keys(y);_.sort(),w.sort();for(let r=0;r<_.length&&r<w.length;++r){let e=rC(_[r],w[r]);if(0!==e)return e;var E=cv(v[_[r]],y[w[r]]);if(0!==E)return E}return N(_.length,w.length);default:throw S(23264,{u:d})}}function dv(e,t){var r,n,i;return"string"==typeof e&&"string"==typeof t&&e.length===t.length?N(e,t):(r=LC(e),n=LC(t),0!==(i=N(r.seconds,n.seconds))?i:N(r.nanos,n.nanos))}function Bv(e,t){var r=e.values||[],n=t.values||[];for(let i=0;i<r.length&&i<n.length;++i){let e=cv(r[i],n[i]);if(void 0!==e&&0!==e)return e}return N(r.length,n.length)}function pv(e){return function s(e){return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(e=>{let t=LC(e);return`time(${t.seconds},${t.nanos})`})(e.timestampValue):"stringValue"in e?e.stringValue:"bytesValue"in e?(e=>UC(e).toBase64())(e.bytesValue):"referenceValue"in e?(e=>P.fromName(e).toString())(e.referenceValue):"geoPointValue"in e?(e=>`geo(${e.latitude},${e.longitude})`)(e.geoPointValue):"arrayValue"in e?(e=>{let t="[",r=!0;for(var n of e.values||[])r?r=!1:t+=",",t+=s(n);return t+"]"})(e.arrayValue):"mapValue"in e?(e=>{let t=Object.keys(e.fields||{}).sort(),r="{",n=!0;for(var i of t)n?n=!1:r+=",",r+=i+":"+s(e.fields[i]);return r+"}"})(e.mapValue):S(61005,{value:e})}(e)}function gv(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/`+t.path.canonicalString()}}function fv(e){return!!e&&"integerValue"in e}function mv(e){return!!e&&"doubleValue"in e}function Cv(e){return fv(e)||mv(e)}function vv(e){return!!e&&"arrayValue"in e}function _v(e){return e&&"nullValue"in e}function yv(e){return e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function wv(e){return e&&"mapValue"in e}function Ev(e){return(e?.mapValue?.fields||{})[ev]?.stringValue===nv}function Dv(e){return(e?.mapValue?.fields||{})[iv]?.arrayValue}function bv(t){if(t.geoPointValue)return{geoPointValue:{...t.geoPointValue}};if(t.timestampValue&&"object"==typeof t.timestampValue)return{timestampValue:{...t.timestampValue}};if(t.mapValue){let r={mapValue:{fields:{}}};return _C(t.mapValue.fields,(e,t)=>r.mapValue.fields[e]=bv(t)),r}if(t.arrayValue){var r={arrayValue:{values:[]}};for(let e=0;e<(t.arrayValue.values||[]).length;++e)r.arrayValue.values[e]=bv(t.arrayValue.values[e]);return r}return{...t}}function Iv(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===tv}let Tv={mapValue:{fields:{[ev]:{stringValue:nv},[iv]:{arrayValue:{}}}}};function Sv(e,t){var r=cv(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function kv(e,t){var r=cv(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class Nv{constructor(e){this.value=e}static empty(){return new Nv({mapValue:{}})}field(r){if(r.isEmpty())return this.value;{let e=this.value;for(let t=0;t<r.length-1;++t)if(!wv(e=(e.mapValue.fields||{})[r.get(t)]))return null;return(e=(e.mapValue.fields||{})[r.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=bv(t)}setAll(e){let r=mC.emptyPath(),n={},i=[];e.forEach((e,t)=>{if(!r.isImmediateParentOf(t)){let e=this.getFieldsMap(r);this.applyChanges(e,n,i),n={},i=[],r=t.popLast()}e?n[t.lastSegment()]=bv(e):i.push(t.lastSegment())});var t=this.getFieldsMap(r);this.applyChanges(t,n,i)}delete(e){var t=this.field(e.popLast());wv(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return hv(this.value,e.value)}getFieldsMap(t){let r=this.value;r.mapValue.fields||(r.mapValue={fields:{}});for(let n=0;n<t.length;++n){let e=r.mapValue.fields[t.get(n)];wv(e)&&e.mapValue.fields||(e={mapValue:{fields:{}}},r.mapValue.fields[t.get(n)]=e),r=e}return r.mapValue.fields}applyChanges(r,e,t){_C(e,(e,t)=>r[e]=t);for(let e of t)delete r[e]}clone(){return new Nv(bv(this.value))}}function Av(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:XC(t)?"-0":t}}function Rv(e){return{integerValue:""+e}}function Ov(e,t){return ZC(t)?Rv(t):Av(e,t)}class Pv{constructor(){this._=void 0}}function xv(e,t){return e instanceof Vv?Cv(t)?t:{integerValue:0}:null}class Fv extends Pv{}class Lv extends Pv{constructor(e){super(),this.elements=e}}function Mv(e,t){var r=Jv(t);for(let t of e.elements)r.some(e=>hv(e,t))||r.push(t);return{arrayValue:{values:r}}}class Uv extends Pv{constructor(e){super(),this.elements=e}}function Gv(e,t){let r=Jv(t);for(let t of e.elements)r=r.filter(e=>!hv(e,t));return{arrayValue:{values:r}}}class Hv extends Pv{constructor(e,t){super(),this.serializer=e,this.l=t}}class Vv extends Hv{}class qv extends Hv{}class jv extends Hv{}function Kv(e,t,r){var n;return Cv(t)?(n=r(zv(t),zv(e.l)),fv(t)&&fv(e.l)?Rv(n):Av(e.serializer,n)):e.l}function zv(e){return MC(e.integerValue||e.doubleValue)}function Jv(e){return vv(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class Wv{constructor(e,t){this.field=e,this.transform=t}}class Qv{constructor(e,t){this.version=e,this.transformResults=t}}class Yv{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new Yv}static exists(e){return new Yv(void 0,e)}static updateTime(e){return new Yv(e)}get isNone(){return void 0===this.updateTime&&void 0===this.exists}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function $v(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class Xv{}function Zv(e,r){if(!e.hasLocalMutations||r&&0===r.fields.length)return null;if(null===r)return e.isNoDocument()?new o_(e.key,Yv.none()):new r_(e.key,e.data,Yv.none());{var n,i=e.data,s=Nv.empty();let t=new cC(mC.comparator);for(n of r.fields)if(!t.has(n)){let e=i.field(n);null===e&&1<n.length&&(n=n.popLast(),e=i.field(n)),null===e?s.delete(n):s.set(n,e),t=t.add(n)}return new n_(e.key,s,new CC(t.toArray()),Yv.none())}}function e_(e,t,r,n){return e instanceof r_?(s=t,a=r,o=n,$v((i=e).precondition,s)?(l=i.value.clone(),h=a_(i.fieldTransforms,o,s),l.setAll(h),s.convertToFoundDocument(s.version,l).setHasLocalMutations(),null):a):e instanceof n_?(i=t,o=r,s=n,$v((a=e).precondition,i)?(h=a_(a.fieldTransforms,s,i),(l=i.data).setAll(i_(a)),l.setAll(h),i.convertToFoundDocument(i.version,l).setHasLocalMutations(),null===o?null:o.unionWith(a.fieldMask.fields).unionWith(a.fieldTransforms.map(e=>e.field))):o):(n=t,t=r,$v(e.precondition,n)?(n.convertToNoDocument(n.version).setHasLocalMutations(),null):t);var i,s,a,o,l,h}function t_(e,t){return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&(r=e.fieldTransforms,n=t.fieldTransforms,!!(void 0===r&&void 0===n||r&&n&&aC(r,n,(e,t)=>(t=t,(e=e).field.isEqual(t.field)&&(e=e.transform,t=t.transform,e instanceof Lv&&t instanceof Lv||e instanceof Uv&&t instanceof Uv?aC(e.elements,t.elements,hv):e instanceof Vv&&t instanceof Vv||e instanceof qv&&t instanceof qv||e instanceof jv&&t instanceof jv?hv(e.l,t.l):e instanceof Fv&&t instanceof Fv)))))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask));var r,n}class r_ extends Xv{constructor(e,t,r,n=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=n,this.type=0}getFieldMask(){return null}}class n_ extends Xv{constructor(e,t,r,n,i=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=n,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function i_(r){let n=new Map;return r.fieldMask.fields.forEach(e=>{var t;e.isEmpty()||(t=r.data.field(e),n.set(e,t))}),n}function s_(e,t,r){var n,i,s,a=new Map;k(e.length===r.length,32656,{h:r.length,T:e.length});for(let u=0;u<r.length;u++){var o=e[u],l=o.transform,h=t.data.field(o.field);a.set(o.field,(n=l,i=h,s=r[u],n instanceof Lv?Mv(n,i):n instanceof Uv?Gv(n,i):s))}return a}function a_(e,r,n){var i,s,a,o,l,h,u,c=new Map;for(i of e){let e=i.transform,t=n.data.field(i.field);c.set(i.field,(s=e,a=t,o=r,u=h=l=void 0,s instanceof Fv?(o=o,h=a,u={fields:{[HC]:{stringValue:GC},[qC]:{timestampValue:{seconds:o.seconds,nanos:o.nanoseconds}}}},(h=h&&jC(h)?KC(h):h)&&(u.fields[VC]=h),{mapValue:u}):s instanceof Lv?Mv(s,a):s instanceof Uv?Gv(s,a):s instanceof Vv?(u=xv(o=s,a),l=zv(u)+zv(o.l),fv(u)&&fv(o.l)?Rv(l):Av(o.serializer,l)):s instanceof qv?Kv(s,a,Math.min):s instanceof jv?Kv(s,a,Math.max):void 0))}return c}class o_ extends Xv{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class l_ extends Xv{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class h_{constructor(e,t){this.position=e,this.inclusive=t}}function u_(e,t,r){let n=0;for(let a=0;a<e.position.length;a++){var i=t[a],s=e.position[a];if(n=i.field.isKeyField()?P.comparator(P.fromName(s.referenceValue),r.key):cv(s,r.data.field(i.field)),"desc"===i.dir&&(n*=-1),0!==n)break}return n}function c_(e,t){if(null===e)return null===t;if(null===t)return!1;if(e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let r=0;r<e.position.length;r++)if(!hv(e.position[r],t.position[r]))return!1;return!0}class d_{}class B_ extends d_{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,r):new y_(e,t,r):"array-contains"===t?new b_(e,r):"in"===t?new I_(e,r):"not-in"===t?new T_(e,r):"array-contains-any"===t?new S_(e,r):new B_(e,t,r)}static createKeyFieldInFilter(e,t,r){return new("in"===t?w_:E_)(e,r)}matches(e){var t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(cv(t,this.value)):null!==t&&lv(this.value)===lv(t)&&this.matchesComparison(cv(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return 0===e;case"!=":return 0!==e;case">":return 0<e;case">=":return 0<=e;default:return S(47266,{operator:this.op})}}isInequality(){return 0<=["<","<=",">",">=","!=","not-in"].indexOf(this.op)}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class p_ extends d_{constructor(e,t){super(),this.filters=e,this.op=t,this.P=null}static create(e,t){return new p_(e,t)}matches(t){return g_(this)?void 0===this.filters.find(e=>!e.matches(t)):void 0!==this.filters.find(e=>e.matches(t))}getFlattenedFilters(){return null===this.P&&(this.P=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.P}getFilters(){return Object.assign([],this.filters)}}function g_(e){return"and"===e.op}function f_(e){return"or"===e.op}function m_(e){return C_(e)&&g_(e)}function C_(e){for(var t of e.filters)if(t instanceof p_)return!1;return!0}function v_(e,t){var r=e.filters.concat(t);return p_.create(r,e.op)}function __(e){return e instanceof B_?`${(t=e).field.canonicalString()} ${t.op} `+pv(t.value):e instanceof p_?(t=e).op.toString()+" {"+t.getFilters().map(__).join(" ,")+"}":"Filter";var t}class y_ extends B_{constructor(e,t,r){super(e,t,r),this.key=P.fromName(r.referenceValue)}matches(e){var t=P.comparator(e.key,this.key);return this.matchesComparison(t)}}class w_ extends B_{constructor(e,t){super(e,"in",t),this.keys=D_(0,t)}matches(t){return this.keys.some(e=>e.isEqual(t.key))}}class E_ extends B_{constructor(e,t){super(e,"not-in",t),this.keys=D_(0,t)}matches(t){return!this.keys.some(e=>e.isEqual(t.key))}}function D_(e,t){return(t.arrayValue?.values||[]).map(e=>P.fromName(e.referenceValue))}class b_ extends B_{constructor(e,t){super(e,"array-contains",t)}matches(e){var t=e.data.field(this.field);return vv(t)&&uv(t.arrayValue,this.value)}}class I_ extends B_{constructor(e,t){super(e,"in",t)}matches(e){var t=e.data.field(this.field);return null!==t&&uv(this.value.arrayValue,t)}}class T_ extends B_{constructor(e,t){super(e,"not-in",t)}matches(e){var t;return!uv(this.value.arrayValue,{nullValue:"NULL_VALUE"})&&null!==(t=e.data.field(this.field))&&void 0===t.nullValue&&!uv(this.value.arrayValue,t)}}class S_ extends B_{constructor(e,t){super(e,"array-contains-any",t)}matches(e){var t=e.data.field(this.field);return!(!vv(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>uv(this.value.arrayValue,e))}}class k_{constructor(e,t="asc"){this.field=e,this.dir=t}}class x{static fromTimestamp(e){return new x(e)}static min(){return new x(new OC(0,0))}static max(){return new x(new OC(253402300799,999999999))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}class N_{constructor(e,t,r,n,i,s,a){this.key=e,this.documentType=t,this.version=r,this.readTime=n,this.createTime=i,this.data=s,this.documentState=a}static newInvalidDocument(e){return new N_(e,0,x.min(),x.min(),x.min(),Nv.empty(),0)}static newFoundDocument(e,t,r,n){return new N_(e,1,t,x.min(),r,n,0)}static newNoDocument(e,t){return new N_(e,2,t,x.min(),x.min(),Nv.empty(),0)}static newUnknownDocument(e,t){return new N_(e,3,t,x.min(),x.min(),Nv.empty(),2)}convertToFoundDocument(e,t){return!this.createTime.isEqual(x.min())||2!==this.documentType&&0!==this.documentType||(this.createTime=e),this.version=e,this.documentType=1,this.data=t,this.documentState=0,this}convertToNoDocument(e){return this.version=e,this.documentType=2,this.data=Nv.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=Nv.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=x.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return 1===this.documentState}get hasCommittedMutations(){return 2===this.documentState}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return 0!==this.documentType}isFoundDocument(){return 1===this.documentType}isNoDocument(){return 2===this.documentType}isUnknownDocument(){return 3===this.documentType}isEqual(e){return e instanceof N_&&this.key.isEqual(e.key)&&this.version.isEqual(e.version)&&this.documentType===e.documentType&&this.documentState===e.documentState&&this.data.isEqual(e.data)}mutableCopy(){return new N_(this.key,this.documentType,this.version,this.readTime,this.createTime,this.data.clone(),this.documentState)}toString(){return`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {createTime: ${this.createTime}}), {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`}}let A_=-1;class R_{constructor(e,t,r,n){this.indexId=e,this.collectionGroup=t,this.fields=r,this.indexState=n}}function O_(e){return e.fields.find(e=>2===e.kind)}function P_(e){return e.fields.filter(e=>2!==e.kind)}R_.UNKNOWN_ID=-1;class x_{constructor(e,t){this.fieldPath=e,this.kind=t}}class F_{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new F_(0,U_.min())}}function L_(e,t){var r=e.toTimestamp().seconds,n=e.toTimestamp().nanoseconds+1,r=x.fromTimestamp(1e9===n?new OC(r+1,0):new OC(r,n));return new U_(r,P.empty(),t)}function M_(e){return new U_(e.readTime,e.key,A_)}class U_{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new U_(x.min(),P.empty(),A_)}static max(){return new U_(x.max(),P.empty(),A_)}}function G_(e,t){var r=e.readTime.compareTo(t.readTime);return 0!==r||0!==(r=P.comparator(e.documentKey,t.documentKey))?r:N(e.largestBatchId,t.largestBatchId)}class H_{constructor(e,t=null,r=[],n=[],i=null,s=null,a=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=n,this.limit=i,this.startAt=s,this.endAt=a,this.R=null}}function V_(e,t=null,r=[],n=[],i=null,s=null,a=null){return new H_(e,t,r,n,i,s,a)}function q_(e){var t=e;if(null===t.R){let e=t.path.canonicalString();null!==t.collectionGroup&&(e+="|cg:"+t.collectionGroup),e=(e=(e+="|f:")+t.filters.map(e=>function t(e){var r;return e instanceof B_?e.field.canonicalString()+e.op.toString()+pv(e.value):m_(e)?e.filters.map(e=>t(e)).join(","):(r=e.filters.map(e=>t(e)).join(","),e.op+`(${r})`)}(e)).join(",")+"|ob:")+t.orderBy.map(e=>(e=e).field.canonicalString()+e.dir).join(","),$C(t.limit)||(e=(e+="|l:")+t.limit),t.startAt&&(e=(e=(e+="|lb:")+(t.startAt.inclusive?"b:":"a:"))+t.startAt.position.map(e=>pv(e)).join(",")),t.endAt&&(e=(e=(e+="|ub:")+(t.endAt.inclusive?"a:":"b:"))+t.endAt.position.map(e=>pv(e)).join(",")),t.R=e}return t.R}function j_(e,t){if(e.limit!==t.limit)return!1;if(e.orderBy.length!==t.orderBy.length)return!1;for(let i=0;i<e.orderBy.length;i++)if(r=e.orderBy[i],n=t.orderBy[i],r.dir!==n.dir||!r.field.isEqual(n.field))return!1;var r,n;if(e.filters.length!==t.filters.length)return!1;for(let s=0;s<e.filters.length;s++)if(!function n(e,t){return e instanceof B_?(r=e,(s=t)instanceof B_&&r.op===s.op&&r.field.isEqual(s.field)&&hv(r.value,s.value)):e instanceof p_?(r=e,(i=t)instanceof p_&&r.op===i.op&&r.filters.length===i.filters.length&&r.filters.reduce((e,t,r)=>e&&n(t,i.filters[r]),!0)):void S(19439);var i,r,s}(e.filters[s],t.filters[s]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!c_(e.startAt,t.startAt)&&c_(e.endAt,t.endAt)}function K_(e){return e.isCorePipeline}function z_(e){return!!e.path&&P.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function J_(e,t){return e.filters.filter(e=>e instanceof B_&&e.field.isEqual(t))}function W_(e,r,n){let i=sv,s=!0;for(let n of J_(e,r)){let e=sv,t=!0;switch(n.op){case"<":case"<=":e="nullValue"in(a=n.value)?sv:"booleanValue"in a?{booleanValue:!1}:"integerValue"in a||"doubleValue"in a?{doubleValue:NaN}:"timestampValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"stringValue"in a?{stringValue:""}:"bytesValue"in a?{bytesValue:""}:"referenceValue"in a?gv(QC.empty(),P.empty()):"geoPointValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"arrayValue"in a?{arrayValue:{}}:"mapValue"in a?Ev(a)?Tv:{mapValue:{}}:S(35942,{value:a});break;case"==":case"in":case">=":e=n.value;break;case">":e=n.value,t=!1;break;case"!=":case"not-in":e=sv}Sv({value:i,inclusive:s},{value:e,inclusive:t})<0&&(i=e,s=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];Sv({value:i,inclusive:s},{value:e,inclusive:n.inclusive})<0&&(i=e,s=n.inclusive);break}return{value:i,inclusive:s}}function Q_(e,r,n){let i=rv,s=!0;for(let n of J_(e,r)){let e=rv,t=!0;switch(n.op){case">=":case">":e="nullValue"in(a=n.value)?{booleanValue:!1}:"booleanValue"in a?{doubleValue:NaN}:"integerValue"in a||"doubleValue"in a?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"timestampValue"in a?{stringValue:""}:"stringValue"in a?{bytesValue:""}:"bytesValue"in a?gv(QC.empty(),P.empty()):"referenceValue"in a?{geoPointValue:{latitude:-90,longitude:-180}}:"geoPointValue"in a?{arrayValue:{}}:"arrayValue"in a?Tv:"mapValue"in a?Ev(a)?{mapValue:{}}:rv:S(61959,{value:a}),t=!1;break;case"==":case"in":case"<=":e=n.value;break;case"<":e=n.value,t=!1;break;case"!=":case"not-in":e=rv}0<kv({value:i,inclusive:s},{value:e,inclusive:t})&&(i=e,s=t)}var a;if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];0<kv({value:i,inclusive:s},{value:e,inclusive:n.inclusive})&&(i=e,s=n.inclusive);break}return{value:i,inclusive:s}}class Y_{constructor(e,t=null,r=[],n=[],i=null,s="F",a=null,o=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=i,this.limitType=s,this.startAt=a,this.endAt=o,this.I=null,this.A=null,this.V=null,this.startAt,this.endAt}}function $_(e,t,r,n,i,s,a,o){return new Y_(e,t,r,n,i,s,a,o)}function X_(e){return new Y_(e)}function Z_(e){return 0===e.filters.length&&null===e.limit&&null==e.startAt&&null==e.endAt&&(0===e.explicitOrderBy.length||1===e.explicitOrderBy.length&&e.explicitOrderBy[0].field.isKeyField())}function ey(e){return null!==e.collectionGroup}function ty(e){let n=e;if(null===n.I){n.I=[];let t=new Set;for(var i of n.explicitOrderBy)n.I.push(i),t.add(i.field.canonicalString());let r=0<n.explicitOrderBy.length?n.explicitOrderBy[n.explicitOrderBy.length-1].dir:"asc",e=(e=>{let t=new cC(mC.comparator);return e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t})(n);e.forEach(e=>{t.has(e.canonicalString())||e.isKeyField()||n.I.push(new k_(e,r))}),t.has(mC.keyField().canonicalString())||n.I.push(new k_(mC.keyField(),r))}return n.I}function ry(e){var t=e;return t.A||(t.A=((e,t)=>{if("F"===e.limitType)return V_(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);t=t.map(e=>{var t="desc"===e.dir?"asc":"desc";return new k_(e.field,t)});var r=e.endAt?new h_(e.endAt.position,e.endAt.inclusive):null,n=e.startAt?new h_(e.startAt.position,e.startAt.inclusive):null;return V_(e.path,e.collectionGroup,t,e.filters,e.limit,r,n)})(t,ty(e))),t.A}function ny(e,t){var r=e.filters.concat([t]);return new Y_(e.path,e.collectionGroup,e.explicitOrderBy.slice(),r,e.limit,e.limitType,e.startAt,e.endAt)}function iy(e,t,r){return new Y_(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,r,e.startAt,e.endAt)}function sy(e,t){return j_(ry(e),ry(t))&&e.limitType===t.limitType}function ay(e){return`Query(target=${(e=>{let t=e.path.canonicalString();return null!==e.collectionGroup&&(t+=" collectionGroup="+e.collectionGroup),0<e.filters.length&&(t+=`, filters: [${e.filters.map(e=>__(e)).join(", ")}]`),$C(e.limit)||(t+=", limit: "+e.limit),0<e.orderBy.length&&(t+=`, orderBy: [${e.orderBy.map(e=>`${(e=e).field.canonicalString()} (${e.dir})`).join(", ")}]`),e.startAt&&(t=(t=(t+=", startAt: ")+(e.startAt.inclusive?"b:":"a:"))+e.startAt.position.map(e=>pv(e)).join(",")),`Target(${t=e.endAt?(t=(t+=", endAt: ")+(e.endAt.inclusive?"a:":"b:"))+e.endAt.position.map(e=>pv(e)).join(","):t})`})(ry(e))}; limitType=${e.limitType})`}function oy(e,t){return t.isFoundDocument()&&(s=e,o=(a=t).key.path,null!==s.collectionGroup?a.key.hasCollectionId(s.collectionGroup)&&s.path.isPrefixOf(o):P.isDocumentKey(s.path)?s.path.isEqual(o):s.path.isImmediateParentOf(o))&&((e,t)=>{for(var r of ty(e))if(!r.field.isKeyField()&&null===t.data.field(r.field))return!1;return!0})(e,t)&&((e,t)=>{for(var r of e.filters)if(!r.matches(t))return!1;return!0})(e,t)&&(a=t,!(s=e).startAt||(n=s.startAt,r=ty(s),i=u_(n,r,a),n.inclusive?i<=0:i<0))&&(!s.endAt||(r=s.endAt,n=ty(s),i=u_(r,n,a),r.inclusive?0<=i:0<i));var r,n,i,s,a,o}function ly(e){return(t,r)=>{let n=!1;for(var i of ty(e)){let e=((e,t,r)=>{var n=e.field.isKeyField()?P.comparator(t.key,r.key):((e,t,r)=>{var n=t.data.field(e),i=r.data.field(e);return null!==n&&null!==i?cv(n,i):S(42886)})(e.field,t,r);switch(e.dir){case"asc":return n;case"desc":return-1*n;default:return S(19790,{direction:e.dir})}})(i,t,r);if(0!==e)return e;n=n||i.field.isKeyField()}return 0}}class hy{constructor(e,t){this.count=e,this.unchangedNames=t}}function uy(e){switch(e){case A.OK:return S(64938);case A.CANCELLED:case A.UNKNOWN:case A.DEADLINE_EXCEEDED:case A.RESOURCE_EXHAUSTED:case A.INTERNAL:case A.UNAVAILABLE:case A.UNAUTHENTICATED:return!1;case A.INVALID_ARGUMENT:case A.NOT_FOUND:case A.ALREADY_EXISTS:case A.PERMISSION_DENIED:case A.FAILED_PRECONDITION:case A.ABORTED:case A.OUT_OF_RANGE:case A.UNIMPLEMENTED:case A.DATA_LOSS:return!0;default:return S(15467,{code:e})}}function cy(e){if(void 0===e)return $m("GRPC error has no .code"),A.UNKNOWN;switch(e){case Gm.OK:return A.OK;case Gm.CANCELLED:return A.CANCELLED;case Gm.UNKNOWN:return A.UNKNOWN;case Gm.DEADLINE_EXCEEDED:return A.DEADLINE_EXCEEDED;case Gm.RESOURCE_EXHAUSTED:return A.RESOURCE_EXHAUSTED;case Gm.INTERNAL:return A.INTERNAL;case Gm.UNAVAILABLE:return A.UNAVAILABLE;case Gm.UNAUTHENTICATED:return A.UNAUTHENTICATED;case Gm.INVALID_ARGUMENT:return A.INVALID_ARGUMENT;case Gm.NOT_FOUND:return A.NOT_FOUND;case Gm.ALREADY_EXISTS:return A.ALREADY_EXISTS;case Gm.PERMISSION_DENIED:return A.PERMISSION_DENIED;case Gm.FAILED_PRECONDITION:return A.FAILED_PRECONDITION;case Gm.ABORTED:return A.ABORTED;case Gm.OUT_OF_RANGE:return A.OUT_OF_RANGE;case Gm.UNIMPLEMENTED:return A.UNIMPLEMENTED;case Gm.DATA_LOSS:return A.DATA_LOSS;default:return S(39323,{code:e})}}(e=Gm=Gm||{})[e.OK=0]="OK",e[e.CANCELLED=1]="CANCELLED",e[e.UNKNOWN=2]="UNKNOWN",e[e.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",e[e.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",e[e.NOT_FOUND=5]="NOT_FOUND",e[e.ALREADY_EXISTS=6]="ALREADY_EXISTS",e[e.PERMISSION_DENIED=7]="PERMISSION_DENIED",e[e.UNAUTHENTICATED=16]="UNAUTHENTICATED",e[e.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",e[e.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",e[e.ABORTED=10]="ABORTED",e[e.OUT_OF_RANGE=11]="OUT_OF_RANGE",e[e.UNIMPLEMENTED=12]="UNIMPLEMENTED",e[e.INTERNAL=13]="INTERNAL",e[e.UNAVAILABLE=14]="UNAVAILABLE",e[e.DATA_LOSS=15]="DATA_LOSS";class dy{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(r){let e=this.mapKeyFn(r),n=this.inner[e];if(void 0!==n)for(let[e,t]of n)if(this.equalsFn(e,r))return t}has(e){return void 0!==this.get(e)}set(t,r){var e=this.mapKeyFn(t),n=this.inner[e];if(void 0===n)this.inner[e]=[[t,r]];else{for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return void(n[e]=[t,r]);n.push([t,r])}this.innerSize++}delete(t){var r=this.mapKeyFn(t),n=this.inner[r];if(void 0!==n)for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return 1===n.length?delete this.inner[r]:n.splice(e,1),this.innerSize--,!0;return!1}forEach(n){_C(this.inner,(e,t)=>{for(let[e,r]of t)n(e,r)})}isEmpty(){return yC(this.inner)}size(){return this.innerSize}}let By=new lC(P.comparator);let py=new lC(P.comparator);function gy(...e){let t=py;for(var r of e)t=t.insert(r.key,r);return t}function fy(e){let r=py;return e.forEach((e,t)=>r=r.insert(e,t.overlayedDocument)),r}function my(){return new dy(e=>e.toString(),(e,t)=>e.isEqual(t))}let Cy=new lC(P.comparator),vy=new cC(P.comparator);function F(...e){let t=vy;for(var r of e)t=t.add(r);return t}let _y=new cC(N);function yy(){return new TextEncoder}let wy=new wf([4294967295,4294967295],0);function Ey(e){var t=yy().encode(e),r=new Ef;return r.update(t),new Uint8Array(r.digest())}function Dy(e){var t=new DataView(e.buffer),r=t.getUint32(0,!0),n=t.getUint32(4,!0),i=t.getUint32(8,!0),t=t.getUint32(12,!0);return[new wf([r,n],0),new wf([i,t],0)]}class by{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||8<=t)throw new Iy("Invalid padding: "+t);if(r<0)throw new Iy("Invalid hash count: "+r);if(0<e.length&&0===this.hashCount)throw new Iy("Invalid hash count: "+r);if(0===e.length&&0!==t)throw new Iy("Invalid padding when bitmap length is 0: "+t);this.m=8*e.length-t,this.p=wf.fromNumber(this.m)}v(e,t,r){let n=e.add(t.multiply(wf.fromNumber(r)));return(n=1===n.compare(wy)?new wf([n.getBits(0),n.getBits(1)],0):n).modulo(this.p).toNumber()}S(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(0===this.m)return!1;let t=Ey(e),[r,n]=Dy(t);for(let i=0;i<this.hashCount;i++){let e=this.v(r,n,i);if(!this.S(e))return!1}return!0}static create(e,t,r){let n=e%8==0?0:8-e%8,i=new Uint8Array(Math.ceil(e/8)),s=new by(i,n,t);return r.forEach(e=>s.insert(e)),s}insert(i){if(0!==this.m){let e=Ey(i),[t,r]=Dy(e);for(let n=0;n<this.hashCount;n++){let e=this.v(t,r,n);this.D(e)}}}D(e){var t=Math.floor(e/8);this.bitmap[t]|=1<<e%8}}class Iy extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}class Ty{constructor(e,t,r,n,i,s){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=n,this.augmentedDocumentUpdates=i,this.resolvedLimboDocuments=s}static createSynthesizedRemoteEventForCurrentChange(e,t,r){var n=new Map;return n.set(e,Sy.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new Ty(x.min(),n,new lC(N),By,By,F())}}class Sy{constructor(e,t,r,n,i){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=n,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new Sy(r,t,F(),F(),F())}}class ky{constructor(e,t,r,n){this.C=e,this.removedTargetIds=t,this.key=r,this.F=n}}class Ny{constructor(e,t){this.targetId=e,this.O=t}}class Ay{constructor(e,t,r=xC.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class Ry{constructor(e){this.targetId=e,this.M=0,this.N=Fy(),this.L=xC.EMPTY_BYTE_STRING,this.B=!1,this.U=!0}get current(){return this.B}get resumeToken(){return this.L}get k(){return 0!==this.M}get q(){return this.U}$(e){0<e.approximateByteSize()&&(this.U=!0,this.L=e)}K(){let r=F(),n=F(),i=F();return this.N.forEach((e,t)=>{switch(t){case 0:r=r.add(e);break;case 2:n=n.add(e);break;case 1:i=i.add(e);break;default:S(38017,{changeType:t})}}),new Sy(this.L,this.B,r,n,i)}W(){this.U=!1,this.N=Fy()}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,k(0<=this.M,3241,{M:this.M,targetId:this.targetId})}Y(){this.U=!0,this.B=!0}}let Oy="WatchChangeAggregator";class Py{constructor(e){this.Z=e,this.X=new Map,this.ee=By,this.te=xy(),this.ne=By,this.re=xy(),this.ie=new lC(N)}se(e){for(var t of e.C)e.F&&e.F.isFoundDocument()?this._e(t,e.F):this.oe(t,e.key,e.F);for(var r of e.removedTargetIds)this.oe(r,e.key,e.F)}ae(r){this.forEachTarget(r,e=>{var t=this.X.get(e);if(t)switch(r.state){case 0:this.ue(e)&&t.$(r.resumeToken);break;case 1:t.J(),t.k||t.W(),t.$(r.resumeToken);break;case 2:t.J(),t.k||this.removeTarget(e);break;case 3:this.ue(e)&&(t.Y(),t.$(r.resumeToken));break;case 4:this.ue(e)&&(this.ce(e),t.$(r.resumeToken));break;default:S(56790,{state:r.state})}else p(Oy,`handleTargetChange received targetChange for untracked target ID (${e}) with state (${r.state})`)})}forEachTarget(e,r){0<e.targetIds.length?e.targetIds.forEach(r):this.X.forEach((e,t)=>{this.ue(t)&&r(t)})}le(e){return K_(e)?"documents"===e.getPipelineSourceType()&&1===e.getPipelineDocuments()?.length:z_(e)}Ee(n){let i=n.targetId,e=n.O.count,t=this.he(i);if(t){var r=t.target;if(this.le(r))if(0===e){let e=new P(K_(r)?O.fromString(r.getPipelineDocuments()[0]):r.path);this.oe(i,e,N_.newNoDocument(e,x.min()))}else k(1===e,20013,"Single document existence filter with count: "+e);else{let r=this.Te(i);if(r!==e){let e=this.Pe(n),t=e?this.Re(e,n,r):1;if(0!==t){this.ce(i);let e=2===t?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.ie=this.ie.insert(i,e)}}}}}Pe(e){var t=e.O.unchangedNames;if(!t||!t.bits)return null;var{bits:{bitmap:t="",padding:r=0},hashCount:n=0}=t;let i,s;try{i=UC(t).toUint8Array()}catch(e){if(e instanceof PC)return Xm("Decoding the base64 bloom filter in existence filter failed ("+e.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw e}try{s=new by(i,r,n)}catch(e){return Xm(e instanceof Iy?"BloomFilter error: ":"Applying bloom filter failed: ",e),null}return 0===s.m?null:s}Re(e,t,r){return t.O.count===r-this.Ve(e,t.targetId)?0:2}Ve(r,n){var e=this.Z.getRemoteKeysForTarget(n);let i=0;return e.forEach(e=>{var t=this.Z.Ae(),t=`projects/${t.projectId}/databases/${t.database}/documents/`+e.path.canonicalString();r.mightContain(t)||(this.oe(n,e,null),i++)}),i}de(i){let t=new Map,n=(this.X.forEach((e,r)=>{var n=this.he(r);if(n){if(e.current&&this.le(n.target)){let e=K_(n.target)?O.fromString(n.target.getPipelineDocuments()[0]):n.target.path,t=new P(e);this.fe(t).has(r)||this.me(r,t)||this.oe(r,t,N_.newNoDocument(t,i))}e.q&&(t.set(r,e.K()),e.W())}}),F());this.re.forEach((e,t)=>{let r=!0;t.forEachWhile(e=>{var t=this.he(e);return!t||"TargetPurposeLimboResolution"===t.purpose||(r=!1)}),r&&(n=n.add(e))}),this.ee.forEach((e,t)=>t.setReadTime(i)),this.ne.forEach((e,t)=>t.setReadTime(i));var e=new Ty(i,t,this.ie,this.ee,this.ne,n);return this.ee=By,this.te=xy(),this.ne=By,this.re=xy(),this.ie=new lC(N),e}_e(e,t){var r,n=this.X.get(e);n&&this.ue(e)?(r=this.me(e,t.key)?2:0,n.G(t.key,r),K_(this.he(e).target)&&"exact"!==this.he(e).target.getPipelineFlavor()?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))):p(Oy,`addDocumentToTarget received document for unknown inactive target (${e})`)}oe(e,t,r){var n=this.X.get(e);n&&this.ue(e)?(this.me(e,t)?n.G(t,1):n.j(t),this.re=this.re.insert(t,this.pe(t).delete(e)),this.re=this.re.insert(t,this.pe(t).add(e)),r&&(K_(this.he(e).target)&&"exact"!==this.he(e).target.getPipelineFlavor()?this.ne=this.ne.insert(t,r):this.ee=this.ee.insert(t,r))):p(Oy,`removeDocumentFromTarget received document for unknown or inactive target (${e})`)}removeTarget(e){this.X.delete(e)}Te(e){var t=this.X.get(e);return t?(t=t.K(),this.Z.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size):0}H(e){let t=this.X.get(e);t||(p(Oy,"recordPendingTargetRequest set up tracking for target ID "+e),t=new Ry(e),this.X.set(e,t)),t.H()}pe(e){let t=this.re.get(e);return t||(t=new cC(N),this.re=this.re.insert(e,t)),t}fe(e){let t=this.te.get(e);return t||(t=new cC(N),this.te=this.te.insert(e,t)),t}ue(e){var t=null!==this.he(e);return t||p(Oy,"Detected inactive target",e),t}he(e){var t=this.X.get(e);return void 0===t||t.k?null:this.Z.ge(e)}ce(t){this.X.set(t,new Ry(t)),this.Z.getRemoteKeysForTarget(t).forEach(e=>{this.oe(t,e,null)})}me(e,t){return this.Z.getRemoteKeysForTarget(e).has(t)}}function xy(){return new lC(P.comparator)}function Fy(){return new lC(P.comparator)}let Ly={asc:"ASCENDING",desc:"DESCENDING"},My={"<":"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"},Uy={and:"AND",or:"OR"};class Gy{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function Hy(e,t){return e.useProto3Json||$C(t)?t:{value:t}}function Vy(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 qy(e){var t=LC(e);return new OC(t.seconds,t.nanos)}function jy(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function Ky(e,t){return Vy(e,t.toTimestamp())}function zy(e){return k(!!e,49232),x.fromTimestamp(qy(e))}function Jy(e,t){return Wy(e,t).canonicalString()}function Wy(e,t){e=e;var r=new O(["projects",e.projectId,"databases",e.database]).child("documents");return void 0===t?r:r.child(t)}function Qy(e){var t=O.fromString(e);return k(fw(t),10190,{key:t.toString()}),t}function Yy(e,t){return Jy(e.databaseId,t.path)}function $y(e,t){var r=Qy(t);if(r.get(1)!==e.databaseId.projectId)throw new R(A.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+r.get(1)+" vs "+e.databaseId.projectId);if(r.get(3)!==e.databaseId.database)throw new R(A.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+r.get(3)+" vs "+e.databaseId.database);return new P(tw(r))}function Xy(e,t){return Jy(e.databaseId,t)}function Zy(e){var t=Qy(e);return 4===t.length?O.emptyPath():tw(t)}function ew(e){return new O(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function tw(e){return k(4<e.length&&"documents"===e.get(4),29091,{key:e.toString()}),e.popFirst(5)}function rw(e,t,r){return{name:Yy(e,t),fields:r.value.mapValue.fields}}function nw(e,t,r){var n=$y(e,t.name),i=zy(t.updateTime),s=t.createTime?zy(t.createTime):x.min(),a=new Nv({mapValue:{fields:t.fields}}),n=N_.newFoundDocument(n,i,s,a);return r&&n.setHasCommittedMutations(),r?n.setHasCommittedMutations():n}function iw(e,t){let r;if(t instanceof r_)r={update:rw(e,t.key,t.value)};else if(t instanceof o_)r={delete:Yy(e,t.key)};else if(t instanceof n_)r={update:rw(e,t.key,t.data),updateMask:(e=>{let t=[];return e.fields.forEach(e=>t.push(e.canonicalString())),{fieldPaths:t}})(t.fieldMask)};else{if(!(t instanceof l_))return S(16599,{we:t.type});r={verify:Yy(e,t.key)}}return 0<t.fieldTransforms.length&&(r.updateTransforms=t.fieldTransforms.map(e=>{var t=e.transform;if(t instanceof Fv)return{fieldPath:e.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(t instanceof Lv)return{fieldPath:e.field.canonicalString(),appendMissingElements:{values:t.elements}};if(t instanceof Uv)return{fieldPath:e.field.canonicalString(),removeAllFromArray:{values:t.elements}};if(t instanceof Vv)return{fieldPath:e.field.canonicalString(),increment:t.l};if(t instanceof qv)return{fieldPath:e.field.canonicalString(),minimum:t.l};if(t instanceof jv)return{fieldPath:e.field.canonicalString(),maximum:t.l};throw S(20930,{transform:e.transform})})),t.precondition.isNone||(r.currentDocument=(e=e,void 0!==(t=t.precondition).updateTime?{updateTime:Ky(e,t.updateTime)}:void 0!==t.exists?{exists:t.exists}:S(27497))),r}function sw(i,t){let r=t.currentDocument?void 0!==(s=t.currentDocument).updateTime?Yv.updateTime(zy(s.updateTime)):void 0!==s.exists?Yv.exists(s.exists):Yv.none():Yv.none(),n=t.updateTransforms?t.updateTransforms.map(r=>{{var e=i;let t=null;if("setToServerValue"in r)k("REQUEST_TIME"===r.setToServerValue,16630,{proto:r}),t=new Fv;else if("appendMissingElements"in r){let e=r.appendMissingElements.values||[];t=new Lv(e)}else if("removeAllFromArray"in r){let e=r.removeAllFromArray.values||[];t=new Uv(e)}else"increment"in r?t=new Vv(e,r.increment):"minimum"in r?t=new qv(e,r.minimum):"maximum"in r?t=new jv(e,r.maximum):S(16584,{proto:r});var n=mC.fromServerFormat(r.fieldPath);return new Wv(n,t)}}):[];var s,a;if(t.update){t.update.name;var o=$y(i,t.update.name),l=new Nv({mapValue:{fields:t.update.fields}});if(t.updateMask){s=t.updateMask,a=s.fieldPaths||[];let e=new CC(a.map(e=>mC.fromServerFormat(e)));return new n_(o,l,e,r,n)}return new r_(o,l,r,n)}if(t.delete){let e=$y(i,t.delete);return new o_(e,r)}if(t.verify){let e=$y(i,t.verify);return new l_(e,r)}return S(1463,{proto:t})}function aw(e,n){return e&&0<e.length?(k(void 0!==n,14353),e.map(t=>{{var r=n;let e=t.updateTime?zy(t.updateTime):zy(r);return e.isEqual(x.min())&&(e=zy(r)),new Qv(e,t.transformResults||[])}})):[]}function ow(e,t){return{documents:[Xy(e,t.path)]}}function lw(e,t){var r={structuredQuery:{}},n=t.path;let i;null!==t.collectionGroup?(i=n,r.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(i=n.popLast(),r.structuredQuery.from=[{collectionId:n.lastSegment()}]),r.parent=Xy(e,i);n=(e=>{if(0!==e.length)return function r(e){return e instanceof B_?(e=>{if("=="===e.op){if(yv(e.value))return{unaryFilter:{field:pw(e.field),op:"IS_NAN"}};if(_v(e.value))return{unaryFilter:{field:pw(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(yv(e.value))return{unaryFilter:{field:pw(e.field),op:"IS_NOT_NAN"}};if(_v(e.value))return{unaryFilter:{field:pw(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:pw(e.field),op:dw(e.op),value:e.value}}})(e):e instanceof p_?(e=>{let t=e.getFilters().map(e=>r(e));return 1===t.length?t[0]:{compositeFilter:{op:Bw(e.op),filters:t}}})(e):S(54877,{filter:e})}(p_.create(e,"and"))})(t.filters),n&&(r.structuredQuery.where=n),n=(e=>{if(0!==e.length)return e.map(e=>({field:pw((e=e).field),direction:(e=e.dir,Ly[e])}))})(t.orderBy),n&&(r.structuredQuery.orderBy=n),n=Hy(e,t.limit);return null!==n&&(r.structuredQuery.limit=n),t.startAt&&(r.structuredQuery.startAt={before:(e=t.startAt).inclusive,values:e.position}),t.endAt&&(r.structuredQuery.endAt={before:!(e=t.endAt).inclusive,values:e.position}),{be:r,parent:i}}function hw(e){let t=Zy(e.parent);var r,n=e.structuredQuery,i=n.from?n.from.length:0;let s=null;if(0<i){k(1===i,65062);let e=n.from[0];e.allDescendants?s=e.collectionId:t=t.child(e.collectionId)}let a=[],o=(n.where&&(a=(e=n.where,(i=function t(e){return void 0!==e.unaryFilter?(i=>{switch(i.unaryFilter.op){case"IS_NAN":let e=gw(i.unaryFilter.field);return B_.create(e,"==",{doubleValue:NaN});case"IS_NULL":let t=gw(i.unaryFilter.field);return B_.create(t,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let r=gw(i.unaryFilter.field);return B_.create(r,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let n=gw(i.unaryFilter.field);return B_.create(n,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return S(61313);default:return S(60726)}})(e):void 0!==e.fieldFilter?(e=>B_.create(gw(e.fieldFilter.field),(e=>{switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":return S(58110);default:return S(50506)}})(e.fieldFilter.op),e.fieldFilter.value))(e):void 0!==e.compositeFilter?(e=>p_.create(e.compositeFilter.filters.map(e=>t(e)),(e=>{switch(e){case"AND":return"and";case"OR":return"or";default:return S(1026)}})(e.compositeFilter.op)))(e):S(30097,{filter:e})}(e))instanceof p_&&m_(i)?i.getFilters():[i])),[]),l=(n.orderBy&&(o=n.orderBy.map(e=>(e=e,new k_(gw(e.field),(e=>{switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}})(e.direction))))),null),h=(n.limit&&(l=(e=n.limit,$C(i="object"==typeof e?e.value:e)?null:i)),null),u=(n.startAt&&(h=(e=n.startAt,i=!!e.before,r=e.values||[],new h_(r,i))),null);return n.endAt&&(u=(e=n.endAt,r=!e.before,i=e.values||[],new h_(i,r))),$_(t,s,o,a,l,"F",h,u)}function uw(e,t){var r=(e=>{switch(e){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return S(28987,{purpose:e})}})(t.purpose);return null==r?null:{"goog-listen-tags":r}}function cw(t,e){return{structuredPipeline:{pipeline:{stages:e.stages.map(e=>e._toProto(t))}}}}function dw(e){return My[e]}function Bw(e){return Uy[e]}function pw(e){return{fieldPath:e.canonicalString()}}function gw(e){return mC.fromServerFormat(e.fieldPath)}function fw(e){return 4<=e.length&&"projects"===e.get(0)&&"databases"===e.get(2)}function mw(e){return e&&"function"==typeof e._toProto&&"ProtoValue"===e._protoValueType}function Cw(r,e){let n={fields:{}};return e.forEach((e,t)=>{if("string"!=typeof t)throw new Error("Cannot encode map with non-string key: "+t);n.fields[t]=e._toProto(r)}),{mapValue:n}}function vw(e){return{stringValue:e}}function _w(e){return new Gy(e,!0)}class yw{constructor(e){this._byteString=e}static fromBase64String(e){try{return new yw(xC.fromBase64String(e))}catch(e){throw new R(A.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new yw(xC.fromUint8Array(e))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(e){return this._byteString.isEqual(e._byteString)}toJSON(){return{type:yw._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(e){if(AC(e,yw._jsonSchema))return yw.fromBase64String(e.bytes)}}yw._jsonSchemaVersion="firestore/bytes/1.0",yw._jsonSchema={type:NC("string",yw._jsonSchemaVersion),bytes:NC("string")};let ww=class{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new R(A.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new mC(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}};let Ew=class{constructor(e){this._methodName=e}};class Dw{constructor(e,t){if(!isFinite(e)||e<-90||90<e)throw new R(A.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||180<t)throw new R(A.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 N(this._lat,e._lat)||N(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:Dw._jsonSchemaVersion}}static fromJSON(e){if(AC(e,Dw._jsonSchema))return new Dw(e.latitude,e.longitude)}}Dw._jsonSchemaVersion="firestore/geoPoint/1.0",Dw._jsonSchema={type:NC("string",Dw._jsonSchemaVersion),latitude:NC("number"),longitude:NC("number")};class bw{constructor(e){this.uid=e}isAuthenticated(){return null!=this.uid}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(e){return e.uid===this.uid}}bw.UNAUTHENTICATED=new bw(null),bw.GOOGLE_CREDENTIALS=new bw("google-credentials-uid"),bw.FIRST_PARTY=new bw("first-party-uid"),bw.MOCK_USER=new bw("mock-user");class Iw{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class Tw{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization","Bearer "+e)}}class Sw{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(bw.UNAUTHENTICATED))}shutdown(){}}class kw{constructor(e){this.token=e,this.changeListener=null}getToken(){return Promise.resolve(this.token)}invalidateToken(){}start(e,t){this.changeListener=t,e.enqueueRetryable(()=>t(this.token.user))}shutdown(){this.changeListener=null}}class Nw{constructor(e){this.Se=e,this.currentUser=bw.UNAUTHENTICATED,this.De=0,this.forceRefresh=!1,this.auth=null}start(t,r){k(void 0===this.xe,42304);let n=this.De,i=e=>this.De!==n?(n=this.De,r(e)):Promise.resolve(),s=new Iw,a=(this.xe=()=>{this.De++,this.currentUser=this.Ce(),s.resolve(),s=new Iw,t.enqueueRetryable(()=>i(this.currentUser))},()=>{let e=s;t.enqueueRetryable(async()=>{await e.promise,await i(this.currentUser)})}),o=e=>{p("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.xe&&(this.auth.addAuthTokenListener(this.xe),a())};this.Se.onInit(e=>o(e)),setTimeout(()=>{var e;this.auth||((e=this.Se.getImmediate({optional:!0}))?o(e):(p("FirebaseAuthCredentialsProvider","Auth not yet detected"),s.resolve(),s=new Iw))},0),a()}getToken(){let t=this.De,e=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(e).then(e=>this.De!==t?(p("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):e?(k("string"==typeof e.accessToken,31837,{Fe:e}),new Tw(e.accessToken,this.currentUser)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.xe&&this.auth.removeAuthTokenListener(this.xe),this.xe=void 0}Ce(){var e=this.auth&&this.auth.getUid();return k(null===e||"string"==typeof e,2055,{Oe:e}),new bw(e)}}class Aw{constructor(e,t,r){this.Me=e,this.Ne=t,this.Le=r,this.type="FirstParty",this.user=bw.FIRST_PARTY,this.Be=new Map}Ue(){return this.Le?this.Le():null}get headers(){this.Be.set("X-Goog-AuthUser",this.Me);var e=this.Ue();return e&&this.Be.set("Authorization",e),this.Ne&&this.Be.set("X-Goog-Iam-Authorization-Token",this.Ne),this.Be}}class Rw{constructor(e,t,r){this.Me=e,this.Ne=t,this.Le=r}getToken(){return Promise.resolve(new Aw(this.Me,this.Ne,this.Le))}start(e,t){e.enqueueRetryable(()=>t(bw.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class Ow{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&0<e.length&&this.headers.set("x-firebase-appcheck",this.value)}}class Pw{constructor(e,t){this.ke=t,this.forceRefresh=!1,this.appCheck=null,this.qe=null,this.$e=null,Rt(e)&&e.settings.appCheckToken&&(this.$e=e.settings.appCheckToken)}start(t,r){k(void 0===this.xe,3512);let n=e=>{null!=e.error&&p("FirebaseAppCheckTokenProvider","Error getting App Check token; using placeholder token instead. Error: "+e.error.message);var t=e.token!==this.qe;return this.qe=e.token,p("FirebaseAppCheckTokenProvider",`Received ${t?"new":"existing"} token.`),t?r(e.token):Promise.resolve()},i=(this.xe=e=>{t.enqueueRetryable(()=>n(e))},e=>{p("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.xe&&this.appCheck.addTokenListener(this.xe)});this.ke.onInit(e=>i(e)),setTimeout(()=>{var e;this.appCheck||((e=this.ke.getImmediate({optional:!0}))?i(e):p("FirebaseAppCheckTokenProvider","AppCheck not yet detected"))},0)}getToken(){var e;return this.$e?Promise.resolve(new Ow(this.$e)):(e=this.forceRefresh,this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(k("string"==typeof e.token,44558,{tokenResult:e}),this.qe=e.token,new Ow(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 xw(e){var t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}class Fw{Ke(e){}shutdown(){}}let Lw="ConnectivityMonitor";class Mw{constructor(){this.We=()=>this.Qe(),this.Ge=()=>this.ze(),this.je=[],this.He()}Ke(e){this.je.push(e)}shutdown(){window.removeEventListener("online",this.We),window.removeEventListener("offline",this.Ge)}He(){window.addEventListener("online",this.We),window.addEventListener("offline",this.Ge)}Qe(){p(Lw,"Network connectivity changed: AVAILABLE");for(var e of this.je)e(0)}ze(){p(Lw,"Network connectivity changed: UNAVAILABLE");for(var e of this.je)e(1)}static Je(){return"undefined"!=typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}let Uw=null;function Gw(){return null===Uw?Uw=268435456+Math.round(2147483648*Math.random()):Uw++,"0x"+Uw.toString(16)}let Hw="RestConnection",Vw={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery",ExecutePipeline:"executePipeline"};class qw{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)}}let jw="WebChannelConnection",Kw=(e,t,r)=>{e.listen(t,e=>{try{r(e)}catch(e){setTimeout(()=>{throw e},0)}})};class zw extends class{get Ye(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;var t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),n=encodeURIComponent(this.databaseId.database);this.Ze=t+"://"+e.host,this.Xe=`projects/${r}/databases/`+n,this.et=this.databaseId.database===WC?"project_id="+r:`project_id=${r}&database_id=`+n}tt(t,e,r,n,i){let s=Gw(),a=this.nt(t,e.toUriEncodedString());p(Hw,`Sending RPC '${t}' ${s}:`,a,r);var o={"google-cloud-resource-prefix":this.Xe,"x-goog-request-params":this.et},l=(this.rt(o,n,i),new URL(a)).host,l=Ge(l);return this.it(t,a,o,r,l).then(e=>(p(Hw,`Received RPC '${t}' ${s}: `,e),e),e=>{throw Xm(Hw,`RPC '${t}' ${s} failed with error: `,e,"url: ",a,"request:",r),e})}st(e,t,r,n,i,s){return this.tt(e,t,r,n,i)}rt(r,t,n){if(r["X-Goog-Api-Client"]="gl-js/ fire/"+Wm,r["Content-Type"]="text/plain",this.databaseInfo.appId&&(r["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((e,t)=>r[t]=e),n&&n.headers.forEach((e,t)=>r[t]=e),this.databaseInfo._customHeaders)for(let e of Object.keys(this.databaseInfo._customHeaders))r[e]=this.databaseInfo._customHeaders[e]}nt(e,t){var r=Vw[e];let n=this.Ze+`/v1/${t}:`+r;return n=this.databaseInfo.apiKey?n+"?key="+encodeURIComponent(this.databaseInfo.apiKey):n}terminate(){}}{constructor(e){super(e),this.dt=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}static ft(){var e;zw.gt||(e=Nf(),Kw(e,kf.STAT_EVENT,e=>{e.stat===Sf.PROXY?p(jw,"STAT_EVENT: detected buffering proxy"):e.stat===Sf.NOPROXY&&p(jw,"STAT_EVENT: detected no buffering proxy")}),zw.gt=!0)}it(l,t,r,n,e){let h=Gw();return new Promise((s,a)=>{let o=new Df;o.setWithCredentials(!0),o.listenOnce(If.COMPLETE,()=>{try{switch(o.getLastErrorCode()){case Tf.NO_ERROR:var e=o.getResponseJson();p(jw,`XHR for RPC '${l}' ${h} received:`,JSON.stringify(e)),s(e);break;case Tf.TIMEOUT:p(jw,`RPC '${l}' ${h} timed out`),a(new R(A.DEADLINE_EXCEEDED,"Request time out"));break;case Tf.HTTP_ERROR:var t=o.getStatus();if(p(jw,`RPC '${l}' ${h} failed with status:`,t,"response text:",o.getResponseText()),0<t){let e=o.getResponseJson();var r=(e=Array.isArray(e)?e[0]:e)?.error;if(r&&r.status&&r.message){n=r.status,i=n.toLowerCase().replace(/_/g,"-");let e=0<=Object.values(A).indexOf(i)?i:A.UNKNOWN;a(new R(e,r.message))}else a(new R(A.UNKNOWN,"Server responded with status "+o.getStatus()))}else a(new R(A.UNAVAILABLE,"Connection failed."));break;default:S(9055,{yt:l,streamId:h,wt:o.getLastErrorCode(),bt:o.getLastError()})}}finally{p(jw,`RPC '${l}' ${h} completed.`)}var n,i});var e=JSON.stringify(n);p(jw,`RPC '${l}' ${h} sending request:`,n),o.send(t,"POST",e,r,15)})}vt(i,e,t){let s=Gw(),r=[this.Ze,"/","google.firestore.v1.Firestore","/",i,"/channel"],n=this.createWebChannelTransport(),a={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/`+this.databaseId.database},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling},o=this.longPollingOptions.timeoutSeconds;void 0!==o&&(a.longPollingTimeout=Math.round(1e3*o)),this.useFetchStreams&&(a.useFetchStreams=!0),this.rt(a.initMessageHeaders,e,t),a.encodeInitMessageHeaders=!0;var l=r.join("");p(jw,`Creating RPC '${i}' stream ${s}: `+l,a);let h=n.createWebChannel(l,a),u=(this.St(h),!1),c=!1,d=new qw({_t:e=>{c?p(jw,`Not sending because RPC '${i}' stream ${s} is closed:`,e):(u||(p(jw,`Opening RPC '${i}' stream ${s} transport.`),h.open(),u=!0),p(jw,`RPC '${i}' stream ${s} sending:`,e),h.send(e))},ot:()=>h.close()});return Kw(h,bf.EventType.OPEN,()=>{c||(p(jw,`RPC '${i}' stream ${s} transport opened.`),d.Rt())}),Kw(h,bf.EventType.CLOSE,()=>{c||(c=!0,p(jw,`RPC '${i}' stream ${s} transport closed`),d.At(),this.Dt(h))}),Kw(h,bf.EventType.ERROR,e=>{c||(c=!0,Xm(jw,`RPC '${i}' stream ${s} transport errored. Name:`,e.name,"Message:",e.message),d.At(new R(A.UNAVAILABLE,"The operation could not be completed")))}),Kw(h,bf.EventType.MESSAGE,e=>{if(!c){var t=e.data[0],n=(k(!!t,16349),t),n=n?.error||n[0]?.error;if(n){p(jw,`RPC '${i}' stream ${s} received error:`,n);let e=n.status,t=(e=>{var t=Gm[e];if(void 0!==t)return cy(t)})(e),r=n.message;"NOT_FOUND"===e&&r.includes("database")&&r.includes("does not exist")&&r.includes(this.databaseId.database)&&Xm(`Database '${this.databaseId.database}' not found. Please check your project configuration.`),void 0===t&&(t=A.INTERNAL,r="Unknown error status: "+e+" with message "+n.message),c=!0,d.At(new R(t,r)),h.close()}else p(jw,`RPC '${i}' stream ${s} received:`,t),d.Vt(t)}}),zw.ft(),setTimeout(()=>{d.It()},0),d}terminate(){this.dt.forEach(e=>e.close()),this.dt=[]}St(e){this.dt.push(e)}Dt(t){this.dt=this.dt.filter(e=>e===t)}rt(e,t,r){super.rt(e,t,r),this.databaseInfo.apiKey&&(e["x-goog-api-key"]=this.databaseInfo.apiKey)}createWebChannelTransport(){return Af()}}zw.gt=!1;class Jw{constructor(e,t,r=1e3,n=1.5,i=6e4){this.xt=e,this.timerId=t,this.Ct=r,this.Ft=n,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();var t=Math.floor(this.Mt+this.kt()),r=Math.max(0,Date.now()-this.Lt),n=Math.max(0,t-r);0<n&&p("ExponentialBackoff",`Backing off for ${n} ms (base delay: ${this.Mt} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.Nt=this.xt.enqueueAfterDelay(this.timerId,n,()=>(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(){null!==this.Nt&&(this.Nt.skipDelay(),this.Nt=null)}cancel(){null!==this.Nt&&(this.Nt.cancel(),this.Nt=null)}kt(){return(Math.random()-.5)*this.Mt}}let Ww="PersistentStream";class Qw{constructor(e,t,r,n,i,s,a,o){this.xt=e,this.$t=r,this.Kt=n,this.connection=i,this.authCredentialsProvider=s,this.appCheckCredentialsProvider=a,this.listener=o,this.state=0,this.Wt=0,this.Qt=null,this.Gt=null,this.stream=null,this.zt=0,this.jt=new Jw(e,t)}Ht(){return 1===this.state||5===this.state||this.Jt()}Jt(){return 2===this.state||3===this.state}start(){this.zt=0,4!==this.state?this.auth():this.Yt()}async stop(){this.Ht()&&await this.close(0)}Zt(){this.state=0,this.jt.reset()}Xt(){this.Jt()&&null===this.Qt&&(this.Qt=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.Qt&&(this.Qt.cancel(),this.Qt=null)}rn(){this.Gt&&(this.Gt.cancel(),this.Gt=null)}async close(e,t){this.nn(),this.rn(),this.jt.cancel(),this.Wt++,4!==e?this.jt.reset():t&&t.code===A.RESOURCE_EXHAUSTED?($m(t.toString()),$m("Using maximum backoff delay to prevent overloading the backend."),this.jt.Bt()):t&&t.code===A.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(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.Wt),r=this.Wt;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([e,t])=>{this.Wt===r&&this.an(e,t)},t=>{e(()=>{var e=new R(A.UNKNOWN,"Fetching auth token failed: "+t.message);return this.un(e)})})}an(e,t){let r=this._n(this.Wt);this.stream=this.cn(e,t),this.stream.ut(()=>{r(()=>this.listener.ut())}),this.stream.lt(()=>{r(()=>(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=>{r(()=>this.un(e))}),this.stream.onMessage(e=>{r(()=>1==++this.zt?this.En(e):this.onNext(e))})}Yt(){this.state=5,this.jt.Ut(async()=>{this.state=0,this.start()})}un(e){return p(Ww,"close with error: "+e),this.stream=null,this.close(4,e)}_n(t){return e=>{this.xt.enqueueAndForget(()=>this.Wt===t?e():(p(Ww,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class Yw extends Qw{constructor(e,t,r,n,i,s){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,n,s),this.serializer=i}cn(e,t){return this.connection.vt("Listen",e,t)}En(e){return this.onNext(e)}onNext(e){this.jt.reset();var t=((e,t)=>{let r;if("targetChange"in t){t.targetChange;var n="NO_CHANGE"===(l=t.targetChange.targetChangeType||"NO_CHANGE")?0:"ADD"===l?1:"REMOVE"===l?2:"CURRENT"===l?3:"RESET"===l?4:S(39313,{state:l}),i=t.targetChange.targetIds||[],s=(l=t.targetChange.resumeToken,e.useProto3Json?(k(void 0===l||"string"==typeof l,58123),xC.fromBase64String(l||"")):(k(void 0===l||l instanceof Buffer||l instanceof Uint8Array,16193),xC.fromUint8Array(l||new Uint8Array))),a=t.targetChange.cause,a=a&&(a=void 0===(l=a).code?A.UNKNOWN:cy(l.code),new R(a,l.message||""));r=new Ay(n,i,s,a||null)}else if("documentChange"in t){t.documentChange;var n=t.documentChange,i=(n.document,n.document.name,n.document.updateTime,$y(e,n.document.name)),s=zy(n.document.updateTime),a=n.document.createTime?zy(n.document.createTime):x.min(),o=new Nv({mapValue:{fields:n.document.fields}}),i=N_.newFoundDocument(i,s,a,o),s=n.targetIds||[],o=n.removedTargetIds||[];r=new ky(s,o,i.key,i)}else if("documentDelete"in t){t.documentDelete;n=t.documentDelete,s=(n.document,$y(e,n.document)),o=n.readTime?zy(n.readTime):x.min(),i=N_.newNoDocument(s,o),s=n.removedTargetIds||[];r=new ky([],s,i.key,i)}else if("documentRemove"in t){t.documentRemove;o=t.documentRemove,n=(o.document,$y(e,o.document)),s=o.removedTargetIds||[];r=new ky([],s,n,null)}else{if(!("filter"in t))return S(11601,{ye:t});{t.filter;let e=t.filter;e.targetId;var{count:i=0,unchangedNames:o}=e,s=new hy(i,o),n=e.targetId;r=new Ny(n,s)}}var l;return r})(this.serializer,e),r="targetChange"in(e=e)&&(!(r=e.targetChange).targetIds||!r.targetIds.length)&&r.readTime?zy(r.readTime):x.min();return this.listener.hn(t,r)}Tn(e){var t={},r=(t.database=ew(this.serializer),t.addTarget=((t,r)=>{var n;let e=r.target;if((n=K_(e)?{pipelineQuery:cw(t,e)}:z_(e)?{documents:ow(t,e)}:{query:lw(t,e).be}).targetId=r.targetId,0<r.resumeToken.approximateByteSize()){n.resumeToken=jy(t,r.resumeToken);let e=Hy(t,r.expectedCount);null!==e&&(n.expectedCount=e)}else if(0<r.snapshotVersion.compareTo(x.min())){n.readTime=Vy(t,r.snapshotVersion.toTimestamp());let e=Hy(t,r.expectedCount);null!==e&&(n.expectedCount=e)}return n})(this.serializer,e),uw(this.serializer,e));r&&(t.labels=r),this.tn(t)}Pn(e){var t={};t.database=ew(this.serializer),t.removeTarget=e,this.tn(t)}}class $w extends Qw{constructor(e,t,r,n,i,s){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,n,s),this.serializer=i}get Rn(){return 0<this.zt}start(){this.lastStreamToken=void 0,super.start()}sn(){this.Rn&&this.In([])}cn(e,t){return this.connection.vt("Write",e,t)}En(e){return k(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,k(!e.writeResults||0===e.writeResults.length,55816),this.listener.An()}onNext(e){k(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this.jt.reset();var t=aw(e.writeResults,e.commitTime),r=zy(e.commitTime);return this.listener.Vn(r,t)}dn(){var e={};e.database=ew(this.serializer),this.tn(e)}In(e){var t={streamToken:this.lastStreamToken,writes:e.map(e=>iw(this.serializer,e))};this.tn(t)}}class Xw extends class{}{constructor(e,t,r,n){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=n,this.fn=!1}mn(){if(this.fn)throw new R(A.FAILED_PRECONDITION,"The client has already been terminated.")}tt(r,n,i,s){return this.mn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection.tt(r,Wy(n,i),s,e,t)).catch(e=>{throw"FirebaseError"===e.name?(e.code===A.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new R(A.UNKNOWN,e.toString())})}st(r,n,i,s,a){return this.mn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection.st(r,Wy(n,i),s,e,t,a)).catch(e=>{throw"FirebaseError"===e.name?(e.code===A.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new R(A.UNKNOWN,e.toString())})}terminate(){this.fn=!0,this.connection.terminate()}}let Zw=new Map;let eE={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class tE{static withCacheSize(e){return new tE(e,tE.DEFAULT_COLLECTION_PERCENTILE,tE.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}tE.DEFAULT_COLLECTION_PERCENTILE=10,tE.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,tE.DEFAULT=new tE(41943040,tE.DEFAULT_COLLECTION_PERCENTILE,tE.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),tE.DISABLED=new tE(-1,0,0);class rE{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(){var e=++this.previousValue;return this.gn&&this.gn(e),e}}rE.yn=-1;let nE="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class iE{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function sE(e){if(e.code!==A.FAILED_PRECONDITION||e.message!==nE)throw e;p("LocalStore","Unexpectedly lost primary lease")}class L{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(e=>{this.isDone=!0,this.result=e,this.nextCallback&&this.nextCallback(e)},e=>{this.isDone=!0,this.error=e,this.catchCallback&&this.catchCallback(e)})}catch(e){return this.next(void 0,e)}next(n,i){return this.callbackAttached&&S(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(i,this.error):this.wrapSuccess(n,this.result):new L((t,r)=>{this.nextCallback=e=>{this.wrapSuccess(n,e).next(t,r)},this.catchCallback=e=>{this.wrapFailure(i,e).next(t,r)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{var t=e();return t instanceof L?t:L.resolve(t)}catch(e){return L.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):L.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):L.reject(t)}static resolve(r){return new L((e,t)=>{e(r)})}static reject(r){return new L((e,t)=>{t(r)})}static waitFor(e){return new L((t,r)=>{let n=0,i=0,s=!1;e.forEach(e=>{++n,e.next(()=>{++i,s&&i===n&&t()},e=>r(e))}),s=!0,i===n&&t()})}static or(e){let t=L.resolve(!1);for(let r of e)t=t.next(e=>e?L.resolve(e):r());return t}static forEach(e,r){let n=[];return e.forEach((e,t)=>{n.push(r.call(this,e,t))}),this.waitFor(n)}static mapArray(o,l){return new L((r,n)=>{let i=o.length,s=new Array(i),a=0;for(let e=0;e<i;e++){let t=e;l(o[t]).next(e=>{s[t]=e,++a===i&&r(s)},e=>n(e))}})}static doWhile(n,i){return new L((e,t)=>{let r=()=>{!0===n()?i().next(()=>{r()},t):e()};r()})}}let aE="SimpleDb";class oE{static open(e,t,r,n){try{return new oE(t,e.transaction(n,r))}catch(e){throw new cE(t,e)}}constructor(r,e){this.action=r,this.transaction=e,this.aborted=!1,this.wn=new Iw,this.transaction.oncomplete=()=>{this.wn.resolve()},this.transaction.onabort=()=>{e.error?this.wn.reject(new cE(r,e.error)):this.wn.resolve()},this.transaction.onerror=e=>{var t=fE(e.target.error);this.wn.reject(new cE(r,t))}}get bn(){return this.wn.promise}abort(e){e&&this.wn.reject(e),this.aborted||(p(aE,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}vn(){var e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){var t=this.transaction.objectStore(e);return new BE(t)}}class lE{static delete(e){return p(aE,"Removing database:",e),pE(z().indexedDB.deleteDatabase(e)).toPromise()}static Je(){var e,t,r;return!(!ue()||!lE.Sn()&&(e=te(),t=0<(t=lE.Dn(e))&&t<10,r=0<(r=hE(e))&&r<4.5,0<e.indexOf("MSIE ")||0<e.indexOf("Trident/")||0<e.indexOf("Edge/")||t||r))}static Sn(){return"undefined"!=typeof process&&"YES"===process.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static xn(e,t){return e.store(t)}static Dn(e){var t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),t=t?t[1].split("_").slice(0,2).join("."):"-1";return Number(t)}constructor(e,t,r){this.name=e,this.version=t,this.Cn=r,this.Fn=null,12.2===lE.Dn(te())&&$m("Firestore persistence suffers from a bug in iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.")}async On(s){return this.db||(p(aE,"Opening database:",this.name),this.db=await new Promise((r,n)=>{let i=indexedDB.open(this.name,this.version);i.onsuccess=e=>{var t=e.target.result;r(t)},i.onblocked=()=>{n(new cE(s,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},i.onerror=e=>{var t=e.target.error;"VersionError"===t.name?n(new R(A.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):"InvalidStateError"===t.name?n(new R(A.FAILED_PRECONDITION,"Unable to open an IndexedDB connection. This could be due to running in a private browsing session on a browser whose private browsing sessions do not support IndexedDB: "+t)):n(new cE(s,t))},i.onupgradeneeded=e=>{p(aE,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);var t=e.target.result;this.Cn.Mn(t,i.transaction,e.oldVersion,this.version).next(()=>{p(aE,"Database upgrade to version "+this.version+" complete")})}})),this.Nn&&(this.db.onversionchange=e=>this.Nn(e)),this.db}Ln(t){this.Nn=t,this.db&&(this.db.onversionchange=e=>t(e))}async runTransaction(r,e,n,i){var s="readonly"===e;let a=0;for(;;){++a;try{this.db=await this.On(r);let t=oE.open(this.db,r,s?"readonly":"readwrite",n),e=i(t).next(e=>(t.vn(),e)).catch(e=>(t.abort(e),L.reject(e))).toPromise();return e.catch(()=>{}),await t.bn,e}catch(r){let e=r,t="FirebaseError"!==e.name&&a<3;if(p(aE,"Transaction failed with error:",e.message,"Retrying:",t),this.close(),!t)return Promise.reject(e)}}}close(){this.db&&this.db.close(),this.db=void 0}}function hE(e){var t=e.match(/Android ([\d.]+)/i),t=t?t[1].split(".").slice(0,2).join("."):"-1";return Number(t)}class uE{constructor(e){this.Bn=e,this.Un=!1,this.kn=null}get isDone(){return this.Un}get qn(){return this.kn}set cursor(e){this.Bn=e}done(){this.Un=!0}$n(e){this.kn=e}delete(){return pE(this.Bn.delete())}}class cE extends R{constructor(e,t){super(A.UNAVAILABLE,`IndexedDB transaction '${e}' failed: `+t),this.name="IndexedDbTransactionError"}}function dE(e){return"IndexedDbTransactionError"===e.name}class BE{constructor(e){this.store=e}put(e,t){let r;return pE(r=void 0!==t?(p(aE,"PUT",this.store.name,e,t),this.store.put(t,e)):(p(aE,"PUT",this.store.name,"<auto-key>",e),this.store.put(e)))}add(e){return p(aE,"ADD",this.store.name,e,e),pE(this.store.add(e))}get(t){return pE(this.store.get(t)).next(e=>(void 0===e&&(e=null),p(aE,"GET",this.store.name,t,e),e))}delete(e){return p(aE,"DELETE",this.store.name,e),pE(this.store.delete(e))}count(){return p(aE,"COUNT",this.store.name),pE(this.store.count())}Kn(e,t){var n=this.options(e,t),r=n.index?this.store.index(n.index):this.store;if("function"==typeof r.getAll){let e=r.getAll(n.range);return new L((t,r)=>{e.onerror=e=>{r(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(n),r=[];return this.Wn(e,(e,t)=>{r.push(t)}).next(()=>r)}}Qn(e,t){let n=this.store.getAll(e,null===t?void 0:t);return new L((t,r)=>{n.onerror=e=>{r(e.target.error)},n.onsuccess=e=>{t(e.target.result)}})}Gn(e,t){p(aE,"DELETE ALL",this.store.name);var r=this.options(e,t),r=(r.zn=!1,this.cursor(r));return this.Wn(r,(e,t,r)=>r.delete())}jn(e,t){let r;t?r=e:(r={},t=e);var n=this.cursor(r);return this.Wn(n,t)}Hn(i){let e=this.cursor({});return new L((r,n)=>{e.onerror=e=>{var t=fE(e.target.error);n(t)},e.onsuccess=e=>{let t=e.target.result;t?i(t.primaryKey,t.value).next(e=>{e?t.continue():r()}):r()}})}Wn(e,s){let a=[];return new L((i,t)=>{e.onerror=e=>{t(e.target.error)},e.onsuccess=e=>{var n=e.target.result;if(n){let t=new uE(n),r=s(n.primaryKey,n.value,t);if(r instanceof L){let e=r.catch(e=>(t.done(),L.reject(e)));a.push(e)}t.isDone?i():null===t.qn?n.continue():n.continue(t.qn)}else i()}}).next(()=>L.waitFor(a))}options(e,t){let r;return void 0!==e&&("string"==typeof e?r=e:t=e),{index:r,range:t}}cursor(e){let t="next";var r;return e.reverse&&(t="prev"),e.index?(r=this.store.index(e.index),e.zn?r.openKeyCursor(e.range,t):r.openCursor(e.range,t)):this.store.openCursor(e.range,t)}}function pE(e){return new L((r,n)=>{e.onsuccess=e=>{var t=e.target.result;r(t)},e.onerror=e=>{var t=fE(e.target.error);n(t)}})}let gE=!1;function fE(e){let t=lE.Dn(te());if(12.2<=t&&t<13){let t="An internal error was encountered in the Indexed Database server";if(0<=e.message.indexOf(t)){let e=new R("internal",`IOS_INDEXEDDB_BUG1: IndexedDb has thrown '${t}'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.`);return gE||(gE=!0,setTimeout(()=>{throw e},0)),e}}return e}let mE="LruGarbageCollector";function CE([e,t],[r,n]){var i=N(e,r);return 0===i?N(t,n):i}class vE{constructor(e){this.Jn=e,this.buffer=new cC(CE),this.Yn=0}Zn(){return++this.Yn}Xn(e){var t=[e,this.Zn()];if(this.buffer.size<this.Jn)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();CE(t,e)<0&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}}class _E{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.er=null}start(){-1!==this.garbageCollector.params.cacheSizeCollectionThreshold&&this.tr(6e4)}stop(){this.er&&(this.er.cancel(),this.er=null)}get started(){return null!==this.er}tr(e){p(mE,`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){dE(e)?p(mE,"Ignoring IndexedDB error during garbage collection: ",e):await sE(e)}await this.tr(3e5)})}}class yE{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(0===t)return L.resolve(rE.yn);let r=new vE(t);return this.nr.forEachTarget(e,e=>r.Xn(e.sequenceNumber)).next(()=>this.nr.ir(e,e=>r.Xn(e))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.nr.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.nr.removeOrphanedDocuments(e,t)}collect(t,r){return-1===this.params.cacheSizeCollectionThreshold?(p("LruGarbageCollector","Garbage collection skipped; disabled"),L.resolve(eE)):this.getCacheSize(t).next(e=>e<this.params.cacheSizeCollectionThreshold?(p("LruGarbageCollector",`Garbage collection skipped; Cache size ${e} is lower than threshold `+this.params.cacheSizeCollectionThreshold),eE):this.sr(t,r))}getCacheSize(e){return this.nr.getCacheSize(e)}sr(t,r){let n,i,s,a,o,l,h,u=Date.now();return this.calculateTargetCount(t,this.params.percentileToCollect).next(e=>(i=e>this.params.maximumSequenceNumbersToCollect?(p("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from `+e),this.params.maximumSequenceNumbersToCollect):e,a=Date.now(),this.nthSequenceNumber(t,i))).next(e=>(n=e,o=Date.now(),this.removeTargets(t,n,r))).next(e=>(s=e,l=Date.now(),this.removeOrphanedDocuments(t,n))).next(e=>(h=Date.now(),Ym()<=B.DEBUG&&p("LruGarbageCollector",`LRU Garbage Collection
10
10
  Counted targets in ${a-u}ms
11
11
  Determined least recently used ${i} in `+(o-a)+"ms\n"+` Removed ${s} targets in `+(l-o)+"ms\n"+` Removed ${e} documents in `+(h-l)+"ms\n"+`Total Duration: ${h-u}ms`),L.resolve({didRun:!0,sequenceNumbersCollected:i,targetsRemoved:s,documentsRemoved:e})))}}function wE(e,t){return new yE(e,t)}let EE="firestore.googleapis.com";class DE{constructor(e){if(void 0===e.host){if(void 0!==e.ssl)throw new R(A.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=EE,this.ssl=!0}else this.host=e.host,this.ssl=e.ssl??!0;if(this.isUsingEmulator=void 0!==e.emulatorOptions,this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e._customHeaders&&(this._customHeaders={...e._customHeaders}),void 0===e.cacheSizeBytes)this.cacheSizeBytes=41943040;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new R(A.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}EC("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:void 0===e.experimentalAutoDetectLongPolling?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=xw(e.experimentalLongPollingOptions??{});var t=this.experimentalLongPollingOptions;if(void 0!==t.timeoutSeconds){if(isNaN(t.timeoutSeconds))throw new R(A.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (must not be NaN)`);if(t.timeoutSeconds<5)throw new R(A.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (minimum allowed value is 5)`);if(30<t.timeoutSeconds)throw new R(A.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (maximum allowed value is 30)`)}if(this.useFetchStreams=!!e.useFetchStreams,void 0!==e.grpcFlowControlWindow){if("number"!=typeof e.grpcFlowControlWindow||e.grpcFlowControlWindow<=0||2147483647<e.grpcFlowControlWindow||!Number.isInteger(e.grpcFlowControlWindow))throw new R(A.INVALID_ARGUMENT,"grpcFlowControlWindow must be a positive integer and cannot exceed 2147483647");this.grpcFlowControlWindow=e.grpcFlowControlWindow}}isEqual(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&(t=this.experimentalLongPollingOptions,r=e.experimentalLongPollingOptions,t.timeoutSeconds===r.timeoutSeconds)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams&&this.grpcFlowControlWindow===e.grpcFlowControlWindow&&((r,n)=>{if(r!==n){if(!r||!n)return!1;let e=Object.keys(r),t=Object.keys(n);if(e.length!==t.length)return!1;for(let t of e)if(r[t]!==n[t])return!1}return!0})(this._customHeaders,e._customHeaders);var t,r}}let bE=class{constructor(e,t,r,n){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=n,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new DE({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(this._app)return this._app;throw new R(A.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available")}get _initialized(){return this._settingsFrozen}get _terminated(){return"notTerminated"!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new R(A.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 DE(e),this._emulatorOptions=e.emulatorOptions||{},void 0!==e.credentials&&(this._authCredentials=(e=>{if(!e)return new Sw;switch(e.type){case"firstParty":return new Rw(e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new R(A.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}})(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return"notTerminated"===this._terminateTask&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){"notTerminated"===this._terminateTask?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return e=this,(t=Zw.get(e))&&(p("ComponentProvider","Removing Datastore"),Zw.delete(e),t.terminate()),Promise.resolve();var e,t}};let IE=class AR{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new AR(this.firestore,e,this._query)}},TE=class vL{constructor(e,t,r){this.converter=t,this._key=r,this.type="document",this.firestore=e}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new SE(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new vL(this.firestore,e,this._key)}toJSON(){return{type:vL._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(e,t,r){if(AC(t,vL._jsonSchema))return new vL(e,r||null,new P(O.fromString(t.referencePath)))}};TE._jsonSchemaVersion="firestore/documentReference/1.0",TE._jsonSchema={type:NC("string",TE._jsonSchemaVersion),referencePath:NC("string")};class SE extends IE{constructor(e,t,r){super(e,t,X_(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){var e=this._path.popLast();return e.isEmpty()?null:new TE(this.firestore,null,new P(e))}withConverter(e){return new SE(this.firestore,e,this._path)}}function kE(e,t,...r){var n;if(e=_(e),wC("collection","path",t),e instanceof bE)return bC(n=O.fromString(t,...r)),new SE(e,null,n);if(e instanceof TE||e instanceof SE)return bC(n=e._path.child(O.fromString(t,...r))),new SE(e.firestore,null,n);throw new R(A.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function NE(e,t,...r){var n;if(e=_(e),wC("doc","path",t=1===arguments.length?tC.newId():t),e instanceof bE)return DC(n=O.fromString(t,...r)),new TE(e,null,new P(n));if(e instanceof TE||e instanceof SE)return DC(n=e._path.child(O.fromString(t,...r))),new TE(e.firestore,e instanceof SE?e.converter:null,new P(n));throw new R(A.INVALID_ARGUMENT,"Expected first argument to doc() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function AE(e,t){return e=_(e),t=_(t),(e instanceof TE||e instanceof SE)&&(t instanceof TE||t instanceof SE)&&e.firestore===t.firestore&&e.path===t.path&&e.converter===t.converter}function RE(e,t){return e=_(e),t=_(t),e instanceof IE&&t instanceof IE&&e.firestore===t.firestore&&sy(e._query,t._query)&&e.converter===t.converter}let OE=class AF{constructor(e){this._values=(e||[]).map(e=>e)}toArray(){return this._values.map(e=>e)}isEqual(e){var t=this._values,r=e._values;if(t.length!==r.length)return!1;for(let n=0;n<t.length;++n)if(t[n]!==r[n])return!1;return!0}toJSON(){return{type:AF._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(e){if(AC(e,AF._jsonSchema)){if(Array.isArray(e.vectorValues)&&e.vectorValues.every(e=>"number"==typeof e))return new AF(e.vectorValues);throw new R(A.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}},PE=(OE._jsonSchemaVersion="firestore/vectorValue/1.0",OE._jsonSchema={type:NC("string",OE._jsonSchemaVersion),vectorValues:NC("object")},/^__.*__$/);class xE{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return null!==this.fieldMask?new n_(e,this.data,this.fieldMask,t,this.fieldTransforms):new r_(e,this.data,t,this.fieldTransforms)}}class FE{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new n_(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function LE(e){switch(e){case 0:case 2:case 1:return 1;case 3:case 4:return;default:throw S(40011,{dataSource:e})}}class ME{constructor(e,t,r,n,i,s){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=n,void 0===i&&this.validatePath(),this.fieldTransforms=i||[],this.fieldMask=s||[]}get path(){return this.settings.path}get dataSource(){return this.settings.dataSource}contextWith(e){return new ME({...this.settings,...e},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}childContextForField(e){var t=this.path?.child(e),t=this.contextWith({path:t,arrayElement:!1});return t.validatePathSegment(e),t}childContextForFieldPath(e){var t=this.path?.child(e),t=this.contextWith({path:t,arrayElement:!1});return t.validatePath(),t}childContextForArray(e){return this.contextWith({path:void 0,arrayElement:!0})}createError(e){return iD(e,this.settings.methodName,this.settings.hasConverter||!1,this.path,this.settings.targetDoc)}contains(t){return void 0!==this.fieldMask.find(e=>t.isPrefixOf(e))||void 0!==this.fieldTransforms.find(e=>t.isPrefixOf(e.field))}validatePath(){if(this.path)for(let e=0;e<this.path.length;e++)this.validatePathSegment(this.path.get(e))}validatePathSegment(e){if(0===e.length)throw this.createError("Document fields must not be empty");if(LE(this.dataSource)&&PE.test(e))throw this.createError('Document fields cannot begin and end with "__"')}}class UE{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||_w(e)}createContext(e,t,r,n=!1){return new ME({dataSource:e,methodName:t,targetDoc:r,path:mC.emptyPath(),arrayElement:!1,hasConverter:n},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function GE(e){var t=e._freezeSettings(),r=_w(e._databaseId);return new UE(e._databaseId,!!t.ignoreUndefinedProperties,r)}function HE(e,n,i,t,r,s={}){var a=e.createContext(s.merge||s.mergeFields?2:0,n,i,r),o=(eD("Data must be an object, but it was:",a,t),XE(t,a));let l,h;if(s.merge)l=new CC(a.fieldMask),h=a.fieldTransforms;else if(s.mergeFields){let t=[];for(let r of s.mergeFields){let e=tD(n,r,i);if(!a.contains(e))throw new R(A.INVALID_ARGUMENT,`Field '${e}' is specified in your field mask but missing from your input data.`);sD(t,e)||t.push(e)}l=new CC(t),h=a.fieldTransforms.filter(e=>l.covers(e.field))}else l=null,h=a.fieldTransforms;return new xE(new Nv(o),l,h)}class VE extends Ew{_toFieldTransform(e){if(2!==e.dataSource)throw 1===e.dataSource?e.createError(this._methodName+"() can only appear at the top level of your update data"):e.createError(this._methodName+"() cannot be used with set() unless you pass {merge:true}");return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof VE}}function qE(e,t,r){return new ME({dataSource:3,targetDoc:t.settings.targetDoc,methodName:e._methodName,arrayElement:r},t.databaseId,t.serializer,t.ignoreUndefinedProperties)}class jE extends Ew{_toFieldTransform(e){return new Wv(e.path,new Fv)}isEqual(e){return e instanceof jE}}class KE extends Ew{constructor(e,t){super(e),this._r=t}_toFieldTransform(e){let t=qE(this,e,!0),r=this._r.map(e=>$E(e,t)),n=new Lv(r);return new Wv(e.path,n)}isEqual(e){return e instanceof KE&&we(this._r,e._r)}}class zE extends Ew{constructor(e,t){super(e),this._r=t}_toFieldTransform(e){let t=qE(this,e,!0),r=this._r.map(e=>$E(e,t)),n=new Uv(r);return new Wv(e.path,n)}isEqual(e){return e instanceof zE&&we(this._r,e._r)}}class JE extends Ew{constructor(e,t){super(e),this.ar=t}_toFieldTransform(e){var t=new Vv(e.serializer,Ov(e.serializer,this.ar));return new Wv(e.path,t)}isEqual(e){return e instanceof JE&&(this.ar===e.ar||Number.isNaN(this.ar)&&Number.isNaN(e.ar))}}function WE(e,i,s,t){let a=e.createContext(1,i,s),o=(eD("Data must be an object, but it was:",a,t),[]),l=Nv.empty();_C(t,(e,t)=>{var r=nD(i,e,s),n=(t=_(t),a.childContextForFieldPath(r));if(t instanceof VE)o.push(r);else{let e=$E(t,n);null!=e&&(o.push(r),l.set(r,e))}});var r=new CC(o);return new FE(l,r,a.fieldTransforms)}function QE(e,t,r,n,i,s){var a=e.createContext(1,t,r),o=[tD(t,n,r)],l=[i];if(s.length%2!=0)throw new R(A.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let B=0;B<s.length;B+=2)o.push(tD(t,s[B])),l.push(s[B+1]);var h=[],u=Nv.empty();for(let p=o.length-1;0<=p;--p)if(!sD(h,o[p])){let t=o[p];var c=_(l[p]);let r=a.childContextForFieldPath(t);if(c instanceof VE)h.push(t);else{let e=$E(c,r);null!=e&&(h.push(t),u.set(t,e))}}var d=new CC(h);return new FE(u,d,a.fieldTransforms)}function YE(e,t,r,n=!1){return $E(r,e.createContext(n?4:3,t))}function $E(e,r){if(ZE(e=_(e)))return eD("Unsupported field value:",r,e),XE(e,r);if(e instanceof Ew){{var n=e;var i=r;if(!LE(i.dataSource))throw i.createError(n._methodName+"() can only be used with update() and set()");if(!i.path)throw i.createError(n._methodName+"() is not currently supported inside arrays");var t=n._toFieldTransform(i);t&&i.fieldTransforms.push(t)}return null}if(void 0===e&&r.ignoreUndefinedProperties)return null;if(r.path&&r.fieldMask.push(r.path),e instanceof Array){if(r.settings.arrayElement&&4!==r.dataSource)throw r.createError("Nested arrays are not supported");{var s,a=r,o=[];let t=0;for(s of e){let e=$E(s,a.childContextForArray(t));null==e&&(e={nullValue:"NULL_VALUE"}),o.push(e),t++}return{arrayValue:{values:o}}}}var l,h,n=e,i=r;if(null===(n=_(n)))return{nullValue:"NULL_VALUE"};if("number"==typeof n)return Ov(i.serializer,n);if("boolean"==typeof n)return{booleanValue:n};if("string"==typeof n)return{stringValue:n};if(n instanceof Date)return h=OC.fromDate(n),{timestampValue:Vy(i.serializer,h)};if(n instanceof OC)return h=new OC(n.seconds,1e3*Math.floor(n.nanoseconds/1e3)),{timestampValue:Vy(i.serializer,h)};if(n instanceof Dw)return{geoPointValue:{latitude:n.latitude,longitude:n.longitude}};if(n instanceof yw)return{bytesValue:jy(i.serializer,n._byteString)};if(n instanceof TE){let e=i.databaseId,t=n.firestore._databaseId;if(t.isEqual(e))return{referenceValue:Jy(n.firestore._databaseId||i.databaseId,n._key.path)};throw i.createError(`Document reference is for database ${t.projectId}/${t.database} but should be for database ${e.projectId}/`+e.database)}if(n instanceof OE)return l=i,h=(e=n)instanceof OE?e.toArray():e,{mapValue:{fields:{[ev]:{stringValue:nv},[iv]:{arrayValue:{values:h.map(e=>{if("number"!=typeof e)throw l.createError("VectorValues must only contain numeric values.");return Av(l.serializer,e)})}}}}};if(mw(n))return n._toProto(i.serializer);throw i.createError("Unsupported field value: "+TC(n))}function XE(e,n){let i={};return yC(e)?n.path&&0<n.path.length&&n.fieldMask.push(n.path):_C(e,(e,t)=>{var r=$E(t,n.childContextForField(e));null!=r&&(i[e]=r)}),{mapValue:{fields:i}}}function ZE(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof OC||e instanceof Dw||e instanceof yw||e instanceof TE||e instanceof Ew||e instanceof OE||mw(e))}function eD(e,t,r){var n;if(!ZE(r)||!IC(r))throw"an object"===(n=TC(r))?t.createError(e+" a custom object"):t.createError(e+" "+n)}function tD(e,t,r){if((t=_(t))instanceof ww)return t._internalPath;if("string"==typeof t)return nD(e,t);throw iD("Field path arguments must be of type string or ",e,!1,void 0,r)}let rD=new RegExp("[~\\*/\\[\\]]");function nD(t,r,n){if(0<=r.search(rD))throw iD(`Invalid field path (${r}). Paths must not contain '~', '*', '/', '[', or ']'`,t,!1,void 0,n);try{return new ww(...r.split("."))._internalPath}catch(e){throw iD(`Invalid field path (${r}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,t,!1,void 0,n)}}function iD(e,t,r,n,i){var s=n&&!n.isEmpty(),a=void 0!==i;let o=`Function ${t}() called with invalid data`,l=(r&&(o+=" (via `toFirestore()`)"),o+=". ","");return(s||a)&&(l+=" (found",s&&(l+=" in field "+n),a&&(l+=" in document "+i),l+=")"),new R(A.INVALID_ARGUMENT,o+e+l)}function sD(e,t){return e.some(e=>e.isEqual(t))}function aD(e){return"function"==typeof e._readUserData}class oD{constructor(e){this.optionDefinitions=e}_getKnownOptions(t,r){var n,i=Nv.empty();for(n in this.optionDefinitions)if(this.optionDefinitions.hasOwnProperty(n)){var s=this.optionDefinitions[n];if(n in t){var a=t[n];let e;s.nestedOptions&&IC(a)?e={mapValue:{fields:new oD(s.nestedOptions).getOptionsProto(r,a)}}:a&&(e=$E(a,r)??void 0),e&&i.set(mC.fromServerFormat(s.serverName),e)}}return i}getOptionsProto(r,e,t){var n=this._getKnownOptions(e,r);if(t){let e=new Map(((e,t)=>{var r,n=[];for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.push(t(e[r],r,e));return n})(t,(e,t)=>[mC.fromServerFormat(t),void 0!==e?$E(e,r):null]));n.setAll(e)}return n.value.mapValue.fields??{}}}function i(e){return e instanceof uD?e:IC(e)?(e=>{var t,r=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t=e[n],r.push(CD(n)),r.push(i(t)));return new s("map",r,"map")})(e):e instanceof Array?((e,t)=>new s("array",e.map(e=>i(e)),t))(e,"array"):vD(e,void 0)}function lD(e){if(e instanceof uD)return e;if(e instanceof OE)return CD(e);if(Array.isArray(e))return CD((t=e,new OE(t)));var t;throw new Error("Unsupported value: "+typeof e)}function hD(e){return("string"==typeof e?fD:i)(e)}let uD=class{constructor(){this._protoValueType="ProtoValue"}add(e){return new s("add",[this,i(e)],"add")}asBoolean(){if(this instanceof _D)return this;if(this instanceof mD)return new wD(this);if(this instanceof gD)return new ED(this);if(this instanceof s)return new yD(this);throw new R("invalid-argument",`Conversion of type ${typeof this} to BooleanExpression not supported.`)}subtract(e){return new s("subtract",[this,i(e)],"subtract")}multiply(e){return new s("multiply",[this,i(e)],"multiply")}divide(e){return new s("divide",[this,i(e)],"divide")}mod(e){return new s("mod",[this,i(e)],"mod")}equal(e){return new s("equal",[this,i(e)],"equal").asBoolean()}notEqual(e){return new s("not_equal",[this,i(e)],"notEqual").asBoolean()}lessThan(e){return new s("less_than",[this,i(e)],"lessThan").asBoolean()}lessThanOrEqual(e){return new s("less_than_or_equal",[this,i(e)],"lessThanOrEqual").asBoolean()}greaterThan(e){return new s("greater_than",[this,i(e)],"greaterThan").asBoolean()}greaterThanOrEqual(e){return new s("greater_than_or_equal",[this,i(e)],"greaterThanOrEqual").asBoolean()}arrayConcat(e,...t){var r=[e,...t].map(e=>i(e));return new s("array_concat",[this,...r],"arrayConcat")}arrayContains(e){return new s("array_contains",[this,i(e)],"arrayContains").asBoolean()}arrayContainsAll(e){var t=Array.isArray(e)?new pD(e.map(i),"arrayContainsAll"):e;return new s("array_contains_all",[this,t],"arrayContainsAll").asBoolean()}arrayContainsAny(e){var t=Array.isArray(e)?new pD(e.map(i),"arrayContainsAny"):e;return new s("array_contains_any",[this,t],"arrayContainsAny").asBoolean()}arrayReverse(){return new s("array_reverse",[this])}arrayLength(){return new s("array_length",[this],"arrayLength")}equalAny(e){var t=Array.isArray(e)?new pD(e.map(i),"equalAny"):e;return new s("equal_any",[this,t],"equalAny").asBoolean()}notEqualAny(e){var t=Array.isArray(e)?new pD(e.map(i),"notEqualAny"):e;return new s("not_equal_any",[this,t],"notEqualAny").asBoolean()}exists(){return new s("exists",[this],"exists").asBoolean()}charLength(){return new s("char_length",[this],"charLength")}like(e){return new s("like",[this,i(e)],"like").asBoolean()}regexContains(e){return new s("regex_contains",[this,i(e)],"regexContains").asBoolean()}regexFind(e){return new s("regex_find",[this,i(e)],"regexFind")}regexFindAll(e){return new s("regex_find_all",[this,i(e)],"regexFindAll")}regexMatch(e){return new s("regex_match",[this,i(e)],"regexMatch").asBoolean()}stringContains(e){return new s("string_contains",[this,i(e)],"stringContains").asBoolean()}startsWith(e){return new s("starts_with",[this,i(e)],"startsWith").asBoolean()}endsWith(e){return new s("ends_with",[this,i(e)],"endsWith").asBoolean()}toLower(){return new s("to_lower",[this],"toLower")}toUpper(){return new s("to_upper",[this],"toUpper")}trim(e){var t=[this];return e&&t.push(i(e)),new s("trim",t,"trim")}ltrim(e){var t=[this];return e&&t.push(i(e)),new s("ltrim",t,"ltrim")}rtrim(e){var t=[this];return e&&t.push(i(e)),new s("rtrim",t,"rtrim")}type(){return new s("type",[this])}isType(e){return new s("is_type",[this,CD(e)],"isType").asBoolean()}stringConcat(e,...t){var r=[e,...t].map(i);return new s("string_concat",[this,...r],"stringConcat")}stringIndexOf(e){return new s("string_index_of",[this,i(e)],"stringIndexOf")}stringRepeat(e){return new s("string_repeat",[this,i(e)],"stringRepeat")}stringReplaceAll(e,t){return new s("string_replace_all",[this,i(e),i(t)],"stringReplaceAll")}stringReplaceOne(e,t){return new s("string_replace_one",[this,i(e),i(t)],"stringReplaceOne")}concat(e,...t){var r=[e,...t].map(i);return new s("concat",[this,...r],"concat")}reverse(){return new s("reverse",[this],"reverse")}arrayFilter(e,t){return new s("array_filter",[this,i(e),t],"arrayFilter")}arrayTransform(e,t){return new s("array_transform",[this,i(e),t],"arrayTransform")}arrayTransformWithIndex(e,t,r){return new s("array_transform",[this,i(e),i(t),r],"arrayTransformWithIndex")}arraySlice(e,t){var r=[this,i(e)];return void 0!==t&&r.push(i(t)),new s("array_slice",r,"arraySlice")}arrayFirst(){return new s("array_first",[this],"arrayFirst")}arrayFirstN(e){return new s("array_first_n",[this,i(e)],"arrayFirstN")}arrayLast(){return new s("array_last",[this],"arrayLast")}arrayLastN(e){return new s("array_last_n",[this,i(e)],"arrayLastN")}arrayMaximum(){return new s("maximum",[this],"arrayMaximum")}arrayMaximumN(e){return new s("maximum_n",[this,i(e)],"arrayMaximumN")}arrayMinimum(){return new s("minimum",[this],"arrayMinimum")}arrayMinimumN(e){return new s("minimum_n",[this,i(e)],"arrayMinimumN")}arrayIndexOf(e){return new s("array_index_of",[this,i(e),i("first")],"arrayIndexOf")}arrayLastIndexOf(e){return new s("array_index_of",[this,i(e),i("last")],"arrayLastIndexOf")}arrayIndexOfAll(e){return new s("array_index_of_all",[this,i(e)],"arrayIndexOfAll")}byteLength(){return new s("byte_length",[this],"byteLength")}ceil(){return new s("ceil",[this])}floor(){return new s("floor",[this])}abs(){return new s("abs",[this])}exp(){return new s("exp",[this])}mapGet(e){return new s("map_get",[this,CD(e)],"mapGet")}mapSet(e,t,...r){var n=[this,i(e),i(t),...r.map(i)];return new s("map_set",n,"mapSet")}mapKeys(){return new s("map_keys",[this],"mapKeys")}mapValues(){return new s("map_values",[this],"mapValues")}mapEntries(){return new s("map_entries",[this],"mapEntries")}getField(e){return new s("get_field",[this,i(e)],"get_field")}count(){return cD._create("count",[this],"count")}sum(){return cD._create("sum",[this],"sum")}average(){return cD._create("average",[this],"average")}minimum(){return cD._create("minimum",[this],"minimum")}maximum(){return cD._create("maximum",[this],"maximum")}first(){return cD._create("first",[this],"first")}last(){return cD._create("last",[this],"last")}arrayAgg(){return cD._create("array_agg",[this],"arrayAgg")}arrayAggDistinct(){return cD._create("array_agg_distinct",[this],"arrayAggDistinct")}countDistinct(){return cD._create("count_distinct",[this],"countDistinct")}logicalMaximum(e,...t){var r=[e,...t];return new s("maximum",[this,...r.map(i)],"logicalMaximum")}logicalMinimum(e,...t){var r=[e,...t];return new s("minimum",[this,...r.map(i)],"minimum")}vectorLength(){return new s("vector_length",[this],"vectorLength")}cosineDistance(e){return new s("cosine_distance",[this,lD(e)],"cosineDistance")}dotProduct(e){return new s("dot_product",[this,lD(e)],"dotProduct")}euclideanDistance(e){return new s("euclidean_distance",[this,lD(e)],"euclideanDistance")}unixMicrosToTimestamp(){return new s("unix_micros_to_timestamp",[this],"unixMicrosToTimestamp")}timestampToUnixMicros(){return new s("timestamp_to_unix_micros",[this],"timestampToUnixMicros")}unixMillisToTimestamp(){return new s("unix_millis_to_timestamp",[this],"unixMillisToTimestamp")}timestampToUnixMillis(){return new s("timestamp_to_unix_millis",[this],"timestampToUnixMillis")}unixSecondsToTimestamp(){return new s("unix_seconds_to_timestamp",[this],"unixSecondsToTimestamp")}timestampToUnixSeconds(){return new s("timestamp_to_unix_seconds",[this],"timestampToUnixSeconds")}timestampAdd(e,t){return new s("timestamp_add",[this,i(e),i(t)],"timestampAdd")}timestampSubtract(e,t){return new s("timestamp_subtract",[this,i(e),i(t)],"timestampSubtract")}timestampDiff(e,t){return new s("timestamp_diff",[this,hD(e),i(t)],"timestampDiff")}timestampExtract(e,t){var r=[this,i(e)];return t&&r.push(i(t)),new s("timestamp_extract",r,"timestampExtract")}documentId(){return new s("document_id",[this],"documentId")}parent(){return new s("parent",[this],"parent")}substring(e,t){var r=i(e);return new s("substring",void 0===t?[this,r]:[this,r,i(t)],"substring")}arrayGet(e){return new s("array_get",[this,i(e)],"arrayGet")}isError(){return new s("is_error",[this],"isError").asBoolean()}ifError(e){var t=new s("if_error",[this,i(e)],"ifError");return e instanceof _D?t.asBoolean():t}isAbsent(){return new s("is_absent",[this],"isAbsent").asBoolean()}mapRemove(e){return new s("map_remove",[this,i(e)],"mapRemove")}mapMerge(e,...t){var r=i(e),n=t.map(i);return new s("map_merge",[this,r,...n],"mapMerge")}pow(e){return new s("pow",[this,i(e)])}trunc(e){return void 0===e?new s("trunc",[this]):new s("trunc",[this,i(e)],"trunc")}round(e){return void 0===e?new s("round",[this]):new s("round",[this,i(e)],"round")}collectionId(){return new s("collection_id",[this])}length(){return new s("length",[this])}ln(){return new s("ln",[this])}sqrt(){return new s("sqrt",[this])}stringReverse(){return new s("string_reverse",[this])}ifAbsent(e){return new s("if_absent",[this,i(e)],"ifAbsent")}ifNull(e){return new s("if_null",[this,i(e)],"ifNull")}coalesce(e,...t){return new s("coalesce",[this,i(e),...t.map(i)],"coalesce")}join(e){return new s("join",[this,i(e)],"join")}log10(){return new s("log10",[this])}arraySum(){return new s("sum",[this])}split(e){return new s("split",[this,i(e)])}timestampTruncate(e,t){var r=[this,i(e)];return t&&r.push(i(t)),new s("timestamp_trunc",r)}ascending(){return new DD(hD(this),"ascending","ascending")}descending(){return new DD(hD(this),"descending","descending")}as(e){return new BD(this,e,"as")}},cD=class eL{constructor(e,t){this.name=e,this.params=t,this.exprType="AggregateFunction",this._protoValueType="ProtoValue"}static _create(e,t,r){var n=new eL(e,t);return n._methodName=r,n}as(e){return new dD(this,e,"as")}_toProto(t){return{functionValue:{name:this.name,args:this.params.map(e=>e._toProto(t))}}}_readUserData(t){t=this._methodName?t.contextWith({methodName:this._methodName}):t,this.params.forEach(e=>e._readUserData(t))}};class dD{constructor(e,t,r){this.aggregate=e,this.alias=t,this._methodName=r}_readUserData(e){this.aggregate._readUserData(e)}}let BD=class{constructor(e,t,r){this.expr=e,this.alias=t,this._methodName=r,this.exprType="AliasedExpression",this.selectable=!0}_readUserData(e){this.expr._readUserData(e)}};class pD extends uD{constructor(e,t){super(),this.ur=e,this._methodName=t,this.expressionType="ListOfExpressions"}_toProto(t){return{arrayValue:{values:this.ur.map(e=>e._toProto(t))}}}_readUserData(t){this.ur.forEach(e=>e._readUserData(t))}}let gD=class extends uD{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 s("geo_distance",[this,i(e)],"geoDistance")}_toProto(e){return{fieldReferenceValue:this.fieldPath.canonicalString()}}_readUserData(e){}};function fD(e){return e=e,t="field",new gD("string"==typeof e?pC===e?new ww(pC)._internalPath:tD("field",e):e._internalPath,t);var t}class mD extends uD{constructor(e,t){super(),this.value=e,this._methodName=t,this.expressionType="Constant"}static _fromProto(e){var t=new mD(e,void 0);return t._protoValue=e,t}_toProto(e){return k(void 0!==this._protoValue,237),this._protoValue}_getValue(){return this._protoValue}_readUserData(e){var t,r,n,i;e=this._methodName?e.contextWith({methodName:this._methodName}):e,"object"==typeof(t=this._protoValue)&&null!==t&&("nullValue"in t&&(null===t.nullValue||"NULL_VALUE"===t.nullValue)||"booleanValue"in t&&(null===t.booleanValue||"boolean"==typeof t.booleanValue)||"integerValue"in t&&(null===t.integerValue||"number"==typeof t.integerValue||"string"==typeof t.integerValue)||"doubleValue"in t&&(null===t.doubleValue||"number"==typeof t.doubleValue)||"timestampValue"in t&&(null===t.timestampValue||"object"==typeof(i=t.timestampValue)&&null!==i&&"seconds"in i&&(null===i.seconds||"number"==typeof i.seconds||"string"==typeof i.seconds)&&"nanos"in i&&(null===i.nanos||"number"==typeof i.nanos))||"stringValue"in t&&(null===t.stringValue||"string"==typeof t.stringValue)||"bytesValue"in t&&(null===t.bytesValue||t.bytesValue instanceof Uint8Array)||"referenceValue"in t&&(null===t.referenceValue||"string"==typeof t.referenceValue)||"geoPointValue"in t&&(null===t.geoPointValue||"object"==typeof(i=t.geoPointValue)&&null!==i&&"latitude"in i&&(null===i.latitude||"number"==typeof i.latitude)&&"longitude"in i&&(null===i.longitude||"number"==typeof i.longitude))||"arrayValue"in t&&(null===t.arrayValue||"object"==typeof(n=t.arrayValue)&&null!==n&&"values"in n&&(null===n.values||Array.isArray(n.values)))||"mapValue"in t&&(null===t.mapValue||"object"==typeof(n=t.mapValue)&&null!==n&&"fields"in n&&(null===n.fields||IC(n.fields)))||"fieldReferenceValue"in t&&(null===t.fieldReferenceValue||"string"==typeof t.fieldReferenceValue)||"functionValue"in t&&(null===t.functionValue||"object"==typeof(r=t.functionValue)&&null!==r&&"name"in r&&(null===r.name||"string"==typeof r.name)&&"args"in r&&(null===r.args||Array.isArray(r.args)))||"pipelineValue"in t&&(null===t.pipelineValue||"object"==typeof(r=t.pipelineValue)&&null!==r&&"stages"in r&&(null===r.stages||Array.isArray(r.stages))))||(this._protoValue=$E(this.value,e))}}function CD(e){return vD(e,"constant")}function vD(e,t){var r=new mD(e,t);return"boolean"==typeof e?new wD(r):r}let s=class extends uD{constructor(e,t,r,n){super(),this.name=e,this.params=t,this.expressionType="Function",(this._optionsProto=void 0)!==r&&(this._methodName=r),void 0!==n&&(this._options=n)}get _optionsUtil(){return new oD({})}_toProto(t){var e={functionValue:{name:this.name,args:this.params.map(e=>e._toProto(t))}};return this._optionsProto&&(e.functionValue.options=this._optionsProto),e}_readUserData(t){t=this._methodName?t.contextWith({methodName:this._methodName}):t,this.params.forEach(e=>e._readUserData(t)),this._options&&(this._optionsProto=this._optionsUtil.getOptionsProto(t,this._options))}};class _D extends uD{get _methodName(){return this._expr._methodName}countIf(){return cD._create("count_if",[this],"countIf")}not(){return new s("not",[this],"not").asBoolean()}conditional(e,t){return new s("conditional",[this,e,t],"conditional")}ifError(e){var t=i(e),r=new s("if_error",[this,t],"ifError");return t instanceof _D?r.asBoolean():r}_toProto(e){return this._expr._toProto(e)}_readUserData(e){this._expr._readUserData(e)}}class yD extends _D{constructor(e){super(),this._expr=e,this.expressionType="Function"}}class wD extends _D{constructor(e){super(),this._expr=e,this.expressionType="Constant"}_getValue(){return this._expr._getValue()}}class ED extends _D{constructor(e){super(),this._expr=e,this.expressionType="Field"}}class DD{constructor(e,t,r){this.expr=e,this.direction=t,this._methodName=r,this._protoValueType="ProtoValue"}_toProto(e){return{mapValue:{fields:{direction:vw(this.direction),expression:this.expr._toProto(e)}}}}_readUserData(e){this.expr._readUserData(e)}}class bD{constructor(e){this.optionsProto=void 0,{rawOptions:this.rawOptions,...this.knownOptions}=e}_readUserData(e){this.optionsProto=this._optionsUtil.getOptionsProto(e,this.knownOptions,this.rawOptions)}_toProto(e){return{name:this._name,options:this.optionsProto}}}class ID extends bD{get _name(){return"add_fields"}get _optionsUtil(){return new oD({})}constructor(e,t){super(t),this.fields=e}_toProto(e){return{...super._toProto(e),args:[Cw(e,this.fields)]}}_readUserData(e){super._readUserData(e),UD(this.fields,e)}}let TD=class extends bD{get _name(){return"aggregate"}get _optionsUtil(){return new oD({})}constructor(e,t,r){super(r),this.groups=e,this.accumulators=t}_toProto(e){return{...super._toProto(e),args:[Cw(e,this.accumulators),Cw(e,this.groups)]}}_readUserData(e){super._readUserData(e),UD(this.groups,e),UD(this.accumulators,e)}},SD=class extends bD{get _name(){return"distinct"}get _optionsUtil(){return new oD({})}constructor(e,t){super(t),this.groups=e}_toProto(e){return{...super._toProto(e),args:[Cw(e,this.groups)]}}_readUserData(e){super._readUserData(e),UD(this.groups,e)}},kD=class extends bD{get _name(){return"collection"}get _optionsUtil(){return new oD({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)}},ND=class extends bD{get _name(){return"collection_group"}get _optionsUtil(){return new oD({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)}},AD=class extends bD{get _name(){return"database"}get _optionsUtil(){return new oD({})}_toProto(e){return{...super._toProto(e)}}_readUserData(e){super._readUserData(e)}},RD=class extends bD{get _name(){return"documents"}get _optionsUtil(){return new oD({})}constructor(e,t){if(super(t),!e||0===e.length)throw new R(A.INVALID_ARGUMENT,"Empty document paths are not allowed in DocumentsSource");var r=e.map(e=>e.startsWith("/")?e:"/"+e),n=new Set(r);if(n.size!==r.length)throw new R(A.INVALID_ARGUMENT,"Duplicate document paths are not allowed in DocumentsSource");this.hr=r,this.Tr=n}_toProto(e){return{...super._toProto(e),args:this.hr.map(e=>({referenceValue:e}))}}_readUserData(e){super._readUserData(e)}},OD=class extends bD{get _name(){return"where"}get _optionsUtil(){return new oD({})}constructor(e,t){super(t),this.condition=e}_toProto(e){return{...super._toProto(e),args:[this.condition._toProto(e)]}}_readUserData(e){super._readUserData(e),UD(this.condition,e)}},PD=class extends bD{get _name(){return"limit"}get _optionsUtil(){return new oD({})}constructor(e,t){k(!isNaN(e)&&e!==1/0&&e!==-1/0,34860),super(t),this.limit=e}_toProto(e){return{...super._toProto(e),args:[Ov(e,this.limit)]}}},xD=class extends bD{get _name(){return"offset"}get _optionsUtil(){return new oD({})}constructor(e,t){super(t),this.offset=e}_toProto(e){return{...super._toProto(e),args:[Ov(e,this.offset)]}}},FD=class extends bD{get _name(){return"select"}get _optionsUtil(){return new oD({})}constructor(e,t){super(t),this.selections=e}_toProto(e){return{...super._toProto(e),args:[Cw(e,this.selections)]}}_readUserData(e){super._readUserData(e),UD(this.selections,e)}},LD=class extends bD{get _name(){return"sort"}get _optionsUtil(){return new oD({})}constructor(e,t){super(t),this.orderings=e}_toProto(t){return{...super._toProto(t),args:this.orderings.map(e=>e._toProto(t))}}_readUserData(e){super._readUserData(e),UD(this.orderings,e)}};class MD extends bD{get _name(){return"replace_with"}get _optionsUtil(){return new oD({})}constructor(e,t){super(t),this.map=e}_toProto(e){return{...super._toProto(e),args:[this.map._toProto(e),vw(MD.Pr)]}}_readUserData(e){super._readUserData(e),UD(this.map,e)}}function UD(e,t){aD(e)?e._readUserData(t):Array.isArray(e)?e.forEach(e=>e._readUserData(t)):e instanceof Map?e.forEach(e=>e._readUserData(t)):Object.values(e).forEach(e=>e._readUserData(t))}MD.Pr="full_replace";class h{constructor(e,t){this.type=e,this.value=t}static dr(){return new h("ERROR",void 0)}static mr(){return new h("UNSET",void 0)}static pr(){return new h("NULL",sv)}static newValue(e){return _v(e)?new h("NULL",sv):(t=e)&&"booleanValue"in t?new h("BOOLEAN",e):fv(e)?new h("INT",e):mv(e)?new h("DOUBLE",e):(t=e)&&"timestampValue"in t&&t.timestampValue?new h("TIMESTAMP",e):(t=e)&&"stringValue"in t?new h("STRING",e):(t=e)&&"bytesValue"in t?new h("BYTES",e):e.referenceValue?new h("REFERENCE",e):e.geoPointValue?new h("GEO_POINT",e):vv(e)?new h("ARRAY",e):Ev(e)?new h("VECTOR",e):wv(e)?new h("MAP",e):new h("ERROR",void 0);var t}gr(){return"ERROR"===this.type||"UNSET"===this.type}yr(){return"NULL"===this.type}}function GD(e){if(!e.gr())return e.value}function HD(e){return e instanceof _D?e._expr:e}function u(e){if((e=HD(e))instanceof gD)return new VD(e);if(e instanceof mD)return new qD(e);if(e instanceof pD)return new jD(e);if(e instanceof s){if("add"===e.name)return new $D(e);if("subtract"===e.name)return new XD(e);if("multiply"===e.name)return new ZD(e);if("divide"===e.name)return new eb(e);if("mod"===e.name)return new tb(e);if("and"===e.name)return new rb(e);if("equal"===e.name)return new Cb(e);if("not_equal"===e.name)return new vb(e);if("less_than"===e.name)return new _b(e);if("less_than_or_equal"===e.name)return new yb(e);if("greater_than"===e.name)return new wb(e);if("greater_than_or_equal"===e.name)return new Eb(e);if("array_concat"===e.name)return new Db(e);if("array_reverse"===e.name)return new bb(e);if("array_contains"===e.name)return new Ib(e);if("array_contains_all"===e.name)return new Tb(e);if("array_contains_any"===e.name)return new Sb(e);if("array_length"===e.name)return new kb(e);if("array_element"===e.name)return new Nb(e);if("equal_any"===e.name)return new ab(e);if("not_equal_any"===e.name)return new ob(e);if("is_nan"===e.name)return new lb(e);if("is_not_nan"===e.name)return new hb(e);if("is_null"===e.name)return new ub(e);if("is_not_null"===e.name)return new cb(e);if("is_error"===e.name)return new db(e);if("exists"===e.name)return new Bb(e);if("not"===e.name)return new nb(e);if("or"===e.name)return new ib(e);if("xor"===e.name)return new sb(e);if("conditional"===e.name)return new pb(e);if("maximum"===e.name)return new gb(e);if("minimum"===e.name)return new fb(e);if("reverse"===e.name)return new Ab(e);if("replace_first"===e.name)return new Rb(e);if("replace_all"===e.name)return new Ob(e);if("char_length"===e.name)return new Pb(e);if("byte_length"===e.name)return new xb(e);if("like"===e.name)return new Lb(e);if("regex_contains"===e.name)return new Mb(e);if("regex_match"===e.name)return new Ub(e);if("string_contains"===e.name)return new Gb(e);if("starts_with"===e.name)return new Hb(e);if("ends_with"===e.name)return new Vb(e);if("to_lower"===e.name)return new qb(e);if("to_upper"===e.name)return new jb(e);if("trim"===e.name)return new Kb(e);if("string_concat"===e.name)return new zb(e);if("map_get"===e.name)return new Jb(e);if("cosine_distance"===e.name)return new Qb(e);if("dot_product"===e.name)return new Yb(e);if("euclidean_distance"===e.name)return new $b(e);if("vector_length"===e.name)return new Xb(e);if("unix_micros_to_timestamp"===e.name)return new BI(e);if("timestamp_to_unix_micros"===e.name)return new mI(e);if("unix_millis_to_timestamp"===e.name)return new pI(e);if("timestamp_to_unix_millis"===e.name)return new CI(e);if("unix_seconds_to_timestamp"===e.name)return new gI(e);if("timestamp_to_unix_seconds"===e.name)return new vI(e);if("timestamp_add"===e.name)return new yI(e);if("timestamp_subtract"===e.name)return new wI(e)}throw new Error("Unknown Expr : "+e)}class VD{constructor(e){this.expr=e}evaluate(e,t){var r;return this.expr.fieldName===pC?h.newValue({referenceValue:Yy(e.serializer,t.key)}):"__update_time__"===this.expr.fieldName?h.newValue({timestampValue:Ky(e.serializer,t.version)}):"__create_time__"===this.expr.fieldName?h.newValue({timestampValue:Ky(e.serializer,t.createTime)}):(r=t.data.field(this.expr._fieldPath))?jC(r)?h.newValue(((e,t)=>{if("estimate"===e.serverTimestampBehavior)return{timestampValue:Ky(e.serializer,x.fromTimestamp(zC(t)))};if("previous"===e.serverTimestampBehavior){let e=KC(t);if(e)return e}return{nullValue:"NULL_VALUE"}})(e,r)):h.newValue(r):h.mr()}}class qD{constructor(e){this.expr=e}evaluate(e,t){return h.newValue(this.expr._getValue())}}class jD{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.ur.map(e=>u(e).evaluate(t,r));return e.some(e=>e.gr())?h.dr():h.newValue({arrayValue:{values:e.map(e=>e.value)}})}}function KD(e){return mv(e)?Number(e.doubleValue):Number(e.integerValue)}function zD(e){return BigInt(e.integerValue)}let JD=BigInt("0x7fffffffffffffff"),WD=-BigInt("0x8000000000000000");class QD{constructor(e){this.expr=e}evaluate(t,r){k(2<=this.expr.params.length,24778);let n=u(this.expr.params[0]).evaluate(t,r),e=u(this.expr.params[1]).evaluate(t,r),i=this.wr(n,e);for(let n of this.expr.params.slice(2)){let e=u(n).evaluate(t,r);i=this.wr(i,e)}return i}wr(e,t){if(!e.gr()&&!t.gr()){if(e.yr()||t.yr())return h.pr();var r=e.value,n=t.value;if((mv(r)||fv(r))&&(mv(n)||fv(n))){if(mv(r)||mv(n)){let e=this.br(r,n);return e?h.newValue(e):h.dr()}if(fv(r)&&fv(n)){let e=this.vr(r,n);return void 0===e?h.dr():"number"==typeof e?h.newValue({doubleValue:e}):e<WD||e>JD?h.dr():h.newValue({integerValue:""+e})}}}return h.dr()}}function YD(r,n){{if(lv(r)!==lv(n))return"TYPE_MISMATCH";if(yv(r)||yv(n))return"NOT_EQ";if(_v(r)&&_v(n))return"EQ";if(_v(r)||_v(n))return"NULL";if(vv(r)&&vv(n)){var i=r.arrayValue,s=n.arrayValue;if(i.values?.length!==s.values?.length)return"NOT_EQ";let e=!1;for(let t=0;t<(i.values?.length??0);t++){var a=i.values[t],o=s.values[t];switch(YD(a,o)){case"EQ":break;case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":e=!0;break;default:S(44609,{Sr:a,Dr:o})}}return e?"NULL":"EQ"}if(Ev(r)&&Ev(n)||wv(r)&&wv(n)){var l=r.mapValue,h=n.mapValue,u=l.fields||{},c=h.fields||{};if(vC(u)!==vC(c))return"NOT_EQ";let e=!1;for(let t in u)if(u.hasOwnProperty(t)){if(void 0===c[t])return"NOT_EQ";switch(YD(u[t],c[t])){case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":e=!0}}return e?"NULL":"EQ"}return hv(r,n,{o:!1,t:!0,i:!0})?"EQ":"NOT_EQ"}}class $D extends QD{vr(e,t){return zD(e)+zD(t)}br(e,t){return{doubleValue:KD(e)+KD(t)}}}class XD extends QD{constructor(e){super(e),this.expr=e}vr(e,t){return zD(e)-zD(t)}br(e,t){return{doubleValue:KD(e)-KD(t)}}}class ZD extends QD{constructor(e){super(e),this.expr=e}vr(e,t){return zD(e)*zD(t)}br(e,t){return{doubleValue:KD(e)*KD(t)}}}class eb extends QD{constructor(e){super(e),this.expr=e}vr(e,t){var r=zD(t);if(r!==BigInt(0))return zD(e)/r}br(e,t){var r=KD(t);return 0===r?{doubleValue:XC(r)?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY}:{doubleValue:KD(e)/r}}}class tb extends QD{constructor(e){super(e),this.expr=e}vr(e,t){var r=zD(t);if(r!==BigInt(0))return zD(e)%r}br(e,t){var r=KD(t);if(0!==r)return{doubleValue:KD(e)%r}}}class rb{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(var i of this.expr.params){var s=u(i).evaluate(e,t);switch(s.type){case"BOOLEAN":if(s.value?.booleanValue)break;return h.newValue(ov);case"NULL":n=!0;break;default:r=!0}}return r?h.dr():n?h.pr():h.newValue(av)}}class nb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,9634);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return h.newValue({booleanValue:!r.value?.booleanValue});case"NULL":return h.pr();default:return h.dr()}}}class ib{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(var i of this.expr.params){var s=u(i).evaluate(e,t);switch(s.type){case"BOOLEAN":if(s.value?.booleanValue)return h.newValue(av);break;case"NULL":n=!0;break;default:r=!0}}return r?h.dr():n?h.pr():h.newValue(ov)}}class sb{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(var i of this.expr.params){var s=u(i).evaluate(e,t);switch(s.type){case"BOOLEAN":r=sb.xor(r,!!s.value?.booleanValue);break;case"NULL":n=!0;break;default:return h.dr()}}return n?h.pr():h.newValue({booleanValue:r})}static xor(e,t){return(e||t)&&!(e&&t)}}class ab{constructor(e){this.expr=e}evaluate(e,t){k(2===this.expr.params.length,55094);let r=!1;var n=u(this.expr.params[0]).evaluate(e,t);switch(n.type){case"NULL":r=!0;break;case"ERROR":case"UNSET":return h.dr()}var i=u(this.expr.params[1]).evaluate(e,t);switch(i.type){case"ARRAY":break;case"NULL":r=!0;break;default:return h.dr()}if(r)return h.pr();for(let e of i.value?.arrayValue?.values??[])switch(_v(n.value)&&_v(e)?"EQ":YD(n.value,e)){case"EQ":return h.newValue(av);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:S(44608,{value:n.value,candidate:e})}return r?h.pr():h.newValue(ov)}}class ob{constructor(e){this.expr=e}evaluate(e,t){return new nb(new s("not",[new s("equal_any",this.expr.params)])).evaluate(e,t)}}class lb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,23322);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return h.newValue(ov);case"DOUBLE":return h.newValue({booleanValue:isNaN(KD(r.value))});case"NULL":return h.pr();default:return h.dr()}}}class hb{constructor(e){this.expr=e}evaluate(e,t){return k(1===this.expr.params.length,50406),new nb(new s("not",[new s("is_nan",this.expr.params)])).evaluate(e,t)}}class ub{constructor(e){this.expr=e}evaluate(e,t){switch(k(1===this.expr.params.length,23123),u(this.expr.params[0]).evaluate(e,t).type){case"NULL":return h.newValue(av);case"UNSET":case"ERROR":return h.dr();default:return h.newValue(ov)}}}class cb{constructor(e){this.expr=e}evaluate(e,t){return k(1===this.expr.params.length,23167),new nb(new s("not",[new s("is_null",this.expr.params)])).evaluate(e,t)}}class db{constructor(e){this.expr=e}evaluate(e,t){return k(1===this.expr.params.length,5228),"ERROR"===u(this.expr.params[0]).evaluate(e,t).type?h.newValue(av):h.newValue(ov)}}class Bb{constructor(e){this.expr=e}evaluate(e,t){switch(k(1===this.expr.params.length,6877),u(this.expr.params[0]).evaluate(e,t).type){case"ERROR":return h.dr();case"UNSET":return h.newValue(ov);default:return h.newValue(av)}}}class pb{constructor(e){this.expr=e}evaluate(e,t){k(3===this.expr.params.length,11706);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return(r.value?.booleanValue?u(this.expr.params[1]):u(this.expr.params[2])).evaluate(e,t);case"NULL":return u(this.expr.params[2]).evaluate(e,t);default:return h.dr()}}}class gb{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.params.map(e=>u(e).evaluate(t,r));let n;for(let t of e)switch(t.type){case"ERROR":case"UNSET":case"NULL":continue;default:n=void 0===n||0<cv(t.value,n.value)?t:n}return void 0===n?h.pr():n}}class fb{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.params.map(e=>u(e).evaluate(t,r));let n;for(let t of e)switch(t.type){case"ERROR":case"UNSET":case"NULL":continue;default:n=void 0===n||cv(t.value,n.value)<0?t:n}return void 0===n?h.pr():n}}class mb{constructor(e){this.expr=e}evaluate(e,t){k(2===this.expr.params.length,31033,this.expr.name+"() function should have exactly 2 params");var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"ERROR":case"UNSET":return h.dr()}var n=u(this.expr.params[1]).evaluate(e,t);switch(n.type){case"ERROR":case"UNSET":return h.dr()}return this.Cr(r,n)}}class Cb extends mb{constructor(e){super(e),this.expr=e}Cr(e,t){if(e.yr()&&t.yr())return h.newValue(av);if(e.yr()||t.yr())return h.newValue(ov);if(yv(e.value)||yv(t.value))return h.newValue(ov);if(lv(e.value)!==lv(t.value))return h.newValue(ov);switch(YD(e.value,t.value)){case"EQ":return h.newValue(av);case"NOT_EQ":return h.newValue(ov);case"NULL":return h.pr();default:S(44615,{left:e,right:t})}}}class vb extends mb{constructor(e){super(e),this.expr=e}Cr(e,t){switch(YD(e.value,t.value)){case"EQ":return h.newValue(ov);case"NOT_EQ":case"TYPE_MISMATCH":return h.newValue(av);case"NULL":return h.pr();default:S(44614,{left:e,right:t})}}}class _b extends mb{constructor(e){super(e),this.expr=e}Cr(e,t){return lv(e.value)!==lv(t.value)||yv(e.value)||yv(t.value)?h.newValue(ov):h.newValue({booleanValue:cv(e.value,t.value)<0})}}class yb extends mb{constructor(e){super(e),this.expr=e}Cr(e,t){return lv(e.value)!==lv(t.value)||yv(e.value)||yv(t.value)?h.newValue(ov):"EQ"===YD(e.value,t.value)?h.newValue(av):h.newValue({booleanValue:cv(e.value,t.value)<0})}}class wb extends mb{constructor(e){super(e),this.expr=e}Cr(e,t){return lv(e.value)!==lv(t.value)||yv(e.value)||yv(t.value)?h.newValue(ov):h.newValue({booleanValue:0<cv(e.value,t.value)})}}class Eb extends mb{constructor(e){super(e),this.expr=e}Cr(e,t){return lv(e.value)!==lv(t.value)||yv(e.value)||yv(t.value)?h.newValue(ov):"EQ"===YD(e.value,t.value)?h.newValue(av):h.newValue({booleanValue:0<cv(e.value,t.value)})}}class Db{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class bb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,216);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return h.pr();case"ARRAY":{let e=r.value.arrayValue?.values??[];return h.newValue({arrayValue:{values:[...e].reverse()}})}default:return h.dr()}}}class Ib{constructor(e){this.expr=e}evaluate(e,t){return k(2===this.expr.params.length,52884),new ab(new s("eq_any",[this.expr.params[1],this.expr.params[0]])).evaluate(e,t)}}class Tb{constructor(e){this.expr=e}evaluate(r,e){k(2===this.expr.params.length,1392);let n=!1,t=u(this.expr.params[0]).evaluate(r,e);switch(t.type){case"ARRAY":break;case"NULL":n=!0;break;default:return h.dr()}var i=u(this.expr.params[1]).evaluate(r,e);switch(i.type){case"ARRAY":break;case"NULL":n=!0;break;default:return h.dr()}if(n)return h.pr();var i=i.value?.arrayValue?.values??[],s=t.value?.arrayValue?.values??[];for(let r of i){let e=!1;n=!1;for(let t of s){switch(_v(r)&&_v(t)?"EQ":YD(r,t)){case"EQ":e=!0;break;case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":n=!0;break;default:S(44613,{value:t,search:r})}if(e)break}if(!e)return h.newValue(ov)}return h.newValue(av)}}class Sb{constructor(e){this.expr=e}evaluate(t,e){k(2===this.expr.params.length,2680);let r=!1;var n=u(this.expr.params[0]).evaluate(t,e);switch(n.type){case"ARRAY":break;case"NULL":r=!0;break;default:return h.dr()}var i=u(this.expr.params[1]).evaluate(t,e);switch(i.type){case"ARRAY":break;case"NULL":r=!0;break;default:return h.dr()}if(r)return h.pr();var s=i.value?.arrayValue?.values??[];for(let t of n.value?.arrayValue?.values??[])for(let e of s)switch(_v(t)&&_v(e)?"EQ":YD(t,e)){case"EQ":return h.newValue(av);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:S(60403,{value:t,search:e})}return r?h.pr():h.newValue(ov)}}class kb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,38605);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return h.pr();case"ARRAY":return h.newValue({integerValue:""+(r.value?.arrayValue?.values?.length??0)});default:return h.dr()}}}class Nb{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class Ab{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,1508);var n=u(this.expr.params[0]).evaluate(e,t);switch(n.type){case"NULL":return h.pr();case"BYTES":{let t=n.value?.bytesValue;if("string"!=typeof t)return h.newValue({bytesValue:new Uint8Array(t).reverse()});{let e=xC.fromBase64String(t).toUint8Array();return e.reverse(),h.newValue({bytesValue:xC.fromUint8Array(e).toBase64()})}}case"STRING":{let e=n.value?.stringValue,t=new Intl.__PRIVATE_Segmenter(void 0,{granularity:"grapheme"}).segment(e),r=Array.from(t,e=>e.segment).reverse();return h.newValue({stringValue:r.join("")})}default:return h.dr()}}}class Rb{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class Ob{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class Pb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,19400);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return h.pr();case"STRING":{let e=(e=>{let t=0;for(let i=0;i<e.length;i++){var r,n=e.codePointAt(i);if(void 0===n)return;if(n<=65535)55296<=n&&n<=57343&&n<=56319&&void 0!==(r=e.codePointAt(i+1))&&56320<=r&&r<=57343?(t+=1,i++):t+=1;else{if(!(n<=1114111))return;t+=1,i++}}return t})(r.value.stringValue);return void 0===e?h.dr():h.newValue({integerValue:e})}default:return h.dr()}}}class xb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,8486);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BYTES":{let e=r.value?.bytesValue;return"string"==typeof e?h.newValue({integerValue:xC.fromBase64String(e).toUint8Array().length}):h.newValue({integerValue:new Uint8Array(e).length})}case"STRING":{let e=(e=>{let t=0;for(let i=0;i<e.length;i++){var r=e.codePointAt(i);if(void 0===r)return;if(55296<=r&&r<=57343){if(!(r<=56319))return;var n=e.codePointAt(i+1);if(void 0===n||!(56320<=n&&n<=57343))return;t+=4,i++}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,i++}}return t})(r.value?.stringValue);return void 0===e?h.dr():h.newValue({integerValue:e})}case"NULL":return h.pr();default:return h.dr()}}}class Fb{constructor(e){this.expr=e}evaluate(e,t){k(2===this.expr.params.length,39773,this.expr.name+"() function should have exactly two parameters");let r=!1;var n=u(this.expr.params[0]).evaluate(e,t);switch(n.type){case"STRING":break;case"NULL":r=!0;break;default:return h.dr()}var i=u(this.expr.params[1]).evaluate(e,t);switch(i.type){case"STRING":break;case"NULL":r=!0;break;default:return h.dr()}return r?h.pr():this.Fr(n.value?.stringValue,i.value?.stringValue)}}class Lb extends Fb{Fr(e,t){try{var r=(e=>{let t="";for(let n=0;n<e.length;n++){var r=e.charAt(n);switch(r){case"_":t+=".";break;case"%":t+=".*";break;case"\\":case".":case"*":case"?":case"+":case"^":case"$":case"|":case"(":case")":case"[":case"]":case"{":case"}":t+="\\"+r;break;default:t+=r}}return"^"+t+"$"})(t),n=Jm.compile(r);return h.newValue({booleanValue:n.matches(e)})}catch(e){return Xm(`Invalid LIKE pattern converted to regex: ${t}, returning error. Error: `+e),h.dr()}}}class Mb extends Fb{Fr(e,t){try{var r=Jm.compile(t);return h.newValue({booleanValue:r.test(e)})}catch(e){return Xm(`Invalid regex pattern found in regex_contains: ${t}, returning error`),h.dr()}}}class Ub extends Fb{Fr(e,t){try{return h.newValue({booleanValue:Jm.compile(t).matches(e)})}catch(e){return Xm(`Invalid regex pattern found in regex_match: ${t}, returning error`),h.dr()}}}class Gb extends Fb{Fr(e,t){return h.newValue({booleanValue:e.includes(t)})}}class Hb extends Fb{Fr(e,t){return h.newValue({booleanValue:e.startsWith(t)})}}class Vb extends Fb{Fr(e,t){return h.newValue({booleanValue:e.endsWith(t)})}}class qb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,29079);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return h.newValue({stringValue:r.value?.stringValue?.toLowerCase()});case"NULL":return h.pr();default:return h.dr()}}}class jb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,60487);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return h.newValue({stringValue:r.value?.stringValue?.toUpperCase()});case"NULL":return h.pr();default:return h.dr()}}}class Kb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,28544);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return h.newValue({stringValue:r.value?.stringValue?.trim()});case"NULL":return h.pr();default:return h.dr()}}}class zb{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.params.map(e=>u(e).evaluate(t,r));let n="",i=!1;for(let t of e)switch(t.type){case"STRING":n+=t.value.stringValue;break;case"NULL":i=!0;break;default:return h.dr()}return i?h.pr():h.newValue({stringValue:n})}}class Jb{constructor(e){this.expr=e}evaluate(e,t){k(2===this.expr.params.length,4483);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"UNSET":return h.mr();case"MAP":break;default:return h.dr()}var n=u(this.expr.params[1]).evaluate(e,t);return"STRING"!==n.type?h.dr():void 0===(r=r.value?.mapValue?.fields?.[n.value?.stringValue])?h.mr():h.newValue(r)}}class Wb{constructor(e){this.expr=e}evaluate(e,t){k(2===this.expr.params.length,25231,this.expr.name+"() function should have exactly 2 params");let r=!1;var n=u(this.expr.params[0]).evaluate(e,t);switch(n.type){case"VECTOR":break;case"NULL":r=!0;break;default:return h.dr()}var i=u(this.expr.params[1]).evaluate(e,t);switch(i.type){case"VECTOR":break;case"NULL":r=!0;break;default:return h.dr()}return r?h.pr():(n=Dv(n.value),i=Dv(i.value),void 0===n||void 0===i||n.values?.length!==i.values?.length||void 0===(n=this.Or(n,i))||isNaN(n)?h.dr():h.newValue({doubleValue:n}))}}class Qb extends Wb{Or(e,t){var a=e?.values??[],o=t?.values??[];if(0!==a.length){let r=0,n=0,i=0;for(let s=0;s<a.length;s++){if(!Cv(a[s])||!Cv(o[s]))return;let e=KD(a[s]),t=KD(o[s]);r+=e*t,n+=e*e,i+=t*t}let e=Math.sqrt(n)*Math.sqrt(i);if(0!==e)return 1-Math.max(-1,Math.min(1,r/e))}}}class Yb extends Wb{Or(e,t){var r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let i=0;for(let s=0;s<r.length;s++){if(!Cv(r[s])||!Cv(n[s]))return;i+=KD(r[s])*KD(n[s])}return i}}class $b extends Wb{Or(e,t){var r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let i=0;for(let s=0;s<r.length;s++){if(!Cv(r[s])||!Cv(n[s]))return;let e=KD(r[s]),t=KD(n[s]);i+=Math.pow(e-t,2)}return Math.sqrt(i)}}class Xb{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,39044);var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"VECTOR":{let e=Dv(r.value);return h.newValue({integerValue:e?.values?.length??0})}case"NULL":return h.pr();default:return h.dr()}}}let Zb=BigInt(-62135596800),eI=BigInt(253402300799),tI=BigInt(1e3),rI=BigInt(1e6),nI=Zb*tI,iI=eI*tI+BigInt(999),sI=Zb*rI,aI=eI*rI+BigInt(999999);function oI(e){return e>=sI&&e<=aI}function lI(e){return e>=Zb&&e<=eI}function hI(e,t){var r=BigInt(e);return!(r<Zb||r>eI||t<0||1e9<=t||r===Zb&&0!==t||r===eI&&999999999<t)}function uI(e,t){return t<0?{seconds:e-1,nanos:t+1e9}:{seconds:e,nanos:t}}function cI(e){return BigInt(e.seconds)*rI+BigInt(Math.trunc(e.nanoseconds/1e3))}class dI{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,49262,this.expr.name+"() function should have exactly one parameter");var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return this.toTimestamp(BigInt(r.value.integerValue));case"NULL":return h.pr();default:return h.dr()}}}class BI extends dI{toTimestamp(e){var t,r;return oI(e)&&hI(t=(r=uI(Number(e/rI),Number(e%rI*BigInt(1e3)))).seconds,r=r.nanos)?h.newValue({timestampValue:{seconds:t,nanos:r}}):h.dr()}}class pI extends dI{toTimestamp(e){var t,r,n;return(t=e)>=nI&&t<=iI&&hI(r=(n=uI(Number(e/tI),Number(e%tI*BigInt(1e6)))).seconds,n=n.nanos)?h.newValue({timestampValue:{seconds:r,nanos:n}}):h.dr()}}class gI extends dI{toTimestamp(e){var t;return lI(e)?(t=Number(e),h.newValue({timestampValue:{seconds:t,nanos:0}})):h.dr()}}class fI{constructor(e){this.expr=e}evaluate(e,t){k(1===this.expr.params.length,1265,this.expr.name+"() function should have exactly one parameter");var r=u(this.expr.params[0]).evaluate(e,t);switch(r.type){case"TIMESTAMP":break;case"NULL":return h.pr();default:return h.dr()}r=qy(r.value.timestampValue);return hI(r.seconds,r.nanoseconds)?this.Mr(r):h.dr()}}class mI extends fI{Mr(e){var t=cI(e);return oI(t)?h.newValue({integerValue:""+t.toString()}):h.dr()}}class CI extends fI{Mr(e){var t=cI(e),r=t/BigInt(1e3),t=t%BigInt(1e3);return r>BigInt(0)||t===BigInt(0)?h.newValue({integerValue:r.toString()}):h.newValue({integerValue:(r-BigInt(1)).toString()})}}class vI extends fI{Mr(e){var t=BigInt(e.seconds);return lI(t)?h.newValue({integerValue:t.toString()}):h.dr()}}class _I{constructor(e){this.expr=e}evaluate(e,t){k(3===this.expr.params.length,2775,this.expr.name+"() function should have exactly 3 parameters");let r=!1;var n=u(this.expr.params[0]).evaluate(e,t);switch(n.type){case"TIMESTAMP":break;case"NULL":r=!0;break;default:return h.dr()}var i=u(this.expr.params[1]).evaluate(e,t);let s;switch(i.type){case"STRING":if(void 0===(s=(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)))return h.dr();break;case"NULL":r=!0;break;default:return h.dr()}var a=u(this.expr.params[2]).evaluate(e,t);switch(a.type){case"INT":break;case"NULL":r=!0;break;default:return h.dr()}if(r)return h.pr();var o=BigInt(a.value.integerValue);let l;try{switch(s){case"microsecond":l=o;break;case"millisecond":l=o*BigInt(1e3);break;case"second":l=o*BigInt(1e6);break;case"minute":l=o*BigInt(6e7);break;case"hour":l=o*BigInt(36e8);break;case"day":l=o*BigInt(864e8);break;default:return h.dr()}if("microsecond"!==s&&o!==BigInt(0)&&l/o!==BigInt(this.Nr(s)))return h.dr()}catch(e){return Xm("Error during timestamp arithmetic: "+e),h.dr()}var a=qy(n.value.timestampValue);return hI(a.seconds,a.nanoseconds)&&(n=cI(a),oI(a=this.Lr(n,l)))&&(n=Number(a/rI),hI(n=(a=a%rI)<0?n-1:n,a=Number((a<0?a+rI:a)*BigInt(1e3))))?h.newValue({timestampValue:{seconds:n,nanos:a}}):h.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}}}class yI extends _I{Lr(e,t){return e+t}}class wI extends _I{Lr(e,t){return e-t}}class EI{constructor(e,t,r){this.serializer=e,this.stages=t,this.listenOptions=r,this.isCorePipeline=!0}getPipelineCollection(){return bI(this)}getPipelineCollectionGroup(){return II(this)}getPipelineCollectionId(){return TI(this)}getPipelineDocuments(){return SI(this)}getPipelineFlavor(){{var n=this;let r="exact";return n.stages.forEach((e,t)=>{e._name!==SD.name&&e._name!==TD.name||(r="keyless"),e._name===FD.name&&"exact"===r&&(r="augmented"),e._name===ID.name&&t<n.stages.length-1&&"exact"===r&&(r="augmented")}),r}}getPipelineSourceType(){return DI(this)}}function DI(e){var t=e.stages[0];return t instanceof kD||t instanceof ND||t instanceof AD||t instanceof RD?t._name:"unknown"}function bI(e){if("collection"===DI(e))return e.stages[0].Er}function II(e){if("collection_group"===DI(e))return e.stages[0].collectionId}function TI(e){switch(DI(e)){case"collection":return O.fromString(bI(e)).lastSegment();case"collection_group":return II(e);default:return}}function SI(e){if("documents"===DI(e))return e.stages[0].hr}function kI(e){if((e=HD(e))instanceof gD)return`fld(${e.fieldName})`;if(e instanceof mD)return`cst(${t=e.value,null===t?"null":"number"==typeof t?t.toString():"string"==typeof t?`"${t}"`:t instanceof TE?`ref(${t.path})`:t instanceof OE?`vec(${JSON.stringify(t)})`:JSON.stringify(t)})`;var t;if(e instanceof s)return`fn(${e.name},[${e.params.map(kI).join(",")}])`;if("ListOfExpressions"===e.expressionType)return`list([${e.ur.map(kI).join(",")}])`;throw new Error("Unrecognized expr "+JSON.stringify(e,null,2))}function NI(e){return""+Array.from(e.entries()).sort().map(([e,t])=>e+"="+kI(t)).join(",")}function AI(e){return e.stages.map(t=>{var e;if(t instanceof ID)return`${t._name}(${NI(t.fields)})`;if(t instanceof TD){let e=`${t._name}(${NI(t.accumulators)})`;return 0<t.groups.size&&(e+=`grouping(${NI(t.groups)})`),e}if(t instanceof SD)return`${t._name}(${NI(t.groups)})`;if(t instanceof kD)return t._name+`(${t.Er})`;if(t instanceof ND)return t._name+`(${t.collectionId})`;if(t instanceof AD)return t._name+"()";if(t instanceof RD)return`${t._name}(${t.hr.sort()})`;if(t instanceof OD)return`${t._name}(${kI(t.condition)})`;if(t instanceof PD)return t._name+`(${t.limit})`;if(t instanceof LD)return`${t._name}(${e=t.orderings,e.map(e=>""+kI(e.expr)+e.direction).join(",")})`;throw new Error("Unrecognized stage "+t._name)}).join("|")}function RI(e,t){return AI(e)===AI(t)}function OI(e){return e instanceof EI}function PI(e){return(OI(e)?AI:ay)(e)}function xI(e){return OI(e)?AI(e):q_(ry(e=e))+"|lt:"+e.limitType}function FI(e,t){return e instanceof EI&&t instanceof EI?RI(e,t):!(e instanceof EI&&!(t instanceof EI)||!(e instanceof EI)&&t instanceof EI)&&sy(e,t)}function LI(e){return(K_(e)?AI:q_)(e)}function MI(e,t){return e instanceof EI&&t instanceof EI?RI(e,t):!(e instanceof EI&&!(t instanceof EI)||!(e instanceof EI)&&t instanceof EI)&&j_(e,t)}function UI(e,t){var r=(e=>{let t=!1;var r,n=[];for(r of e)if(r instanceof LD)if(t=!0,r.orderings.some(e=>e.expr instanceof gD&&e.expr.fieldName===pC))n.push(r);else{let e=r.orderings.map(e=>e);e.push(fD(pC).ascending()),n.push(new LD(e,{}))}else r instanceof PD&&(t||(n.push(new LD([fD(pC).ascending()],{})),t=!0)),n.push(r);return t||n.push(new LD([fD(pC).ascending()],{})),n})(e.stages);if(e.userDataReader){let t=e.userDataReader.createContext(3,"toCorePipeline");r.forEach(e=>e._readUserData(t))}return new EI(e.userDataReader.serializer,r,t)}class GI{constructor(e,t,r,n){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=n}applyToRemoteDocument(e,t){var r,n,i,s,a,o,l,h=t.mutationResults;for(let c=0;c<this.mutations.length;c++){var u=this.mutations[c];u.key.isEqual(e.key)&&(r=u,n=e,i=h[c],l=u=o=a=s=void 0,r instanceof r_?(a=n,o=i,u=(s=r).value.clone(),l=s_(s.fieldTransforms,a,o.transformResults),u.setAll(l),a.convertToFoundDocument(o.version,u).setHasCommittedMutations()):r instanceof n_?(s=n,a=i,$v((o=r).precondition,s)?(l=s_(o.fieldTransforms,s,a.transformResults),(u=s.data).setAll(i_(o)),u.setAll(l),s.convertToFoundDocument(a.version,u).setHasCommittedMutations()):s.convertToUnknownDocument(a.version)):n.convertToNoDocument(i.version).setHasCommittedMutations())}}applyToLocalView(e,t){for(var r of this.baseMutations)r.key.isEqual(e.key)&&(t=e_(r,e,t,this.localWriteTime));for(var n of this.mutations)n.key.isEqual(e.key)&&(t=e_(n,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(n,i){let s=my();return this.mutations.forEach(e=>{var t=n.get(e.key),r=t.overlayedDocument,t=this.applyToLocalView(r,t.mutatedFields),t=Zv(r,i.has(e.key)?null:t);null!==t&&s.set(e.key,t),r.isValidDocument()||r.convertToNoDocument(x.min())}),s}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),F())}isEqual(e){return this.batchId===e.batchId&&aC(this.mutations,e.mutations,(e,t)=>t_(e,t))&&aC(this.baseMutations,e.baseMutations,(e,t)=>t_(e,t))}}class HI{constructor(e,t,r,n){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=n}static from(e,t,r){k(e.mutations.length===r.length,58842,{Br:e.mutations.length,Ur:r.length});let n=Cy;var i=e.mutations;for(let s=0;s<i.length;s++)n=n.insert(i[s].key,r[s].version);return new HI(e,t,r,n)}}let VI="";function qI(e){let t="";for(let r=0;r<e.length;r++)0<t.length&&(t=jI(t)),t=((t,e)=>{let r=e,n=t.length;for(let i=0;i<n;i++){let e=t.charAt(i);switch(e){case"\0":r+="";break;case VI:r+="";break;default:r+=e}}return r})(e.get(r),t);return jI(t)}function jI(e){return e+VI+""}function KI(r){let e=r.length;if(k(2<=e,64408,{path:r}),2===e)return k(r.charAt(0)===VI&&""===r.charAt(1),56145,{path:r}),O.emptyPath();var __PRIVATE_lastReasonableEscapeIndex=e-2,n=[];let i="";for(let a=0;a<e;){let t=r.indexOf(VI,a);switch((t<0||t>__PRIVATE_lastReasonableEscapeIndex)&&S(50515,{path:r}),r.charAt(t+1)){case"":var s=r.substring(a,t);let e;0===i.length?e=s:(i+=s,e=i,i=""),n.push(e);break;case"":i=i+r.substring(a,t)+"\0";break;case"":i+=r.substring(a,t+1);break;default:S(61167,{path:r})}a=t+2}return new O(n)}let zI="remoteDocuments",JI="owner",WI="owner",QI="mutationQueues",YI="mutations",$I="batchId",XI="userMutationsIndex",ZI=["userId","batchId"];function eT(e,t){return[e,qI(t)]}function tT(e,t,r){return[e,qI(t),r]}let rT={},nT="documentMutations",iT="remoteDocumentsV14",sT=["prefixPath","collectionGroup","readTime","documentId"],aT="documentKeyIndex",oT=["prefixPath","collectionGroup","documentId"],lT="collectionGroupIndex",hT=["collectionGroup","readTime","prefixPath","documentId"],uT="remoteDocumentGlobal",cT="remoteDocumentGlobalKey",dT="targets",BT="queryTargetsIndex",pT=["canonicalId","targetId"],gT="targetDocuments",fT=["targetId","path"],mT="documentTargetsIndex",CT=["path","targetId"],vT="targetGlobalKey",_T="targetGlobal",yT="collectionParents",wT=["collectionId","parent"],ET="clientMetadata",DT="bundles",bT="namedQueries",IT="indexConfiguration",TT="collectionGroupIndex",ST="indexState",kT=["indexId","uid"],NT="sequenceNumberIndex",AT=["uid","sequenceNumber"],RT="indexEntries",OT=["indexId","uid","arrayValue","directionalValue","orderedDocumentKey","documentKey"],PT="documentKeyIndex",xT=["indexId","uid","orderedDocumentKey"],FT="documentOverlays",LT=["userId","collectionPath","documentId"],MT="collectionPathOverlayIndex",UT=["userId","collectionPath","largestBatchId"],GT="collectionGroupOverlayIndex",HT=["userId","collectionGroup","largestBatchId"],VT="globals",qT=[QI,YI,nT,zI,dT,JI,_T,gT,ET,uT,yT,DT,bT],jT=[...qT,FT],KT=[QI,YI,nT,iT,dT,JI,_T,gT,ET,uT,yT,DT,bT,FT],zT=KT,JT=[...zT,IT,ST,RT],WT=JT,QT=[...JT,VT],YT=QT;function $T(t,r,n){let e=t.store(YI),i=t.store(nT),s=[],a=IDBKeyRange.only(n.batchId),o=0;var l=e.jn({range:a},(e,t,r)=>(o++,r.delete()));s.push(l.next(()=>{k(1===o,47070,{batchId:n.batchId})}));let h=[];for(let t of n.mutations){let e=tT(r,t.key.path,n.batchId);s.push(i.delete(e)),h.push(t.key)}return L.waitFor(s).next(()=>h)}function XT(e){if(!e)return 0;let t;if(e.document)t=e.document;else if(e.unknownDocument)t=e.unknownDocument;else{if(!e.noDocument)throw S(14731);t=e.noDocument}return JSON.stringify(t).length}class ZT extends iE{constructor(e,t){super(),this.kr=e,this.currentSequenceNumber=t}}function e0(e,t){var r=e;return lE.xn(r.kr,t)}class t0{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return null!==e&&this.mutation===e.mutation}toString(){return`Overlay{
12
12
  largestBatchId: ${this.largestBatchId},
@@ -23,5 +23,5 @@ For the CDN builds, these are available in the following manner
23
23
  (replace <PACKAGE> with the name of a component - i.e. auth, database, etc):
24
24
 
25
25
  https://www.gstatic.com/firebasejs/5.0.0/firebase-<PACKAGE>.js
26
- `),or.registerVersion("firebase","12.17.0","compat-cdn"),or});
26
+ `),or.registerVersion("firebase","12.17.1","compat-cdn"),or});
27
27
  //# sourceMappingURL=firebase-compat.js.map