tempest.games 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # tempest.games
2
2
 
3
+ ## 0.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 8cf0e94: ♻️ Bun
8
+
9
+ ## 0.0.4
10
+
11
+ ### Patch Changes
12
+
13
+ - 60d6508: ♻️ Split application into parts.
14
+
3
15
  ## 0.0.3
4
16
 
5
17
  ### Patch Changes
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ // @bun
3
+ import{spawn as fo}from"child_process";import{resolve as po}from"path";function fe(e=Math.random){return e().toString(36).slice(2)}class ke extends Promise{fate;resolve;reject;done=!1;constructor(e){let t,o;super((n,i)=>{t=n,o=i});this.resolve=t,this.reject=o,this.use(e instanceof Promise?e:new Promise(e))}pass(e,t){if(e===this.fate)this.resolve(t),this.done=!0}fail(e,t){if(e===this.fate)this.reject(t),this.done=!0}use(e){if(e instanceof Promise){const t=e;this.fate=t,t.then((o)=>{this.pass(t,o)},(o)=>{this.fail(t,o)})}else this.resolve(e),this.fate=void 0}}function y(e){while(e.child!==null)e=e.child;return e}function dt(e){while(e.parent!==null)e=e.parent;return e}function pe(e,t){const o=k(t),n=`${e.key}(${o})`,i=Gt[e.type],r={key:n,type:i};if(i==="molecule")Object.assign(r,{key:t,family:e});else Object.assign(r,{family:{key:e.key,subKey:o}});return Object.assign(r,{counterfeit:!0}),r}var Gt={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function U(e){const t={key:e.key,type:e.type};if("family"in e)t.family=e.family;return t}function ue(e){return kt(K.STORE,e)}function me(e){return St(K.STORE,e)}var Ue=(e)=>(t,o,n,i,...r)=>{console[e](`${t} ${o} "${n}" ${i}`,...r)},eo={error:Ue("error"),info:Ue("info"),warn:Ue("warn")};class qe{e;t;o;constructor(e,t,o=eo){this.logLevel=e;this.filter=t;this.logger=o}error=(...e)=>{if((this.filter?.(...e)??!0)&&this.logLevel!==null)this.logger.error(...e)};info=(...e)=>{if((this.filter?.(...e)??!0)&&this.logLevel==="info")this.logger.info(...e)};warn=(...e)=>{if((this.filter?.(...e)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...e)}}function he(e){return Ye(K.STORE,e)}function ge(e){return Le(e,K.STORE)}class X{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(e,t)=>`${e}:${t}`;getRelatedKeys(e){return this.relations.get(e)}addRelation(e,t){let o=this.relations.get(e),n=this.relations.get(t);if(o)o.add(t);else o=new Set([t]),this.relations.set(e,o);if(n)n.add(e);else n=new Set([e]),this.relations.set(t,n)}deleteRelation(e,t){const o=this.relations.get(e);if(o){if(o.delete(t),o.size===0)this.relations.delete(e);const n=this.relations.get(t);if(n){if(n.delete(e),n.size===0)this.relations.delete(t)}}}replaceRelationsUnsafely(e,t){this.relations.set(e,new Set(t));for(let o of t){const n=new Set([e]);this.relations.set(o,n)}}replaceRelationsSafely(e,t){const o=this.relations.get(e);if(o)for(let n of o){const i=this.relations.get(n);if(i){if(i.size===1)this.relations.delete(n);else i.delete(e);this.contents.delete(this.makeContentKey(e,n))}}this.relations.set(e,new Set(t));for(let n of t){let i=this.relations.get(n);if(i)i.add(e);else i=new Set([e]),this.relations.set(n,i)}}getContentInternal(e){return this.contents.get(e)}setContent(e,t){this.contents.set(e,t)}deleteContent(e){this.contents.delete(e)}constructor(e,t){if(this.a=e.between[0],this.b=e.between[1],this.cardinality=e.cardinality,!t?.externalStore)this.relations=new Map(e.relations?.map(([o,n])=>[o,new Set(n)])),this.contents=new Map(e.contents);if(this.isContent=t?.isContent??null,t?.makeContentKey)this.makeContentKey=t.makeContentKey;if(t?.externalStore){const o=t.externalStore;if(this.has=(n,i)=>o.has(n,i),this.addRelation=(n,i)=>{o.addRelation(n,i)},this.deleteRelation=(n,i)=>{o.deleteRelation(n,i)},this.replaceRelationsSafely=(n,i)=>{o.replaceRelationsSafely(n,i)},this.replaceRelationsUnsafely=(n,i)=>{o.replaceRelationsUnsafely(n,i)},this.getRelatedKeys=(n)=>o.getRelatedKeys(n),o.getContent)this.getContentInternal=(n)=>{return o.getContent(n)},this.setContent=(n,i)=>{o.setContent(n,i)},this.deleteContent=(n)=>{o.deleteContent(n)};for(let[n,i]of e.relations??[])for(let r of i)this.addRelation(n,r);for(let[n,i]of e.contents??[])this.setContent(n,i)}}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([e,t])=>[e,[...t]]),contents:[...this.contents.entries()]}}set(e,...t){const o=typeof t[0]==="string"?t[0]:e[this.b],n=t[1]??typeof t[0]==="string"?void 0:t[0];switch(e=typeof e==="string"?e:e[this.a],this.cardinality){case"1:1":{const i=this.getRelatedKey(e);if(i&&i!==o)this.delete(i,e)}case"1:n":{const i=this.getRelatedKey(o);if(i&&i!==e)this.delete(i,o)}}if(n){const i=this.makeContentKey(e,o);this.setContent(i,n)}return this.addRelation(e,o),this}delete(e,t){t=typeof t==="string"?t:e[this.b];const o=typeof e==="string"?e:e[this.a];if(o===void 0&&typeof t==="string"){const n=this.getRelatedKeys(t);if(n)for(let i of n)this.delete(i,t)}if(typeof o==="string"&&t===void 0){const n=this.getRelatedKeys(o);if(n)for(let i of n)this.delete(o,i)}if(typeof o==="string"&&typeof t==="string"){this.deleteRelation(o,t);const n=this.makeContentKey(o,t);this.deleteContent(n)}return this}getRelatedKey(e){const t=this.getRelatedKeys(e);if(t){if(t.size>1)console.warn(`${t.size} related keys were found for key "${e}": (${[...t].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of t)return o}}replaceRelations(e,t,o){const n=!Array.isArray(t),i=n?Object.keys(t):t;if(o?.reckless)this.replaceRelationsUnsafely(e,i);else this.replaceRelationsSafely(e,i);if(n)for(let r of i){const a=this.makeContentKey(e,r),s=t[r];this.setContent(a,s)}return this}getContent(e,t){const o=this.makeContentKey(e,t);return this.getContentInternal(o)}getRelationEntries(e){const t=e[this.a],o=e[this.b];if(t!==void 0&&o===void 0){const n=this.getRelatedKeys(t);if(n)return[...n].map((i)=>{return[i,this.getContent(t,i)??null]})}if(t===void 0&&o!==void 0){const n=this.getRelatedKeys(o);if(n)return[...n].map((i)=>{return[i,this.getContent(i,o)??null]})}return[]}has(e,t){if(t)return this.getRelatedKeys(e)?.has(t)??!1;return this.relations.has(e)}}class x{Subscriber;subscribers=new Map;subscribe(e,t){return this.subscribers.set(e,t),()=>{this.unsubscribe(e)}}unsubscribe(e){this.subscribers.delete(e)}next(e){const t=this.subscribers.values();for(let o of t)o(e)}}class Qe extends x{state;constructor(e){super();this.state=e}next(e){this.state=e,super.next(e)}}function E(e){return"epoch"in e.transactionMeta}function R(e){return"phase"in e.transactionMeta}var bt=(e)=>{const t=y(e);if(!R(t)){e.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}e.logger.info("\uD83E\uDE82","transaction",t.transactionMeta.update.key,"Aborting transaction"),t.parent.child=null};function Q(e){return e.type.split("_").map(to).join(" ")}var to=(e)=>e[0].toUpperCase()+e.slice(1);class N extends Error{constructor(...e){const t=e[0],o=e.length===2?e[1]:e[2];if(e.length===2)super(`${Q(t)} ${k(t.key)} not found in store "${o.config.name}".`);else{const n=e[1];super(`${Q(t)} "${t.key}" member ${k(n)} not found in store "${o.config.name}".`)}}}function ye(e,t,o){return(...n)=>{const i=d(e,o);if(i)return i.run(n,t);throw new N(e,o)}}var $e=(e)=>(t)=>e instanceof Function?e(t):e;var ie=(e,t)=>{if(t.valueMap.has(e.key))return t.logger.info("\uD83D\uDCD6",e.type,e.key,"reading cached value"),gt(e,t);if(e.type==="selector"||e.type==="readonly_selector")return t.logger.info("\uD83E\uDDEE",e.type,e.key,"computing value"),e.get();const o=e.default instanceof Function?e.default():e.default;return t.logger.info("\uD83D\uDC81","atom",e.key,"could not find cached value; using default",o),e.default instanceof Function?e.default():e.default};var xt=(e,t)=>{if(e.operation.open){const o=performance.now();return e.logger.info("\u2757",t.type,t.key,`deferring setState at T-${o} until setState for "${e.operation.token.key}" is done`),o}e.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:t},e.logger.info("\u2B55",t.type,t.key,`operation start in store "${e.config.name}"${!R(e)?"":` ${e.transactionMeta.phase} "${e.transactionMeta.update.key}"`}`)},At=(e)=>{if(e.operation.open)e.logger.info("\uD83D\uDD34",e.operation.token.type,e.operation.token.key,`operation done in store "${e.config.name}"`);e.operation={open:!1},e.on.operationClose.next(e.operation)},Ft=(e,t)=>{if(!e.operation.open)return e.logger.error("\uD83D\uDC1E","unknown",t,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return e.operation.done.has(t)},Te=(e,t)=>{if(!e.operation.open){e.logger.error("\uD83D\uDC1E","unknown",t,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}e.operation.done.add(t)};var Mt=(e,t,o)=>{switch(e.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",e.type,e.key,"is now (",t.newValue,") subscribers:",e.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",e.type,e.key,"went (",t.oldValue,"->",t.newValue,") subscribers:",e.subject.subscribers)}e.subject.next(t)};var Ze=(e,t)=>{const o=y(t),n=o.selectorAtoms.getRelatedKeys(e.key);if(o.logger.info("\uD83E\uDDF9",e.type,e.key,n?`evicting ${n.size} states downstream:`:"no downstream states",n??"to evict"),n){if(o.operation.open)o.logger.info("\uD83E\uDDF9",e.type,e.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let i of n){if(Ft(o,i))continue;Rt(i,o),Te(o,i)}}};function oo(e,t){if(Kt(t.newValue))return!1;if(e.includes("\uD83D\uDD0D"))return!1;return!0}var Ct=(e,t,o)=>{const{key:n}=e,i=y(o);if(!R(i)||i.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",n,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!oo(n,t))return;const a={type:"atom_update",key:n,...t};if(e.family)a.family=e.family;i.transactionMeta.update.updates.push(a),o.logger.info("\uD83D\uDCC1","atom",n,"stowed (",t.oldValue,"->",t.newValue,")")};var Jt=(e,t,o)=>{const n=ie(e,o);let i=n;if(e.type==="mutable_atom"&&R(o)){const{parent:a}=o;i=xe(e,a,o)}if(i=$e(t)(i),o.logger.info("\uD83D\uDCDD","atom",e.key,"set to",i),i=q(e.key,i,e.subject,o),wt(e.key,o))ht(e.key,o);Te(o,e.key),Ze(e,o);const r={oldValue:n,newValue:i};if(E(o))Mt(e,r,o);else if(o.parent){if(o.on.transactionApplying.state===null)Ct(e,r,o);else if(e.key.startsWith("*")){const a=e.key.slice(1),s=o.atoms.get(a);let l=o.valueMap.get(a);if(s.type==="mutable_atom"&&R(o)){const{parent:m}=o;l=xe(s,m,o)}if(l.do(r.newValue)===null)Ze(s,o)}}};var Oe=(e,t,o)=>{switch(e.type){case"atom":case"mutable_atom":Jt(e,t,o);break;case"selector":e.set(t);break}};function re(e,t,o){const n={key:t.key,type:"atom_family"},i=e.families.get(t.key);if(i)e.logger.error("\u2757","atom_family",t.key,`Overwriting an existing ${Q(i)} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new x,s=Object.assign((l)=>{const c=k(l),m={key:t.key,subKey:c},u=`${t.key}(${c})`,F=y(e),C=t.default,v={key:u,default:C instanceof Function?C(l):C};if(t.effects)v.effects=t.effects(l);const G=ae(F,v,m);return r.next({type:"state_creation",token:G}),G},n,{subject:r,install:(l)=>re(l,t),internalRoles:o});return e.families.set(t.key,s),e.defaults.set(t.key,t.default),n}function St(e,t){if("mutable"in t)return Ae(e,t);return re(e,t)}function ve(e,t){if(t.family){const o=e.families.get(t.family.key);if(o)return o}}function _(e,...t){let o,n,i;if(t.length===1){if(o=t[0],o.type!=="molecule"){if(n=ve(e,o)??null,n)i=o.family?P(o.family.subKey):null,o=h(e,n,i)}}else{n=t[0],i=t[1];let r;if(n.type==="molecule_family")r=$(e,n,i)??pe(n,i);else r=h(e,n,i);o=r}if("counterfeit"in o&&"family"in o){n=o.type==="molecule"?d(o.family,e):e.families.get(o.family.key);const r=o.type==="molecule"?o.key:o.family.subKey,a=e.disposalTraces.buffer.find((s)=>s?.key===o.key);switch(e.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${e.config.name}".`,a?`This state was previously disposed:\n${a.trace}`:"No previous disposal trace was found."),n.type){case"atom_family":case"mutable_atom_family":return e.defaults.get(n.key);case"selector_family":case"readonly_selector_family":{if(e.defaults.has(n.key))return e.defaults.get(o.family.key);const s=d(n,e).default(r);return e.defaults.set(n.key,s),s}case"molecule_family":throw new N(n,r,e)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return ie(d(o,e),e);case"molecule":return d(o,e).instance}}var Ie=(e,t)=>y(t).atoms.has(e),no=(e,t)=>y(t).selectors.has(e),io=(e,t)=>y(t).readonlySelectors.has(e),$t=(e,t)=>Ie(e,t)||no(e,t)||io(e,t);var We=(e,t)=>{return y(t).selectorGraph.getRelationEntries({downstreamSelectorKey:e}).filter(([n,{source:i}])=>i!==e).map(([n,{source:i}])=>i).filter((n)=>$t(n,t))};var Ge=(e,t,o)=>{const n=[],i=We(e,o);while(i.length>0){const r=i.shift();if(t.has(r))continue;if(t.add(r),!Ie(r,o))i.push(...We(r,o));else if(!n.includes(r))n.push(r)}return n},Ot=(e,t)=>{const o=e.key,n=We(o,t),i=new Set;return n.flatMap((r)=>Ie(r,t)?r:Ge(r,i,t))};var vt=(e,t,o,n)=>{const i=y(n);if(t.type==="atom"||t.type==="mutable_atom")i.selectorAtoms.set({selectorKey:e,atomKey:t.key}),n.logger.info("\uD83D\uDD0D","selector",e,`discovers root atom "${t.key}"`);else{const r=Ge(t.key,o,n);n.logger.info("\uD83D\uDD0D","selector",e,`discovers root atoms: [ ${r.map((a)=>`"${a}"`).join(", ")} ]`);for(let a of r)i.selectorAtoms=i.selectorAtoms.set({selectorKey:e,atomKey:a})}o.add(t.key)};var _e=(e,t,o)=>({get:(...n)=>{const i=y(o);let r;if(n.length===2){const[l,c]=n;switch(l.type){case"molecule_family":return _(o,l,c);default:if(o.config.lifespan==="ephemeral")r=h(o,l,c);else{const m=$(o,l,c);if(m)r=m;else throw new N(l,c,o)}}}else[r]=n;if(r.type==="molecule")return _(o,r);const a=d(r,o),s=ie(a,o);return o.logger.info("\uD83D\uDD0C","selector",e,`registers dependency ( "${r.key}" =`,s,")"),i.selectorGraph.set({upstreamSelectorKey:r.key,downstreamSelectorKey:e},{source:r.key}),vt(e,r,t,o),s},set:(...n)=>{let i,r;if(n.length===2)i=n[0],r=n[1];else{const l=n[0],c=n[1];r=n[2];const m=o.config.lifespan==="ephemeral"?h(o,l,c):$(o,l,c);if(!m)throw new N(l,c,o);i=m}const a=y(o),s=d(i,a);Oe(s,r,a)},find:(n,i)=>h(o,n,i),seek:(n,i)=>$(o,n,i),json:(n)=>V(o,n)});var Fe=(e,t,o)=>{const n=y(e),i=new x,r=new Set,{get:a,find:s,seek:l,json:c}=_e(t.key,r,n),m=()=>{const v=t.get({get:a,find:s,seek:l,json:c});return q(t.key,v,i,y(e)),r.clear(),v},u={...t,subject:i,install:(v)=>Fe(v,t,o),get:m,type:"readonly_selector",...o&&{family:o}};n.readonlySelectors.set(t.key,u);const F=m();e.logger.info("\u2728",u.type,u.key,"=",F);const C={key:t.key,type:"readonly_selector"};if(o)C.family=o;return C};var Me=(e,t,o)=>{const n=y(e),i=new x,r=new Set,a=_e(t.key,r,n),{find:s,get:l,seek:c,json:m}=a,u={find:s,get:l,seek:c,json:m},F=(I=t.get,W=y(e))=>{const w=I(u);return q(t.key,w,i,W),r.clear(),w},v={...t,subject:i,install:(I)=>Me(I,t,o),get:F,set:(I)=>{const W=y(e),w=F(t.get,W),L=$e(I)(w);if(e.logger.info("\uD83D\uDCDD","selector",t.key,"set (",w,"->",L,")"),q(t.key,L,i,W),Te(W,t.key),E(W))i.next({newValue:L,oldValue:w});t.set(a,L)},type:"selector",...o&&{family:o}};n.selectors.set(t.key,v);const G=F();e.logger.info("\u2728",v.type,v.key,"=",G);const S={key:t.key,type:"selector"};if(o)S.family=o;return S};function be(e,t){if("set"in t){const i=Me(e,t,void 0);return e.on.selectorCreation.next(i),i}const n=Fe(e,t,void 0);return e.on.selectorCreation.next(n),n}function It(e,t){const o=y(t),{key:n}=e,i=d(e,o);if(!i.family)t.logger.error("\u274C","selector",n,"Standalone selectors cannot be disposed.");else{const r=o.molecules.get(i.family.subKey);if(r)r.tokens.delete(n);switch(e.type){case"selector":o.selectors.delete(n),d({key:i.family.key,type:"selector_family"},t).subject.next({type:"state_disposal",token:e});break;case"readonly_selector":o.readonlySelectors.delete(n),d({key:i.family.key,type:"readonly_selector_family"},t).subject.next({type:"state_disposal",token:e});break}if(o.valueMap.delete(n),o.selectorAtoms.delete(n),o.selectorGraph.delete(n),t.logger.info("\uD83D\uDD25",e.type,n,"deleted"),R(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:e});else t.on.selectorDisposal.next(e)}}function le(e,t,o){const n={key:t.key,type:"readonly_selector_family"},i=e.families.get(t.key);if(i)e.logger.error("\u2757","readonly_selector_family",t.key,`Overwriting an existing ${Q(i)} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new x,s=Object.assign((l)=>{const c=k(l),m={key:t.key,subKey:c},u=`${t.key}(${c})`,F=y(e),C=Fe(F,{key:u,get:t.get(l)},m);return r.next({type:"state_creation",token:C}),C},n,{internalRoles:o,subject:r,install:(l)=>le(l,t),default:(l)=>{return t.get(l)({get:(...m)=>_(e,...m),find:(m,u)=>h(e,m,u),seek:(m,u)=>$(e,m,u),json:(m)=>V(e,m)})}});return e.families.set(t.key,s),n}function Re(e,t,o){const n={key:t.key,type:"selector_family"},i=e.families.get(t.key);if(i)e.logger.error("\u2757","selector_family",t.key,`Overwriting an existing ${Q(i)} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new x,s=Object.assign((l)=>{const c=k(l),m={key:t.key,subKey:c},u=`${t.key}(${c})`,F=y(e),C=Me(F,{key:u,get:t.get(l),set:t.set(l)},m);return r.next({type:"state_creation",token:C}),C},n,{internalRoles:o,subject:r,install:(l)=>Re(l,t),default:(l)=>{return t.get(l)({get:(...m)=>_(e,...m),find:(m,u)=>h(e,m,u),seek:(m,u)=>$(e,m,u),json:(m)=>V(e,m)})}});return e.families.set(t.key,s),n}function Ye(e,t){if("set"in t)return Re(e,t);return le(e,t)}function je(e,t){let o;o=d(e,t);const{family:n}=e;for(let a of o.joins.values())a.relations.delete(o.key),a.molecules.delete(o.stringKey);const i=[];for(let a of o.above.values())i.push(U(a));const r=[];for(let a of o.tokens.values()){const s=a.family;r.push([s.key,t.valueMap.get(a.key)])}if(n){const a=d(n,t),s={type:"molecule_disposal",token:e,family:n,context:i,values:r};if(e.family)s.family=e.family;for(let c of o.tokens.values())D(t,c);for(let c of o.below.values())if(c.family?.dependsOn==="all")je(c,t);else if(c.above.delete(o.stringKey),c.above.size===0)je(c,t);if(o.below.clear(),R(t)&&t.transactionMeta.phase==="building")t.transactionMeta.update.updates.push(s);else a.subject.next(s);t.molecules.delete(o.stringKey)}for(let a of o.above.values())a.below.delete(o.stringKey)}function Wt(e,t){const o=new x,n={type:"molecule_family",key:t.key,dependsOn:t.dependsOn??"all"},i={...n,subject:o,new:t.new};return e.moleculeFamilies.set(t.key,i),n}function Z(e,t,o){const n=te(o,t,e.key);e.tokens.set(n.key,n);const i=R(o)&&o.transactionMeta.phase==="building",r=o.moleculeInProgress===e.key;if(!i&&!r)e.subject.next({type:"state_creation",token:n});return n}class z extends Set{mode="record";subject=new x;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(e,t=0){super(e);if(e instanceof z)this.parent=e,this.cacheUpdateNumber=e.cacheUpdateNumber;if(t)this.cacheLimit=t,this.cache=new Array(t),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(e){const t=new z(e.members,e.cacheLimit);return t.cache=e.cache,t.cacheIdx=e.cacheIdx,t.cacheUpdateNumber=e.cacheUpdateNumber,t}add(e){const t=super.add(e);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${k(e)}`);return t}clear(){const e=this.mode==="record"?[...this]:null;if(super.clear(),e)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(e)}`)}delete(e){const t=super.delete(e);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${k(e)}`);return t}parent;child=null;transactionUpdates=null;transaction(e){this.mode="transaction",this.transactionUpdates=[],this.child=new z(this);const t=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(e(this.child)){for(let n of this.transactionUpdates)this.doStep(n);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.error("Failed to apply transaction to SetRTX:",o),o}finally{t(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(e,t){return this.subject.subscribe(e,t)}subscribe(e,t){return this.subject.subscribe(e,(o)=>{t(`${this.cacheUpdateNumber}=${o}`)})}emit(e){this.subject.next(e)}doStep(e){const t=e.indexOf(":"),o=e.substring(0,t),n=e.substring(t+1);switch(o){case"add":this.add(JSON.parse(n));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(n));break;case"tx":for(let i of n.split(";"))this.doStep(i)}}getUpdateNumber(e){const t=e.indexOf("=");return Number(e.substring(0,t))}do(e){const t=e.indexOf("="),o=Number(e.substring(0,t)),n=o-this.cacheUpdateNumber;if(n>0){if(n===1){this.mode="playback";const r=e.substring(t+1);return this.doStep(r),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(n)<this.cacheLimit){const r=this.cacheIdx+n;if(this.cache[r]===e)return null;this.mode="playback";let s=!1;while(!s){this.cacheIdx%=this.cacheLimit;const c=this.cache[this.cacheIdx];if(this.cacheIdx--,!c)return"OUT_OF_RANGE";this.undo(c),s=this.cacheIdx===r-1}const l=e.substring(t+1);return this.doStep(l),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(e){const t=e.indexOf(":"),o=e.substring(0,t),n=e.substring(t+1);switch(o){case"add":this.delete(JSON.parse(n));break;case"del":this.add(JSON.parse(n));break;case"clear":{const i=JSON.parse(n);for(let r of i)this.add(r);break}case"tx":{const i=n.split(";");for(let r=i.length-1;r>=0;r--)this.undoStep(i[r])}}}undo(e){const t=e.indexOf("=");if(Number(e.substring(0,t))===this.cacheUpdateNumber){this.mode="playback";const n=e.substring(t+1);return this.undoStep(n),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function O(e){return e[0].toUpperCase()+e.slice(1)}function Be(e,t,o=K.STORE){return et(o).set(e.key,new ot(e,t,o)),{key:e.key,type:"join",a:e.between[0],b:e.between[1],cardinality:e.cardinality}}function et(e){if("joins"in e&&e.joins instanceof Map)return e.joins;const t=new Map;return e.joins=t,t}function Ce(e,t){const o=et(t);let n=o.get(e.key);if(n===void 0){if(n=et(K.STORE).get(e.key)?.in(t),n===void 0)throw new Error(`Join "${e.key}" not found in store "${t.config.name}"`);o.set(e.key,n)}return n}function _t(e,t,o){const n=Ce(e,o);let i;switch(e.cardinality){case"1:1":{const r=`${e.a}KeyOf${O(e.b)}`,a=`${e.b}KeyOf${O(e.a)}`;i={get[r](){const l=n.states[r];return n.retrieve(l,t)},get[a](){const l=n.states[a];return n.retrieve(l,t)}};const s=`${e.a}EntryOf${O(e.b)}`;if(s in n.states){const l=`${e.b}EntryOf${O(e.a)}`;Object.assign(i,{get[s](){const c=n.states[s];return n.retrieve(c,t)},get[l](){const c=n.states[l];return n.retrieve(c,t)}})}break}case"1:n":{const r=`${e.a}KeyOf${O(e.b)}`,a=`${e.b}KeysOf${O(e.a)}`;i={get[r](){const l=n.states[r];return n.retrieve(l,t)},get[a](){const l=n.states[a];return n.retrieve(l,t)}};const s=`${e.a}EntryOf${O(e.b)}`;if(s in n.states){const l=`${e.b}EntriesOf${O(e.a)}`;Object.assign(i,{get[s](){const c=n.states[s];return n.retrieve(c,t)},get[l](){const c=n.states[l];return n.retrieve(c,t)}})}break}case"n:n":{const r=`${e.a}KeysOf${O(e.b)}`,a=`${e.b}KeysOf${O(e.a)}`;i={get[r](){const l=n.states[r];return n.retrieve(l,t)},get[a](){const l=n.states[a];return n.retrieve(l,t)}};const s=`${e.a}EntriesOf${O(e.b)}`;if(s in n.states){const l=`${e.b}EntriesOf${O(e.a)}`;Object.assign(i,{get[s](){const c=n.states[s];return n.retrieve(c,t)},get[l](){const c=n.states[l];return n.retrieve(c,t)}})}}}return i}function jt(e,t){return _t(e,t,K.STORE)}function Ee(e,t,o){const n=Ce(e,o),i=y(o);if(R(i)){const{toolkit:r}=i.transactionMeta;n.transact(r,({relations:a})=>{t(a)})}else t(n.relations)}function ro(e,t){return Ce(e,t).core.findRelatedKeysState}function Bt(e){return ro(e,K.STORE)}class ot{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(e,t){const o=this.toolkit;this.toolkit=e,t(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(e){const t=e.config.name,o=this.alternates.get(t);if(o)return o;const n=new ot(this.options,this.defaultContent,e);return this.alternates.set(t,n),n.alternates=this.alternates,n}constructor(e,t,o=K.STORE){this.store=o,this.options=e,this.defaultContent=t,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${e.key}`,this),this.retrieve=(f,p)=>{const b=this.toolkit.seek(f,p);if(b)return b;const g=this.molecules.get(k(p));if(g){const A=d(f,o);return Z(g,A,o)}if(o.config.lifespan==="immortal")throw new N(f,p,o);return te(o,f,p)},this.toolkit={get:(...f)=>_(o,...f),set:(...f)=>{j(o,...f)},find:this.retrieve,seek:(...f)=>$(o,...f),json:(f)=>V(o,f),dispose:(...f)=>{D(o,...f)}};const n=e.between[0],i=e.between[1],r=Ae(o,{key:`${e.key}/relatedKeys`,default:()=>new z,mutable:!0,fromJson:(f)=>z.fromJSON(f),toJson:(f)=>f.toJSON()},["join","relations"]);this.core={findRelatedKeysState:r};const a=({get:f},p)=>f(this.retrieve(r,p)),s=(f,p,b)=>{const{set:g}=f,A=this.retrieve(r,p),T=this.retrieve(r,b);g(A,(M)=>M.add(b)),g(T,(M)=>M.add(p))},l=(f,p,b)=>{const{set:g}=f,A=this.retrieve(r,p),T=this.retrieve(r,b);let M,J;g(A,(B)=>{if(B.delete(b),B.size===0)M=`"${p}"`;return B}),g(T,(B)=>{if(B.delete(p),B.size===0)J=`"${b}"`;return B})},c=(f,p,b)=>{const{get:g,set:A}=f,T=this.retrieve(r,p),M=g(T);for(let J of M){if(b.includes(J))continue;const ne=this.retrieve(r,J);A(ne,(ee)=>{return ee.delete(p),ee})}A(T,(J)=>{return J.transaction((B)=>{B.clear();for(let ne of b){const ee=a(f,ne),ut=ee.has(p);if(this.relations.cardinality==="1:n"){const Tt=[];for(let de of ee){if(de===p)continue;const Se=a(f,de);if(Se.delete(ne),Se.size===0)Tt.push(de)}if(!ut&&ee.size>0)ee.clear();for(let de of Tt){const Se=[ne,de].sort(),Zt=`"${Se[0]}:${Se[1]}"`;this.molecules.delete(Zt)}}if(!ut)ee.add(p);B.add(ne)}return!0}),J})},m=(f,p,b)=>{const{set:g}=f,A=this.retrieve(r,p);g(A,(T)=>{return T.transaction((M)=>{for(let J of b)M.add(J);return!0}),T});for(let T of b){const M=this.retrieve(r,T);g(M,(J)=>{return J.add(p),J})}return!0},u=(f,p,b)=>{const g=a(f,p);return b?g.has(b):g.size>0},F={getRelatedKeys:(f)=>a(this.toolkit,f),addRelation:(f,p)=>{s(this.toolkit,f,p)},deleteRelation:(f,p)=>{l(this.toolkit,f,p)},replaceRelationsSafely:(f,p)=>{c(this.toolkit,f,p)},replaceRelationsUnsafely:(f,p)=>{m(this.toolkit,f,p)},has:(f,p)=>u(this.toolkit,f,p)};let C,v,G;if(t){v=re(o,{key:`${e.key}/content`,default:t},["join","content"]);const f={key:e.key,type:"join",a:e.between[0],b:e.between[1],cardinality:e.cardinality};G=Wt(o,{key:`${e.key}/content-molecules`,new:class T{J;constructor(M,J){this.key=J}}});const p=({get:T},M)=>T(this.retrieve(v,M)),b=({set:T},M,J)=>{T(this.retrieve(v,M),J)},g=(T,M)=>{const J=o.molecules.get(`"${M}"`);if(J)this.toolkit.dispose(J),this.molecules.delete(`"${M}"`)};C=Object.assign(F,{getContent:(T)=>{return p(this.toolkit,T)},setContent:(T,M)=>{b(this.toolkit,T,M)},deleteContent:(T)=>{g(this.toolkit,T)}})}else C=F;const S=new X(e,{externalStore:C,makeContentKey:(...f)=>{const p=f.sort(),b=`${p[0]}:${p[1]}`,[g,A]=p.map((T)=>this.molecules.get(k(T)));if(o.config.lifespan==="immortal"&&g&&A){const T=y(o),M=oe(T,[g,A],G,b);this.molecules.set(`"${b}"`,d(M,T))}return b}}),I=()=>le(o,{key:`${e.key}/singleRelatedKey`,get:(f)=>({get:p})=>{const b=this.retrieve(r,f),g=p(b);for(let A of g)return A;return null}},["join","keys"]),W=()=>{return le(o,{key:`${e.key}/multipleRelatedKeys`,get:(f)=>({get:p})=>{const b=tt(r,o),g=this.retrieve(b,f);return p(g).members}},["join","keys"])},w=()=>le(o,{key:`${e.key}/singleRelatedEntry`,get:(f)=>({get:p})=>{const b=this.retrieve(r,f),g=p(b);for(let A of g){const T=S.makeContentKey(f,A),M=this.retrieve(v,T),J=p(M);return[A,J]}return null}},["join","entries"]),L=()=>le(o,{key:`${e.key}/multipleRelatedEntries`,get:(f)=>({get:p})=>{const b=tt(r,o),g=this.retrieve(b,f);return p(g).members.map((T)=>{const M=S.makeContentKey(f,T),J=this.retrieve(v,M),B=p(J);return[T,B]})}},["join","entries"]);switch(e.cardinality){case"1:1":{const f=I(),p=`${n}KeyOf${O(i)}`,b=`${i}KeyOf${O(n)}`,g={[p]:f,[b]:f};let A;if(t){const T=w(),M=`${n}EntryOf${O(i)}`,J=`${i}EntryOf${O(n)}`,B={[M]:T,[J]:T};A=Object.assign(g,B)}else A=g;this.relations=S,this.states=A;break}case"1:n":{const f=I(),p=W(),b=`${n}KeyOf${O(i)}`,g=`${i}KeysOf${O(n)}`,A={[b]:f,[g]:p};let T;if(t){const M=w(),J=L(),B=`${n}EntryOf${O(i)}`,ne=`${i}EntriesOf${O(n)}`,ee={[B]:M,[ne]:J};T=Object.assign(A,ee)}else T=A;this.relations=S,this.states=T;break}default:{const f=W(),p=`${n}KeysOf${O(i)}`,b=`${i}KeysOf${O(n)}`,g={[p]:f,[b]:f};let A;if(t){const T=L(),M=`${n}EntriesOf${O(i)}`,J=`${i}EntriesOf${O(n)}`,B={[M]:T,[J]:T};A=Object.assign(g,B)}else A=g;this.relations=S,this.states=A}}}}function ze(e){return{store:e}}class Pe{t;type="molecule";stringKey;family;subject=new x;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(e,t,o){this.key=t;if(this.stringKey=k(t),o)this.family=o;if(e)if(Array.isArray(e))for(let n of e)this.above.set(n.stringKey,n);else this.above.set(e.stringKey,e)}}function Et(e){return e[0].toUpperCase()+e.slice(1)}function oe(e,t,o,n,...i){const r=dt(e),a=y(e),s=k(n);a.moleculeInProgress=s;const l=Array.isArray(t)?t:[t],c=l.map((S)=>{if(S instanceof Pe)return S;const I=k(S.key),W=e.molecules.get(I);if(!W)throw new Error(`Molecule ${I} not found in store "${e.config.name}"`);return W}),m=new Pe(c,n,o);a.molecules.set(s,m);for(let S of c)S.below.set(m.stringKey,m);const u={get:(...S)=>_(y(r),...S),set:(...S)=>{j(y(r),...S)},seek:(S,I)=>$(y(r),S,I),json:(S)=>V(y(r),S),run:(S,I=fe())=>ye(S,I,y(e)),make:(S,I,W,...w)=>oe(y(r),S,I,W,...w),dispose:(S)=>{D(y(r),S)},env:()=>ze(y(r)),bond:(S,I)=>{if(S.type==="join"){const{as:W}=I,w=Ce(S,r);w.molecules.set(s,m),m.joins.set(S.key,w);const L=F.subject.subscribe(`join:${S.key}-${s}`,(T)=>{if(T.type==="molecule_disposal"&&k(T.token.key)===s)L(),w.molecules.delete(s)});if(W===null)return;const f=S.a===W?S.b:S.a,p=jt(S,n),b=p[`${f}KeysOf${Et(W)}`],g=p[`${f}EntriesOf${Et(W)}`];let A={relatedKeys:b};if(g)A=Object.assign(A,{relatedEntries:g});return A}return Z(m,d(S,r),y(r))},claim:(S,I)=>{const{exclusive:W}=I,w=y(e).molecules.get(k(S.key));if(w)if(W){for(let L of w.above.values())L.below.delete(w.stringKey);w.above.clear(),w.above.set(m.stringKey,m),m.below.set(w.stringKey,w)}else w.above.set(m.stringKey,m),m.below.set(w.stringKey,w)},spawn:(S,I,...W)=>oe(y(e),[m],d(S,e),I,...W)},F=d(o,e),C=F.new;m.instance=new C(u,n,...i);const v={type:"molecule",key:n,family:o},G={type:"molecule_creation",token:v,family:o,context:l,params:i};if(E(a))F.subject.next(G);else if(R(a)&&a.on.transactionApplying.state===null)a.transactionMeta.update.updates.push(G);return a.moleculeInProgress=null,v}function te(e,t,o){const n=e.families.get(t.key);if(n===void 0)throw new N(t,e);const i=n(o),r=y(e);if(i.family&&r.moleculeInProgress===null){if(E(r))switch(i.type){case"atom":case"mutable_atom":e.on.atomCreation.next(i);break;case"selector":case"readonly_selector":e.on.selectorCreation.next(i);break}else if(R(r)&&r.on.transactionApplying.state===null)r.transactionMeta.update.updates.push({type:"state_creation",token:i})}return i}function $(e,t,o){const n=k(o),i=`${t.key}(${n})`,r=y(e);let a;switch(t.type){case"atom_family":case"mutable_atom_family":a=r.atoms.get(i);break;case"selector_family":a=r.selectors.get(i);break;case"readonly_selector_family":a=r.readonlySelectors.get(i);break;case"molecule_family":a=r.molecules.get(k(o))}if(a)return U(a);return a}function h(e,t,o){let n=$(e,t,o);if(n)return n;const i=e.molecules.get(k(o));if(i)return Z(i,t,e);if(e.config.lifespan==="immortal"){const r=pe(t,o);return e.logger.error("\u274C",r.type,r.key,`was not found in store "${e.config.name}"; returned a counterfeit token.`),r}return n=te(e,t,o),n}function D(e,...t){let o,n;if(t.length===1)o=t[0],n=o.key;else{const r=t[0],a=t[1];o=r.type==="molecule_family"?$(e,r,a)??pe(r,a):h(e,r,a)}try{d(o,e)}catch(r){const a=e.disposalTraces.buffer.find((s)=>s?.key===o.key);e.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${e.config.name}".`,a?`\n This state was most recently disposed\n${a.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":nt(o,e);break;case"selector":case"readonly_selector":It(o,e);break;case"molecule":je(o,e);break}const{stack:i}=new Error;if(i){const r=i?.split("\n")?.slice(3)?.join("\n");e.disposalTraces.add({key:o.key,trace:r})}}function j(e,...t){let o,n,i,r;if(t.length===2){if(o=t[0],r=t[1],n=ve(e,o)??null,n)i=o.family?P(o.family.subKey):null,o=h(e,n,i)}else n=t[0],i=t[1],r=t[2],o=h(e,n,i);if("counterfeit"in o){const l=e.disposalTraces.buffer.find((c)=>c?.key===o.key);e.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${e.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found.");return}const a=xt(e,o);if(a){const l=e.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${a}`,()=>{l(),e.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${a}`),j(e,o,r)});return}const s=d(o,e);Oe(s,r,e),At(e)}function Ve(e,t,o){const{key:n,newValue:i,oldValue:r}=t,a=e==="newValue"?i:r,s={key:n,type:"atom"};if(t.family)Object.assign(s,{family:t.family});j(o,s,a)}function it(e,t,o){switch(t){case"newValue":{zt(e,o);break}case"oldValue":{D(o,e.token);break}}}function rt(e,t,o){switch(t){case"newValue":{D(o,e.token);break}case"oldValue":{zt(e,o),o.valueMap.set(e.token.key,e.value);break}}}function zt(e,t){const{family:o}=e.token;if(o){const n=t.families.get(o.key);if(n)h(t,n,P(o.subKey))}}function at(e,t,o){switch(t){case"newValue":oe(o,e.context,e.family,e.token.key,...e.params);break;case"oldValue":D(o,e.token);break}}function lt(e,t,o){switch(t){case"newValue":D(o,e.token);break;case"oldValue":{const n=oe(o,e.context,e.family,e.token.key);for(let[i,r]of e.values){const a=`${i}(${k(n.key)})`,s=d(n,o),l=s.tokens.has(a),c=o.families.get(i);if(c&&!l)Z(s,c,o);o.valueMap.set(a,r)}}break}}function Ne(e,t,o){const n=e==="newValue"?t.updates:[...t.updates].reverse();for(let i of n)switch(i.type){case"atom_update":case"selector_update":Ve(e,i,o);break;case"state_creation":it(i,e,o);break;case"state_disposal":rt(i,e,o);break;case"molecule_creation":at(i,e,o);break;case"molecule_disposal":lt(i,e,o);break;case"transaction_update":Ne(e,i,o);break}}function Pt(e,t,o){if(!E(o))return;const i=o.transactionMeta.actionContinuities.getRelatedKey(e);if(i!==void 0)o.transactionMeta.epoch.set(i,t)}var Vt=(e,t)=>{const o=y(t),{parent:n}=o;if(n===null||!R(o)||o.transactionMeta?.phase!=="building"){t.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}o.transactionMeta.phase="applying",o.transactionMeta.update.output=e,n.child=null,n.on.transactionApplying.next(o.transactionMeta);const{updates:i}=o.transactionMeta.update;if(t.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${i.length} updates:`,i),Ne("newValue",o.transactionMeta.update,n),E(n))Pt(o.transactionMeta.update.key,o.transactionMeta.update.epoch,n),d({key:o.transactionMeta.update.key,type:"transaction"},t)?.subject.next(o.transactionMeta.update),t.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(R(n))n.transactionMeta.update.updates.push(o.transactionMeta.update);n.on.transactionApplying.next(null)};class Y extends Map{e;deleted=new Set;constructor(e){super();this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e))return this.source.get(e);return}set(e,t){return this.deleted.delete(e),super.set(e,t)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.deleted.add(e),super.delete(e)}}var Nt=(e,t,o,n)=>{const i=y(o),r={parent:i,child:null,on:i.on,loggers:i.loggers,logger:i.logger,config:i.config,atoms:new Y(i.atoms),atomsThatAreDefault:new Set(i.atomsThatAreDefault),families:new Y(i.families),operation:{open:!1},readonlySelectors:new Y(i.readonlySelectors),timelines:new Y(i.timelines),timelineTopics:new X(i.timelineTopics.toJSON()),trackers:new Map,transactions:new Y(i.transactions),selectorAtoms:new X(i.selectorAtoms.toJSON()),selectorGraph:new X(i.selectorGraph.toJSON(),{makeContentKey:(...c)=>c.sort().join(":")}),selectors:new Y(i.selectors),valueMap:new Y(i.valueMap),defaults:i.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new Y(i.molecules),moleculeFamilies:new Y(i.moleculeFamilies),moleculeInProgress:i.moleculeInProgress,miscResources:new Y(i.miscResources)},a=Xt(e,o),s={phase:"building",update:{type:"transaction_update",key:e,id:n,epoch:a===void 0?Number.NaN:a+1,updates:[],params:t,output:void 0},toolkit:{get:(...c)=>_(l,...c),set:(...c)=>{j(l,...c)},run:(c,m=fe())=>ye(c,m,l),find:(c,m)=>h(l,c,m),seek:(c,m)=>$(l,c,m),json:(c)=>V(l,c),make:(c,m,u,...F)=>oe(l,c,m,u,...F),dispose:(...c)=>{D(l,...c)},env:()=>ze(l)}},l=Object.assign(r,{transactionMeta:s});return i.child=l,o.logger.info("\uD83D\uDEEB","transaction",e,"Building transaction with params:",t),l};function Le(e,t){const o={key:e.key,type:"transaction",run:(r,a)=>{const s=Nt(e.key,r,t,a);try{const l=y(t),{toolkit:c}=s.transactionMeta,m=e.do(c,...r);return Vt(m,l),m}catch(l){throw bt(n),t.logger.warn("\uD83D\uDCA5","transaction",e.key,"caught:",l),l}},install:(r)=>Le(e,r),subject:new x},n=y(t);n.transactions.set(o.key,o);const i=U(o);return t.on.transactionCreation.next(i),i}function Xt(e,t){const o=E(t),n=o?t.transactionMeta.actionContinuities.getRelatedKey(e):void 0;return o&&n!==void 0?t.transactionMeta.epoch.get(n):void 0}class Xe{_buffer;_index=0;constructor(e){let t;if(typeof e==="number")t=e;else t=e.length;this._buffer=Array.from({length:t})}get buffer(){return this._buffer}get index(){return this._index}add(e){this._buffer[this._index]=e,this._index=(this._index+1)%this._buffer.length}copy(){const e=new Xe([...this._buffer]);return e._index=this._index,e}}class Dt{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new X({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new X({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new X({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new X({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new Xe(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new x,atomDisposal:new x,selectorCreation:new x,selectorDisposal:new x,timelineCreation:new x,transactionCreation:new x,transactionApplying:new Qe(null),operationClose:new x,moleculeCreationStart:new x,moleculeCreationDone:new x,moleculeDisposal:new x};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new qe("warn",(e,t,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...e)=>{for(let t of this.loggers)t.error(...e)},info:(...e)=>{for(let t of this.loggers)t.info(...e)},warn:(...e)=>{for(let t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){if(this.valueMap=new Map(t?.valueMap),this.operation={...t?.operation},E(t))this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new X(t?.transactionMeta.actionContinuities.toJSON())};for(let[,n]of t.families){if(n.internalRoles?.includes("mutable")||n.internalRoles?.includes("join"))continue;n.install(this)}const o=new Set;for(let[,n]of t.atoms){if(o.has(n.key))continue;if(n.install(this),n.type==="mutable_atom"){const i=V(t,n),r=se(n);o.add(i.key),o.add(r.key)}}for(let[,n]of t.readonlySelectors)n.install(this);for(let[,n]of t.selectors){if(o.has(n.key))continue;n.install(this)}for(let[,n]of t.transactions)n.install(this);for(let[,n]of t.timelines)n.install(this)}}}var K={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new Dt({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function d(e,t){let o,n=t;while(n!==null){switch(e.type){case"atom":case"mutable_atom":o=n.atoms.get(e.key);break;case"selector":o=n.selectors.get(e.key);break;case"readonly_selector":o=n.readonlySelectors.get(e.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=n.families.get(e.key);break;case"timeline":o=n.timelines.get(e.key);break;case"transaction":o=n.transactions.get(e.key);break;case"molecule":o=n.molecules.get(k(e.key));break;case"molecule_family":o=n.moleculeFamilies.get(e.key);break}if(o)return o;n=n.child}throw new N(e,t)}var Ht=(e,t)=>{const o=y(t);if(o.operation.open)return o.operation.prev.get(e.key);return o.valueMap.get(e.key)};var ct=(e,t)=>{const o=y(t);return Ot(e,t).map((i)=>{const r=o.atoms.get(i);if(r===void 0)throw new Error(`Atom "${i}", a dependency of selector "${e.key}", not found in store "${t.config.name}".`);return r.subject.subscribe(`${e.type}:${e.key}`,(a)=>{t.logger.info("\uD83D\uDCE2",e.type,e.key,"root",i,"went",a.oldValue,"->",a.newValue);const s=Ht(e,o),l=ie(e,o);t.logger.info("\u2728",e.type,e.key,"went",s,"->",l),e.subject.next({newValue:l,oldValue:s})})})};function H(e,t,o,n){function i(u){if(n.operation.open){const F=n.on.operationClose.subscribe(`state subscription ${o}`,()=>{F(),t(u)})}else t(u)}const r=d(e,n);n.logger.info("\uD83D\uDC40",r.type,r.key,`Adding subscription "${o}"`);const a=r.type==="selector"||r.type==="readonly_selector";let s=null,l=i;if(a)s=ct(r,n),l=(u)=>{if(s)s.length=0,s.push(...ct(r,n));i(u)};const c=r.subject.subscribe(o,l);return()=>{if(n.logger.info("\uD83D\uDE48",r.type,r.key,`Removing subscription "${o}"`),c(),s)for(let u of s)u()}}var st=(e,t,o,n)=>{const i=d(e,n);n.logger.info("\uD83D\uDC40","timeline",e.key,`Adding subscription "${o}"`);const r=i.subject.subscribe(o,t);return()=>{n.logger.info("\uD83D\uDE48","timeline",e.key,`Removing subscription "${o}" from timeline`),r()}};class ce{Update;initializeState(e,t){const o=`*${e.key}`;t.atoms.delete(o),t.valueMap.delete(o);const n=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,i=ae(t,{key:o,default:null},n);if(t.parent?.valueMap.has(o)){const r=t.parent.valueMap.get(o);t.valueMap.set(o,r)}return i}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(e,t,o){const n=`tracker:${o.config.name}:${R(o)?o.transactionMeta.update.key:"main"}:${e.key}`,i=_(o,e);this.unsubscribeFromInnerValue=i.subscribe(n,(r)=>{j(o,t,r)}),this.unsubscribeFromState=H(e,(r)=>{if(r.newValue!==r.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=r.newValue.subscribe(n,(a)=>{j(o,t,a)})},n,o)}updateCore(e,t,o){const n=`tracker:${o.config.name}:${R(o)?o.transactionMeta.update.key:"main"}:${e.key}`;H(t,({newValue:i,oldValue:r})=>{const a=o.timelineTopics.getRelatedKey(t.key);if(a){if(o.timelines.get(a)?.timeTraveling){const c=st({key:a,type:"timeline"},(m)=>{c(),j(o,e,(u)=>{if(m==="redo"&&i)u.do(i);else if(m==="undo"&&r)u.undo(r);return u})},n,o);return}}const s=o.on.operationClose.subscribe(n,()=>{s();const l=_(o,e),c=i===null?-1:l.getUpdateNumber(i),m=c-l.cacheUpdateNumber;if(i&&m===1)j(o,e,(u)=>(u.do(i),u));else o.logger.info("\u274C","mutable_atom",e.key,`could not be updated. Expected update number ${l.cacheUpdateNumber+1}, but got ${c}`)})},n,o)}mutableState;latestUpdateState;dispose;constructor(e,t){this.mutableState=e;const o=y(t);this.latestUpdateState=this.initializeState(e,o),this.observeCore(e,this.latestUpdateState,o),this.updateCore(e,this.latestUpdateState,o),o.trackers.set(e.key,this),this.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(e.key)}}}function Ke(e,t,o){e.logger.info("\uD83D\uDD28","atom",t.key,`creating in store "${e.config.name}"`);const n=y(e),i=n.atoms.get(t.key);if(i&&i.type==="mutable_atom")return e.logger.error("\u274C","atom",t.key,"Tried to create atom, but it already exists in the store."),U(i);const r=new x,a={...t,type:"mutable_atom",install:(c)=>{return c.logger.info("\uD83D\uDEE0\uFE0F","atom",t.key,`installing in store "${c.config.name}"`),Ke(c,t,o)},subject:r};if(o)a.family=o;const s=t.default();n.atoms.set(a.key,a),De(t.key,e),q(t.key,s,r,n);const l=U(a);if(t.effects){let c=0;const m=[];for(let u of t.effects){const F=u({setSelf:(C)=>{j(e,l,C)},onSet:(C)=>H(l,C,`effect[${c}]`,e)});if(F)m.push(F);++c}a.cleanup=()=>{for(let u of m)u()}}if(new ce(l,e),!o)Ut(l,t,e);return l}class mt{Update;latestUpdateAtoms;mutableAtoms;constructor(e,t){const o=re(t,{key:`*${e.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=d(o,t),this.mutableAtoms=e,this.mutableAtoms.subject.subscribe(`store=${t.config.name}::tracker-atom-family`,(n)=>{if(n.token.family){const i=P(n.token.family.subKey);$(t,this.latestUpdateAtoms,i),new ce(n.token,t)}}),this.latestUpdateAtoms.subject.subscribe(`store=${t.config.name}::tracker-atom-family`,(n)=>{if(n.token.family){const i=P(n.token.family.subKey),r=$(t,this.mutableAtoms,i);if(r)new ce(r,t)}})}}function Ae(e,t,o){const n={key:t.key,type:"mutable_atom_family"},i=e.families.get(t.key);if(i)e.logger.error("\u2757","mutable_atom_family",t.key,`Overwriting an existing ${Q(i)} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new x,s=Object.assign((l)=>{const c=k(l),m={key:t.key,subKey:c},u=`${t.key}(${c})`,F=y(e),C={key:u,default:()=>t.default(l),toJson:t.toJson,fromJson:t.fromJson,mutable:!0};if(t.effects)C.effects=t.effects(l);const v=Ke(F,C,m);return r.next({type:"state_creation",token:v}),v},n,{subject:r,install:(l)=>Ae(l,t),toJson:t.toJson,fromJson:t.fromJson,internalRoles:o});return e.families.set(t.key,s),qt(s,t,e),new mt(s,e),n}var tt=(e,t)=>{const o=y(t),n=`${e.key}:JSON`;return o.families.get(n)};var V=(e,t)=>{if(t.family){const n=y(e),r={key:`${t.family.key}:JSON`,type:"selector_family"},a=d(r,n),s=JSON.parse(t.family.subKey);return h(e,a,s)}return{type:"selector",key:`${t.key}:JSON`}};var se=(e)=>{const o={type:"atom",key:`*${e.key}`};if(e.family)o.family={key:`*${e.family.key}`,subKey:e.family.subKey};return o};function Kt(e){return typeof e==="object"&&e!==null&&"do"in e&&"undo"in e&&"subscribe"in e}function xe(e,t,o){const n=t.valueMap.get(e.key),i=o.valueMap.get(e.key);if(n===i){if(n===void 0)return typeof e.default==="function"?e.default():e.default;t.logger.info("\uD83D\uDCC3","atom",e.key,"copying");const r=e.toJson(n),a=e.fromJson(r);return o.valueMap.set(e.key,a),new ce(e,t),a}return i}function q(e,t,o,n){const i=n.valueMap.get(e);if(i instanceof ke)i.use(t);if(t instanceof Promise){const r=new ke(t);return n.valueMap.set(e,r),r.then((a)=>{q(e,a,o,n),o.next({newValue:a,oldValue:r})}).catch((a)=>{n.logger.error("\uD83D\uDCA5","state",e,"rejected:",a)}),r}return n.valueMap.set(e,t),t}var gt=(e,t)=>{let o=t.valueMap.get(e.key);if(e.type==="mutable_atom"&&R(t)){const{parent:n}=t;o=xe(e,n,t)}return o},Rt=(e,t)=>{const o=t.valueMap.get(e);if(o instanceof ke){const n=o,i=t.selectors.get(e)??t.readonlySelectors.get(e);if(i)n.use(i.get());return}if(t.operation.open)t.operation.prev.set(e,o);t.valueMap.delete(e),t.logger.info("\uD83D\uDDD1","state",e,"evicted")};var wt=(e,t)=>{return y(t).atomsThatAreDefault.has(e)},De=(e,t)=>{const o=y(t);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(e)},ht=(e,t)=>{const o=y(t);o.atomsThatAreDefault=new Set(y(t).atomsThatAreDefault),o.atomsThatAreDefault.delete(e)};function ae(e,t,o){e.logger.info("\uD83D\uDD28","atom",t.key,`creating in store "${e.config.name}"`);const n=y(e),i=n.atoms.get(t.key);if(i&&i.type==="atom")return e.logger.error("\u274C","atom",t.key,"Tried to create atom, but it already exists in the store."),U(i);const r=new x,a={...t,type:"atom",install:(c)=>{return c.logger.info("\uD83D\uDEE0\uFE0F","atom",t.key,`installing in store "${c.config.name}"`),ae(c,t,o)},subject:r};if(o)a.family=o;let s=t.default;if(t.default instanceof Function)s=t.default();n.atoms.set(a.key,a),De(t.key,e),q(t.key,s,r,n);const l=U(a);if(t.effects){let c=0;const m=[];for(let u of t.effects){const F=u({setSelf:(C)=>{j(e,l,C)},onSet:(C)=>H(l,C,`effect[${c}]`,e)});if(F)m.push(F);++c}a.cleanup=()=>{for(let u of m)u()}}return l}function kt(e,t){if("mutable"in t){const i=Ke(e,t,void 0);return e.on.atomCreation.next(i),i}const n=ae(e,t,void 0);return e.on.atomCreation.next(n),n}function nt(e,t){const o=y(t),{key:n}=e,i=d(e,o);if(!i.family)t.logger.error("\u274C","atom",n,"Standalone atoms cannot be disposed.");else{i.cleanup?.();const r=t.valueMap.get(i.key);d({key:i.family.key,type:"atom_family"},t).subject.next({type:"state_disposal",token:e,value:r});const s=o.molecules.get(i.family.subKey);if(s)s.tokens.delete(n);if(o.atoms.delete(n),o.valueMap.delete(n),o.selectorAtoms.delete(n),o.atomsThatAreDefault.delete(n),o.timelineTopics.delete(n),e.type==="mutable_atom"){const l=se(e);nt(l,t),t.trackers.delete(n)}if(t.logger.info("\uD83D\uDD25","atom",n,"deleted"),R(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:e});else t.on.atomDisposal.next(e)}}var Ut=(e,t,o=K.STORE)=>{return be(o,{key:`${e.key}:JSON`,get:({get:n})=>t.toJson(n(e)),set:({set:n},i)=>{n(e,t.fromJson(i))}})};function qt(e,t,o=K.STORE){const n=Re(o,{key:`${e.key}:JSON`,get:(r)=>({seek:a,get:s})=>{const l=a(e,r);if(l)return t.toJson(s(l));const c=k(r),m=o.molecules.get(c);if(m){const F=Z(m,e,o);return t.toJson(s(F))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${c}"`);const u=te(o,e,r);return t.toJson(s(u))},set:(r)=>({seek:a,set:s},l)=>{const c=a(e,r);if(c)s(c,t.fromJson(l));else{const m=k(r),u=o.molecules.get(m);if(u){const F=Z(u,e,o);s(F,t.fromJson(l))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${m}"`);s(te(o,e,r),t.fromJson(l))}}}},["mutable","json"]);return d(e,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(r)=>{if(r.token.family)$(o,n,P(r.token.family.subKey))}),n}var P=(e)=>JSON.parse(e),k=(e)=>JSON.stringify(e),jm=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];class He{e;listeners;globalListeners;handleEvent(e,...t){for(let n of this.globalListeners)n(e,...t);const o=this.listeners.get(e);if(o)for(let n of o)n(...t)}id="no_id_retrieved";constructor(e){this.emit=e;this.listeners=new Map,this.globalListeners=new Set}on(e,t){const o=this.listeners.get(e);if(o)o.add(t);else this.listeners.set(e,new Set([t]));return this}onAny(e){return this.globalListeners.add(e),this}off(e,t){const o=this.listeners.get(e);if(o)if(t)o.delete(t);else this.listeners.delete(e);return this}offAny(e){return this.globalListeners.delete(e),this}}class Je extends He{e;t;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(e){if(Array.isArray(e)){const[t,...o]=e;switch(t){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(e,t,o=console){super((n,...i)=>{const r=JSON.stringify([n,...i])+"\x03",a=(s)=>{if(s.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",a)};return this.process.stdin.once("error",a),this.process.stdin.write(r),this});this.process=e;this.key=t;this.logger=o;if(this.process=e,this.process.stdout.on("data",(n)=>{const i=n.toString();if(i==="\u2728")return;this.unprocessedEvents.push(...i.split("\x03"));const r=this.unprocessedEvents.shift();this.incompleteData+=r??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let a=P(this.incompleteData);this.handleEvent(...a);while(this.unprocessedEvents.length>0){const s=this.unprocessedEvents.shift();if(s){if(this.unprocessedEvents.length===0)this.incompleteData=s;a=P(s),this.handleEvent(...a)}}this.incompleteData=""}catch(a){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(a)}}),this.process.stderr.on("data",(n)=>{const i=n.toString();this.unprocessedLogs.push(...i.split("\x03"));const r=this.unprocessedLogs.shift();this.incompleteLog+=r??"";try{let a=P(this.incompleteLog);this.handleLog(a);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)a=P(this.incompleteLog),this.handleLog(a)}catch(a){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(a),console.error("\u274C\u274C\u274C\uFE0F")}}),e.pid)this.id=e.pid.toString()}}class Yt extends Map{set(e,t){if(this.has(e))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:e,value:t}),this;return super.set(e,t)}clear(){throw new Error("Cannot clear an InvariantMap")}}class yt{e;type="continuity";globals=[];actions=[];perspectives=[];constructor(e){this.key=e}static existing=new Yt;static create(e,t){const o=new yt(e),{type:n,globals:i,actions:r,perspectives:a}=t(o),s={type:n,key:e,globals:i,actions:r,perspectives:a};return yt.existing.set(e,s),s}add(...e){switch(e[0].type){case"atom":case"mutable_atom":this.globals.push(...e);break;case"transaction":this.actions.push(...e);break;case"atom_family":{const[o,n]=e;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:n})}break}return this}}var yy=ue({key:"usersInRoomIndex",mutable:!0,default:()=>new z,toJson:(e)=>e.toJSON(),fromJson:(e)=>z.fromJSON(e)}),ft=ue({key:"roomIndex",default:()=>new z,mutable:!0,toJson:(e)=>e.toJSON(),fromJson:(e)=>z.fromJSON(e)}),lo={enteredAtEpoch:0},we=Be({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},lo),fy=he({key:"usersInMyRoomView",get:(e)=>({find:t})=>{const o=Bt(we);return[t(o,e)]}});import{spawn as so}from"child_process";var pt=me({key:"roomArguments",default:["echo",["Hello World!"]]}),Lt=he({key:"room",get:(e)=>async({get:t,find:o})=>{const n=o(pt,e),i=t(n),[r,a]=i,s=await new Promise((l)=>{const c=so(r,a,{env:process.env}),m=(u)=>{if(u.toString()==="\u2728")c.stdout.off("data",m),l(c)};c.stdout.on("data",m)});return new Je(s,e)}});var Cy=ge({key:"createRoom",do:({get:e,set:t,find:o},n,i,r)=>{const a=r?[i,r]:[i],s=o(pt,n);t(s,a),t(ft,(m)=>m.add(n));const l=o(Lt,n);return e(l)}}),Ky=ge({key:"joinRoom",do:(e,t,o,n)=>{const i={enteredAtEpoch:n};return Ee(we,(r)=>{r.set({room:t,user:o},i)},e.env().store),i}}),Jy=ge({key:"leaveRoom",do:(e,t,o)=>{Ee(we,(n)=>{n.delete({room:t,user:o})},e.env().store)}}),wy=ge({key:"destroyRoom",do:(e,t)=>{Ee(we,(o)=>{o.delete({room:t})},e.env().store),e.set(ft,(o)=>(o.delete(t),o))}});var Oy=me({key:"transactionRedactor",default:{occlude:(e)=>e}}),co=me({key:"unacknowledgedUpdates",default:()=>[]});var mo=me({key:"sockets",default:null}),jy=ue({key:"socketsIndex",mutable:!0,default:()=>new z,toJson:(e)=>e.toJSON(),fromJson:(e)=>z.fromJSON(e)}),By=ue({key:"usersIndex",mutable:!0,default:()=>new z,toJson:(e)=>e.toJSON(),fromJson:(e)=>z.fromJSON(e)}),yo=Be({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function Qt(e){const o=process.env.MODE==="development"?"ts":"js",n=e.endsWith(".bun")?"bun":"node",r=[po(import.meta.dir,`${e}.${o}`)];if(n==="node"&&o==="ts")r.push("--experimental-strip-types");const a=fo(n,r);return new Je(a,e,console)}console.log("hello world");var uo=Qt("backend.worker.game.bun");process.on("exit",()=>uo.process.kill());
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ // @bun
3
+ function fe(e=Math.random){return e().toString(36).slice(2)}class be extends Promise{fate;resolve;reject;done=!1;constructor(e){let t,o;super((n,i)=>{t=n,o=i});this.resolve=t,this.reject=o,this.use(e instanceof Promise?e:new Promise(e))}pass(e,t){if(e===this.fate)this.resolve(t),this.done=!0}fail(e,t){if(e===this.fate)this.reject(t),this.done=!0}use(e){if(e instanceof Promise){const t=e;this.fate=t,t.then((o)=>{this.pass(t,o)},(o)=>{this.fail(t,o)})}else this.resolve(e),this.fate=void 0}}function y(e){while(e.child!==null)e=e.child;return e}function St(e){while(e.parent!==null)e=e.parent;return e}function pe(e,t){const o=S(t),n=`${e.key}(${o})`,i=to[e.type],r={key:n,type:i};if(i==="molecule")Object.assign(r,{key:t,family:e});else Object.assign(r,{family:{key:e.key,subKey:o}});return Object.assign(r,{counterfeit:!0}),r}var to={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function U(e){const t={key:e.key,type:e.type};if("family"in e)t.family=e.family;return t}function ue(e){return bt(K.STORE,e)}function me(e){return kt(K.STORE,e)}var He=(e)=>(t,o,n,i,...r)=>{console[e](`${t} ${o} "${n}" ${i}`,...r)},oo={error:He("error"),info:He("info"),warn:He("warn")};class Ue{e;t;o;constructor(e,t,o=oo){this.logLevel=e;this.filter=t;this.logger=o}error=(...e)=>{if((this.filter?.(...e)??!0)&&this.logLevel!==null)this.logger.error(...e)};info=(...e)=>{if((this.filter?.(...e)??!0)&&this.logLevel==="info")this.logger.info(...e)};warn=(...e)=>{if((this.filter?.(...e)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...e)}}function he(e){return qe(K.STORE,e)}function xe(e){return Ye(e,K.STORE)}class X{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(e,t)=>`${e}:${t}`;getRelatedKeys(e){return this.relations.get(e)}addRelation(e,t){let o=this.relations.get(e),n=this.relations.get(t);if(o)o.add(t);else o=new Set([t]),this.relations.set(e,o);if(n)n.add(e);else n=new Set([e]),this.relations.set(t,n)}deleteRelation(e,t){const o=this.relations.get(e);if(o){if(o.delete(t),o.size===0)this.relations.delete(e);const n=this.relations.get(t);if(n){if(n.delete(e),n.size===0)this.relations.delete(t)}}}replaceRelationsUnsafely(e,t){this.relations.set(e,new Set(t));for(let o of t){const n=new Set([e]);this.relations.set(o,n)}}replaceRelationsSafely(e,t){const o=this.relations.get(e);if(o)for(let n of o){const i=this.relations.get(n);if(i){if(i.size===1)this.relations.delete(n);else i.delete(e);this.contents.delete(this.makeContentKey(e,n))}}this.relations.set(e,new Set(t));for(let n of t){let i=this.relations.get(n);if(i)i.add(e);else i=new Set([e]),this.relations.set(n,i)}}getContentInternal(e){return this.contents.get(e)}setContent(e,t){this.contents.set(e,t)}deleteContent(e){this.contents.delete(e)}constructor(e,t){if(this.a=e.between[0],this.b=e.between[1],this.cardinality=e.cardinality,!t?.externalStore)this.relations=new Map(e.relations?.map(([o,n])=>[o,new Set(n)])),this.contents=new Map(e.contents);if(this.isContent=t?.isContent??null,t?.makeContentKey)this.makeContentKey=t.makeContentKey;if(t?.externalStore){const o=t.externalStore;if(this.has=(n,i)=>o.has(n,i),this.addRelation=(n,i)=>{o.addRelation(n,i)},this.deleteRelation=(n,i)=>{o.deleteRelation(n,i)},this.replaceRelationsSafely=(n,i)=>{o.replaceRelationsSafely(n,i)},this.replaceRelationsUnsafely=(n,i)=>{o.replaceRelationsUnsafely(n,i)},this.getRelatedKeys=(n)=>o.getRelatedKeys(n),o.getContent)this.getContentInternal=(n)=>{return o.getContent(n)},this.setContent=(n,i)=>{o.setContent(n,i)},this.deleteContent=(n)=>{o.deleteContent(n)};for(let[n,i]of e.relations??[])for(let r of i)this.addRelation(n,r);for(let[n,i]of e.contents??[])this.setContent(n,i)}}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([e,t])=>[e,[...t]]),contents:[...this.contents.entries()]}}set(e,...t){const o=typeof t[0]==="string"?t[0]:e[this.b],n=t[1]??typeof t[0]==="string"?void 0:t[0];switch(e=typeof e==="string"?e:e[this.a],this.cardinality){case"1:1":{const i=this.getRelatedKey(e);if(i&&i!==o)this.delete(i,e)}case"1:n":{const i=this.getRelatedKey(o);if(i&&i!==e)this.delete(i,o)}}if(n){const i=this.makeContentKey(e,o);this.setContent(i,n)}return this.addRelation(e,o),this}delete(e,t){t=typeof t==="string"?t:e[this.b];const o=typeof e==="string"?e:e[this.a];if(o===void 0&&typeof t==="string"){const n=this.getRelatedKeys(t);if(n)for(let i of n)this.delete(i,t)}if(typeof o==="string"&&t===void 0){const n=this.getRelatedKeys(o);if(n)for(let i of n)this.delete(o,i)}if(typeof o==="string"&&typeof t==="string"){this.deleteRelation(o,t);const n=this.makeContentKey(o,t);this.deleteContent(n)}return this}getRelatedKey(e){const t=this.getRelatedKeys(e);if(t){if(t.size>1)console.warn(`${t.size} related keys were found for key "${e}": (${[...t].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of t)return o}}replaceRelations(e,t,o){const n=!Array.isArray(t),i=n?Object.keys(t):t;if(o?.reckless)this.replaceRelationsUnsafely(e,i);else this.replaceRelationsSafely(e,i);if(n)for(let r of i){const a=this.makeContentKey(e,r),s=t[r];this.setContent(a,s)}return this}getContent(e,t){const o=this.makeContentKey(e,t);return this.getContentInternal(o)}getRelationEntries(e){const t=e[this.a],o=e[this.b];if(t!==void 0&&o===void 0){const n=this.getRelatedKeys(t);if(n)return[...n].map((i)=>{return[i,this.getContent(t,i)??null]})}if(t===void 0&&o!==void 0){const n=this.getRelatedKeys(o);if(n)return[...n].map((i)=>{return[i,this.getContent(i,o)??null]})}return[]}has(e,t){if(t)return this.getRelatedKeys(e)?.has(t)??!1;return this.relations.has(e)}}class b{Subscriber;subscribers=new Map;subscribe(e,t){return this.subscribers.set(e,t),()=>{this.unsubscribe(e)}}unsubscribe(e){this.subscribers.delete(e)}next(e){const t=this.subscribers.values();for(let o of t)o(e)}}class Le extends b{state;constructor(e){super();this.state=e}next(e){this.state=e,super.next(e)}}function P(e){return"epoch"in e.transactionMeta}function R(e){return"phase"in e.transactionMeta}var gt=(e)=>{const t=y(e);if(!R(t)){e.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}e.logger.info("\uD83E\uDE82","transaction",t.transactionMeta.update.key,"Aborting transaction"),t.parent.child=null};function Q(e){return e.type.split("_").map(no).join(" ")}var no=(e)=>e[0].toUpperCase()+e.slice(1);class N extends Error{constructor(...e){const t=e[0],o=e.length===2?e[1]:e[2];if(e.length===2)super(`${Q(t)} ${S(t.key)} not found in store "${o.config.name}".`);else{const n=e[1];super(`${Q(t)} "${t.key}" member ${S(n)} not found in store "${o.config.name}".`)}}}function ye(e,t,o){return(...n)=>{const i=d(e,o);if(i)return i.run(n,t);throw new N(e,o)}}var $e=(e)=>(t)=>e instanceof Function?e(t):e;var ie=(e,t)=>{if(t.valueMap.has(e.key))return t.logger.info("\uD83D\uDCD6",e.type,e.key,"reading cached value"),xt(e,t);if(e.type==="selector"||e.type==="readonly_selector")return t.logger.info("\uD83E\uDDEE",e.type,e.key,"computing value"),e.get();const o=e.default instanceof Function?e.default():e.default;return t.logger.info("\uD83D\uDC81","atom",e.key,"could not find cached value; using default",o),e.default instanceof Function?e.default():e.default};var At=(e,t)=>{if(e.operation.open){const o=performance.now();return e.logger.info("\u2757",t.type,t.key,`deferring setState at T-${o} until setState for "${e.operation.token.key}" is done`),o}e.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:t},e.logger.info("\u2B55",t.type,t.key,`operation start in store "${e.config.name}"${!R(e)?"":` ${e.transactionMeta.phase} "${e.transactionMeta.update.key}"`}`)},Ft=(e)=>{if(e.operation.open)e.logger.info("\uD83D\uDD34",e.operation.token.type,e.operation.token.key,`operation done in store "${e.config.name}"`);e.operation={open:!1},e.on.operationClose.next(e.operation)},Mt=(e,t)=>{if(!e.operation.open)return e.logger.error("\uD83D\uDC1E","unknown",t,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return e.operation.done.has(t)},Te=(e,t)=>{if(!e.operation.open){e.logger.error("\uD83D\uDC1E","unknown",t,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}e.operation.done.add(t)};var Rt=(e,t,o)=>{switch(e.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",e.type,e.key,"is now (",t.newValue,") subscribers:",e.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",e.type,e.key,"went (",t.oldValue,"->",t.newValue,") subscribers:",e.subject.subscribers)}e.subject.next(t)};var Qe=(e,t)=>{const o=y(t),n=o.selectorAtoms.getRelatedKeys(e.key);if(o.logger.info("\uD83E\uDDF9",e.type,e.key,n?`evicting ${n.size} states downstream:`:"no downstream states",n??"to evict"),n){if(o.operation.open)o.logger.info("\uD83E\uDDF9",e.type,e.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let i of n){if(Mt(o,i))continue;Ct(i,o),Te(o,i)}}};function io(e,t){if(Jt(t.newValue))return!1;if(e.includes("\uD83D\uDD0D"))return!1;return!0}var Kt=(e,t,o)=>{const{key:n}=e,i=y(o);if(!R(i)||i.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",n,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!io(n,t))return;const a={type:"atom_update",key:n,...t};if(e.family)a.family=e.family;i.transactionMeta.update.updates.push(a),o.logger.info("\uD83D\uDCC1","atom",n,"stowed (",t.oldValue,"->",t.newValue,")")};var wt=(e,t,o)=>{const n=ie(e,o);let i=n;if(e.type==="mutable_atom"&&R(o)){const{parent:a}=o;i=Ae(e,a,o)}if(i=$e(t)(i),o.logger.info("\uD83D\uDCDD","atom",e.key,"set to",i),i=q(e.key,i,e.subject,o),ht(e.key,o))$t(e.key,o);Te(o,e.key),Qe(e,o);const r={oldValue:n,newValue:i};if(P(o))Rt(e,r,o);else if(o.parent){if(o.on.transactionApplying.state===null)Kt(e,r,o);else if(e.key.startsWith("*")){const a=e.key.slice(1),s=o.atoms.get(a);let l=o.valueMap.get(a);if(s.type==="mutable_atom"&&R(o)){const{parent:m}=o;l=Ae(s,m,o)}if(l.do(r.newValue)===null)Qe(s,o)}}};var Oe=(e,t,o)=>{switch(e.type){case"atom":case"mutable_atom":wt(e,t,o);break;case"selector":e.set(t);break}};function re(e,t,o){const n={key:t.key,type:"atom_family"},i=e.families.get(t.key);if(i)e.logger.error("\u2757","atom_family",t.key,`Overwriting an existing ${Q(i)} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new b,s=Object.assign((l)=>{const c=S(l),m={key:t.key,subKey:c},u=`${t.key}(${c})`,F=y(e),C=t.default,v={key:u,default:C instanceof Function?C(l):C};if(t.effects)v.effects=t.effects(l);const G=ae(F,v,m);return r.next({type:"state_creation",token:G}),G},n,{subject:r,install:(l)=>re(l,t),internalRoles:o});return e.families.set(t.key,s),e.defaults.set(t.key,t.default),n}function kt(e,t){if("mutable"in t)return Fe(e,t);return re(e,t)}function ve(e,t){if(t.family){const o=e.families.get(t.family.key);if(o)return o}}function _(e,...t){let o,n,i;if(t.length===1){if(o=t[0],o.type!=="molecule"){if(n=ve(e,o)??null,n)i=o.family?E(o.family.subKey):null,o=h(e,n,i)}}else{n=t[0],i=t[1];let r;if(n.type==="molecule_family")r=$(e,n,i)??pe(n,i);else r=h(e,n,i);o=r}if("counterfeit"in o&&"family"in o){n=o.type==="molecule"?d(o.family,e):e.families.get(o.family.key);const r=o.type==="molecule"?o.key:o.family.subKey,a=e.disposalTraces.buffer.find((s)=>s?.key===o.key);switch(e.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${e.config.name}".`,a?`This state was previously disposed:\n${a.trace}`:"No previous disposal trace was found."),n.type){case"atom_family":case"mutable_atom_family":return e.defaults.get(n.key);case"selector_family":case"readonly_selector_family":{if(e.defaults.has(n.key))return e.defaults.get(o.family.key);const s=d(n,e).default(r);return e.defaults.set(n.key,s),s}case"molecule_family":throw new N(n,r,e)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return ie(d(o,e),e);case"molecule":return d(o,e).instance}}var Ie=(e,t)=>y(t).atoms.has(e),ro=(e,t)=>y(t).selectors.has(e),ao=(e,t)=>y(t).readonlySelectors.has(e),Ot=(e,t)=>Ie(e,t)||ro(e,t)||ao(e,t);var We=(e,t)=>{return y(t).selectorGraph.getRelationEntries({downstreamSelectorKey:e}).filter(([n,{source:i}])=>i!==e).map(([n,{source:i}])=>i).filter((n)=>Ot(n,t))};var Ze=(e,t,o)=>{const n=[],i=We(e,o);while(i.length>0){const r=i.shift();if(t.has(r))continue;if(t.add(r),!Ie(r,o))i.push(...We(r,o));else if(!n.includes(r))n.push(r)}return n},vt=(e,t)=>{const o=e.key,n=We(o,t),i=new Set;return n.flatMap((r)=>Ie(r,t)?r:Ze(r,i,t))};var It=(e,t,o,n)=>{const i=y(n);if(t.type==="atom"||t.type==="mutable_atom")i.selectorAtoms.set({selectorKey:e,atomKey:t.key}),n.logger.info("\uD83D\uDD0D","selector",e,`discovers root atom "${t.key}"`);else{const r=Ze(t.key,o,n);n.logger.info("\uD83D\uDD0D","selector",e,`discovers root atoms: [ ${r.map((a)=>`"${a}"`).join(", ")} ]`);for(let a of r)i.selectorAtoms=i.selectorAtoms.set({selectorKey:e,atomKey:a})}o.add(t.key)};var _e=(e,t,o)=>({get:(...n)=>{const i=y(o);let r;if(n.length===2){const[l,c]=n;switch(l.type){case"molecule_family":return _(o,l,c);default:if(o.config.lifespan==="ephemeral")r=h(o,l,c);else{const m=$(o,l,c);if(m)r=m;else throw new N(l,c,o)}}}else[r]=n;if(r.type==="molecule")return _(o,r);const a=d(r,o),s=ie(a,o);return o.logger.info("\uD83D\uDD0C","selector",e,`registers dependency ( "${r.key}" =`,s,")"),i.selectorGraph.set({upstreamSelectorKey:r.key,downstreamSelectorKey:e},{source:r.key}),It(e,r,t,o),s},set:(...n)=>{let i,r;if(n.length===2)i=n[0],r=n[1];else{const l=n[0],c=n[1];r=n[2];const m=o.config.lifespan==="ephemeral"?h(o,l,c):$(o,l,c);if(!m)throw new N(l,c,o);i=m}const a=y(o),s=d(i,a);Oe(s,r,a)},find:(n,i)=>h(o,n,i),seek:(n,i)=>$(o,n,i),json:(n)=>V(o,n)});var Me=(e,t,o)=>{const n=y(e),i=new b,r=new Set,{get:a,find:s,seek:l,json:c}=_e(t.key,r,n),m=()=>{const v=t.get({get:a,find:s,seek:l,json:c});return q(t.key,v,i,y(e)),r.clear(),v},u={...t,subject:i,install:(v)=>Me(v,t,o),get:m,type:"readonly_selector",...o&&{family:o}};n.readonlySelectors.set(t.key,u);const F=m();e.logger.info("\u2728",u.type,u.key,"=",F);const C={key:t.key,type:"readonly_selector"};if(o)C.family=o;return C};var Re=(e,t,o)=>{const n=y(e),i=new b,r=new Set,a=_e(t.key,r,n),{find:s,get:l,seek:c,json:m}=a,u={find:s,get:l,seek:c,json:m},F=(I=t.get,W=y(e))=>{const w=I(u);return q(t.key,w,i,W),r.clear(),w},v={...t,subject:i,install:(I)=>Re(I,t,o),get:F,set:(I)=>{const W=y(e),w=F(t.get,W),L=$e(I)(w);if(e.logger.info("\uD83D\uDCDD","selector",t.key,"set (",w,"->",L,")"),q(t.key,L,i,W),Te(W,t.key),P(W))i.next({newValue:L,oldValue:w});t.set(a,L)},type:"selector",...o&&{family:o}};n.selectors.set(t.key,v);const G=F();e.logger.info("\u2728",v.type,v.key,"=",G);const k={key:t.key,type:"selector"};if(o)k.family=o;return k};function ge(e,t){if("set"in t){const i=Re(e,t,void 0);return e.on.selectorCreation.next(i),i}const n=Me(e,t,void 0);return e.on.selectorCreation.next(n),n}function Wt(e,t){const o=y(t),{key:n}=e,i=d(e,o);if(!i.family)t.logger.error("\u274C","selector",n,"Standalone selectors cannot be disposed.");else{const r=o.molecules.get(i.family.subKey);if(r)r.tokens.delete(n);switch(e.type){case"selector":o.selectors.delete(n),d({key:i.family.key,type:"selector_family"},t).subject.next({type:"state_disposal",token:e});break;case"readonly_selector":o.readonlySelectors.delete(n),d({key:i.family.key,type:"readonly_selector_family"},t).subject.next({type:"state_disposal",token:e});break}if(o.valueMap.delete(n),o.selectorAtoms.delete(n),o.selectorGraph.delete(n),t.logger.info("\uD83D\uDD25",e.type,n,"deleted"),R(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:e});else t.on.selectorDisposal.next(e)}}function le(e,t,o){const n={key:t.key,type:"readonly_selector_family"},i=e.families.get(t.key);if(i)e.logger.error("\u2757","readonly_selector_family",t.key,`Overwriting an existing ${Q(i)} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new b,s=Object.assign((l)=>{const c=S(l),m={key:t.key,subKey:c},u=`${t.key}(${c})`,F=y(e),C=Me(F,{key:u,get:t.get(l)},m);return r.next({type:"state_creation",token:C}),C},n,{internalRoles:o,subject:r,install:(l)=>le(l,t),default:(l)=>{return t.get(l)({get:(...m)=>_(e,...m),find:(m,u)=>h(e,m,u),seek:(m,u)=>$(e,m,u),json:(m)=>V(e,m)})}});return e.families.set(t.key,s),n}function Ce(e,t,o){const n={key:t.key,type:"selector_family"},i=e.families.get(t.key);if(i)e.logger.error("\u2757","selector_family",t.key,`Overwriting an existing ${Q(i)} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new b,s=Object.assign((l)=>{const c=S(l),m={key:t.key,subKey:c},u=`${t.key}(${c})`,F=y(e),C=Re(F,{key:u,get:t.get(l),set:t.set(l)},m);return r.next({type:"state_creation",token:C}),C},n,{internalRoles:o,subject:r,install:(l)=>Ce(l,t),default:(l)=>{return t.get(l)({get:(...m)=>_(e,...m),find:(m,u)=>h(e,m,u),seek:(m,u)=>$(e,m,u),json:(m)=>V(e,m)})}});return e.families.set(t.key,s),n}function qe(e,t){if("set"in t)return Ce(e,t);return le(e,t)}function je(e,t){let o;o=d(e,t);const{family:n}=e;for(let a of o.joins.values())a.relations.delete(o.key),a.molecules.delete(o.stringKey);const i=[];for(let a of o.above.values())i.push(U(a));const r=[];for(let a of o.tokens.values()){const s=a.family;r.push([s.key,t.valueMap.get(a.key)])}if(n){const a=d(n,t),s={type:"molecule_disposal",token:e,family:n,context:i,values:r};if(e.family)s.family=e.family;for(let c of o.tokens.values())D(t,c);for(let c of o.below.values())if(c.family?.dependsOn==="all")je(c,t);else if(c.above.delete(o.stringKey),c.above.size===0)je(c,t);if(o.below.clear(),R(t)&&t.transactionMeta.phase==="building")t.transactionMeta.update.updates.push(s);else a.subject.next(s);t.molecules.delete(o.stringKey)}for(let a of o.above.values())a.below.delete(o.stringKey)}function _t(e,t){const o=new b,n={type:"molecule_family",key:t.key,dependsOn:t.dependsOn??"all"},i={...n,subject:o,new:t.new};return e.moleculeFamilies.set(t.key,i),n}function Z(e,t,o){const n=te(o,t,e.key);e.tokens.set(n.key,n);const i=R(o)&&o.transactionMeta.phase==="building",r=o.moleculeInProgress===e.key;if(!i&&!r)e.subject.next({type:"state_creation",token:n});return n}class z extends Set{mode="record";subject=new b;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(e,t=0){super(e);if(e instanceof z)this.parent=e,this.cacheUpdateNumber=e.cacheUpdateNumber;if(t)this.cacheLimit=t,this.cache=new Array(t),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(e){const t=new z(e.members,e.cacheLimit);return t.cache=e.cache,t.cacheIdx=e.cacheIdx,t.cacheUpdateNumber=e.cacheUpdateNumber,t}add(e){const t=super.add(e);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${S(e)}`);return t}clear(){const e=this.mode==="record"?[...this]:null;if(super.clear(),e)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(e)}`)}delete(e){const t=super.delete(e);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${S(e)}`);return t}parent;child=null;transactionUpdates=null;transaction(e){this.mode="transaction",this.transactionUpdates=[],this.child=new z(this);const t=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(e(this.child)){for(let n of this.transactionUpdates)this.doStep(n);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.error("Failed to apply transaction to SetRTX:",o),o}finally{t(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(e,t){return this.subject.subscribe(e,t)}subscribe(e,t){return this.subject.subscribe(e,(o)=>{t(`${this.cacheUpdateNumber}=${o}`)})}emit(e){this.subject.next(e)}doStep(e){const t=e.indexOf(":"),o=e.substring(0,t),n=e.substring(t+1);switch(o){case"add":this.add(JSON.parse(n));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(n));break;case"tx":for(let i of n.split(";"))this.doStep(i)}}getUpdateNumber(e){const t=e.indexOf("=");return Number(e.substring(0,t))}do(e){const t=e.indexOf("="),o=Number(e.substring(0,t)),n=o-this.cacheUpdateNumber;if(n>0){if(n===1){this.mode="playback";const r=e.substring(t+1);return this.doStep(r),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(n)<this.cacheLimit){const r=this.cacheIdx+n;if(this.cache[r]===e)return null;this.mode="playback";let s=!1;while(!s){this.cacheIdx%=this.cacheLimit;const c=this.cache[this.cacheIdx];if(this.cacheIdx--,!c)return"OUT_OF_RANGE";this.undo(c),s=this.cacheIdx===r-1}const l=e.substring(t+1);return this.doStep(l),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(e){const t=e.indexOf(":"),o=e.substring(0,t),n=e.substring(t+1);switch(o){case"add":this.delete(JSON.parse(n));break;case"del":this.add(JSON.parse(n));break;case"clear":{const i=JSON.parse(n);for(let r of i)this.add(r);break}case"tx":{const i=n.split(";");for(let r=i.length-1;r>=0;r--)this.undoStep(i[r])}}}undo(e){const t=e.indexOf("=");if(Number(e.substring(0,t))===this.cacheUpdateNumber){this.mode="playback";const n=e.substring(t+1);return this.undoStep(n),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function O(e){return e[0].toUpperCase()+e.slice(1)}function Be(e,t,o=K.STORE){return Ge(o).set(e.key,new tt(e,t,o)),{key:e.key,type:"join",a:e.between[0],b:e.between[1],cardinality:e.cardinality}}function Ge(e){if("joins"in e&&e.joins instanceof Map)return e.joins;const t=new Map;return e.joins=t,t}function Ke(e,t){const o=Ge(t);let n=o.get(e.key);if(n===void 0){if(n=Ge(K.STORE).get(e.key)?.in(t),n===void 0)throw new Error(`Join "${e.key}" not found in store "${t.config.name}"`);o.set(e.key,n)}return n}function jt(e,t,o){const n=Ke(e,o);let i;switch(e.cardinality){case"1:1":{const r=`${e.a}KeyOf${O(e.b)}`,a=`${e.b}KeyOf${O(e.a)}`;i={get[r](){const l=n.states[r];return n.retrieve(l,t)},get[a](){const l=n.states[a];return n.retrieve(l,t)}};const s=`${e.a}EntryOf${O(e.b)}`;if(s in n.states){const l=`${e.b}EntryOf${O(e.a)}`;Object.assign(i,{get[s](){const c=n.states[s];return n.retrieve(c,t)},get[l](){const c=n.states[l];return n.retrieve(c,t)}})}break}case"1:n":{const r=`${e.a}KeyOf${O(e.b)}`,a=`${e.b}KeysOf${O(e.a)}`;i={get[r](){const l=n.states[r];return n.retrieve(l,t)},get[a](){const l=n.states[a];return n.retrieve(l,t)}};const s=`${e.a}EntryOf${O(e.b)}`;if(s in n.states){const l=`${e.b}EntriesOf${O(e.a)}`;Object.assign(i,{get[s](){const c=n.states[s];return n.retrieve(c,t)},get[l](){const c=n.states[l];return n.retrieve(c,t)}})}break}case"n:n":{const r=`${e.a}KeysOf${O(e.b)}`,a=`${e.b}KeysOf${O(e.a)}`;i={get[r](){const l=n.states[r];return n.retrieve(l,t)},get[a](){const l=n.states[a];return n.retrieve(l,t)}};const s=`${e.a}EntriesOf${O(e.b)}`;if(s in n.states){const l=`${e.b}EntriesOf${O(e.a)}`;Object.assign(i,{get[s](){const c=n.states[s];return n.retrieve(c,t)},get[l](){const c=n.states[l];return n.retrieve(c,t)}})}}}return i}function Bt(e,t){return jt(e,t,K.STORE)}function Ee(e,t,o){const n=Ke(e,o),i=y(o);if(R(i)){const{toolkit:r}=i.transactionMeta;n.transact(r,({relations:a})=>{t(a)})}else t(n.relations)}function lo(e,t){return Ke(e,t).core.findRelatedKeysState}function Et(e){return lo(e,K.STORE)}class tt{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(e,t){const o=this.toolkit;this.toolkit=e,t(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(e){const t=e.config.name,o=this.alternates.get(t);if(o)return o;const n=new tt(this.options,this.defaultContent,e);return this.alternates.set(t,n),n.alternates=this.alternates,n}constructor(e,t,o=K.STORE){this.store=o,this.options=e,this.defaultContent=t,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${e.key}`,this),this.retrieve=(f,p)=>{const g=this.toolkit.seek(f,p);if(g)return g;const x=this.molecules.get(S(p));if(x){const A=d(f,o);return Z(x,A,o)}if(o.config.lifespan==="immortal")throw new N(f,p,o);return te(o,f,p)},this.toolkit={get:(...f)=>_(o,...f),set:(...f)=>{j(o,...f)},find:this.retrieve,seek:(...f)=>$(o,...f),json:(f)=>V(o,f),dispose:(...f)=>{D(o,...f)}};const n=e.between[0],i=e.between[1],r=Fe(o,{key:`${e.key}/relatedKeys`,default:()=>new z,mutable:!0,fromJson:(f)=>z.fromJSON(f),toJson:(f)=>f.toJSON()},["join","relations"]);this.core={findRelatedKeysState:r};const a=({get:f},p)=>f(this.retrieve(r,p)),s=(f,p,g)=>{const{set:x}=f,A=this.retrieve(r,p),T=this.retrieve(r,g);x(A,(M)=>M.add(g)),x(T,(M)=>M.add(p))},l=(f,p,g)=>{const{set:x}=f,A=this.retrieve(r,p),T=this.retrieve(r,g);let M,J;x(A,(B)=>{if(B.delete(g),B.size===0)M=`"${p}"`;return B}),x(T,(B)=>{if(B.delete(p),B.size===0)J=`"${g}"`;return B})},c=(f,p,g)=>{const{get:x,set:A}=f,T=this.retrieve(r,p),M=x(T);for(let J of M){if(g.includes(J))continue;const ne=this.retrieve(r,J);A(ne,(ee)=>{return ee.delete(p),ee})}A(T,(J)=>{return J.transaction((B)=>{B.clear();for(let ne of g){const ee=a(f,ne),Tt=ee.has(p);if(this.relations.cardinality==="1:n"){const dt=[];for(let Se of ee){if(Se===p)continue;const ke=a(f,Se);if(ke.delete(ne),ke.size===0)dt.push(Se)}if(!Tt&&ee.size>0)ee.clear();for(let Se of dt){const ke=[ne,Se].sort(),eo=`"${ke[0]}:${ke[1]}"`;this.molecules.delete(eo)}}if(!Tt)ee.add(p);B.add(ne)}return!0}),J})},m=(f,p,g)=>{const{set:x}=f,A=this.retrieve(r,p);x(A,(T)=>{return T.transaction((M)=>{for(let J of g)M.add(J);return!0}),T});for(let T of g){const M=this.retrieve(r,T);x(M,(J)=>{return J.add(p),J})}return!0},u=(f,p,g)=>{const x=a(f,p);return g?x.has(g):x.size>0},F={getRelatedKeys:(f)=>a(this.toolkit,f),addRelation:(f,p)=>{s(this.toolkit,f,p)},deleteRelation:(f,p)=>{l(this.toolkit,f,p)},replaceRelationsSafely:(f,p)=>{c(this.toolkit,f,p)},replaceRelationsUnsafely:(f,p)=>{m(this.toolkit,f,p)},has:(f,p)=>u(this.toolkit,f,p)};let C,v,G;if(t){v=re(o,{key:`${e.key}/content`,default:t},["join","content"]);const f={key:e.key,type:"join",a:e.between[0],b:e.between[1],cardinality:e.cardinality};G=_t(o,{key:`${e.key}/content-molecules`,new:class T{J;constructor(M,J){this.key=J}}});const p=({get:T},M)=>T(this.retrieve(v,M)),g=({set:T},M,J)=>{T(this.retrieve(v,M),J)},x=(T,M)=>{const J=o.molecules.get(`"${M}"`);if(J)this.toolkit.dispose(J),this.molecules.delete(`"${M}"`)};C=Object.assign(F,{getContent:(T)=>{return p(this.toolkit,T)},setContent:(T,M)=>{g(this.toolkit,T,M)},deleteContent:(T)=>{x(this.toolkit,T)}})}else C=F;const k=new X(e,{externalStore:C,makeContentKey:(...f)=>{const p=f.sort(),g=`${p[0]}:${p[1]}`,[x,A]=p.map((T)=>this.molecules.get(S(T)));if(o.config.lifespan==="immortal"&&x&&A){const T=y(o),M=oe(T,[x,A],G,g);this.molecules.set(`"${g}"`,d(M,T))}return g}}),I=()=>le(o,{key:`${e.key}/singleRelatedKey`,get:(f)=>({get:p})=>{const g=this.retrieve(r,f),x=p(g);for(let A of x)return A;return null}},["join","keys"]),W=()=>{return le(o,{key:`${e.key}/multipleRelatedKeys`,get:(f)=>({get:p})=>{const g=et(r,o),x=this.retrieve(g,f);return p(x).members}},["join","keys"])},w=()=>le(o,{key:`${e.key}/singleRelatedEntry`,get:(f)=>({get:p})=>{const g=this.retrieve(r,f),x=p(g);for(let A of x){const T=k.makeContentKey(f,A),M=this.retrieve(v,T),J=p(M);return[A,J]}return null}},["join","entries"]),L=()=>le(o,{key:`${e.key}/multipleRelatedEntries`,get:(f)=>({get:p})=>{const g=et(r,o),x=this.retrieve(g,f);return p(x).members.map((T)=>{const M=k.makeContentKey(f,T),J=this.retrieve(v,M),B=p(J);return[T,B]})}},["join","entries"]);switch(e.cardinality){case"1:1":{const f=I(),p=`${n}KeyOf${O(i)}`,g=`${i}KeyOf${O(n)}`,x={[p]:f,[g]:f};let A;if(t){const T=w(),M=`${n}EntryOf${O(i)}`,J=`${i}EntryOf${O(n)}`,B={[M]:T,[J]:T};A=Object.assign(x,B)}else A=x;this.relations=k,this.states=A;break}case"1:n":{const f=I(),p=W(),g=`${n}KeyOf${O(i)}`,x=`${i}KeysOf${O(n)}`,A={[g]:f,[x]:p};let T;if(t){const M=w(),J=L(),B=`${n}EntryOf${O(i)}`,ne=`${i}EntriesOf${O(n)}`,ee={[B]:M,[ne]:J};T=Object.assign(A,ee)}else T=A;this.relations=k,this.states=T;break}default:{const f=W(),p=`${n}KeysOf${O(i)}`,g=`${i}KeysOf${O(n)}`,x={[p]:f,[g]:f};let A;if(t){const T=L(),M=`${n}EntriesOf${O(i)}`,J=`${i}EntriesOf${O(n)}`,B={[M]:T,[J]:T};A=Object.assign(x,B)}else A=x;this.relations=k,this.states=A}}}}function ze(e){return{store:e}}class Pe{t;type="molecule";stringKey;family;subject=new b;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(e,t,o){this.key=t;if(this.stringKey=S(t),o)this.family=o;if(e)if(Array.isArray(e))for(let n of e)this.above.set(n.stringKey,n);else this.above.set(e.stringKey,e)}}function zt(e){return e[0].toUpperCase()+e.slice(1)}function oe(e,t,o,n,...i){const r=St(e),a=y(e),s=S(n);a.moleculeInProgress=s;const l=Array.isArray(t)?t:[t],c=l.map((k)=>{if(k instanceof Pe)return k;const I=S(k.key),W=e.molecules.get(I);if(!W)throw new Error(`Molecule ${I} not found in store "${e.config.name}"`);return W}),m=new Pe(c,n,o);a.molecules.set(s,m);for(let k of c)k.below.set(m.stringKey,m);const u={get:(...k)=>_(y(r),...k),set:(...k)=>{j(y(r),...k)},seek:(k,I)=>$(y(r),k,I),json:(k)=>V(y(r),k),run:(k,I=fe())=>ye(k,I,y(e)),make:(k,I,W,...w)=>oe(y(r),k,I,W,...w),dispose:(k)=>{D(y(r),k)},env:()=>ze(y(r)),bond:(k,I)=>{if(k.type==="join"){const{as:W}=I,w=Ke(k,r);w.molecules.set(s,m),m.joins.set(k.key,w);const L=F.subject.subscribe(`join:${k.key}-${s}`,(T)=>{if(T.type==="molecule_disposal"&&S(T.token.key)===s)L(),w.molecules.delete(s)});if(W===null)return;const f=k.a===W?k.b:k.a,p=Bt(k,n),g=p[`${f}KeysOf${zt(W)}`],x=p[`${f}EntriesOf${zt(W)}`];let A={relatedKeys:g};if(x)A=Object.assign(A,{relatedEntries:x});return A}return Z(m,d(k,r),y(r))},claim:(k,I)=>{const{exclusive:W}=I,w=y(e).molecules.get(S(k.key));if(w)if(W){for(let L of w.above.values())L.below.delete(w.stringKey);w.above.clear(),w.above.set(m.stringKey,m),m.below.set(w.stringKey,w)}else w.above.set(m.stringKey,m),m.below.set(w.stringKey,w)},spawn:(k,I,...W)=>oe(y(e),[m],d(k,e),I,...W)},F=d(o,e),C=F.new;m.instance=new C(u,n,...i);const v={type:"molecule",key:n,family:o},G={type:"molecule_creation",token:v,family:o,context:l,params:i};if(P(a))F.subject.next(G);else if(R(a)&&a.on.transactionApplying.state===null)a.transactionMeta.update.updates.push(G);return a.moleculeInProgress=null,v}function te(e,t,o){const n=e.families.get(t.key);if(n===void 0)throw new N(t,e);const i=n(o),r=y(e);if(i.family&&r.moleculeInProgress===null){if(P(r))switch(i.type){case"atom":case"mutable_atom":e.on.atomCreation.next(i);break;case"selector":case"readonly_selector":e.on.selectorCreation.next(i);break}else if(R(r)&&r.on.transactionApplying.state===null)r.transactionMeta.update.updates.push({type:"state_creation",token:i})}return i}function $(e,t,o){const n=S(o),i=`${t.key}(${n})`,r=y(e);let a;switch(t.type){case"atom_family":case"mutable_atom_family":a=r.atoms.get(i);break;case"selector_family":a=r.selectors.get(i);break;case"readonly_selector_family":a=r.readonlySelectors.get(i);break;case"molecule_family":a=r.molecules.get(S(o))}if(a)return U(a);return a}function h(e,t,o){let n=$(e,t,o);if(n)return n;const i=e.molecules.get(S(o));if(i)return Z(i,t,e);if(e.config.lifespan==="immortal"){const r=pe(t,o);return e.logger.error("\u274C",r.type,r.key,`was not found in store "${e.config.name}"; returned a counterfeit token.`),r}return n=te(e,t,o),n}function D(e,...t){let o,n;if(t.length===1)o=t[0],n=o.key;else{const r=t[0],a=t[1];o=r.type==="molecule_family"?$(e,r,a)??pe(r,a):h(e,r,a)}try{d(o,e)}catch(r){const a=e.disposalTraces.buffer.find((s)=>s?.key===o.key);e.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${e.config.name}".`,a?`\n This state was most recently disposed\n${a.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":ot(o,e);break;case"selector":case"readonly_selector":Wt(o,e);break;case"molecule":je(o,e);break}const{stack:i}=new Error;if(i){const r=i?.split("\n")?.slice(3)?.join("\n");e.disposalTraces.add({key:o.key,trace:r})}}function j(e,...t){let o,n,i,r;if(t.length===2){if(o=t[0],r=t[1],n=ve(e,o)??null,n)i=o.family?E(o.family.subKey):null,o=h(e,n,i)}else n=t[0],i=t[1],r=t[2],o=h(e,n,i);if("counterfeit"in o){const l=e.disposalTraces.buffer.find((c)=>c?.key===o.key);e.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${e.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found.");return}const a=At(e,o);if(a){const l=e.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${a}`,()=>{l(),e.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${a}`),j(e,o,r)});return}const s=d(o,e);Oe(s,r,e),Ft(e)}function Ve(e,t,o){const{key:n,newValue:i,oldValue:r}=t,a=e==="newValue"?i:r,s={key:n,type:"atom"};if(t.family)Object.assign(s,{family:t.family});j(o,s,a)}function nt(e,t,o){switch(t){case"newValue":{Pt(e,o);break}case"oldValue":{D(o,e.token);break}}}function it(e,t,o){switch(t){case"newValue":{D(o,e.token);break}case"oldValue":{Pt(e,o),o.valueMap.set(e.token.key,e.value);break}}}function Pt(e,t){const{family:o}=e.token;if(o){const n=t.families.get(o.key);if(n)h(t,n,E(o.subKey))}}function rt(e,t,o){switch(t){case"newValue":oe(o,e.context,e.family,e.token.key,...e.params);break;case"oldValue":D(o,e.token);break}}function at(e,t,o){switch(t){case"newValue":D(o,e.token);break;case"oldValue":{const n=oe(o,e.context,e.family,e.token.key);for(let[i,r]of e.values){const a=`${i}(${S(n.key)})`,s=d(n,o),l=s.tokens.has(a),c=o.families.get(i);if(c&&!l)Z(s,c,o);o.valueMap.set(a,r)}}break}}function Ne(e,t,o){const n=e==="newValue"?t.updates:[...t.updates].reverse();for(let i of n)switch(i.type){case"atom_update":case"selector_update":Ve(e,i,o);break;case"state_creation":nt(i,e,o);break;case"state_disposal":it(i,e,o);break;case"molecule_creation":rt(i,e,o);break;case"molecule_disposal":at(i,e,o);break;case"transaction_update":Ne(e,i,o);break}}function Vt(e,t,o){if(!P(o))return;const i=o.transactionMeta.actionContinuities.getRelatedKey(e);if(i!==void 0)o.transactionMeta.epoch.set(i,t)}var Nt=(e,t)=>{const o=y(t),{parent:n}=o;if(n===null||!R(o)||o.transactionMeta?.phase!=="building"){t.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}o.transactionMeta.phase="applying",o.transactionMeta.update.output=e,n.child=null,n.on.transactionApplying.next(o.transactionMeta);const{updates:i}=o.transactionMeta.update;if(t.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${i.length} updates:`,i),Ne("newValue",o.transactionMeta.update,n),P(n))Vt(o.transactionMeta.update.key,o.transactionMeta.update.epoch,n),d({key:o.transactionMeta.update.key,type:"transaction"},t)?.subject.next(o.transactionMeta.update),t.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(R(n))n.transactionMeta.update.updates.push(o.transactionMeta.update);n.on.transactionApplying.next(null)};class Y extends Map{e;deleted=new Set;constructor(e){super();this.source=e}get(e){if(super.has(e))return super.get(e);if(!this.deleted.has(e)&&this.source.has(e))return this.source.get(e);return}set(e,t){return this.deleted.delete(e),super.set(e,t)}hasOwn(e){return super.has(e)}has(e){return!this.deleted.has(e)&&(super.has(e)||this.source.has(e))}delete(e){return this.deleted.add(e),super.delete(e)}}var Xt=(e,t,o,n)=>{const i=y(o),r={parent:i,child:null,on:i.on,loggers:i.loggers,logger:i.logger,config:i.config,atoms:new Y(i.atoms),atomsThatAreDefault:new Set(i.atomsThatAreDefault),families:new Y(i.families),operation:{open:!1},readonlySelectors:new Y(i.readonlySelectors),timelines:new Y(i.timelines),timelineTopics:new X(i.timelineTopics.toJSON()),trackers:new Map,transactions:new Y(i.transactions),selectorAtoms:new X(i.selectorAtoms.toJSON()),selectorGraph:new X(i.selectorGraph.toJSON(),{makeContentKey:(...c)=>c.sort().join(":")}),selectors:new Y(i.selectors),valueMap:new Y(i.valueMap),defaults:i.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new Y(i.molecules),moleculeFamilies:new Y(i.moleculeFamilies),moleculeInProgress:i.moleculeInProgress,miscResources:new Y(i.miscResources)},a=Dt(e,o),s={phase:"building",update:{type:"transaction_update",key:e,id:n,epoch:a===void 0?Number.NaN:a+1,updates:[],params:t,output:void 0},toolkit:{get:(...c)=>_(l,...c),set:(...c)=>{j(l,...c)},run:(c,m=fe())=>ye(c,m,l),find:(c,m)=>h(l,c,m),seek:(c,m)=>$(l,c,m),json:(c)=>V(l,c),make:(c,m,u,...F)=>oe(l,c,m,u,...F),dispose:(...c)=>{D(l,...c)},env:()=>ze(l)}},l=Object.assign(r,{transactionMeta:s});return i.child=l,o.logger.info("\uD83D\uDEEB","transaction",e,"Building transaction with params:",t),l};function Ye(e,t){const o={key:e.key,type:"transaction",run:(r,a)=>{const s=Xt(e.key,r,t,a);try{const l=y(t),{toolkit:c}=s.transactionMeta,m=e.do(c,...r);return Nt(m,l),m}catch(l){throw gt(n),t.logger.warn("\uD83D\uDCA5","transaction",e.key,"caught:",l),l}},install:(r)=>Ye(e,r),subject:new b},n=y(t);n.transactions.set(o.key,o);const i=U(o);return t.on.transactionCreation.next(i),i}function Dt(e,t){const o=P(t),n=o?t.transactionMeta.actionContinuities.getRelatedKey(e):void 0;return o&&n!==void 0?t.transactionMeta.epoch.get(n):void 0}class Xe{_buffer;_index=0;constructor(e){let t;if(typeof e==="number")t=e;else t=e.length;this._buffer=Array.from({length:t})}get buffer(){return this._buffer}get index(){return this._index}add(e){this._buffer[this._index]=e,this._index=(this._index+1)%this._buffer.length}copy(){const e=new Xe([...this._buffer]);return e._index=this._index,e}}class Ht{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new X({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new X({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new X({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new X({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new Xe(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new b,atomDisposal:new b,selectorCreation:new b,selectorDisposal:new b,timelineCreation:new b,transactionCreation:new b,transactionApplying:new Le(null),operationClose:new b,moleculeCreationStart:new b,moleculeCreationDone:new b,moleculeDisposal:new b};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new Ue("warn",(e,t,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...e)=>{for(let t of this.loggers)t.error(...e)},info:(...e)=>{for(let t of this.loggers)t.info(...e)},warn:(...e)=>{for(let t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){if(this.valueMap=new Map(t?.valueMap),this.operation={...t?.operation},P(t))this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new X(t?.transactionMeta.actionContinuities.toJSON())};for(let[,n]of t.families){if(n.internalRoles?.includes("mutable")||n.internalRoles?.includes("join"))continue;n.install(this)}const o=new Set;for(let[,n]of t.atoms){if(o.has(n.key))continue;if(n.install(this),n.type==="mutable_atom"){const i=V(t,n),r=se(n);o.add(i.key),o.add(r.key)}}for(let[,n]of t.readonlySelectors)n.install(this);for(let[,n]of t.selectors){if(o.has(n.key))continue;n.install(this)}for(let[,n]of t.transactions)n.install(this);for(let[,n]of t.timelines)n.install(this)}}}var K={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new Ht({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function d(e,t){let o,n=t;while(n!==null){switch(e.type){case"atom":case"mutable_atom":o=n.atoms.get(e.key);break;case"selector":o=n.selectors.get(e.key);break;case"readonly_selector":o=n.readonlySelectors.get(e.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=n.families.get(e.key);break;case"timeline":o=n.timelines.get(e.key);break;case"transaction":o=n.transactions.get(e.key);break;case"molecule":o=n.molecules.get(S(e.key));break;case"molecule_family":o=n.moleculeFamilies.get(e.key);break}if(o)return o;n=n.child}throw new N(e,t)}var Ut=(e,t)=>{const o=y(t);if(o.operation.open)return o.operation.prev.get(e.key);return o.valueMap.get(e.key)};var st=(e,t)=>{const o=y(t);return vt(e,t).map((i)=>{const r=o.atoms.get(i);if(r===void 0)throw new Error(`Atom "${i}", a dependency of selector "${e.key}", not found in store "${t.config.name}".`);return r.subject.subscribe(`${e.type}:${e.key}`,(a)=>{t.logger.info("\uD83D\uDCE2",e.type,e.key,"root",i,"went",a.oldValue,"->",a.newValue);const s=Ut(e,o),l=ie(e,o);t.logger.info("\u2728",e.type,e.key,"went",s,"->",l),e.subject.next({newValue:l,oldValue:s})})})};function H(e,t,o,n){function i(u){if(n.operation.open){const F=n.on.operationClose.subscribe(`state subscription ${o}`,()=>{F(),t(u)})}else t(u)}const r=d(e,n);n.logger.info("\uD83D\uDC40",r.type,r.key,`Adding subscription "${o}"`);const a=r.type==="selector"||r.type==="readonly_selector";let s=null,l=i;if(a)s=st(r,n),l=(u)=>{if(s)s.length=0,s.push(...st(r,n));i(u)};const c=r.subject.subscribe(o,l);return()=>{if(n.logger.info("\uD83D\uDE48",r.type,r.key,`Removing subscription "${o}"`),c(),s)for(let u of s)u()}}var lt=(e,t,o,n)=>{const i=d(e,n);n.logger.info("\uD83D\uDC40","timeline",e.key,`Adding subscription "${o}"`);const r=i.subject.subscribe(o,t);return()=>{n.logger.info("\uD83D\uDE48","timeline",e.key,`Removing subscription "${o}" from timeline`),r()}};class ce{Update;initializeState(e,t){const o=`*${e.key}`;t.atoms.delete(o),t.valueMap.delete(o);const n=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,i=ae(t,{key:o,default:null},n);if(t.parent?.valueMap.has(o)){const r=t.parent.valueMap.get(o);t.valueMap.set(o,r)}return i}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(e,t,o){const n=`tracker:${o.config.name}:${R(o)?o.transactionMeta.update.key:"main"}:${e.key}`,i=_(o,e);this.unsubscribeFromInnerValue=i.subscribe(n,(r)=>{j(o,t,r)}),this.unsubscribeFromState=H(e,(r)=>{if(r.newValue!==r.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=r.newValue.subscribe(n,(a)=>{j(o,t,a)})},n,o)}updateCore(e,t,o){const n=`tracker:${o.config.name}:${R(o)?o.transactionMeta.update.key:"main"}:${e.key}`;H(t,({newValue:i,oldValue:r})=>{const a=o.timelineTopics.getRelatedKey(t.key);if(a){if(o.timelines.get(a)?.timeTraveling){const c=lt({key:a,type:"timeline"},(m)=>{c(),j(o,e,(u)=>{if(m==="redo"&&i)u.do(i);else if(m==="undo"&&r)u.undo(r);return u})},n,o);return}}const s=o.on.operationClose.subscribe(n,()=>{s();const l=_(o,e),c=i===null?-1:l.getUpdateNumber(i),m=c-l.cacheUpdateNumber;if(i&&m===1)j(o,e,(u)=>(u.do(i),u));else o.logger.info("\u274C","mutable_atom",e.key,`could not be updated. Expected update number ${l.cacheUpdateNumber+1}, but got ${c}`)})},n,o)}mutableState;latestUpdateState;dispose;constructor(e,t){this.mutableState=e;const o=y(t);this.latestUpdateState=this.initializeState(e,o),this.observeCore(e,this.latestUpdateState,o),this.updateCore(e,this.latestUpdateState,o),o.trackers.set(e.key,this),this.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(e.key)}}}function Je(e,t,o){e.logger.info("\uD83D\uDD28","atom",t.key,`creating in store "${e.config.name}"`);const n=y(e),i=n.atoms.get(t.key);if(i&&i.type==="mutable_atom")return e.logger.error("\u274C","atom",t.key,"Tried to create atom, but it already exists in the store."),U(i);const r=new b,a={...t,type:"mutable_atom",install:(c)=>{return c.logger.info("\uD83D\uDEE0\uFE0F","atom",t.key,`installing in store "${c.config.name}"`),Je(c,t,o)},subject:r};if(o)a.family=o;const s=t.default();n.atoms.set(a.key,a),De(t.key,e),q(t.key,s,r,n);const l=U(a);if(t.effects){let c=0;const m=[];for(let u of t.effects){const F=u({setSelf:(C)=>{j(e,l,C)},onSet:(C)=>H(l,C,`effect[${c}]`,e)});if(F)m.push(F);++c}a.cleanup=()=>{for(let u of m)u()}}if(new ce(l,e),!o)qt(l,t,e);return l}class ct{Update;latestUpdateAtoms;mutableAtoms;constructor(e,t){const o=re(t,{key:`*${e.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=d(o,t),this.mutableAtoms=e,this.mutableAtoms.subject.subscribe(`store=${t.config.name}::tracker-atom-family`,(n)=>{if(n.token.family){const i=E(n.token.family.subKey);$(t,this.latestUpdateAtoms,i),new ce(n.token,t)}}),this.latestUpdateAtoms.subject.subscribe(`store=${t.config.name}::tracker-atom-family`,(n)=>{if(n.token.family){const i=E(n.token.family.subKey),r=$(t,this.mutableAtoms,i);if(r)new ce(r,t)}})}}function Fe(e,t,o){const n={key:t.key,type:"mutable_atom_family"},i=e.families.get(t.key);if(i)e.logger.error("\u2757","mutable_atom_family",t.key,`Overwriting an existing ${Q(i)} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const r=new b,s=Object.assign((l)=>{const c=S(l),m={key:t.key,subKey:c},u=`${t.key}(${c})`,F=y(e),C={key:u,default:()=>t.default(l),toJson:t.toJson,fromJson:t.fromJson,mutable:!0};if(t.effects)C.effects=t.effects(l);const v=Je(F,C,m);return r.next({type:"state_creation",token:v}),v},n,{subject:r,install:(l)=>Fe(l,t),toJson:t.toJson,fromJson:t.fromJson,internalRoles:o});return e.families.set(t.key,s),Yt(s,t,e),new ct(s,e),n}var et=(e,t)=>{const o=y(t),n=`${e.key}:JSON`;return o.families.get(n)};var V=(e,t)=>{if(t.family){const n=y(e),r={key:`${t.family.key}:JSON`,type:"selector_family"},a=d(r,n),s=JSON.parse(t.family.subKey);return h(e,a,s)}return{type:"selector",key:`${t.key}:JSON`}};var se=(e)=>{const o={type:"atom",key:`*${e.key}`};if(e.family)o.family={key:`*${e.family.key}`,subKey:e.family.subKey};return o};function Jt(e){return typeof e==="object"&&e!==null&&"do"in e&&"undo"in e&&"subscribe"in e}function Ae(e,t,o){const n=t.valueMap.get(e.key),i=o.valueMap.get(e.key);if(n===i){if(n===void 0)return typeof e.default==="function"?e.default():e.default;t.logger.info("\uD83D\uDCC3","atom",e.key,"copying");const r=e.toJson(n),a=e.fromJson(r);return o.valueMap.set(e.key,a),new ce(e,t),a}return i}function q(e,t,o,n){const i=n.valueMap.get(e);if(i instanceof be)i.use(t);if(t instanceof Promise){const r=new be(t);return n.valueMap.set(e,r),r.then((a)=>{q(e,a,o,n),o.next({newValue:a,oldValue:r})}).catch((a)=>{n.logger.error("\uD83D\uDCA5","state",e,"rejected:",a)}),r}return n.valueMap.set(e,t),t}var xt=(e,t)=>{let o=t.valueMap.get(e.key);if(e.type==="mutable_atom"&&R(t)){const{parent:n}=t;o=Ae(e,n,t)}return o},Ct=(e,t)=>{const o=t.valueMap.get(e);if(o instanceof be){const n=o,i=t.selectors.get(e)??t.readonlySelectors.get(e);if(i)n.use(i.get());return}if(t.operation.open)t.operation.prev.set(e,o);t.valueMap.delete(e),t.logger.info("\uD83D\uDDD1","state",e,"evicted")};var ht=(e,t)=>{return y(t).atomsThatAreDefault.has(e)},De=(e,t)=>{const o=y(t);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(e)},$t=(e,t)=>{const o=y(t);o.atomsThatAreDefault=new Set(y(t).atomsThatAreDefault),o.atomsThatAreDefault.delete(e)};function ae(e,t,o){e.logger.info("\uD83D\uDD28","atom",t.key,`creating in store "${e.config.name}"`);const n=y(e),i=n.atoms.get(t.key);if(i&&i.type==="atom")return e.logger.error("\u274C","atom",t.key,"Tried to create atom, but it already exists in the store."),U(i);const r=new b,a={...t,type:"atom",install:(c)=>{return c.logger.info("\uD83D\uDEE0\uFE0F","atom",t.key,`installing in store "${c.config.name}"`),ae(c,t,o)},subject:r};if(o)a.family=o;let s=t.default;if(t.default instanceof Function)s=t.default();n.atoms.set(a.key,a),De(t.key,e),q(t.key,s,r,n);const l=U(a);if(t.effects){let c=0;const m=[];for(let u of t.effects){const F=u({setSelf:(C)=>{j(e,l,C)},onSet:(C)=>H(l,C,`effect[${c}]`,e)});if(F)m.push(F);++c}a.cleanup=()=>{for(let u of m)u()}}return l}function bt(e,t){if("mutable"in t){const i=Je(e,t,void 0);return e.on.atomCreation.next(i),i}const n=ae(e,t,void 0);return e.on.atomCreation.next(n),n}function ot(e,t){const o=y(t),{key:n}=e,i=d(e,o);if(!i.family)t.logger.error("\u274C","atom",n,"Standalone atoms cannot be disposed.");else{i.cleanup?.();const r=t.valueMap.get(i.key);d({key:i.family.key,type:"atom_family"},t).subject.next({type:"state_disposal",token:e,value:r});const s=o.molecules.get(i.family.subKey);if(s)s.tokens.delete(n);if(o.atoms.delete(n),o.valueMap.delete(n),o.selectorAtoms.delete(n),o.atomsThatAreDefault.delete(n),o.timelineTopics.delete(n),e.type==="mutable_atom"){const l=se(e);ot(l,t),t.trackers.delete(n)}if(t.logger.info("\uD83D\uDD25","atom",n,"deleted"),R(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:e});else t.on.atomDisposal.next(e)}}var qt=(e,t,o=K.STORE)=>{return ge(o,{key:`${e.key}:JSON`,get:({get:n})=>t.toJson(n(e)),set:({set:n},i)=>{n(e,t.fromJson(i))}})};function Yt(e,t,o=K.STORE){const n=Ce(o,{key:`${e.key}:JSON`,get:(r)=>({seek:a,get:s})=>{const l=a(e,r);if(l)return t.toJson(s(l));const c=S(r),m=o.molecules.get(c);if(m){const F=Z(m,e,o);return t.toJson(s(F))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${c}"`);const u=te(o,e,r);return t.toJson(s(u))},set:(r)=>({seek:a,set:s},l)=>{const c=a(e,r);if(c)s(c,t.fromJson(l));else{const m=S(r),u=o.molecules.get(m);if(u){const F=Z(u,e,o);s(F,t.fromJson(l))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${m}"`);s(te(o,e,r),t.fromJson(l))}}}},["mutable","json"]);return d(e,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(r)=>{if(r.token.family)$(o,n,E(r.token.family.subKey))}),n}var E=(e)=>JSON.parse(e),S=(e)=>JSON.stringify(e),_m=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];class de{e;listeners;globalListeners;handleEvent(e,...t){for(let n of this.globalListeners)n(e,...t);const o=this.listeners.get(e);if(o)for(let n of o)n(...t)}id="no_id_retrieved";constructor(e){this.emit=e;this.listeners=new Map,this.globalListeners=new Set}on(e,t){const o=this.listeners.get(e);if(o)o.add(t);else this.listeners.set(e,new Set([t]));return this}onAny(e){return this.globalListeners.add(e),this}off(e,t){const o=this.listeners.get(e);if(o)if(t)o.delete(t);else this.listeners.delete(e);return this}offAny(e){return this.globalListeners.delete(e),this}}class mt extends de{e;t;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(e){if(Array.isArray(e)){const[t,...o]=e;switch(t){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(e,t,o=console){super((n,...i)=>{const r=JSON.stringify([n,...i])+"\x03",a=(s)=>{if(s.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",a)};return this.process.stdin.once("error",a),this.process.stdin.write(r),this});this.process=e;this.key=t;this.logger=o;if(this.process=e,this.process.stdout.on("data",(n)=>{const i=n.toString();if(i==="\u2728")return;this.unprocessedEvents.push(...i.split("\x03"));const r=this.unprocessedEvents.shift();this.incompleteData+=r??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let a=E(this.incompleteData);this.handleEvent(...a);while(this.unprocessedEvents.length>0){const s=this.unprocessedEvents.shift();if(s){if(this.unprocessedEvents.length===0)this.incompleteData=s;a=E(s),this.handleEvent(...a)}}this.incompleteData=""}catch(a){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(a)}}),this.process.stderr.on("data",(n)=>{const i=n.toString();this.unprocessedLogs.push(...i.split("\x03"));const r=this.unprocessedLogs.shift();this.incompleteLog+=r??"";try{let a=E(this.incompleteLog);this.handleLog(a);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)a=E(this.incompleteLog),this.handleLog(a)}catch(a){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(a),console.error("\u274C\u274C\u274C\uFE0F")}}),e.pid)this.id=e.pid.toString()}}class Lt extends de{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(e){super((...t)=>{return this.out.next(t),this});this.id=e,this.in=new b,this.out=new b,this.in.subscribe("socket",(t)=>{this.handleEvent(...t)})}dispose(){for(let e of this.disposalFunctions)e()}}class yt extends de{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...e){this.process.stderr.write(S(e.map((t)=>t instanceof z?`{ ${t.toJSON().members.join(" | ")} }`:t))+"\x03")}logger={info:(...e)=>{this.log("i",...e)},warn:(...e)=>{this.log("w",...e)},error:(...e)=>{this.log("e",...e)}};constructor(){super((e,...t)=>{const o=JSON.stringify([e,...t]);return this.process.stdout.write(o+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(e)=>{const t=e.toString();this.unprocessedEvents.push(...t.split("\x03"));const o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{const n=E(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",n),this.handleEvent(...n);while(this.unprocessedEvents.length>0){const i=this.unprocessedEvents.shift();if(i){if(this.unprocessedEvents.length===0)this.incompleteData=i;const r=E(i);this.handleEvent(...r)}}this.incompleteData=""}catch(n){if(n instanceof Error)this.logger.error("\u2757",n.message,n.cause,n.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(e)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${e}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(e)=>{this.logger.info("\uD83D\uDC64","user",e,"joined");const t=new Lt(`user:${e}`);this.relays.set(e,t),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){const n=o(t);if(n)t.disposalFunctions.push(n)}this.on(`user:${e}`,(...o)=>{t.in.next(o)}),t.out.subscribe("socket",(o)=>{this.emit(...o)})}),this.on("user-leaves",(e)=>{const t=this.relays.get(e);if(this.off(`relay:${e}`),t)t.dispose(),this.relays.delete(e)}),process.stdout.write("\u2728")}relay(e){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(e)}}class Qt extends Map{set(e,t){if(this.has(e))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:e,value:t}),this;return super.set(e,t)}clear(){throw new Error("Cannot clear an InvariantMap")}}class ft{e;type="continuity";globals=[];actions=[];perspectives=[];constructor(e){this.key=e}static existing=new Qt;static create(e,t){const o=new ft(e),{type:n,globals:i,actions:r,perspectives:a}=t(o),s={type:n,key:e,globals:i,actions:r,perspectives:a};return ft.existing.set(e,s),s}add(...e){switch(e[0].type){case"atom":case"mutable_atom":this.globals.push(...e);break;case"transaction":this.actions.push(...e);break;case"atom_family":{const[o,n]=e;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:n})}break}return this}}var my=ue({key:"usersInRoomIndex",mutable:!0,default:()=>new z,toJson:(e)=>e.toJSON(),fromJson:(e)=>z.fromJSON(e)}),pt=ue({key:"roomIndex",default:()=>new z,mutable:!0,toJson:(e)=>e.toJSON(),fromJson:(e)=>z.fromJSON(e)}),co={enteredAtEpoch:0},we=Be({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},co),yy=he({key:"usersInMyRoomView",get:(e)=>({find:t})=>{const o=Et(we);return[t(o,e)]}});import{spawn as mo}from"child_process";var ut=me({key:"roomArguments",default:["echo",["Hello World!"]]}),Zt=he({key:"room",get:(e)=>async({get:t,find:o})=>{const n=o(ut,e),i=t(n),[r,a]=i,s=await new Promise((l)=>{const c=mo(r,a,{env:process.env}),m=(u)=>{if(u.toString()==="\u2728")c.stdout.off("data",m),l(c)};c.stdout.on("data",m)});return new mt(s,e)}});var Ry=xe({key:"createRoom",do:({get:e,set:t,find:o},n,i,r)=>{const a=r?[i,r]:[i],s=o(ut,n);t(s,a),t(pt,(m)=>m.add(n));const l=o(Zt,n);return e(l)}}),Cy=xe({key:"joinRoom",do:(e,t,o,n)=>{const i={enteredAtEpoch:n};return Ee(we,(r)=>{r.set({room:t,user:o},i)},e.env().store),i}}),Ky=xe({key:"leaveRoom",do:(e,t,o)=>{Ee(we,(n)=>{n.delete({room:t,user:o})},e.env().store)}}),Jy=xe({key:"destroyRoom",do:(e,t)=>{Ee(we,(o)=>{o.delete({room:t})},e.env().store),e.set(pt,(o)=>(o.delete(t),o))}});var $y=me({key:"transactionRedactor",default:{occlude:(e)=>e}}),yo=me({key:"unacknowledgedUpdates",default:()=>[]});var fo=me({key:"sockets",default:null}),_y=ue({key:"socketsIndex",mutable:!0,default:()=>new z,toJson:(e)=>e.toJSON(),fromJson:(e)=>z.fromJSON(e)}),jy=ue({key:"usersIndex",mutable:!0,default:()=>new z,toJson:(e)=>e.toJSON(),fromJson:(e)=>z.fromJSON(e)}),po=Be({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});var Gt=new yt;Gt.logger.info("\uD83D\uDE80","hello from game worker");process.on("exit",()=>{Gt.logger.info("\uD83D\uDE80","goodbye from game worker")});
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{join as G,normalize as H,resolve as A}from"path";var{file:y,serve:I}=globalThis.Bun;var k=A(import.meta.dir,"..","app");I({port:process.env.PORT??8080,static:{"/":new Response(await Bun.file(A(k,"index.html")).bytes(),{headers:{"Content-Type":"text/html"}})},async fetch(c,B){const x=new URL(c.url),C=B.requestIP(c)?.address??"??";console.log(`[${C}]`,c.method,x.pathname);const F=G(k,x.pathname),g=H(F);if(!g.startsWith(k))return new Response("403: Forbidden",{status:403});return await y(g).exists()?new Response(y(g)):new Response("404: Not Found",{status:404})}});console.log(`Server running at http://localhost:${process.env.PORT??8080}/`);
@@ -1,14 +1,13 @@
1
- <!doctype html>
1
+ <!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Vite + React + TS</title>
8
- <script type="module" crossorigin src="/assets/index-BhkvnNtO.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-BLiTugnk.css">
10
8
  </head>
11
9
  <body>
12
10
  <div id="root"></div>
11
+ <script type="module" src="/src/frontend/main.tsx"></script>
13
12
  </body>
14
13
  </html>
package/package.json CHANGED
@@ -1,34 +1,55 @@
1
1
  {
2
2
  "name": "tempest.games",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
7
  "type": "module",
8
+ "bin": {
9
+ "frontend": "./bin/frontend.bun.js",
10
+ "backend": "./bin/backend.bun.js"
11
+ },
8
12
  "files": [
9
- "dist",
10
- "CHANGELOG.md"
13
+ "app",
14
+ "bin",
15
+ "CHANGELOG.md",
16
+ "index.html"
11
17
  ],
12
18
  "dependencies": {
13
19
  "react": "18.3.1",
14
- "react-dom": "18.3.1"
20
+ "react-dom": "18.3.1",
21
+ "atom.io": "0.29.2"
15
22
  },
16
23
  "devDependencies": {
17
24
  "@eslint/js": "9.10.0",
18
- "@types/react": "18.3.5",
25
+ "@types/bun": "1.1.9",
26
+ "@types/node": "22.5.5",
27
+ "@types/react": "18.3.7",
19
28
  "@types/react-dom": "18.3.0",
20
29
  "@vitejs/plugin-react-swc": "3.7.0",
30
+ "concurrently": "9.0.1",
31
+ "cross-env": "7.0.3",
21
32
  "eslint": "9.10.0",
22
33
  "eslint-plugin-react-refresh": "0.4.12",
23
34
  "globals": "15.9.0",
35
+ "rimraf": "6.0.1",
36
+ "tsx": "4.19.1",
24
37
  "typescript": "5.6.2",
25
- "typescript-eslint": "8.5.0",
26
- "vite": "5.4.5"
38
+ "typescript-eslint": "8.6.0",
39
+ "vite": "5.4.6"
27
40
  },
28
41
  "scripts": {
29
- "dev": "vite",
30
- "build": "vite build",
31
- "preview": "vite preview",
42
+ "dev": "concurrently \"bun:dev:*\"",
43
+ "dev:vite": "vite --port 3333",
44
+ "dev:backend": "cross-env MODE=development PORT=4444 bun --hot ./src/backend.bun.ts",
45
+ "build": "rimraf ./bin && concurrently \"bun:build:*\"",
46
+ "build:vite": "vite build --outDir ./app",
47
+ "build:frontend": "bun build ./src/frontend.bun.ts --outdir ./bin --bundle --minify --target bun",
48
+ "build:backend": "bun build ./src/backend.bun.ts --outdir ./bin --bundle --minify --target bun",
49
+ "build:backend:game": "bun build ./src/backend.worker.game.bun.ts --outdir ./bin --bundle --minify --target bun",
50
+ "preview": "concurrently \"bun:preview:*\"",
51
+ "preview:frontend": "bun ./bin/frontend.bun.js",
52
+ "preview:backend": "bun ./bin/backend.node.js",
32
53
  "test": "echo no tests yet",
33
54
  "lint:biome": "biome check -- .",
34
55
  "lint:eslint": "eslint --flag unstable_ts_config -- .",
@@ -1 +0,0 @@
1
- :root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
@@ -1,40 +0,0 @@
1
- (function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const u of o.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function t(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=t(l);fetch(l.href,o)}})();var Bi={exports:{}},br={},Hi={exports:{}},L={};/**
2
- * @license React
3
- * react.production.min.js
4
- *
5
- * Copyright (c) Facebook, Inc. and its affiliates.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */var Yt=Symbol.for("react.element"),tc=Symbol.for("react.portal"),rc=Symbol.for("react.fragment"),lc=Symbol.for("react.strict_mode"),oc=Symbol.for("react.profiler"),uc=Symbol.for("react.provider"),ic=Symbol.for("react.context"),sc=Symbol.for("react.forward_ref"),ac=Symbol.for("react.suspense"),cc=Symbol.for("react.memo"),fc=Symbol.for("react.lazy"),Mu=Symbol.iterator;function dc(e){return e===null||typeof e!="object"?null:(e=Mu&&e[Mu]||e["@@iterator"],typeof e=="function"?e:null)}var Wi={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qi=Object.assign,Ki={};function lt(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}lt.prototype.isReactComponent={};lt.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};lt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yi(){}Yi.prototype=lt.prototype;function Uo(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}var $o=Uo.prototype=new Yi;$o.constructor=Uo;Qi($o,lt.prototype);$o.isPureReactComponent=!0;var Du=Array.isArray,Xi=Object.prototype.hasOwnProperty,Vo={current:null},Gi={key:!0,ref:!0,__self:!0,__source:!0};function Zi(e,n,t){var r,l={},o=null,u=null;if(n!=null)for(r in n.ref!==void 0&&(u=n.ref),n.key!==void 0&&(o=""+n.key),n)Xi.call(n,r)&&!Gi.hasOwnProperty(r)&&(l[r]=n[r]);var i=arguments.length-2;if(i===1)l.children=t;else if(1<i){for(var s=Array(i),c=0;c<i;c++)s[c]=arguments[c+2];l.children=s}if(e&&e.defaultProps)for(r in i=e.defaultProps,i)l[r]===void 0&&(l[r]=i[r]);return{$$typeof:Yt,type:e,key:o,ref:u,props:l,_owner:Vo.current}}function pc(e,n){return{$$typeof:Yt,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function Ao(e){return typeof e=="object"&&e!==null&&e.$$typeof===Yt}function mc(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(t){return n[t]})}var Iu=/\/+/g;function wl(e,n){return typeof e=="object"&&e!==null&&e.key!=null?mc(""+e.key):n.toString(36)}function yr(e,n,t,r,l){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var u=!1;if(e===null)u=!0;else switch(o){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case Yt:case tc:u=!0}}if(u)return u=e,l=l(u),e=r===""?"."+wl(u,0):r,Du(l)?(t="",e!=null&&(t=e.replace(Iu,"$&/")+"/"),yr(l,n,t,"",function(c){return c})):l!=null&&(Ao(l)&&(l=pc(l,t+(!l.key||u&&u.key===l.key?"":(""+l.key).replace(Iu,"$&/")+"/")+e)),n.push(l)),1;if(u=0,r=r===""?".":r+":",Du(e))for(var i=0;i<e.length;i++){o=e[i];var s=r+wl(o,i);u+=yr(o,n,t,s,l)}else if(s=dc(e),typeof s=="function")for(e=s.call(e),i=0;!(o=e.next()).done;)o=o.value,s=r+wl(o,i++),u+=yr(o,n,t,s,l);else if(o==="object")throw n=String(e),Error("Objects are not valid as a React child (found: "+(n==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.");return u}function er(e,n,t){if(e==null)return e;var r=[],l=0;return yr(e,r,"","",function(o){return n.call(t,o,l++)}),r}function vc(e){if(e._status===-1){var n=e._result;n=n(),n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var ie={current:null},gr={transition:null},hc={ReactCurrentDispatcher:ie,ReactCurrentBatchConfig:gr,ReactCurrentOwner:Vo};function Ji(){throw Error("act(...) is not supported in production builds of React.")}L.Children={map:er,forEach:function(e,n,t){er(e,function(){n.apply(this,arguments)},t)},count:function(e){var n=0;return er(e,function(){n++}),n},toArray:function(e){return er(e,function(n){return n})||[]},only:function(e){if(!Ao(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};L.Component=lt;L.Fragment=rc;L.Profiler=oc;L.PureComponent=Uo;L.StrictMode=lc;L.Suspense=ac;L.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=hc;L.act=Ji;L.cloneElement=function(e,n,t){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=Qi({},e.props),l=e.key,o=e.ref,u=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,u=Vo.current),n.key!==void 0&&(l=""+n.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(s in n)Xi.call(n,s)&&!Gi.hasOwnProperty(s)&&(r[s]=n[s]===void 0&&i!==void 0?i[s]:n[s])}var s=arguments.length-2;if(s===1)r.children=t;else if(1<s){i=Array(s);for(var c=0;c<s;c++)i[c]=arguments[c+2];r.children=i}return{$$typeof:Yt,type:e.type,key:l,ref:o,props:r,_owner:u}};L.createContext=function(e){return e={$$typeof:ic,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:uc,_context:e},e.Consumer=e};L.createElement=Zi;L.createFactory=function(e){var n=Zi.bind(null,e);return n.type=e,n};L.createRef=function(){return{current:null}};L.forwardRef=function(e){return{$$typeof:sc,render:e}};L.isValidElement=Ao;L.lazy=function(e){return{$$typeof:fc,_payload:{_status:-1,_result:e},_init:vc}};L.memo=function(e,n){return{$$typeof:cc,type:e,compare:n===void 0?null:n}};L.startTransition=function(e){var n=gr.transition;gr.transition={};try{e()}finally{gr.transition=n}};L.unstable_act=Ji;L.useCallback=function(e,n){return ie.current.useCallback(e,n)};L.useContext=function(e){return ie.current.useContext(e)};L.useDebugValue=function(){};L.useDeferredValue=function(e){return ie.current.useDeferredValue(e)};L.useEffect=function(e,n){return ie.current.useEffect(e,n)};L.useId=function(){return ie.current.useId()};L.useImperativeHandle=function(e,n,t){return ie.current.useImperativeHandle(e,n,t)};L.useInsertionEffect=function(e,n){return ie.current.useInsertionEffect(e,n)};L.useLayoutEffect=function(e,n){return ie.current.useLayoutEffect(e,n)};L.useMemo=function(e,n){return ie.current.useMemo(e,n)};L.useReducer=function(e,n,t){return ie.current.useReducer(e,n,t)};L.useRef=function(e){return ie.current.useRef(e)};L.useState=function(e){return ie.current.useState(e)};L.useSyncExternalStore=function(e,n,t){return ie.current.useSyncExternalStore(e,n,t)};L.useTransition=function(){return ie.current.useTransition()};L.version="18.3.1";Hi.exports=L;var el=Hi.exports;/**
10
- * @license React
11
- * react-jsx-runtime.production.min.js
12
- *
13
- * Copyright (c) Facebook, Inc. and its affiliates.
14
- *
15
- * This source code is licensed under the MIT license found in the
16
- * LICENSE file in the root directory of this source tree.
17
- */var yc=el,gc=Symbol.for("react.element"),wc=Symbol.for("react.fragment"),Sc=Object.prototype.hasOwnProperty,kc=yc.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ec={key:!0,ref:!0,__self:!0,__source:!0};function qi(e,n,t){var r,l={},o=null,u=null;t!==void 0&&(o=""+t),n.key!==void 0&&(o=""+n.key),n.ref!==void 0&&(u=n.ref);for(r in n)Sc.call(n,r)&&!Ec.hasOwnProperty(r)&&(l[r]=n[r]);if(e&&e.defaultProps)for(r in n=e.defaultProps,n)l[r]===void 0&&(l[r]=n[r]);return{$$typeof:gc,type:e,key:o,ref:u,props:l,_owner:kc.current}}br.Fragment=wc;br.jsx=qi;br.jsxs=qi;Bi.exports=br;var le=Bi.exports,bi={exports:{}},ge={},es={exports:{}},ns={};/**
18
- * @license React
19
- * scheduler.production.min.js
20
- *
21
- * Copyright (c) Facebook, Inc. and its affiliates.
22
- *
23
- * This source code is licensed under the MIT license found in the
24
- * LICENSE file in the root directory of this source tree.
25
- */(function(e){function n(C,P){var z=C.length;C.push(P);e:for(;0<z;){var H=z-1>>>1,X=C[H];if(0<l(X,P))C[H]=P,C[z]=X,z=H;else break e}}function t(C){return C.length===0?null:C[0]}function r(C){if(C.length===0)return null;var P=C[0],z=C.pop();if(z!==P){C[0]=z;e:for(var H=0,X=C.length,qt=X>>>1;H<qt;){var hn=2*(H+1)-1,gl=C[hn],yn=hn+1,bt=C[yn];if(0>l(gl,z))yn<X&&0>l(bt,gl)?(C[H]=bt,C[yn]=z,H=yn):(C[H]=gl,C[hn]=z,H=hn);else if(yn<X&&0>l(bt,z))C[H]=bt,C[yn]=z,H=yn;else break e}}return P}function l(C,P){var z=C.sortIndex-P.sortIndex;return z!==0?z:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var u=Date,i=u.now();e.unstable_now=function(){return u.now()-i}}var s=[],c=[],v=1,m=null,p=3,g=!1,w=!1,S=!1,j=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=t(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=C)r(c),P.sortIndex=P.expirationTime,n(s,P);else break;P=t(c)}}function h(C){if(S=!1,d(C),!w)if(t(s)!==null)w=!0,hl(E);else{var P=t(c);P!==null&&yl(h,P.startTime-C)}}function E(C,P){w=!1,S&&(S=!1,f(N),N=-1),g=!0;var z=p;try{for(d(P),m=t(s);m!==null&&(!(m.expirationTime>P)||C&&!Ne());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=P);P=e.unstable_now(),typeof X=="function"?m.callback=X:m===t(s)&&r(s),d(P)}else r(s);m=t(s)}if(m!==null)var qt=!0;else{var hn=t(c);hn!==null&&yl(h,hn.startTime-P),qt=!1}return qt}finally{m=null,p=z,g=!1}}var _=!1,x=null,N=-1,B=5,T=-1;function Ne(){return!(e.unstable_now()-T<B)}function it(){if(x!==null){var C=e.unstable_now();T=C;var P=!0;try{P=x(!0,C)}finally{P?st():(_=!1,x=null)}}else _=!1}var st;if(typeof a=="function")st=function(){a(it)};else if(typeof MessageChannel<"u"){var Ou=new MessageChannel,nc=Ou.port2;Ou.port1.onmessage=it,st=function(){nc.postMessage(null)}}else st=function(){j(it,0)};function hl(C){x=C,_||(_=!0,st())}function yl(C,P){N=j(function(){C(e.unstable_now())},P)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(C){C.callback=null},e.unstable_continueExecution=function(){w||g||(w=!0,hl(E))},e.unstable_forceFrameRate=function(C){0>C||125<C?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):B=0<C?Math.floor(1e3/C):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return t(s)},e.unstable_next=function(C){switch(p){case 1:case 2:case 3:var P=3;break;default:P=p}var z=p;p=P;try{return C()}finally{p=z}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(C,P){switch(C){case 1:case 2:case 3:case 4:case 5:break;default:C=3}var z=p;p=C;try{return P()}finally{p=z}},e.unstable_scheduleCallback=function(C,P,z){var H=e.unstable_now();switch(typeof z=="object"&&z!==null?(z=z.delay,z=typeof z=="number"&&0<z?H+z:H):z=H,C){case 1:var X=-1;break;case 2:X=250;break;case 5:X=1073741823;break;case 4:X=1e4;break;default:X=5e3}return X=z+X,C={id:v++,callback:P,priorityLevel:C,startTime:z,expirationTime:X,sortIndex:-1},z>H?(C.sortIndex=z,n(c,C),t(s)===null&&C===t(c)&&(S?(f(N),N=-1):S=!0,yl(h,z-H))):(C.sortIndex=X,n(s,C),w||g||(w=!0,hl(E))),C},e.unstable_shouldYield=Ne,e.unstable_wrapCallback=function(C){var P=p;return function(){var z=p;p=P;try{return C.apply(this,arguments)}finally{p=z}}}})(ns);es.exports=ns;var Cc=es.exports;/**
26
- * @license React
27
- * react-dom.production.min.js
28
- *
29
- * Copyright (c) Facebook, Inc. and its affiliates.
30
- *
31
- * This source code is licensed under the MIT license found in the
32
- * LICENSE file in the root directory of this source tree.
33
- */var _c=el,ye=Cc;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t<arguments.length;t++)n+="&args[]="+encodeURIComponent(arguments[t]);return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var ts=new Set,Tt={};function Tn(e,n){Jn(e,n),Jn(e+"Capture",n)}function Jn(e,n){for(Tt[e]=n,e=0;e<n.length;e++)ts.add(n[e])}var We=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ql=Object.prototype.hasOwnProperty,xc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ju={},Fu={};function Nc(e){return Ql.call(Fu,e)?!0:Ql.call(ju,e)?!1:xc.test(e)?Fu[e]=!0:(ju[e]=!0,!1)}function Pc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zc(e,n,t,r){if(n===null||typeof n>"u"||Pc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function se(e,n,t,r,l,o,u){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=o,this.removeEmptyString=u}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new se(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];b[n]=new se(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new se(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new se(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){b[e]=new se(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new se(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new se(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new se(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new se(e,5,!1,e.toLowerCase(),null,!1,!1)});var Bo=/[\-:]([a-z])/g;function Ho(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(Bo,Ho);b[n]=new se(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Bo,Ho);b[n]=new se(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Bo,Ho);b[n]=new se(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new se(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new se("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new se(e,1,!1,e.toLowerCase(),null,!0,!0)});function Wo(e,n,t,r){var l=b.hasOwnProperty(n)?b[n]:null;(l!==null?l.type!==0:r||!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(zc(n,t,l,r)&&(t=null),r||l===null?Nc(n)&&(t===null?e.removeAttribute(n):e.setAttribute(n,""+t)):l.mustUseProperty?e[l.propertyName]=t===null?l.type===3?!1:"":t:(n=l.attributeName,r=l.attributeNamespace,t===null?e.removeAttribute(n):(l=l.type,t=l===3||l===4&&t===!0?"":""+t,r?e.setAttributeNS(r,n,t):e.setAttribute(n,t))))}var Xe=_c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,nr=Symbol.for("react.element"),Mn=Symbol.for("react.portal"),Dn=Symbol.for("react.fragment"),Qo=Symbol.for("react.strict_mode"),Kl=Symbol.for("react.profiler"),rs=Symbol.for("react.provider"),ls=Symbol.for("react.context"),Ko=Symbol.for("react.forward_ref"),Yl=Symbol.for("react.suspense"),Xl=Symbol.for("react.suspense_list"),Yo=Symbol.for("react.memo"),Ze=Symbol.for("react.lazy"),os=Symbol.for("react.offscreen"),Uu=Symbol.iterator;function at(e){return e===null||typeof e!="object"?null:(e=Uu&&e[Uu]||e["@@iterator"],typeof e=="function"?e:null)}var V=Object.assign,Sl;function yt(e){if(Sl===void 0)try{throw Error()}catch(t){var n=t.stack.trim().match(/\n( *(at )?)/);Sl=n&&n[1]||""}return`
34
- `+Sl+e}var kl=!1;function El(e,n){if(!e||kl)return"";kl=!0;var t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(n)if(n=function(){throw Error()},Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(n,[])}catch(c){var r=c}Reflect.construct(e,[],n)}else{try{n.call()}catch(c){r=c}e.call(n.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&typeof c.stack=="string"){for(var l=c.stack.split(`
35
- `),o=r.stack.split(`
36
- `),u=l.length-1,i=o.length-1;1<=u&&0<=i&&l[u]!==o[i];)i--;for(;1<=u&&0<=i;u--,i--)if(l[u]!==o[i]){if(u!==1||i!==1)do if(u--,i--,0>i||l[u]!==o[i]){var s=`
37
- `+l[u].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=u&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?yt(e):""}function Lc(e){switch(e.tag){case 5:return yt(e.type);case 16:return yt("Lazy");case 13:return yt("Suspense");case 19:return yt("SuspenseList");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Dn:return"Fragment";case Mn:return"Portal";case Kl:return"Profiler";case Qo:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Ko:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Yo:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ze:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Tc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Qo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function fn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function us(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=us(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,o=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=""+u,o.call(this,u)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function tr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=us(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Lr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return V({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $u(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=fn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Wo(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=fn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,fn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Vu(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Lr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var gt=Array.isArray;function Qn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l<t.length;l++)n["$"+t[l]]=!0;for(t=0;t<e.length;t++)l=n.hasOwnProperty("$"+e[t].value),e[t].selected!==l&&(e[t].selected=l),l&&r&&(e[t].defaultSelected=!0)}else{for(t=""+fn(t),n=null,l=0;l<e.length;l++){if(e[l].value===t){e[l].selected=!0,r&&(e[l].defaultSelected=!0);return}n!==null||e[l].disabled||(n=e[l])}n!==null&&(n.selected=!0)}}function bl(e,n){if(n.dangerouslySetInnerHTML!=null)throw Error(y(91));return V({},n,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Au(e,n){var t=n.value;if(t==null){if(t=n.children,n=n.defaultValue,t!=null){if(n!=null)throw Error(y(92));if(gt(t)){if(1<t.length)throw Error(y(93));t=t[0]}n=t}n==null&&(n=""),t=n}e._wrapperState={initialValue:fn(t)}}function as(e,n){var t=fn(n.value),r=fn(n.defaultValue);t!=null&&(t=""+t,t!==e.value&&(e.value=t),n.defaultValue==null&&e.defaultValue!==t&&(e.defaultValue=t)),r!=null&&(e.defaultValue=""+r)}function Bu(e){var n=e.textContent;n===e._wrapperState.initialValue&&n!==""&&n!==null&&(e.value=n)}function cs(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function eo(e,n){return e==null||e==="http://www.w3.org/1999/xhtml"?cs(n):e==="http://www.w3.org/2000/svg"&&n==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var rr,fs=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(n,t,r,l){MSApp.execUnsafeLocalFunction(function(){return e(n,t,r,l)})}:e}(function(e,n){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=n;else{for(rr=rr||document.createElement("div"),rr.innerHTML="<svg>"+n.valueOf().toString()+"</svg>",n=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Rt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var kt={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Oc=["Webkit","ms","Moz","O"];Object.keys(kt).forEach(function(e){Oc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),kt[n]=kt[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||kt.hasOwnProperty(e)&&kt[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Mc=V({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function no(e,n){if(n){if(Mc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function to(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ro=null;function Xo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lo=null,Kn=null,Yn=null;function Hu(e){if(e=Zt(e)){if(typeof lo!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ol(n),lo(e.stateNode,e.type,n))}}function ms(e){Kn?Yn?Yn.push(e):Yn=[e]:Kn=e}function vs(){if(Kn){var e=Kn,n=Yn;if(Yn=Kn=null,Hu(e),n)for(e=0;e<n.length;e++)Hu(n[e])}}function hs(e,n){return e(n)}function ys(){}var Cl=!1;function gs(e,n,t){if(Cl)return e(n,t);Cl=!0;try{return hs(e,n,t)}finally{Cl=!1,(Kn!==null||Yn!==null)&&(ys(),vs())}}function Ot(e,n){var t=e.stateNode;if(t===null)return null;var r=ol(t);if(r===null)return null;t=r[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(t&&typeof t!="function")throw Error(y(231,n,typeof t));return t}var oo=!1;if(We)try{var ct={};Object.defineProperty(ct,"passive",{get:function(){oo=!0}}),window.addEventListener("test",ct,ct),window.removeEventListener("test",ct,ct)}catch{oo=!1}function Dc(e,n,t,r,l,o,u,i,s){var c=Array.prototype.slice.call(arguments,3);try{n.apply(t,c)}catch(v){this.onError(v)}}var Et=!1,Tr=null,Rr=!1,uo=null,Ic={onError:function(e){Et=!0,Tr=e}};function jc(e,n,t,r,l,o,u,i,s){Et=!1,Tr=null,Dc.apply(Ic,arguments)}function Fc(e,n,t,r,l,o,u,i,s){if(jc.apply(this,arguments),Et){if(Et){var c=Tr;Et=!1,Tr=null}else throw Error(y(198));Rr||(Rr=!0,uo=c)}}function Rn(e){var n=e,t=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,n.flags&4098&&(t=n.return),e=n.return;while(e)}return n.tag===3?t:null}function ws(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function Wu(e){if(Rn(e)!==e)throw Error(y(188))}function Uc(e){var n=e.alternate;if(!n){if(n=Rn(e),n===null)throw Error(y(188));return n!==e?null:e}for(var t=e,r=n;;){var l=t.return;if(l===null)break;var o=l.alternate;if(o===null){if(r=l.return,r!==null){t=r;continue}break}if(l.child===o.child){for(o=l.child;o;){if(o===t)return Wu(l),e;if(o===r)return Wu(l),n;o=o.sibling}throw Error(y(188))}if(t.return!==r.return)t=l,r=o;else{for(var u=!1,i=l.child;i;){if(i===t){u=!0,t=l,r=o;break}if(i===r){u=!0,r=l,t=o;break}i=i.sibling}if(!u){for(i=o.child;i;){if(i===t){u=!0,t=o,r=l;break}if(i===r){u=!0,r=o,t=l;break}i=i.sibling}if(!u)throw Error(y(189))}}if(t.alternate!==r)throw Error(y(190))}if(t.tag!==3)throw Error(y(188));return t.stateNode.current===t?e:n}function Ss(e){return e=Uc(e),e!==null?ks(e):null}function ks(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var n=ks(e);if(n!==null)return n;e=e.sibling}return null}var Es=ye.unstable_scheduleCallback,Qu=ye.unstable_cancelCallback,$c=ye.unstable_shouldYield,Vc=ye.unstable_requestPaint,W=ye.unstable_now,Ac=ye.unstable_getCurrentPriorityLevel,Go=ye.unstable_ImmediatePriority,Cs=ye.unstable_UserBlockingPriority,Or=ye.unstable_NormalPriority,Bc=ye.unstable_LowPriority,_s=ye.unstable_IdlePriority,nl=null,Fe=null;function Hc(e){if(Fe&&typeof Fe.onCommitFiberRoot=="function")try{Fe.onCommitFiberRoot(nl,e,void 0,(e.current.flags&128)===128)}catch{}}var Re=Math.clz32?Math.clz32:Kc,Wc=Math.log,Qc=Math.LN2;function Kc(e){return e>>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var lr=64,or=4194304;function wt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,u=t&268435455;if(u!==0){var i=u&~l;i!==0?r=wt(i):(o&=u,o!==0&&(r=wt(o)))}else u=t&~l,u!==0?r=wt(u):o!==0&&(r=wt(o));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,o=n&-n,l>=o||l===16&&(o&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0<n;)t=31-Re(n),l=1<<t,r|=e[t],n&=~l;return r}function Yc(e,n){switch(e){case 1:case 2:case 4:return n+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Xc(e,n){for(var t=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,o=e.pendingLanes;0<o;){var u=31-Re(o),i=1<<u,s=l[u];s===-1?(!(i&t)||i&r)&&(l[u]=Yc(i,n)):s<=n&&(e.expiredLanes|=i),o&=~i}}function io(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function xs(){var e=lr;return lr<<=1,!(lr&4194240)&&(lr=64),e}function _l(e){for(var n=[],t=0;31>t;t++)n.push(e);return n}function Xt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Re(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<t;){var l=31-Re(t),o=1<<l;n[l]=0,r[l]=-1,e[l]=-1,t&=~o}}function Zo(e,n){var t=e.entangledLanes|=n;for(e=e.entanglements;t;){var r=31-Re(t),l=1<<r;l&n|e[r]&n&&(e[r]|=n),t&=~l}}var O=0;function Ns(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Ps,Jo,zs,Ls,Ts,so=!1,ur=[],tn=null,rn=null,ln=null,Mt=new Map,Dt=new Map,qe=[],Zc="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Ku(e,n){switch(e){case"focusin":case"focusout":tn=null;break;case"dragenter":case"dragleave":rn=null;break;case"mouseover":case"mouseout":ln=null;break;case"pointerover":case"pointerout":Mt.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":Dt.delete(n.pointerId)}}function ft(e,n,t,r,l,o){return e===null||e.nativeEvent!==o?(e={blockedOn:n,domEventName:t,eventSystemFlags:r,nativeEvent:o,targetContainers:[l]},n!==null&&(n=Zt(n),n!==null&&Jo(n)),e):(e.eventSystemFlags|=r,n=e.targetContainers,l!==null&&n.indexOf(l)===-1&&n.push(l),e)}function Jc(e,n,t,r,l){switch(n){case"focusin":return tn=ft(tn,e,n,t,r,l),!0;case"dragenter":return rn=ft(rn,e,n,t,r,l),!0;case"mouseover":return ln=ft(ln,e,n,t,r,l),!0;case"pointerover":var o=l.pointerId;return Mt.set(o,ft(Mt.get(o)||null,e,n,t,r,l)),!0;case"gotpointercapture":return o=l.pointerId,Dt.set(o,ft(Dt.get(o)||null,e,n,t,r,l)),!0}return!1}function Rs(e){var n=Sn(e.target);if(n!==null){var t=Rn(n);if(t!==null){if(n=t.tag,n===13){if(n=ws(t),n!==null){e.blockedOn=n,Ts(e.priority,function(){zs(t)});return}}else if(n===3&&t.stateNode.current.memoizedState.isDehydrated){e.blockedOn=t.tag===3?t.stateNode.containerInfo:null;return}}}e.blockedOn=null}function wr(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var t=ao(e.domEventName,e.eventSystemFlags,n[0],e.nativeEvent);if(t===null){t=e.nativeEvent;var r=new t.constructor(t.type,t);ro=r,t.target.dispatchEvent(r),ro=null}else return n=Zt(t),n!==null&&Jo(n),e.blockedOn=t,!1;n.shift()}return!0}function Yu(e,n,t){wr(e)&&t.delete(n)}function qc(){so=!1,tn!==null&&wr(tn)&&(tn=null),rn!==null&&wr(rn)&&(rn=null),ln!==null&&wr(ln)&&(ln=null),Mt.forEach(Yu),Dt.forEach(Yu)}function dt(e,n){e.blockedOn===n&&(e.blockedOn=null,so||(so=!0,ye.unstable_scheduleCallback(ye.unstable_NormalPriority,qc)))}function It(e){function n(l){return dt(l,e)}if(0<ur.length){dt(ur[0],e);for(var t=1;t<ur.length;t++){var r=ur[t];r.blockedOn===e&&(r.blockedOn=null)}}for(tn!==null&&dt(tn,e),rn!==null&&dt(rn,e),ln!==null&&dt(ln,e),Mt.forEach(n),Dt.forEach(n),t=0;t<qe.length;t++)r=qe[t],r.blockedOn===e&&(r.blockedOn=null);for(;0<qe.length&&(t=qe[0],t.blockedOn===null);)Rs(t),t.blockedOn===null&&qe.shift()}var Xn=Xe.ReactCurrentBatchConfig,Dr=!0;function bc(e,n,t,r){var l=O,o=Xn.transition;Xn.transition=null;try{O=1,qo(e,n,t,r)}finally{O=l,Xn.transition=o}}function ef(e,n,t,r){var l=O,o=Xn.transition;Xn.transition=null;try{O=4,qo(e,n,t,r)}finally{O=l,Xn.transition=o}}function qo(e,n,t,r){if(Dr){var l=ao(e,n,t,r);if(l===null)Dl(e,n,r,Ir,t),Ku(e,r);else if(Jc(l,e,n,t,r))r.stopPropagation();else if(Ku(e,r),n&4&&-1<Zc.indexOf(e)){for(;l!==null;){var o=Zt(l);if(o!==null&&Ps(o),o=ao(e,n,t,r),o===null&&Dl(e,n,r,Ir,t),o===l)break;l=o}l!==null&&r.stopPropagation()}else Dl(e,n,r,null,t)}}var Ir=null;function ao(e,n,t,r){if(Ir=null,e=Xo(r),e=Sn(e),e!==null)if(n=Rn(e),n===null)e=null;else if(t=n.tag,t===13){if(e=ws(n),e!==null)return e;e=null}else if(t===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null);return Ir=e,null}function Os(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Ac()){case Go:return 1;case Cs:return 4;case Or:case Bc:return 16;case _s:return 536870912;default:return 16}default:return 16}}var en=null,bo=null,Sr=null;function Ms(){if(Sr)return Sr;var e,n=bo,t=n.length,r,l="value"in en?en.value:en.textContent,o=l.length;for(e=0;e<t&&n[e]===l[e];e++);var u=t-e;for(r=1;r<=u&&n[t-r]===l[o-r];r++);return Sr=l.slice(e,1<r?1-r:void 0)}function kr(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function ir(){return!0}function Xu(){return!1}function we(e){function n(t,r,l,o,u){this._reactName=t,this._targetInst=l,this.type=r,this.nativeEvent=o,this.target=u,this.currentTarget=null;for(var i in e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(o.defaultPrevented!=null?o.defaultPrevented:o.returnValue===!1)?ir:Xu,this.isPropagationStopped=Xu,this}return V(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var t=this.nativeEvent;t&&(t.preventDefault?t.preventDefault():typeof t.returnValue!="unknown"&&(t.returnValue=!1),this.isDefaultPrevented=ir)},stopPropagation:function(){var t=this.nativeEvent;t&&(t.stopPropagation?t.stopPropagation():typeof t.cancelBubble!="unknown"&&(t.cancelBubble=!0),this.isPropagationStopped=ir)},persist:function(){},isPersistent:ir}),n}var ot={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},eu=we(ot),Gt=V({},ot,{view:0,detail:0}),nf=we(Gt),xl,Nl,pt,tl=V({},Gt,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:nu,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==pt&&(pt&&e.type==="mousemove"?(xl=e.screenX-pt.screenX,Nl=e.screenY-pt.screenY):Nl=xl=0,pt=e),xl)},movementY:function(e){return"movementY"in e?e.movementY:Nl}}),Gu=we(tl),tf=V({},tl,{dataTransfer:0}),rf=we(tf),lf=V({},Gt,{relatedTarget:0}),Pl=we(lf),of=V({},ot,{animationName:0,elapsedTime:0,pseudoElement:0}),uf=we(of),sf=V({},ot,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),af=we(sf),cf=V({},ot,{data:0}),Zu=we(cf),ff={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},df={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},pf={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function mf(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=pf[e])?!!n[e]:!1}function nu(){return mf}var vf=V({},Gt,{key:function(e){if(e.key){var n=ff[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=kr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?df[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:nu,charCode:function(e){return e.type==="keypress"?kr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?kr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),hf=we(vf),yf=V({},tl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ju=we(yf),gf=V({},Gt,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:nu}),wf=we(gf),Sf=V({},ot,{propertyName:0,elapsedTime:0,pseudoElement:0}),kf=we(Sf),Ef=V({},tl,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Cf=we(Ef),_f=[9,13,27,32],tu=We&&"CompositionEvent"in window,Ct=null;We&&"documentMode"in document&&(Ct=document.documentMode);var xf=We&&"TextEvent"in window&&!Ct,Ds=We&&(!tu||Ct&&8<Ct&&11>=Ct),qu=" ",bu=!1;function Is(e,n){switch(e){case"keyup":return _f.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function js(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function Nf(e,n){switch(e){case"compositionend":return js(n);case"keypress":return n.which!==32?null:(bu=!0,qu);case"textInput":return e=n.data,e===qu&&bu?null:e;default:return null}}function Pf(e,n){if(In)return e==="compositionend"||!tu&&Is(e,n)?(e=Ms(),Sr=bo=en=null,In=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return Ds&&n.locale!=="ko"?null:n.data;default:return null}}var zf={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ei(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!zf[e.type]:n==="textarea"}function Fs(e,n,t,r){ms(r),n=jr(n,"onChange"),0<n.length&&(t=new eu("onChange","change",null,t,r),e.push({event:t,listeners:n}))}var _t=null,jt=null;function Lf(e){Xs(e,0)}function rl(e){var n=Un(e);if(is(n))return e}function Tf(e,n){if(e==="change")return n}var Us=!1;if(We){var zl;if(We){var Ll="oninput"in document;if(!Ll){var ni=document.createElement("div");ni.setAttribute("oninput","return;"),Ll=typeof ni.oninput=="function"}zl=Ll}else zl=!1;Us=zl&&(!document.documentMode||9<document.documentMode)}function ti(){_t&&(_t.detachEvent("onpropertychange",$s),jt=_t=null)}function $s(e){if(e.propertyName==="value"&&rl(jt)){var n=[];Fs(n,jt,e,Xo(e)),gs(Lf,n)}}function Rf(e,n,t){e==="focusin"?(ti(),_t=n,jt=t,_t.attachEvent("onpropertychange",$s)):e==="focusout"&&ti()}function Of(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return rl(jt)}function Mf(e,n){if(e==="click")return rl(n)}function Df(e,n){if(e==="input"||e==="change")return rl(n)}function If(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var Me=typeof Object.is=="function"?Object.is:If;function Ft(e,n){if(Me(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var t=Object.keys(e),r=Object.keys(n);if(t.length!==r.length)return!1;for(r=0;r<t.length;r++){var l=t[r];if(!Ql.call(n,l)||!Me(e[l],n[l]))return!1}return!0}function ri(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function li(e,n){var t=ri(e);e=0;for(var r;t;){if(t.nodeType===3){if(r=e+t.textContent.length,e<=n&&r>=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function Vs(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Vs(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function As(){for(var e=window,n=Lr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Lr(e.document)}return n}function ru(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function jf(e){var n=As(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&Vs(t.ownerDocument.documentElement,t)){if(r!==null&&ru(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=li(t,o);var u=li(t,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(n),e.extend(u.node,u.offset)):(n.setEnd(u.node,u.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t<n.length;t++)e=n[t],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Ff=We&&"documentMode"in document&&11>=document.documentMode,jn=null,co=null,xt=null,fo=!1;function oi(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fo||jn==null||jn!==Lr(r)||(r=jn,"selectionStart"in r&&ru(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xt&&Ft(xt,r)||(xt=r,r=jr(co,"onSelect"),0<r.length&&(n=new eu("onSelect","select",null,n,t),e.push({event:n,listeners:r}),n.target=jn)))}function sr(e,n){var t={};return t[e.toLowerCase()]=n.toLowerCase(),t["Webkit"+e]="webkit"+n,t["Moz"+e]="moz"+n,t}var Fn={animationend:sr("Animation","AnimationEnd"),animationiteration:sr("Animation","AnimationIteration"),animationstart:sr("Animation","AnimationStart"),transitionend:sr("Transition","TransitionEnd")},Tl={},Bs={};We&&(Bs=document.createElement("div").style,"AnimationEvent"in window||(delete Fn.animationend.animation,delete Fn.animationiteration.animation,delete Fn.animationstart.animation),"TransitionEvent"in window||delete Fn.transitionend.transition);function ll(e){if(Tl[e])return Tl[e];if(!Fn[e])return e;var n=Fn[e],t;for(t in n)if(n.hasOwnProperty(t)&&t in Bs)return Tl[e]=n[t];return e}var Hs=ll("animationend"),Ws=ll("animationiteration"),Qs=ll("animationstart"),Ks=ll("transitionend"),Ys=new Map,ui="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function pn(e,n){Ys.set(e,n),Tn(n,[e])}for(var Rl=0;Rl<ui.length;Rl++){var Ol=ui[Rl],Uf=Ol.toLowerCase(),$f=Ol[0].toUpperCase()+Ol.slice(1);pn(Uf,"on"+$f)}pn(Hs,"onAnimationEnd");pn(Ws,"onAnimationIteration");pn(Qs,"onAnimationStart");pn("dblclick","onDoubleClick");pn("focusin","onFocus");pn("focusout","onBlur");pn(Ks,"onTransitionEnd");Jn("onMouseEnter",["mouseout","mouseover"]);Jn("onMouseLeave",["mouseout","mouseover"]);Jn("onPointerEnter",["pointerout","pointerover"]);Jn("onPointerLeave",["pointerout","pointerover"]);Tn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Tn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Tn("onBeforeInput",["compositionend","keypress","textInput","paste"]);Tn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Tn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Tn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var St="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Vf=new Set("cancel close invalid load scroll toggle".split(" ").concat(St));function ii(e,n,t){var r=e.type||"unknown-event";e.currentTarget=t,Fc(r,n,void 0,e),e.currentTarget=null}function Xs(e,n){n=(n&4)!==0;for(var t=0;t<e.length;t++){var r=e[t],l=r.event;r=r.listeners;e:{var o=void 0;if(n)for(var u=r.length-1;0<=u;u--){var i=r[u],s=i.instance,c=i.currentTarget;if(i=i.listener,s!==o&&l.isPropagationStopped())break e;ii(l,i,c),o=s}else for(u=0;u<r.length;u++){if(i=r[u],s=i.instance,c=i.currentTarget,i=i.listener,s!==o&&l.isPropagationStopped())break e;ii(l,i,c),o=s}}}if(Rr)throw e=uo,Rr=!1,uo=null,e}function D(e,n){var t=n[yo];t===void 0&&(t=n[yo]=new Set);var r=e+"__bubble";t.has(r)||(Gs(n,e,2,!1),t.add(r))}function Ml(e,n,t){var r=0;n&&(r|=4),Gs(t,e,r,n)}var ar="_reactListening"+Math.random().toString(36).slice(2);function Ut(e){if(!e[ar]){e[ar]=!0,ts.forEach(function(t){t!=="selectionchange"&&(Vf.has(t)||Ml(t,!1,e),Ml(t,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[ar]||(n[ar]=!0,Ml("selectionchange",!1,n))}}function Gs(e,n,t,r){switch(Os(n)){case 1:var l=bc;break;case 4:l=ef;break;default:l=qo}t=l.bind(null,n,t,e),l=void 0,!oo||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(l=!0),r?l!==void 0?e.addEventListener(n,t,{capture:!0,passive:l}):e.addEventListener(n,t,!0):l!==void 0?e.addEventListener(n,t,{passive:l}):e.addEventListener(n,t,!1)}function Dl(e,n,t,r,l){var o=r;if(!(n&1)&&!(n&2)&&r!==null)e:for(;;){if(r===null)return;var u=r.tag;if(u===3||u===4){var i=r.stateNode.containerInfo;if(i===l||i.nodeType===8&&i.parentNode===l)break;if(u===4)for(u=r.return;u!==null;){var s=u.tag;if((s===3||s===4)&&(s=u.stateNode.containerInfo,s===l||s.nodeType===8&&s.parentNode===l))return;u=u.return}for(;i!==null;){if(u=Sn(i),u===null)return;if(s=u.tag,s===5||s===6){r=o=u;continue e}i=i.parentNode}}r=r.return}gs(function(){var c=o,v=Xo(t),m=[];e:{var p=Ys.get(e);if(p!==void 0){var g=eu,w=e;switch(e){case"keypress":if(kr(t)===0)break e;case"keydown":case"keyup":g=hf;break;case"focusin":w="focus",g=Pl;break;case"focusout":w="blur",g=Pl;break;case"beforeblur":case"afterblur":g=Pl;break;case"click":if(t.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":g=Gu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":g=rf;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":g=wf;break;case Hs:case Ws:case Qs:g=uf;break;case Ks:g=kf;break;case"scroll":g=nf;break;case"wheel":g=Cf;break;case"copy":case"cut":case"paste":g=af;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":g=Ju}var S=(n&4)!==0,j=!S&&e==="scroll",f=S?p!==null?p+"Capture":null:p;S=[];for(var a=c,d;a!==null;){d=a;var h=d.stateNode;if(d.tag===5&&h!==null&&(d=h,f!==null&&(h=Ot(a,f),h!=null&&S.push($t(a,h,d)))),j)break;a=a.return}0<S.length&&(p=new g(p,w,null,t,v),m.push({event:p,listeners:S}))}}if(!(n&7)){e:{if(p=e==="mouseover"||e==="pointerover",g=e==="mouseout"||e==="pointerout",p&&t!==ro&&(w=t.relatedTarget||t.fromElement)&&(Sn(w)||w[Qe]))break e;if((g||p)&&(p=v.window===v?v:(p=v.ownerDocument)?p.defaultView||p.parentWindow:window,g?(w=t.relatedTarget||t.toElement,g=c,w=w?Sn(w):null,w!==null&&(j=Rn(w),w!==j||w.tag!==5&&w.tag!==6)&&(w=null)):(g=null,w=c),g!==w)){if(S=Gu,h="onMouseLeave",f="onMouseEnter",a="mouse",(e==="pointerout"||e==="pointerover")&&(S=Ju,h="onPointerLeave",f="onPointerEnter",a="pointer"),j=g==null?p:Un(g),d=w==null?p:Un(w),p=new S(h,a+"leave",g,t,v),p.target=j,p.relatedTarget=d,h=null,Sn(v)===c&&(S=new S(f,a+"enter",w,t,v),S.target=d,S.relatedTarget=j,h=S),j=h,g&&w)n:{for(S=g,f=w,a=0,d=S;d;d=On(d))a++;for(d=0,h=f;h;h=On(h))d++;for(;0<a-d;)S=On(S),a--;for(;0<d-a;)f=On(f),d--;for(;a--;){if(S===f||f!==null&&S===f.alternate)break n;S=On(S),f=On(f)}S=null}else S=null;g!==null&&si(m,p,g,S,!1),w!==null&&j!==null&&si(m,j,w,S,!0)}}e:{if(p=c?Un(c):window,g=p.nodeName&&p.nodeName.toLowerCase(),g==="select"||g==="input"&&p.type==="file")var E=Tf;else if(ei(p))if(Us)E=Df;else{E=Of;var _=Rf}else(g=p.nodeName)&&g.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(E=Mf);if(E&&(E=E(e,c))){Fs(m,E,t,v);break e}_&&_(e,p,c),e==="focusout"&&(_=p._wrapperState)&&_.controlled&&p.type==="number"&&ql(p,"number",p.value)}switch(_=c?Un(c):window,e){case"focusin":(ei(_)||_.contentEditable==="true")&&(jn=_,co=c,xt=null);break;case"focusout":xt=co=jn=null;break;case"mousedown":fo=!0;break;case"contextmenu":case"mouseup":case"dragend":fo=!1,oi(m,t,v);break;case"selectionchange":if(Ff)break;case"keydown":case"keyup":oi(m,t,v)}var x;if(tu)e:{switch(e){case"compositionstart":var N="onCompositionStart";break e;case"compositionend":N="onCompositionEnd";break e;case"compositionupdate":N="onCompositionUpdate";break e}N=void 0}else In?Is(e,t)&&(N="onCompositionEnd"):e==="keydown"&&t.keyCode===229&&(N="onCompositionStart");N&&(Ds&&t.locale!=="ko"&&(In||N!=="onCompositionStart"?N==="onCompositionEnd"&&In&&(x=Ms()):(en=v,bo="value"in en?en.value:en.textContent,In=!0)),_=jr(c,N),0<_.length&&(N=new Zu(N,e,null,t,v),m.push({event:N,listeners:_}),x?N.data=x:(x=js(t),x!==null&&(N.data=x)))),(x=xf?Nf(e,t):Pf(e,t))&&(c=jr(c,"onBeforeInput"),0<c.length&&(v=new Zu("onBeforeInput","beforeinput",null,t,v),m.push({event:v,listeners:c}),v.data=x))}Xs(m,n)})}function $t(e,n,t){return{instance:e,listener:n,currentTarget:t}}function jr(e,n){for(var t=n+"Capture",r=[];e!==null;){var l=e,o=l.stateNode;l.tag===5&&o!==null&&(l=o,o=Ot(e,t),o!=null&&r.unshift($t(e,o,l)),o=Ot(e,n),o!=null&&r.push($t(e,o,l))),e=e.return}return r}function On(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function si(e,n,t,r,l){for(var o=n._reactName,u=[];t!==null&&t!==r;){var i=t,s=i.alternate,c=i.stateNode;if(s!==null&&s===r)break;i.tag===5&&c!==null&&(i=c,l?(s=Ot(t,o),s!=null&&u.unshift($t(t,s,i))):l||(s=Ot(t,o),s!=null&&u.push($t(t,s,i)))),t=t.return}u.length!==0&&e.push({event:n,listeners:u})}var Af=/\r\n?/g,Bf=/\u0000|\uFFFD/g;function ai(e){return(typeof e=="string"?e:""+e).replace(Af,`
38
- `).replace(Bf,"")}function cr(e,n,t){if(n=ai(n),ai(e)!==n&&t)throw Error(y(425))}function Fr(){}var po=null,mo=null;function vo(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var ho=typeof setTimeout=="function"?setTimeout:void 0,Hf=typeof clearTimeout=="function"?clearTimeout:void 0,ci=typeof Promise=="function"?Promise:void 0,Wf=typeof queueMicrotask=="function"?queueMicrotask:typeof ci<"u"?function(e){return ci.resolve(null).then(e).catch(Qf)}:ho;function Qf(e){setTimeout(function(){throw e})}function Il(e,n){var t=n,r=0;do{var l=t.nextSibling;if(e.removeChild(t),l&&l.nodeType===8)if(t=l.data,t==="/$"){if(r===0){e.removeChild(l),It(n);return}r--}else t!=="$"&&t!=="$?"&&t!=="$!"||r++;t=l}while(t);It(n)}function on(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?")break;if(n==="/$")return null}}return e}function fi(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var t=e.data;if(t==="$"||t==="$!"||t==="$?"){if(n===0)return e;n--}else t==="/$"&&n++}e=e.previousSibling}return null}var ut=Math.random().toString(36).slice(2),je="__reactFiber$"+ut,Vt="__reactProps$"+ut,Qe="__reactContainer$"+ut,yo="__reactEvents$"+ut,Kf="__reactListeners$"+ut,Yf="__reactHandles$"+ut;function Sn(e){var n=e[je];if(n)return n;for(var t=e.parentNode;t;){if(n=t[Qe]||t[je]){if(t=n.alternate,n.child!==null||t!==null&&t.child!==null)for(e=fi(e);e!==null;){if(t=e[je])return t;e=fi(e)}return n}e=t,t=e.parentNode}return null}function Zt(e){return e=e[je]||e[Qe],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Un(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(y(33))}function ol(e){return e[Vt]||null}var go=[],$n=-1;function mn(e){return{current:e}}function I(e){0>$n||(e.current=go[$n],go[$n]=null,$n--)}function M(e,n){$n++,go[$n]=e.current,e.current=n}var dn={},re=mn(dn),fe=mn(!1),xn=dn;function qn(e,n){var t=e.type.contextTypes;if(!t)return dn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in t)l[o]=n[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function de(e){return e=e.childContextTypes,e!=null}function Ur(){I(fe),I(re)}function di(e,n,t){if(re.current!==dn)throw Error(y(168));M(re,n),M(fe,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Tc(e)||"Unknown",l));return V({},t,r)}function $r(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||dn,xn=re.current,M(re,e),M(fe,fe.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,xn),r.__reactInternalMemoizedMergedChildContext=e,I(fe),I(re),M(re,e)):I(fe),M(fe,t)}var Ve=null,ul=!1,jl=!1;function Js(e){Ve===null?Ve=[e]:Ve.push(e)}function Xf(e){ul=!0,Js(e)}function vn(){if(!jl&&Ve!==null){jl=!0;var e=0,n=O;try{var t=Ve;for(O=1;e<t.length;e++){var r=t[e];do r=r(!0);while(r!==null)}Ve=null,ul=!1}catch(l){throw Ve!==null&&(Ve=Ve.slice(e+1)),Es(Go,vn),l}finally{O=n,jl=!1}}return null}var Vn=[],An=0,Vr=null,Ar=0,Se=[],ke=0,Nn=null,Ae=1,Be="";function gn(e,n){Vn[An++]=Ar,Vn[An++]=Vr,Vr=e,Ar=n}function qs(e,n,t){Se[ke++]=Ae,Se[ke++]=Be,Se[ke++]=Nn,Nn=e;var r=Ae;e=Be;var l=32-Re(r)-1;r&=~(1<<l),t+=1;var o=32-Re(n)+l;if(30<o){var u=l-l%5;o=(r&(1<<u)-1).toString(32),r>>=u,l-=u,Ae=1<<32-Re(n)+l|t<<l|r,Be=o+e}else Ae=1<<o|t<<l|r,Be=e}function lu(e){e.return!==null&&(gn(e,1),qs(e,1,0))}function ou(e){for(;e===Vr;)Vr=Vn[--An],Vn[An]=null,Ar=Vn[--An],Vn[An]=null;for(;e===Nn;)Nn=Se[--ke],Se[ke]=null,Be=Se[--ke],Se[ke]=null,Ae=Se[--ke],Se[ke]=null}var he=null,ve=null,F=!1,Te=null;function bs(e,n){var t=Ee(5,null,null,0);t.elementType="DELETED",t.stateNode=n,t.return=e,n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)}function mi(e,n){switch(e.tag){case 5:var t=e.type;return n=n.nodeType!==1||t.toLowerCase()!==n.nodeName.toLowerCase()?null:n,n!==null?(e.stateNode=n,he=e,ve=on(n.firstChild),!0):!1;case 6:return n=e.pendingProps===""||n.nodeType!==3?null:n,n!==null?(e.stateNode=n,he=e,ve=null,!0):!1;case 13:return n=n.nodeType!==8?null:n,n!==null?(t=Nn!==null?{id:Ae,overflow:Be}:null,e.memoizedState={dehydrated:n,treeContext:t,retryLane:1073741824},t=Ee(18,null,null,0),t.stateNode=n,t.return=e,e.child=t,he=e,ve=null,!0):!1;default:return!1}}function wo(e){return(e.mode&1)!==0&&(e.flags&128)===0}function So(e){if(F){var n=ve;if(n){var t=n;if(!mi(e,n)){if(wo(e))throw Error(y(418));n=on(t.nextSibling);var r=he;n&&mi(e,n)?bs(r,t):(e.flags=e.flags&-4097|2,F=!1,he=e)}}else{if(wo(e))throw Error(y(418));e.flags=e.flags&-4097|2,F=!1,he=e}}}function vi(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;he=e}function fr(e){if(e!==he)return!1;if(!F)return vi(e),F=!0,!1;var n;if((n=e.tag!==3)&&!(n=e.tag!==5)&&(n=e.type,n=n!=="head"&&n!=="body"&&!vo(e.type,e.memoizedProps)),n&&(n=ve)){if(wo(e))throw ea(),Error(y(418));for(;n;)bs(e,n),n=on(n.nextSibling)}if(vi(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(y(317));e:{for(e=e.nextSibling,n=0;e;){if(e.nodeType===8){var t=e.data;if(t==="/$"){if(n===0){ve=on(e.nextSibling);break e}n--}else t!=="$"&&t!=="$!"&&t!=="$?"||n++}e=e.nextSibling}ve=null}}else ve=he?on(e.stateNode.nextSibling):null;return!0}function ea(){for(var e=ve;e;)e=on(e.nextSibling)}function bn(){ve=he=null,F=!1}function uu(e){Te===null?Te=[e]:Te.push(e)}var Gf=Xe.ReactCurrentBatchConfig;function mt(e,n,t){if(e=t.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(t._owner){if(t=t._owner,t){if(t.tag!==1)throw Error(y(309));var r=t.stateNode}if(!r)throw Error(y(147,e));var l=r,o=""+e;return n!==null&&n.ref!==null&&typeof n.ref=="function"&&n.ref._stringRef===o?n.ref:(n=function(u){var i=l.refs;u===null?delete i[o]:i[o]=u},n._stringRef=o,n)}if(typeof e!="string")throw Error(y(284));if(!t._owner)throw Error(y(290,e))}return e}function dr(e,n){throw e=Object.prototype.toString.call(n),Error(y(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e))}function hi(e){var n=e._init;return n(e._payload)}function na(e){function n(f,a){if(e){var d=f.deletions;d===null?(f.deletions=[a],f.flags|=16):d.push(a)}}function t(f,a){if(!e)return null;for(;a!==null;)n(f,a),a=a.sibling;return null}function r(f,a){for(f=new Map;a!==null;)a.key!==null?f.set(a.key,a):f.set(a.index,a),a=a.sibling;return f}function l(f,a){return f=cn(f,a),f.index=0,f.sibling=null,f}function o(f,a,d){return f.index=d,e?(d=f.alternate,d!==null?(d=d.index,d<a?(f.flags|=2,a):d):(f.flags|=2,a)):(f.flags|=1048576,a)}function u(f){return e&&f.alternate===null&&(f.flags|=2),f}function i(f,a,d,h){return a===null||a.tag!==6?(a=Hl(d,f.mode,h),a.return=f,a):(a=l(a,d),a.return=f,a)}function s(f,a,d,h){var E=d.type;return E===Dn?v(f,a,d.props.children,h,d.key):a!==null&&(a.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ze&&hi(E)===a.type)?(h=l(a,d.props),h.ref=mt(f,a,d),h.return=f,h):(h=zr(d.type,d.key,d.props,null,f.mode,h),h.ref=mt(f,a,d),h.return=f,h)}function c(f,a,d,h){return a===null||a.tag!==4||a.stateNode.containerInfo!==d.containerInfo||a.stateNode.implementation!==d.implementation?(a=Wl(d,f.mode,h),a.return=f,a):(a=l(a,d.children||[]),a.return=f,a)}function v(f,a,d,h,E){return a===null||a.tag!==7?(a=_n(d,f.mode,h,E),a.return=f,a):(a=l(a,d),a.return=f,a)}function m(f,a,d){if(typeof a=="string"&&a!==""||typeof a=="number")return a=Hl(""+a,f.mode,d),a.return=f,a;if(typeof a=="object"&&a!==null){switch(a.$$typeof){case nr:return d=zr(a.type,a.key,a.props,null,f.mode,d),d.ref=mt(f,null,a),d.return=f,d;case Mn:return a=Wl(a,f.mode,d),a.return=f,a;case Ze:var h=a._init;return m(f,h(a._payload),d)}if(gt(a)||at(a))return a=_n(a,f.mode,d,null),a.return=f,a;dr(f,a)}return null}function p(f,a,d,h){var E=a!==null?a.key:null;if(typeof d=="string"&&d!==""||typeof d=="number")return E!==null?null:i(f,a,""+d,h);if(typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:return d.key===E?s(f,a,d,h):null;case Mn:return d.key===E?c(f,a,d,h):null;case Ze:return E=d._init,p(f,a,E(d._payload),h)}if(gt(d)||at(d))return E!==null?null:v(f,a,d,h,null);dr(f,d)}return null}function g(f,a,d,h,E){if(typeof h=="string"&&h!==""||typeof h=="number")return f=f.get(d)||null,i(a,f,""+h,E);if(typeof h=="object"&&h!==null){switch(h.$$typeof){case nr:return f=f.get(h.key===null?d:h.key)||null,s(a,f,h,E);case Mn:return f=f.get(h.key===null?d:h.key)||null,c(a,f,h,E);case Ze:var _=h._init;return g(f,a,d,_(h._payload),E)}if(gt(h)||at(h))return f=f.get(d)||null,v(a,f,h,E,null);dr(a,h)}return null}function w(f,a,d,h){for(var E=null,_=null,x=a,N=a=0,B=null;x!==null&&N<d.length;N++){x.index>N?(B=x,x=null):B=x.sibling;var T=p(f,x,d[N],h);if(T===null){x===null&&(x=B);break}e&&x&&T.alternate===null&&n(f,x),a=o(T,a,N),_===null?E=T:_.sibling=T,_=T,x=B}if(N===d.length)return t(f,x),F&&gn(f,N),E;if(x===null){for(;N<d.length;N++)x=m(f,d[N],h),x!==null&&(a=o(x,a,N),_===null?E=x:_.sibling=x,_=x);return F&&gn(f,N),E}for(x=r(f,x);N<d.length;N++)B=g(x,f,N,d[N],h),B!==null&&(e&&B.alternate!==null&&x.delete(B.key===null?N:B.key),a=o(B,a,N),_===null?E=B:_.sibling=B,_=B);return e&&x.forEach(function(Ne){return n(f,Ne)}),F&&gn(f,N),E}function S(f,a,d,h){var E=at(d);if(typeof E!="function")throw Error(y(150));if(d=E.call(d),d==null)throw Error(y(151));for(var _=E=null,x=a,N=a=0,B=null,T=d.next();x!==null&&!T.done;N++,T=d.next()){x.index>N?(B=x,x=null):B=x.sibling;var Ne=p(f,x,T.value,h);if(Ne===null){x===null&&(x=B);break}e&&x&&Ne.alternate===null&&n(f,x),a=o(Ne,a,N),_===null?E=Ne:_.sibling=Ne,_=Ne,x=B}if(T.done)return t(f,x),F&&gn(f,N),E;if(x===null){for(;!T.done;N++,T=d.next())T=m(f,T.value,h),T!==null&&(a=o(T,a,N),_===null?E=T:_.sibling=T,_=T);return F&&gn(f,N),E}for(x=r(f,x);!T.done;N++,T=d.next())T=g(x,f,N,T.value,h),T!==null&&(e&&T.alternate!==null&&x.delete(T.key===null?N:T.key),a=o(T,a,N),_===null?E=T:_.sibling=T,_=T);return e&&x.forEach(function(it){return n(f,it)}),F&&gn(f,N),E}function j(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===Dn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Dn){if(_.tag===7){t(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ze&&hi(E)===_.type){t(f,_.sibling),a=l(_,d.props),a.ref=mt(f,_,d),a.return=f,f=a;break e}t(f,_);break}else n(f,_);_=_.sibling}d.type===Dn?(a=_n(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=zr(d.type,d.key,d.props,null,f.mode,h),h.ref=mt(f,a,d),h.return=f,f=h)}return u(f);case Mn:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Wl(d,f.mode,h),a.return=f,f=a}return u(f);case Ze:return _=d._init,j(f,a,_(d._payload),h)}if(gt(d))return w(f,a,d,h);if(at(d))return S(f,a,d,h);dr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Hl(d,f.mode,h),a.return=f,f=a),u(f)):t(f,a)}return j}var et=na(!0),ta=na(!1),Br=mn(null),Hr=null,Bn=null,iu=null;function su(){iu=Bn=Hr=null}function au(e){var n=Br.current;I(Br),e._currentValue=n}function ko(e,n,t){for(;e!==null;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,r!==null&&(r.childLanes|=n)):r!==null&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===t)break;e=e.return}}function Gn(e,n){Hr=e,iu=Bn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&n&&(ce=!0),e.firstContext=null)}function _e(e){var n=e._currentValue;if(iu!==e)if(e={context:e,memoizedValue:n,next:null},Bn===null){if(Hr===null)throw Error(y(308));Bn=e,Hr.dependencies={lanes:0,firstContext:e}}else Bn=Bn.next=e;return n}var kn=null;function cu(e){kn===null?kn=[e]:kn.push(e)}function ra(e,n,t,r){var l=n.interleaved;return l===null?(t.next=t,cu(n)):(t.next=l.next,l.next=t),n.interleaved=t,Ke(e,r)}function Ke(e,n){e.lanes|=n;var t=e.alternate;for(t!==null&&(t.lanes|=n),t=e,e=e.return;e!==null;)e.childLanes|=n,t=e.alternate,t!==null&&(t.childLanes|=n),t=e,e=e.return;return t.tag===3?t.stateNode:null}var Je=!1;function fu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function la(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function He(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function un(e,n,t){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,R&2){var l=r.pending;return l===null?n.next=n:(n.next=l.next,l.next=n),r.pending=n,Ke(e,t)}return l=r.interleaved,l===null?(n.next=n,cu(r)):(n.next=l.next,l.next=n),r.interleaved=n,Ke(e,t)}function Er(e,n,t){if(n=n.updateQueue,n!==null&&(n=n.shared,(t&4194240)!==0)){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Zo(e,t)}}function yi(e,n){var t=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,t===r)){var l=null,o=null;if(t=t.firstBaseUpdate,t!==null){do{var u={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};o===null?l=o=u:o=o.next=u,t=t.next}while(t!==null);o===null?l=o=n:o=o.next=n}else l=o=n;t={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=t;return}e=t.lastBaseUpdate,e===null?t.firstBaseUpdate=n:e.next=n,t.lastBaseUpdate=n}function Wr(e,n,t,r){var l=e.updateQueue;Je=!1;var o=l.firstBaseUpdate,u=l.lastBaseUpdate,i=l.shared.pending;if(i!==null){l.shared.pending=null;var s=i,c=s.next;s.next=null,u===null?o=c:u.next=c,u=s;var v=e.alternate;v!==null&&(v=v.updateQueue,i=v.lastBaseUpdate,i!==u&&(i===null?v.firstBaseUpdate=c:i.next=c,v.lastBaseUpdate=s))}if(o!==null){var m=l.baseState;u=0,v=c=s=null,i=o;do{var p=i.lane,g=i.eventTime;if((r&p)===p){v!==null&&(v=v.next={eventTime:g,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var w=e,S=i;switch(p=n,g=t,S.tag){case 1:if(w=S.payload,typeof w=="function"){m=w.call(g,m,p);break e}m=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=S.payload,p=typeof w=="function"?w.call(g,m,p):w,p==null)break e;m=V({},m,p);break e;case 2:Je=!0}}i.callback!==null&&i.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[i]:p.push(i))}else g={eventTime:g,lane:p,tag:i.tag,payload:i.payload,callback:i.callback,next:null},v===null?(c=v=g,s=m):v=v.next=g,u|=p;if(i=i.next,i===null){if(i=l.shared.pending,i===null)break;p=i,i=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(v===null&&(s=m),l.baseState=s,l.firstBaseUpdate=c,l.lastBaseUpdate=v,n=l.shared.interleaved,n!==null){l=n;do u|=l.lane,l=l.next;while(l!==n)}else o===null&&(l.shared.lanes=0);zn|=u,e.lanes=u,e.memoizedState=m}}function gi(e,n,t){if(e=n.effects,n.effects=null,e!==null)for(n=0;n<e.length;n++){var r=e[n],l=r.callback;if(l!==null){if(r.callback=null,r=t,typeof l!="function")throw Error(y(191,l));l.call(r)}}}var Jt={},Ue=mn(Jt),At=mn(Jt),Bt=mn(Jt);function En(e){if(e===Jt)throw Error(y(174));return e}function du(e,n){switch(M(Bt,n),M(At,e),M(Ue,Jt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eo(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eo(n,e)}I(Ue),M(Ue,n)}function nt(){I(Ue),I(At),I(Bt)}function oa(e){En(Bt.current);var n=En(Ue.current),t=eo(n,e.type);n!==t&&(M(At,e),M(Ue,t))}function pu(e){At.current===e&&(I(Ue),I(At))}var U=mn(0);function Qr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mu(){for(var e=0;e<Fl.length;e++)Fl[e]._workInProgressVersionPrimary=null;Fl.length=0}var Cr=Xe.ReactCurrentDispatcher,Ul=Xe.ReactCurrentBatchConfig,Pn=0,$=null,K=null,G=null,Kr=!1,Nt=!1,Ht=0,Zf=0;function ee(){throw Error(y(321))}function vu(e,n){if(n===null)return!1;for(var t=0;t<n.length&&t<e.length;t++)if(!Me(e[t],n[t]))return!1;return!0}function hu(e,n,t,r,l,o){if(Pn=o,$=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,Cr.current=e===null||e.memoizedState===null?ed:nd,e=t(r,l),Nt){o=0;do{if(Nt=!1,Ht=0,25<=o)throw Error(y(301));o+=1,G=K=null,n.updateQueue=null,Cr.current=td,e=t(r,l)}while(Nt)}if(Cr.current=Yr,n=K!==null&&K.next!==null,Pn=0,G=K=$=null,Kr=!1,n)throw Error(y(300));return e}function yu(){var e=Ht!==0;return Ht=0,e}function Ie(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return G===null?$.memoizedState=G=e:G=G.next=e,G}function xe(){if(K===null){var e=$.alternate;e=e!==null?e.memoizedState:null}else e=K.next;var n=G===null?$.memoizedState:G.next;if(n!==null)G=n,K=e;else{if(e===null)throw Error(y(310));K=e,e={memoizedState:K.memoizedState,baseState:K.baseState,baseQueue:K.baseQueue,queue:K.queue,next:null},G===null?$.memoizedState=G=e:G=G.next=e}return G}function Wt(e,n){return typeof n=="function"?n(e):n}function $l(e){var n=xe(),t=n.queue;if(t===null)throw Error(y(311));t.lastRenderedReducer=e;var r=K,l=r.baseQueue,o=t.pending;if(o!==null){if(l!==null){var u=l.next;l.next=o.next,o.next=u}r.baseQueue=l=o,t.pending=null}if(l!==null){o=l.next,r=r.baseState;var i=u=null,s=null,c=o;do{var v=c.lane;if((Pn&v)===v)s!==null&&(s=s.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:e(r,c.action);else{var m={lane:v,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};s===null?(i=s=m,u=r):s=s.next=m,$.lanes|=v,zn|=v}c=c.next}while(c!==null&&c!==o);s===null?u=r:s.next=i,Me(r,n.memoizedState)||(ce=!0),n.memoizedState=r,n.baseState=u,n.baseQueue=s,t.lastRenderedState=r}if(e=t.interleaved,e!==null){l=e;do o=l.lane,$.lanes|=o,zn|=o,l=l.next;while(l!==e)}else l===null&&(t.lanes=0);return[n.memoizedState,t.dispatch]}function Vl(e){var n=xe(),t=n.queue;if(t===null)throw Error(y(311));t.lastRenderedReducer=e;var r=t.dispatch,l=t.pending,o=n.memoizedState;if(l!==null){t.pending=null;var u=l=l.next;do o=e(o,u.action),u=u.next;while(u!==l);Me(o,n.memoizedState)||(ce=!0),n.memoizedState=o,n.baseQueue===null&&(n.baseState=o),t.lastRenderedState=o}return[o,r]}function ua(){}function ia(e,n){var t=$,r=xe(),l=n(),o=!Me(r.memoizedState,l);if(o&&(r.memoizedState=l,ce=!0),r=r.queue,gu(ca.bind(null,t,r,e),[e]),r.getSnapshot!==n||o||G!==null&&G.memoizedState.tag&1){if(t.flags|=2048,Qt(9,aa.bind(null,t,r,l,n),void 0,null),Z===null)throw Error(y(349));Pn&30||sa(t,n,l)}return l}function sa(e,n,t){e.flags|=16384,e={getSnapshot:n,value:t},n=$.updateQueue,n===null?(n={lastEffect:null,stores:null},$.updateQueue=n,n.stores=[e]):(t=n.stores,t===null?n.stores=[e]:t.push(e))}function aa(e,n,t,r){n.value=t,n.getSnapshot=r,fa(n)&&da(e)}function ca(e,n,t){return t(function(){fa(n)&&da(e)})}function fa(e){var n=e.getSnapshot;e=e.value;try{var t=n();return!Me(e,t)}catch{return!0}}function da(e){var n=Ke(e,1);n!==null&&Oe(n,e,1,-1)}function wi(e){var n=Ie();return typeof e=="function"&&(e=e()),n.memoizedState=n.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Wt,lastRenderedState:e},n.queue=e,e=e.dispatch=bf.bind(null,$,e),[n.memoizedState,e]}function Qt(e,n,t,r){return e={tag:e,create:n,destroy:t,deps:r,next:null},n=$.updateQueue,n===null?(n={lastEffect:null,stores:null},$.updateQueue=n,n.lastEffect=e.next=e):(t=n.lastEffect,t===null?n.lastEffect=e.next=e:(r=t.next,t.next=e,e.next=r,n.lastEffect=e)),e}function pa(){return xe().memoizedState}function _r(e,n,t,r){var l=Ie();$.flags|=e,l.memoizedState=Qt(1|n,t,void 0,r===void 0?null:r)}function il(e,n,t,r){var l=xe();r=r===void 0?null:r;var o=void 0;if(K!==null){var u=K.memoizedState;if(o=u.destroy,r!==null&&vu(r,u.deps)){l.memoizedState=Qt(n,t,o,r);return}}$.flags|=e,l.memoizedState=Qt(1|n,t,o,r)}function Si(e,n){return _r(8390656,8,e,n)}function gu(e,n){return il(2048,8,e,n)}function ma(e,n){return il(4,2,e,n)}function va(e,n){return il(4,4,e,n)}function ha(e,n){if(typeof n=="function")return e=e(),n(e),function(){n(null)};if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function ya(e,n,t){return t=t!=null?t.concat([e]):null,il(4,4,ha.bind(null,n,e),t)}function wu(){}function ga(e,n){var t=xe();n=n===void 0?null:n;var r=t.memoizedState;return r!==null&&n!==null&&vu(n,r[1])?r[0]:(t.memoizedState=[e,n],e)}function wa(e,n){var t=xe();n=n===void 0?null:n;var r=t.memoizedState;return r!==null&&n!==null&&vu(n,r[1])?r[0]:(e=e(),t.memoizedState=[e,n],e)}function Sa(e,n,t){return Pn&21?(Me(t,n)||(t=xs(),$.lanes|=t,zn|=t,e.baseState=!0),n):(e.baseState&&(e.baseState=!1,ce=!0),e.memoizedState=t)}function Jf(e,n){var t=O;O=t!==0&&4>t?t:4,e(!0);var r=Ul.transition;Ul.transition={};try{e(!1),n()}finally{O=t,Ul.transition=r}}function ka(){return xe().memoizedState}function qf(e,n,t){var r=an(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},Ea(e))Ca(n,t);else if(t=ra(e,n,t,r),t!==null){var l=ue();Oe(t,e,r,l),_a(t,n,r)}}function bf(e,n,t){var r=an(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(Ea(e))Ca(n,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=n.lastRenderedReducer,o!==null))try{var u=n.lastRenderedState,i=o(u,t);if(l.hasEagerState=!0,l.eagerState=i,Me(i,u)){var s=n.interleaved;s===null?(l.next=l,cu(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=ra(e,n,l,r),t!==null&&(l=ue(),Oe(t,e,r,l),_a(t,n,r))}}function Ea(e){var n=e.alternate;return e===$||n!==null&&n===$}function Ca(e,n){Nt=Kr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function _a(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Zo(e,t)}}var Yr={readContext:_e,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:_e,useCallback:function(e,n){return Ie().memoizedState=[e,n===void 0?null:n],e},useContext:_e,useEffect:Si,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ha.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=Ie();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Ie();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=Ie();return e={current:e},n.memoizedState=e},useState:wi,useDebugValue:wu,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=wi(!1),n=e[0];return e=Jf.bind(null,e[1]),Ie().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=Ie();if(F){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),Z===null)throw Error(y(349));Pn&30||sa(r,n,t)}l.memoizedState=t;var o={value:t,getSnapshot:n};return l.queue=o,Si(ca.bind(null,r,o,e),[e]),r.flags|=2048,Qt(9,aa.bind(null,r,o,t,n),void 0,null),t},useId:function(){var e=Ie(),n=Z.identifierPrefix;if(F){var t=Be,r=Ae;t=(r&~(1<<32-Re(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Ht++,0<t&&(n+="H"+t.toString(32)),n+=":"}else t=Zf++,n=":"+n+"r"+t.toString(32)+":";return e.memoizedState=n},unstable_isNewReconciler:!1},nd={readContext:_e,useCallback:ga,useContext:_e,useEffect:gu,useImperativeHandle:ya,useInsertionEffect:ma,useLayoutEffect:va,useMemo:wa,useReducer:$l,useRef:pa,useState:function(){return $l(Wt)},useDebugValue:wu,useDeferredValue:function(e){var n=xe();return Sa(n,K.memoizedState,e)},useTransition:function(){var e=$l(Wt)[0],n=xe().memoizedState;return[e,n]},useMutableSource:ua,useSyncExternalStore:ia,useId:ka,unstable_isNewReconciler:!1},td={readContext:_e,useCallback:ga,useContext:_e,useEffect:gu,useImperativeHandle:ya,useInsertionEffect:ma,useLayoutEffect:va,useMemo:wa,useReducer:Vl,useRef:pa,useState:function(){return Vl(Wt)},useDebugValue:wu,useDeferredValue:function(e){var n=xe();return K===null?n.memoizedState=e:Sa(n,K.memoizedState,e)},useTransition:function(){var e=Vl(Wt)[0],n=xe().memoizedState;return[e,n]},useMutableSource:ua,useSyncExternalStore:ia,useId:ka,unstable_isNewReconciler:!1};function ze(e,n){if(e&&e.defaultProps){n=V({},n),e=e.defaultProps;for(var t in e)n[t]===void 0&&(n[t]=e[t]);return n}return n}function Eo(e,n,t,r){n=e.memoizedState,t=t(r,n),t=t==null?n:V({},n,t),e.memoizedState=t,e.lanes===0&&(e.updateQueue.baseState=t)}var sl={isMounted:function(e){return(e=e._reactInternals)?Rn(e)===e:!1},enqueueSetState:function(e,n,t){e=e._reactInternals;var r=ue(),l=an(e),o=He(r,l);o.payload=n,t!=null&&(o.callback=t),n=un(e,o,l),n!==null&&(Oe(n,e,l,r),Er(n,e,l))},enqueueReplaceState:function(e,n,t){e=e._reactInternals;var r=ue(),l=an(e),o=He(r,l);o.tag=1,o.payload=n,t!=null&&(o.callback=t),n=un(e,o,l),n!==null&&(Oe(n,e,l,r),Er(n,e,l))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var t=ue(),r=an(e),l=He(t,r);l.tag=2,n!=null&&(l.callback=n),n=un(e,l,r),n!==null&&(Oe(n,e,r,t),Er(n,e,r))}};function ki(e,n,t,r,l,o,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,o,u):n.prototype&&n.prototype.isPureReactComponent?!Ft(t,r)||!Ft(l,o):!0}function xa(e,n,t){var r=!1,l=dn,o=n.contextType;return typeof o=="object"&&o!==null?o=_e(o):(l=de(n)?xn:re.current,r=n.contextTypes,o=(r=r!=null)?qn(e,l):dn),n=new n(t,o),e.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=sl,e.stateNode=n,n._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=l,e.__reactInternalMemoizedMaskedChildContext=o),n}function Ei(e,n,t,r){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(t,r),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(t,r),n.state!==e&&sl.enqueueReplaceState(n,n.state,null)}function Co(e,n,t,r){var l=e.stateNode;l.props=t,l.state=e.memoizedState,l.refs={},fu(e);var o=n.contextType;typeof o=="object"&&o!==null?l.context=_e(o):(o=de(n)?xn:re.current,l.context=qn(e,o)),l.state=e.memoizedState,o=n.getDerivedStateFromProps,typeof o=="function"&&(Eo(e,n,o,t),l.state=e.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof l.getSnapshotBeforeUpdate=="function"||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(n=l.state,typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount(),n!==l.state&&sl.enqueueReplaceState(l,l.state,null),Wr(e,t,l,r),l.state=e.memoizedState),typeof l.componentDidMount=="function"&&(e.flags|=4194308)}function tt(e,n){try{var t="",r=n;do t+=Lc(r),r=r.return;while(r);var l=t}catch(o){l=`
39
- Error generating stack: `+o.message+`
40
- `+o.stack}return{value:e,source:n,stack:l,digest:null}}function Al(e,n,t){return{value:e,source:null,stack:t??null,digest:n??null}}function _o(e,n){try{console.error(n.value)}catch(t){setTimeout(function(){throw t})}}var rd=typeof WeakMap=="function"?WeakMap:Map;function Na(e,n,t){t=He(-1,t),t.tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){Gr||(Gr=!0,Do=r),_o(e,n)},t}function Pa(e,n,t){t=He(-1,t),t.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=n.value;t.payload=function(){return r(l)},t.callback=function(){_o(e,n)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(t.callback=function(){_o(e,n),typeof r!="function"&&(sn===null?sn=new Set([this]):sn.add(this));var u=n.stack;this.componentDidCatch(n.value,{componentStack:u!==null?u:""})}),t}function Ci(e,n,t){var r=e.pingCache;if(r===null){r=e.pingCache=new rd;var l=new Set;r.set(n,l)}else l=r.get(n),l===void 0&&(l=new Set,r.set(n,l));l.has(t)||(l.add(t),e=yd.bind(null,e,n,t),n.then(e,e))}function _i(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function xi(e,n,t,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===n?e.flags|=65536:(e.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(n=He(-1,1),n.tag=2,un(t,n,1))),t.lanes|=1),e)}var ld=Xe.ReactCurrentOwner,ce=!1;function oe(e,n,t,r){n.child=e===null?ta(n,null,t,r):et(n,e.child,t,r)}function Ni(e,n,t,r,l){t=t.render;var o=n.ref;return Gn(n,l),r=hu(e,n,t,r,o,l),t=yu(),e!==null&&!ce?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Ye(e,n,l)):(F&&t&&lu(n),n.flags|=1,oe(e,n,r,l),n.child)}function Pi(e,n,t,r,l){if(e===null){var o=t.type;return typeof o=="function"&&!Pu(o)&&o.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(n.tag=15,n.type=o,za(e,n,o,r,l)):(e=zr(t.type,null,r,n,n.mode,l),e.ref=n.ref,e.return=n,n.child=e)}if(o=e.child,!(e.lanes&l)){var u=o.memoizedProps;if(t=t.compare,t=t!==null?t:Ft,t(u,r)&&e.ref===n.ref)return Ye(e,n,l)}return n.flags|=1,e=cn(o,r),e.ref=n.ref,e.return=n,n.child=e}function za(e,n,t,r,l){if(e!==null){var o=e.memoizedProps;if(Ft(o,r)&&e.ref===n.ref)if(ce=!1,n.pendingProps=r=o,(e.lanes&l)!==0)e.flags&131072&&(ce=!0);else return n.lanes=e.lanes,Ye(e,n,l)}return xo(e,n,t,r,l)}function La(e,n,t){var r=n.pendingProps,l=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(n.mode&1))n.memoizedState={baseLanes:0,cachePool:null,transitions:null},M(Wn,me),me|=t;else{if(!(t&1073741824))return e=o!==null?o.baseLanes|t:t,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,M(Wn,me),me|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:t,M(Wn,me),me|=r}else o!==null?(r=o.baseLanes|t,n.memoizedState=null):r=t,M(Wn,me),me|=r;return oe(e,n,l,t),n.child}function Ta(e,n){var t=n.ref;(e===null&&t!==null||e!==null&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function xo(e,n,t,r,l){var o=de(t)?xn:re.current;return o=qn(n,o),Gn(n,l),t=hu(e,n,t,r,o,l),r=yu(),e!==null&&!ce?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Ye(e,n,l)):(F&&r&&lu(n),n.flags|=1,oe(e,n,t,l),n.child)}function zi(e,n,t,r,l){if(de(t)){var o=!0;$r(n)}else o=!1;if(Gn(n,l),n.stateNode===null)xr(e,n),xa(n,t,r),Co(n,t,r,l),r=!0;else if(e===null){var u=n.stateNode,i=n.memoizedProps;u.props=i;var s=u.context,c=t.contextType;typeof c=="object"&&c!==null?c=_e(c):(c=de(t)?xn:re.current,c=qn(n,c));var v=t.getDerivedStateFromProps,m=typeof v=="function"||typeof u.getSnapshotBeforeUpdate=="function";m||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(i!==r||s!==c)&&Ei(n,u,r,c),Je=!1;var p=n.memoizedState;u.state=p,Wr(n,r,u,l),s=n.memoizedState,i!==r||p!==s||fe.current||Je?(typeof v=="function"&&(Eo(n,t,v,r),s=n.memoizedState),(i=Je||ki(n,t,i,r,p,s,c))?(m||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount()),typeof u.componentDidMount=="function"&&(n.flags|=4194308)):(typeof u.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=s),u.props=r,u.state=s,u.context=c,r=i):(typeof u.componentDidMount=="function"&&(n.flags|=4194308),r=!1)}else{u=n.stateNode,la(e,n),i=n.memoizedProps,c=n.type===n.elementType?i:ze(n.type,i),u.props=c,m=n.pendingProps,p=u.context,s=t.contextType,typeof s=="object"&&s!==null?s=_e(s):(s=de(t)?xn:re.current,s=qn(n,s));var g=t.getDerivedStateFromProps;(v=typeof g=="function"||typeof u.getSnapshotBeforeUpdate=="function")||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(i!==m||p!==s)&&Ei(n,u,r,s),Je=!1,p=n.memoizedState,u.state=p,Wr(n,r,u,l);var w=n.memoizedState;i!==m||p!==w||fe.current||Je?(typeof g=="function"&&(Eo(n,t,g,r),w=n.memoizedState),(c=Je||ki(n,t,c,r,p,w,s)||!1)?(v||typeof u.UNSAFE_componentWillUpdate!="function"&&typeof u.componentWillUpdate!="function"||(typeof u.componentWillUpdate=="function"&&u.componentWillUpdate(r,w,s),typeof u.UNSAFE_componentWillUpdate=="function"&&u.UNSAFE_componentWillUpdate(r,w,s)),typeof u.componentDidUpdate=="function"&&(n.flags|=4),typeof u.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof u.componentDidUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=w),u.props=r,u.state=w,u.context=s,r=c):(typeof u.componentDidUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),r=!1)}return No(e,n,t,r,o,l)}function No(e,n,t,r,l,o){Ta(e,n);var u=(n.flags&128)!==0;if(!r&&!u)return l&&pi(n,t,!1),Ye(e,n,o);r=n.stateNode,ld.current=n;var i=u&&typeof t.getDerivedStateFromError!="function"?null:r.render();return n.flags|=1,e!==null&&u?(n.child=et(n,e.child,null,o),n.child=et(n,null,i,o)):oe(e,n,i,o),n.memoizedState=r.state,l&&pi(n,t,!0),n.child}function Ra(e){var n=e.stateNode;n.pendingContext?di(e,n.pendingContext,n.pendingContext!==n.context):n.context&&di(e,n.context,!1),du(e,n.containerInfo)}function Li(e,n,t,r,l){return bn(),uu(l),n.flags|=256,oe(e,n,t,r),n.child}var Po={dehydrated:null,treeContext:null,retryLane:0};function zo(e){return{baseLanes:e,cachePool:null,transitions:null}}function Oa(e,n,t){var r=n.pendingProps,l=U.current,o=!1,u=(n.flags&128)!==0,i;if((i=u)||(i=e!==null&&e.memoizedState===null?!1:(l&2)!==0),i?(o=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),M(U,l&1),e===null)return So(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(n.mode&1?e.data==="$!"?n.lanes=8:n.lanes=1073741824:n.lanes=1,null):(u=r.children,e=r.fallback,o?(r=n.mode,o=n.child,u={mode:"hidden",children:u},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=u):o=fl(u,r,0,null),e=_n(e,r,t,null),o.return=n,e.return=n,o.sibling=e,n.child=o,n.child.memoizedState=zo(t),n.memoizedState=Po,e):Su(n,u));if(l=e.memoizedState,l!==null&&(i=l.dehydrated,i!==null))return od(e,n,u,r,i,l,t);if(o){o=r.fallback,u=n.mode,l=e.child,i=l.sibling;var s={mode:"hidden",children:r.children};return!(u&1)&&n.child!==l?(r=n.child,r.childLanes=0,r.pendingProps=s,n.deletions=null):(r=cn(l,s),r.subtreeFlags=l.subtreeFlags&14680064),i!==null?o=cn(i,o):(o=_n(o,u,t,null),o.flags|=2),o.return=n,r.return=n,r.sibling=o,n.child=r,r=o,o=n.child,u=e.child.memoizedState,u=u===null?zo(t):{baseLanes:u.baseLanes|t,cachePool:null,transitions:u.transitions},o.memoizedState=u,o.childLanes=e.childLanes&~t,n.memoizedState=Po,r}return o=e.child,e=o.sibling,r=cn(o,{mode:"visible",children:r.children}),!(n.mode&1)&&(r.lanes=t),r.return=n,r.sibling=null,e!==null&&(t=n.deletions,t===null?(n.deletions=[e],n.flags|=16):t.push(e)),n.child=r,n.memoizedState=null,r}function Su(e,n){return n=fl({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function pr(e,n,t,r){return r!==null&&uu(r),et(n,e.child,null,t),e=Su(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function od(e,n,t,r,l,o,u){if(t)return n.flags&256?(n.flags&=-257,r=Al(Error(y(422))),pr(e,n,u,r)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(o=r.fallback,l=n.mode,r=fl({mode:"visible",children:r.children},l,0,null),o=_n(o,l,u,null),o.flags|=2,r.return=n,o.return=n,r.sibling=o,n.child=r,n.mode&1&&et(n,e.child,null,u),n.child.memoizedState=zo(u),n.memoizedState=Po,o);if(!(n.mode&1))return pr(e,n,u,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var i=r.dgst;return r=i,o=Error(y(419)),r=Al(o,r,void 0),pr(e,n,u,r)}if(i=(u&e.childLanes)!==0,ce||i){if(r=Z,r!==null){switch(u&-u){case 4:l=2;break;case 16:l=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|u)?0:l,l!==0&&l!==o.retryLane&&(o.retryLane=l,Ke(e,l),Oe(r,e,l,-1))}return Nu(),r=Al(Error(y(421))),pr(e,n,u,r)}return l.data==="$?"?(n.flags|=128,n.child=e.child,n=gd.bind(null,e),l._reactRetry=n,null):(e=o.treeContext,ve=on(l.nextSibling),he=n,F=!0,Te=null,e!==null&&(Se[ke++]=Ae,Se[ke++]=Be,Se[ke++]=Nn,Ae=e.id,Be=e.overflow,Nn=n),n=Su(n,r.children),n.flags|=4096,n)}function Ti(e,n,t){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n),ko(e.return,n,t)}function Bl(e,n,t,r,l){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(o.isBackwards=n,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=t,o.tailMode=l)}function Ma(e,n,t){var r=n.pendingProps,l=r.revealOrder,o=r.tail;if(oe(e,n,r.children,t),r=U.current,r&2)r=r&1|2,n.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ti(e,t,n);else if(e.tag===19)Ti(e,t,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(M(U,r),!(n.mode&1))n.memoizedState=null;else switch(l){case"forwards":for(t=n.child,l=null;t!==null;)e=t.alternate,e!==null&&Qr(e)===null&&(l=t),t=t.sibling;t=l,t===null?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),Bl(n,!1,l,t,o);break;case"backwards":for(t=null,l=n.child,n.child=null;l!==null;){if(e=l.alternate,e!==null&&Qr(e)===null){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}Bl(n,!0,t,null,o);break;case"together":Bl(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function xr(e,n){!(n.mode&1)&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function Ye(e,n,t){if(e!==null&&(n.dependencies=e.dependencies),zn|=n.lanes,!(t&n.childLanes))return null;if(e!==null&&n.child!==e.child)throw Error(y(153));if(n.child!==null){for(e=n.child,t=cn(e,e.pendingProps),n.child=t,t.return=n;e.sibling!==null;)e=e.sibling,t=t.sibling=cn(e,e.pendingProps),t.return=n;t.sibling=null}return n.child}function ud(e,n,t){switch(n.tag){case 3:Ra(n),bn();break;case 5:oa(n);break;case 1:de(n.type)&&$r(n);break;case 4:du(n,n.stateNode.containerInfo);break;case 10:var r=n.type._context,l=n.memoizedProps.value;M(Br,r._currentValue),r._currentValue=l;break;case 13:if(r=n.memoizedState,r!==null)return r.dehydrated!==null?(M(U,U.current&1),n.flags|=128,null):t&n.child.childLanes?Oa(e,n,t):(M(U,U.current&1),e=Ye(e,n,t),e!==null?e.sibling:null);M(U,U.current&1);break;case 19:if(r=(t&n.childLanes)!==0,e.flags&128){if(r)return Ma(e,n,t);n.flags|=128}if(l=n.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),M(U,U.current),r)break;return null;case 22:case 23:return n.lanes=0,La(e,n,t)}return Ye(e,n,t)}var Da,Lo,Ia,ja;Da=function(e,n){for(var t=n.child;t!==null;){if(t.tag===5||t.tag===6)e.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break;for(;t.sibling===null;){if(t.return===null||t.return===n)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};Lo=function(){};Ia=function(e,n,t,r){var l=e.memoizedProps;if(l!==r){e=n.stateNode,En(Ue.current);var o=null;switch(t){case"input":l=Zl(e,l),r=Zl(e,r),o=[];break;case"select":l=V({},l,{value:void 0}),r=V({},r,{value:void 0}),o=[];break;case"textarea":l=bl(e,l),r=bl(e,r),o=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Fr)}no(t,r);var u;t=null;for(c in l)if(!r.hasOwnProperty(c)&&l.hasOwnProperty(c)&&l[c]!=null)if(c==="style"){var i=l[c];for(u in i)i.hasOwnProperty(u)&&(t||(t={}),t[u]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Tt.hasOwnProperty(c)?o||(o=[]):(o=o||[]).push(c,null));for(c in r){var s=r[c];if(i=l!=null?l[c]:void 0,r.hasOwnProperty(c)&&s!==i&&(s!=null||i!=null))if(c==="style")if(i){for(u in i)!i.hasOwnProperty(u)||s&&s.hasOwnProperty(u)||(t||(t={}),t[u]="");for(u in s)s.hasOwnProperty(u)&&i[u]!==s[u]&&(t||(t={}),t[u]=s[u])}else t||(o||(o=[]),o.push(c,t)),t=s;else c==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,i=i?i.__html:void 0,s!=null&&i!==s&&(o=o||[]).push(c,s)):c==="children"?typeof s!="string"&&typeof s!="number"||(o=o||[]).push(c,""+s):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Tt.hasOwnProperty(c)?(s!=null&&c==="onScroll"&&D("scroll",e),o||i===s||(o=[])):(o=o||[]).push(c,s))}t&&(o=o||[]).push("style",t);var c=o;(n.updateQueue=c)&&(n.flags|=4)}};ja=function(e,n,t,r){t!==r&&(n.flags|=4)};function vt(e,n){if(!F)switch(e.tailMode){case"hidden":n=e.tail;for(var t=null;n!==null;)n.alternate!==null&&(t=n),n=n.sibling;t===null?e.tail=null:t.sibling=null;break;case"collapsed":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ne(e){var n=e.alternate!==null&&e.alternate.child===e.child,t=0,r=0;if(n)for(var l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=t,n}function id(e,n,t){var r=n.pendingProps;switch(ou(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ne(n),null;case 1:return de(n.type)&&Ur(),ne(n),null;case 3:return r=n.stateNode,nt(),I(fe),I(re),mu(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(fr(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&!(n.flags&256)||(n.flags|=1024,Te!==null&&(Fo(Te),Te=null))),Lo(e,n),ne(n),null;case 5:pu(n);var l=En(Bt.current);if(t=n.type,e!==null&&n.stateNode!=null)Ia(e,n,t,r,l),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!r){if(n.stateNode===null)throw Error(y(166));return ne(n),null}if(e=En(Ue.current),fr(n)){r=n.stateNode,t=n.type;var o=n.memoizedProps;switch(r[je]=n,r[Vt]=o,e=(n.mode&1)!==0,t){case"dialog":D("cancel",r),D("close",r);break;case"iframe":case"object":case"embed":D("load",r);break;case"video":case"audio":for(l=0;l<St.length;l++)D(St[l],r);break;case"source":D("error",r);break;case"img":case"image":case"link":D("error",r),D("load",r);break;case"details":D("toggle",r);break;case"input":$u(r,o),D("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!o.multiple},D("invalid",r);break;case"textarea":Au(r,o),D("invalid",r)}no(t,o),l=null;for(var u in o)if(o.hasOwnProperty(u)){var i=o[u];u==="children"?typeof i=="string"?r.textContent!==i&&(o.suppressHydrationWarning!==!0&&cr(r.textContent,i,e),l=["children",i]):typeof i=="number"&&r.textContent!==""+i&&(o.suppressHydrationWarning!==!0&&cr(r.textContent,i,e),l=["children",""+i]):Tt.hasOwnProperty(u)&&i!=null&&u==="onScroll"&&D("scroll",r)}switch(t){case"input":tr(r),Vu(r,o,!0);break;case"textarea":tr(r),Bu(r);break;case"select":case"option":break;default:typeof o.onClick=="function"&&(r.onclick=Fr)}r=l,n.updateQueue=r,r!==null&&(n.flags|=4)}else{u=l.nodeType===9?l:l.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=cs(t)),e==="http://www.w3.org/1999/xhtml"?t==="script"?(e=u.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(t,{is:r.is}):(e=u.createElement(t),t==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,t),e[je]=n,e[Vt]=r,Da(e,n,!1,!1),n.stateNode=e;e:{switch(u=to(t,r),t){case"dialog":D("cancel",e),D("close",e),l=r;break;case"iframe":case"object":case"embed":D("load",e),l=r;break;case"video":case"audio":for(l=0;l<St.length;l++)D(St[l],e);l=r;break;case"source":D("error",e),l=r;break;case"img":case"image":case"link":D("error",e),D("load",e),l=r;break;case"details":D("toggle",e),l=r;break;case"input":$u(e,r),l=Zl(e,r),D("invalid",e);break;case"option":l=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},l=V({},r,{value:void 0}),D("invalid",e);break;case"textarea":Au(e,r),l=bl(e,r),D("invalid",e);break;default:l=r}no(t,l),i=l;for(o in i)if(i.hasOwnProperty(o)){var s=i[o];o==="style"?ps(e,s):o==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,s!=null&&fs(e,s)):o==="children"?typeof s=="string"?(t!=="textarea"||s!=="")&&Rt(e,s):typeof s=="number"&&Rt(e,""+s):o!=="suppressContentEditableWarning"&&o!=="suppressHydrationWarning"&&o!=="autoFocus"&&(Tt.hasOwnProperty(o)?s!=null&&o==="onScroll"&&D("scroll",e):s!=null&&Wo(e,o,s,u))}switch(t){case"input":tr(e),Vu(e,r,!1);break;case"textarea":tr(e),Bu(e);break;case"option":r.value!=null&&e.setAttribute("value",""+fn(r.value));break;case"select":e.multiple=!!r.multiple,o=r.value,o!=null?Qn(e,!!r.multiple,o,!1):r.defaultValue!=null&&Qn(e,!!r.multiple,r.defaultValue,!0);break;default:typeof l.onClick=="function"&&(e.onclick=Fr)}switch(t){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(n.flags|=4)}n.ref!==null&&(n.flags|=512,n.flags|=2097152)}return ne(n),null;case 6:if(e&&n.stateNode!=null)ja(e,n,e.memoizedProps,r);else{if(typeof r!="string"&&n.stateNode===null)throw Error(y(166));if(t=En(Bt.current),En(Ue.current),fr(n)){if(r=n.stateNode,t=n.memoizedProps,r[je]=n,(o=r.nodeValue!==t)&&(e=he,e!==null))switch(e.tag){case 3:cr(r.nodeValue,t,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&cr(r.nodeValue,t,(e.mode&1)!==0)}o&&(n.flags|=4)}else r=(t.nodeType===9?t:t.ownerDocument).createTextNode(r),r[je]=n,n.stateNode=r}return ne(n),null;case 13:if(I(U),r=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(F&&ve!==null&&n.mode&1&&!(n.flags&128))ea(),bn(),n.flags|=98560,o=!1;else if(o=fr(n),r!==null&&r.dehydrated!==null){if(e===null){if(!o)throw Error(y(318));if(o=n.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(y(317));o[je]=n}else bn(),!(n.flags&128)&&(n.memoizedState=null),n.flags|=4;ne(n),o=!1}else Te!==null&&(Fo(Te),Te=null),o=!0;if(!o)return n.flags&65536?n:null}return n.flags&128?(n.lanes=t,n):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(n.child.flags|=8192,n.mode&1&&(e===null||U.current&1?Y===0&&(Y=3):Nu())),n.updateQueue!==null&&(n.flags|=4),ne(n),null);case 4:return nt(),Lo(e,n),e===null&&Ut(n.stateNode.containerInfo),ne(n),null;case 10:return au(n.type._context),ne(n),null;case 17:return de(n.type)&&Ur(),ne(n),null;case 19:if(I(U),o=n.memoizedState,o===null)return ne(n),null;if(r=(n.flags&128)!==0,u=o.rendering,u===null)if(r)vt(o,!1);else{if(Y!==0||e!==null&&e.flags&128)for(e=n.child;e!==null;){if(u=Qr(e),u!==null){for(n.flags|=128,vt(o,!1),r=u.updateQueue,r!==null&&(n.updateQueue=r,n.flags|=4),n.subtreeFlags=0,r=t,t=n.child;t!==null;)o=t,e=r,o.flags&=14680066,u=o.alternate,u===null?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=u.childLanes,o.lanes=u.lanes,o.child=u.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=u.memoizedProps,o.memoizedState=u.memoizedState,o.updateQueue=u.updateQueue,o.type=u.type,e=u.dependencies,o.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),t=t.sibling;return M(U,U.current&1|2),n.child}e=e.sibling}o.tail!==null&&W()>rt&&(n.flags|=128,r=!0,vt(o,!1),n.lanes=4194304)}else{if(!r)if(e=Qr(u),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(o,!0),o.tail===null&&o.tailMode==="hidden"&&!u.alternate&&!F)return ne(n),null}else 2*W()-o.renderingStartTime>rt&&t!==1073741824&&(n.flags|=128,r=!0,vt(o,!1),n.lanes=4194304);o.isBackwards?(u.sibling=n.child,n.child=u):(t=o.last,t!==null?t.sibling=u:n.child=u,o.last=u)}return o.tail!==null?(n=o.tail,o.rendering=n,o.tail=n.sibling,o.renderingStartTime=W(),n.sibling=null,t=U.current,M(U,r?t&1|2:t&1),n):(ne(n),null);case 22:case 23:return xu(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?me&1073741824&&(ne(n),n.subtreeFlags&6&&(n.flags|=8192)):ne(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(ou(n),n.tag){case 1:return de(n.type)&&Ur(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return nt(),I(fe),I(re),mu(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return pu(n),null;case 13:if(I(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));bn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return I(U),null;case 4:return nt(),null;case 10:return au(n.type._context),null;case 22:case 23:return xu(),null;case 24:return null;default:return null}}var mr=!1,te=!1,ad=typeof WeakSet=="function"?WeakSet:Set,k=null;function Hn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){A(e,n,r)}else t.current=null}function To(e,n,t){try{t()}catch(r){A(e,n,r)}}var Ri=!1;function cd(e,n){if(po=Dr,e=As(),ru(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{t.nodeType,o.nodeType}catch{t=null;break e}var u=0,i=-1,s=-1,c=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=u+l),m!==o||r!==0&&m.nodeType!==3||(s=u+r),m.nodeType===3&&(u+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=u),p===o&&++v===r&&(s=u),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(mo={focusedElem:e,selectionRange:t},Dr=!1,k=n;k!==null;)if(n=k,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,k=e;else for(;k!==null;){n=k;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var S=w.memoizedProps,j=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?S:ze(n.type,S),j);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){A(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,k=e;break}k=n.return}return w=Ri,Ri=!1,w}function Pt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&To(n,t,o)}l=l.next}while(l!==r)}}function al(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Ro(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Fa(e){var n=e.alternate;n!==null&&(e.alternate=null,Fa(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[je],delete n[Vt],delete n[yo],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ua(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ua(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Oo(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=Fr));else if(r!==4&&(e=e.child,e!==null))for(Oo(e,n,t),e=e.sibling;e!==null;)Oo(e,n,t),e=e.sibling}function Mo(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Mo(e,n,t),e=e.sibling;e!==null;)Mo(e,n,t),e=e.sibling}var J=null,Le=!1;function Ge(e,n,t){for(t=t.child;t!==null;)$a(e,n,t),t=t.sibling}function $a(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(nl,t)}catch{}switch(t.tag){case 5:te||Hn(t,n);case 6:var r=J,l=Le;J=null,Ge(e,n,t),J=r,Le=l,J!==null&&(Le?(e=J,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):J.removeChild(t.stateNode));break;case 18:J!==null&&(Le?(e=J,t=t.stateNode,e.nodeType===8?Il(e.parentNode,t):e.nodeType===1&&Il(e,t),It(e)):Il(J,t.stateNode));break;case 4:r=J,l=Le,J=t.stateNode.containerInfo,Le=!0,Ge(e,n,t),J=r,Le=l;break;case 0:case 11:case 14:case 15:if(!te&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,u=o.destroy;o=o.tag,u!==void 0&&(o&2||o&4)&&To(t,n,u),l=l.next}while(l!==r)}Ge(e,n,t);break;case 1:if(!te&&(Hn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){A(t,n,i)}Ge(e,n,t);break;case 21:Ge(e,n,t);break;case 22:t.mode&1?(te=(r=te)||t.memoizedState!==null,Ge(e,n,t),te=r):Ge(e,n,t);break;default:Ge(e,n,t)}}function Mi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Pe(e,n){var t=n.deletions;if(t!==null)for(var r=0;r<t.length;r++){var l=t[r];try{var o=e,u=n,i=u;e:for(;i!==null;){switch(i.tag){case 5:J=i.stateNode,Le=!1;break e;case 3:J=i.stateNode.containerInfo,Le=!0;break e;case 4:J=i.stateNode.containerInfo,Le=!0;break e}i=i.return}if(J===null)throw Error(y(160));$a(o,u,l),J=null,Le=!1;var s=l.alternate;s!==null&&(s.return=null),l.return=null}catch(c){A(l,n,c)}}if(n.subtreeFlags&12854)for(n=n.child;n!==null;)Va(n,e),n=n.sibling}function Va(e,n){var t=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Pe(n,e),De(e),r&4){try{Pt(3,e,e.return),al(3,e)}catch(S){A(e,e.return,S)}try{Pt(5,e,e.return)}catch(S){A(e,e.return,S)}}break;case 1:Pe(n,e),De(e),r&512&&t!==null&&Hn(t,t.return);break;case 5:if(Pe(n,e),De(e),r&512&&t!==null&&Hn(t,t.return),e.flags&32){var l=e.stateNode;try{Rt(l,"")}catch(S){A(e,e.return,S)}}if(r&4&&(l=e.stateNode,l!=null)){var o=e.memoizedProps,u=t!==null?t.memoizedProps:o,i=e.type,s=e.updateQueue;if(e.updateQueue=null,s!==null)try{i==="input"&&o.type==="radio"&&o.name!=null&&ss(l,o),to(i,u);var c=to(i,o);for(u=0;u<s.length;u+=2){var v=s[u],m=s[u+1];v==="style"?ps(l,m):v==="dangerouslySetInnerHTML"?fs(l,m):v==="children"?Rt(l,m):Wo(l,v,m,c)}switch(i){case"input":Jl(l,o);break;case"textarea":as(l,o);break;case"select":var p=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!o.multiple;var g=o.value;g!=null?Qn(l,!!o.multiple,g,!1):p!==!!o.multiple&&(o.defaultValue!=null?Qn(l,!!o.multiple,o.defaultValue,!0):Qn(l,!!o.multiple,o.multiple?[]:"",!1))}l[Vt]=o}catch(S){A(e,e.return,S)}}break;case 6:if(Pe(n,e),De(e),r&4){if(e.stateNode===null)throw Error(y(162));l=e.stateNode,o=e.memoizedProps;try{l.nodeValue=o}catch(S){A(e,e.return,S)}}break;case 3:if(Pe(n,e),De(e),r&4&&t!==null&&t.memoizedState.isDehydrated)try{It(n.containerInfo)}catch(S){A(e,e.return,S)}break;case 4:Pe(n,e),De(e);break;case 13:Pe(n,e),De(e),l=e.child,l.flags&8192&&(o=l.memoizedState!==null,l.stateNode.isHidden=o,!o||l.alternate!==null&&l.alternate.memoizedState!==null||(Cu=W())),r&4&&Mi(e);break;case 22:if(v=t!==null&&t.memoizedState!==null,e.mode&1?(te=(c=te)||v,Pe(n,e),te=c):Pe(n,e),De(e),r&8192){if(c=e.memoizedState!==null,(e.stateNode.isHidden=c)&&!v&&e.mode&1)for(k=e,v=e.child;v!==null;){for(m=k=v;k!==null;){switch(p=k,g=p.child,p.tag){case 0:case 11:case 14:case 15:Pt(4,p,p.return);break;case 1:Hn(p,p.return);var w=p.stateNode;if(typeof w.componentWillUnmount=="function"){r=p,t=p.return;try{n=r,w.props=n.memoizedProps,w.state=n.memoizedState,w.componentWillUnmount()}catch(S){A(r,t,S)}}break;case 5:Hn(p,p.return);break;case 22:if(p.memoizedState!==null){Ii(m);continue}}g!==null?(g.return=p,k=g):Ii(m)}v=v.sibling}e:for(v=null,m=e;;){if(m.tag===5){if(v===null){v=m;try{l=m.stateNode,c?(o=l.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none"):(i=m.stateNode,s=m.memoizedProps.style,u=s!=null&&s.hasOwnProperty("display")?s.display:null,i.style.display=ds("display",u))}catch(S){A(e,e.return,S)}}}else if(m.tag===6){if(v===null)try{m.stateNode.nodeValue=c?"":m.memoizedProps}catch(S){A(e,e.return,S)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;v===m&&(v=null),m=m.return}v===m&&(v=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:Pe(n,e),De(e),r&4&&Mi(e);break;case 21:break;default:Pe(n,e),De(e)}}function De(e){var n=e.flags;if(n&2){try{e:{for(var t=e.return;t!==null;){if(Ua(t)){var r=t;break e}t=t.return}throw Error(y(160))}switch(r.tag){case 5:var l=r.stateNode;r.flags&32&&(Rt(l,""),r.flags&=-33);var o=Oi(e);Mo(e,o,l);break;case 3:case 4:var u=r.stateNode.containerInfo,i=Oi(e);Oo(e,i,u);break;default:throw Error(y(161))}}catch(s){A(e,e.return,s)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function fd(e,n,t){k=e,Aa(e)}function Aa(e,n,t){for(var r=(e.mode&1)!==0;k!==null;){var l=k,o=l.child;if(l.tag===22&&r){var u=l.memoizedState!==null||mr;if(!u){var i=l.alternate,s=i!==null&&i.memoizedState!==null||te;i=mr;var c=te;if(mr=u,(te=s)&&!c)for(k=l;k!==null;)u=k,s=u.child,u.tag===22&&u.memoizedState!==null?ji(l):s!==null?(s.return=u,k=s):ji(l);for(;o!==null;)k=o,Aa(o),o=o.sibling;k=l,mr=i,te=c}Di(e)}else l.subtreeFlags&8772&&o!==null?(o.return=l,k=o):Di(e)}}function Di(e){for(;k!==null;){var n=k;if(n.flags&8772){var t=n.alternate;try{if(n.flags&8772)switch(n.tag){case 0:case 11:case 15:te||al(5,n);break;case 1:var r=n.stateNode;if(n.flags&4&&!te)if(t===null)r.componentDidMount();else{var l=n.elementType===n.type?t.memoizedProps:ze(n.type,t.memoizedProps);r.componentDidUpdate(l,t.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var o=n.updateQueue;o!==null&&gi(n,o,r);break;case 3:var u=n.updateQueue;if(u!==null){if(t=null,n.child!==null)switch(n.child.tag){case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}gi(n,u,t)}break;case 5:var i=n.stateNode;if(t===null&&n.flags&4){t=i;var s=n.memoizedProps;switch(n.type){case"button":case"input":case"select":case"textarea":s.autoFocus&&t.focus();break;case"img":s.src&&(t.src=s.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(n.memoizedState===null){var c=n.alternate;if(c!==null){var v=c.memoizedState;if(v!==null){var m=v.dehydrated;m!==null&&It(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(y(163))}te||n.flags&512&&Ro(n)}catch(p){A(n,n.return,p)}}if(n===e){k=null;break}if(t=n.sibling,t!==null){t.return=n.return,k=t;break}k=n.return}}function Ii(e){for(;k!==null;){var n=k;if(n===e){k=null;break}var t=n.sibling;if(t!==null){t.return=n.return,k=t;break}k=n.return}}function ji(e){for(;k!==null;){var n=k;try{switch(n.tag){case 0:case 11:case 15:var t=n.return;try{al(4,n)}catch(s){A(n,t,s)}break;case 1:var r=n.stateNode;if(typeof r.componentDidMount=="function"){var l=n.return;try{r.componentDidMount()}catch(s){A(n,l,s)}}var o=n.return;try{Ro(n)}catch(s){A(n,o,s)}break;case 5:var u=n.return;try{Ro(n)}catch(s){A(n,u,s)}}}catch(s){A(n,n.return,s)}if(n===e){k=null;break}var i=n.sibling;if(i!==null){i.return=n.return,k=i;break}k=n.return}}var dd=Math.ceil,Xr=Xe.ReactCurrentDispatcher,ku=Xe.ReactCurrentOwner,Ce=Xe.ReactCurrentBatchConfig,R=0,Z=null,Q=null,q=0,me=0,Wn=mn(0),Y=0,Kt=null,zn=0,cl=0,Eu=0,zt=null,ae=null,Cu=0,rt=1/0,$e=null,Gr=!1,Do=null,sn=null,vr=!1,nn=null,Zr=0,Lt=0,Io=null,Nr=-1,Pr=0;function ue(){return R&6?W():Nr!==-1?Nr:Nr=W()}function an(e){return e.mode&1?R&2&&q!==0?q&-q:Gf.transition!==null?(Pr===0&&(Pr=xs()),Pr):(e=O,e!==0||(e=window.event,e=e===void 0?16:Os(e.type)),e):1}function Oe(e,n,t,r){if(50<Lt)throw Lt=0,Io=null,Error(y(185));Xt(e,t,r),(!(R&2)||e!==Z)&&(e===Z&&(!(R&2)&&(cl|=t),Y===4&&be(e,q)),pe(e,r),t===1&&R===0&&!(n.mode&1)&&(rt=W()+500,ul&&vn()))}function pe(e,n){var t=e.callbackNode;Xc(e,n);var r=Mr(e,e===Z?q:0);if(r===0)t!==null&&Qu(t),e.callbackNode=null,e.callbackPriority=0;else if(n=r&-r,e.callbackPriority!==n){if(t!=null&&Qu(t),n===1)e.tag===0?Xf(Fi.bind(null,e)):Js(Fi.bind(null,e)),Wf(function(){!(R&6)&&vn()}),t=null;else{switch(Ns(r)){case 1:t=Go;break;case 4:t=Cs;break;case 16:t=Or;break;case 536870912:t=_s;break;default:t=Or}t=Ga(t,Ba.bind(null,e))}e.callbackPriority=n,e.callbackNode=t}}function Ba(e,n){if(Nr=-1,Pr=0,R&6)throw Error(y(327));var t=e.callbackNode;if(Zn()&&e.callbackNode!==t)return null;var r=Mr(e,e===Z?q:0);if(r===0)return null;if(r&30||r&e.expiredLanes||n)n=Jr(e,r);else{n=r;var l=R;R|=2;var o=Wa();(Z!==e||q!==n)&&($e=null,rt=W()+500,Cn(e,n));do try{vd();break}catch(i){Ha(e,i)}while(!0);su(),Xr.current=o,R=l,Q!==null?n=0:(Z=null,q=0,n=Y)}if(n!==0){if(n===2&&(l=io(e),l!==0&&(r=l,n=jo(e,l))),n===1)throw t=Kt,Cn(e,0),be(e,r),pe(e,W()),t;if(n===6)be(e,r);else{if(l=e.current.alternate,!(r&30)&&!pd(l)&&(n=Jr(e,r),n===2&&(o=io(e),o!==0&&(r=o,n=jo(e,o))),n===1))throw t=Kt,Cn(e,0),be(e,r),pe(e,W()),t;switch(e.finishedWork=l,e.finishedLanes=r,n){case 0:case 1:throw Error(y(345));case 2:wn(e,ae,$e);break;case 3:if(be(e,r),(r&130023424)===r&&(n=Cu+500-W(),10<n)){if(Mr(e,0)!==0)break;if(l=e.suspendedLanes,(l&r)!==r){ue(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=ho(wn.bind(null,e,ae,$e),n);break}wn(e,ae,$e);break;case 4:if(be(e,r),(r&4194240)===r)break;for(n=e.eventTimes,l=-1;0<r;){var u=31-Re(r);o=1<<u,u=n[u],u>l&&(l=u),r&=~o}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10<r){e.timeoutHandle=ho(wn.bind(null,e,ae,$e),r);break}wn(e,ae,$e);break;case 5:wn(e,ae,$e);break;default:throw Error(y(329))}}}return pe(e,W()),e.callbackNode===t?Ba.bind(null,e):null}function jo(e,n){var t=zt;return e.current.memoizedState.isDehydrated&&(Cn(e,n).flags|=256),e=Jr(e,n),e!==2&&(n=ae,ae=t,n!==null&&Fo(n)),e}function Fo(e){ae===null?ae=e:ae.push.apply(ae,e)}function pd(e){for(var n=e;;){if(n.flags&16384){var t=n.updateQueue;if(t!==null&&(t=t.stores,t!==null))for(var r=0;r<t.length;r++){var l=t[r],o=l.getSnapshot;l=l.value;try{if(!Me(o(),l))return!1}catch{return!1}}}if(t=n.child,n.subtreeFlags&16384&&t!==null)t.return=n,n=t;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function be(e,n){for(n&=~Eu,n&=~cl,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0<n;){var t=31-Re(n),r=1<<t;e[t]=-1,n&=~r}}function Fi(e){if(R&6)throw Error(y(327));Zn();var n=Mr(e,0);if(!(n&1))return pe(e,W()),null;var t=Jr(e,n);if(e.tag!==0&&t===2){var r=io(e);r!==0&&(n=r,t=jo(e,r))}if(t===1)throw t=Kt,Cn(e,0),be(e,n),pe(e,W()),t;if(t===6)throw Error(y(345));return e.finishedWork=e.current.alternate,e.finishedLanes=n,wn(e,ae,$e),pe(e,W()),null}function _u(e,n){var t=R;R|=1;try{return e(n)}finally{R=t,R===0&&(rt=W()+500,ul&&vn())}}function Ln(e){nn!==null&&nn.tag===0&&!(R&6)&&Zn();var n=R;R|=1;var t=Ce.transition,r=O;try{if(Ce.transition=null,O=1,e)return e()}finally{O=r,Ce.transition=t,R=n,!(R&6)&&vn()}}function xu(){me=Wn.current,I(Wn)}function Cn(e,n){e.finishedWork=null,e.finishedLanes=0;var t=e.timeoutHandle;if(t!==-1&&(e.timeoutHandle=-1,Hf(t)),Q!==null)for(t=Q.return;t!==null;){var r=t;switch(ou(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Ur();break;case 3:nt(),I(fe),I(re),mu();break;case 5:pu(r);break;case 4:nt();break;case 13:I(U);break;case 19:I(U);break;case 10:au(r.type._context);break;case 22:case 23:xu()}t=t.return}if(Z=e,Q=e=cn(e.current,null),q=me=n,Y=0,Kt=null,Eu=cl=zn=0,ae=zt=null,kn!==null){for(n=0;n<kn.length;n++)if(t=kn[n],r=t.interleaved,r!==null){t.interleaved=null;var l=r.next,o=t.pending;if(o!==null){var u=o.next;o.next=l,r.next=u}t.pending=r}kn=null}return e}function Ha(e,n){do{var t=Q;try{if(su(),Cr.current=Yr,Kr){for(var r=$.memoizedState;r!==null;){var l=r.queue;l!==null&&(l.pending=null),r=r.next}Kr=!1}if(Pn=0,G=K=$=null,Nt=!1,Ht=0,ku.current=null,t===null||t.return===null){Y=1,Kt=n,Q=null;break}e:{var o=e,u=t.return,i=t,s=n;if(n=q,i.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=s,v=i,m=v.tag;if(!(v.mode&1)&&(m===0||m===11||m===15)){var p=v.alternate;p?(v.updateQueue=p.updateQueue,v.memoizedState=p.memoizedState,v.lanes=p.lanes):(v.updateQueue=null,v.memoizedState=null)}var g=_i(u);if(g!==null){g.flags&=-257,xi(g,u,i,o,n),g.mode&1&&Ci(o,c,n),n=g,s=c;var w=n.updateQueue;if(w===null){var S=new Set;S.add(s),n.updateQueue=S}else w.add(s);break e}else{if(!(n&1)){Ci(o,c,n),Nu();break e}s=Error(y(426))}}else if(F&&i.mode&1){var j=_i(u);if(j!==null){!(j.flags&65536)&&(j.flags|=256),xi(j,u,i,o,n),uu(tt(s,i));break e}}o=s=tt(s,i),Y!==4&&(Y=2),zt===null?zt=[o]:zt.push(o),o=u;do{switch(o.tag){case 3:o.flags|=65536,n&=-n,o.lanes|=n;var f=Na(o,s,n);yi(o,f);break e;case 1:i=s;var a=o.type,d=o.stateNode;if(!(o.flags&128)&&(typeof a.getDerivedStateFromError=="function"||d!==null&&typeof d.componentDidCatch=="function"&&(sn===null||!sn.has(d)))){o.flags|=65536,n&=-n,o.lanes|=n;var h=Pa(o,i,n);yi(o,h);break e}}o=o.return}while(o!==null)}Ka(t)}catch(E){n=E,Q===t&&t!==null&&(Q=t=t.return);continue}break}while(!0)}function Wa(){var e=Xr.current;return Xr.current=Yr,e===null?Yr:e}function Nu(){(Y===0||Y===3||Y===2)&&(Y=4),Z===null||!(zn&268435455)&&!(cl&268435455)||be(Z,q)}function Jr(e,n){var t=R;R|=2;var r=Wa();(Z!==e||q!==n)&&($e=null,Cn(e,n));do try{md();break}catch(l){Ha(e,l)}while(!0);if(su(),R=t,Xr.current=r,Q!==null)throw Error(y(261));return Z=null,q=0,Y}function md(){for(;Q!==null;)Qa(Q)}function vd(){for(;Q!==null&&!$c();)Qa(Q)}function Qa(e){var n=Xa(e.alternate,e,me);e.memoizedProps=e.pendingProps,n===null?Ka(e):Q=n,ku.current=null}function Ka(e){var n=e;do{var t=n.alternate;if(e=n.return,n.flags&32768){if(t=sd(t,n),t!==null){t.flags&=32767,Q=t;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Y=6,Q=null;return}}else if(t=id(t,n,me),t!==null){Q=t;return}if(n=n.sibling,n!==null){Q=n;return}Q=n=e}while(n!==null);Y===0&&(Y=5)}function wn(e,n,t){var r=O,l=Ce.transition;try{Ce.transition=null,O=1,hd(e,n,t,r)}finally{Ce.transition=l,O=r}return null}function hd(e,n,t,r){do Zn();while(nn!==null);if(R&6)throw Error(y(327));t=e.finishedWork;var l=e.finishedLanes;if(t===null)return null;if(e.finishedWork=null,e.finishedLanes=0,t===e.current)throw Error(y(177));e.callbackNode=null,e.callbackPriority=0;var o=t.lanes|t.childLanes;if(Gc(e,o),e===Z&&(Q=Z=null,q=0),!(t.subtreeFlags&2064)&&!(t.flags&2064)||vr||(vr=!0,Ga(Or,function(){return Zn(),null})),o=(t.flags&15990)!==0,t.subtreeFlags&15990||o){o=Ce.transition,Ce.transition=null;var u=O;O=1;var i=R;R|=4,ku.current=null,cd(e,t),Va(t,e),jf(mo),Dr=!!po,mo=po=null,e.current=t,fd(t),Vc(),R=i,O=u,Ce.transition=o}else e.current=t;if(vr&&(vr=!1,nn=e,Zr=l),o=e.pendingLanes,o===0&&(sn=null),Hc(t.stateNode),pe(e,W()),n!==null)for(r=e.onRecoverableError,t=0;t<n.length;t++)l=n[t],r(l.value,{componentStack:l.stack,digest:l.digest});if(Gr)throw Gr=!1,e=Do,Do=null,e;return Zr&1&&e.tag!==0&&Zn(),o=e.pendingLanes,o&1?e===Io?Lt++:(Lt=0,Io=e):Lt=0,vn(),null}function Zn(){if(nn!==null){var e=Ns(Zr),n=Ce.transition,t=O;try{if(Ce.transition=null,O=16>e?16:e,nn===null)var r=!1;else{if(e=nn,nn=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,k=e.current;k!==null;){var o=k,u=o.child;if(k.flags&16){var i=o.deletions;if(i!==null){for(var s=0;s<i.length;s++){var c=i[s];for(k=c;k!==null;){var v=k;switch(v.tag){case 0:case 11:case 15:Pt(8,v,o)}var m=v.child;if(m!==null)m.return=v,k=m;else for(;k!==null;){v=k;var p=v.sibling,g=v.return;if(Fa(v),v===c){k=null;break}if(p!==null){p.return=g,k=p;break}k=g}}}var w=o.alternate;if(w!==null){var S=w.child;if(S!==null){w.child=null;do{var j=S.sibling;S.sibling=null,S=j}while(S!==null)}}k=o}}if(o.subtreeFlags&2064&&u!==null)u.return=o,k=u;else e:for(;k!==null;){if(o=k,o.flags&2048)switch(o.tag){case 0:case 11:case 15:Pt(9,o,o.return)}var f=o.sibling;if(f!==null){f.return=o.return,k=f;break e}k=o.return}}var a=e.current;for(k=a;k!==null;){u=k;var d=u.child;if(u.subtreeFlags&2064&&d!==null)d.return=u,k=d;else e:for(u=a;k!==null;){if(i=k,i.flags&2048)try{switch(i.tag){case 0:case 11:case 15:al(9,i)}}catch(E){A(i,i.return,E)}if(i===u){k=null;break e}var h=i.sibling;if(h!==null){h.return=i.return,k=h;break e}k=i.return}}if(R=l,vn(),Fe&&typeof Fe.onPostCommitFiberRoot=="function")try{Fe.onPostCommitFiberRoot(nl,e)}catch{}r=!0}return r}finally{O=t,Ce.transition=n}}return!1}function Ui(e,n,t){n=tt(t,n),n=Na(e,n,1),e=un(e,n,1),n=ue(),e!==null&&(Xt(e,1,n),pe(e,n))}function A(e,n,t){if(e.tag===3)Ui(e,e,t);else for(;n!==null;){if(n.tag===3){Ui(n,e,t);break}else if(n.tag===1){var r=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(sn===null||!sn.has(r))){e=tt(t,e),e=Pa(n,e,1),n=un(n,e,1),e=ue(),n!==null&&(Xt(n,1,e),pe(n,e));break}}n=n.return}}function yd(e,n,t){var r=e.pingCache;r!==null&&r.delete(n),n=ue(),e.pingedLanes|=e.suspendedLanes&t,Z===e&&(q&t)===t&&(Y===4||Y===3&&(q&130023424)===q&&500>W()-Cu?Cn(e,0):Eu|=t),pe(e,n)}function Ya(e,n){n===0&&(e.mode&1?(n=or,or<<=1,!(or&130023424)&&(or=4194304)):n=1);var t=ue();e=Ke(e,n),e!==null&&(Xt(e,n,t),pe(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Ya(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Ya(e,t)}var Xa;Xa=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||fe.current)ce=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ce=!1,ud(e,n,t);ce=!!(e.flags&131072)}else ce=!1,F&&n.flags&1048576&&qs(n,Ar,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;xr(e,n),e=n.pendingProps;var l=qn(n,re.current);Gn(n,t),l=hu(null,n,r,e,l,t);var o=yu();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,de(r)?(o=!0,$r(n)):o=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,fu(n),l.updater=sl,n.stateNode=l,l._reactInternals=n,Co(n,r,e,t),n=No(null,n,r,!0,o,t)):(n.tag=0,F&&o&&lu(n),oe(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(xr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=kd(r),e=ze(r,e),l){case 0:n=xo(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Ni(null,n,r,e,t);break e;case 14:n=Pi(null,n,r,ze(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),xo(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),zi(e,n,r,l,t);case 3:e:{if(Ra(n),e===null)throw Error(y(387));r=n.pendingProps,o=n.memoizedState,l=o.element,la(e,n),Wr(n,r,null,t);var u=n.memoizedState;if(r=u.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},n.updateQueue.baseState=o,n.memoizedState=o,n.flags&256){l=tt(Error(y(423)),n),n=Li(e,n,r,t,l);break e}else if(r!==l){l=tt(Error(y(424)),n),n=Li(e,n,r,t,l);break e}else for(ve=on(n.stateNode.containerInfo.firstChild),he=n,F=!0,Te=null,t=ta(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(bn(),r===l){n=Ye(e,n,t);break e}oe(e,n,r,t)}n=n.child}return n;case 5:return oa(n),e===null&&So(n),r=n.type,l=n.pendingProps,o=e!==null?e.memoizedProps:null,u=l.children,vo(r,l)?u=null:o!==null&&vo(r,o)&&(n.flags|=32),Ta(e,n),oe(e,n,u,t),n.child;case 6:return e===null&&So(n),null;case 13:return Oa(e,n,t);case 4:return du(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=et(n,null,r,t):oe(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),Ni(e,n,r,l,t);case 7:return oe(e,n,n.pendingProps,t),n.child;case 8:return oe(e,n,n.pendingProps.children,t),n.child;case 12:return oe(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,o=n.memoizedProps,u=l.value,M(Br,r._currentValue),r._currentValue=u,o!==null)if(Me(o.value,u)){if(o.children===l.children&&!fe.current){n=Ye(e,n,t);break e}}else for(o=n.child,o!==null&&(o.return=n);o!==null;){var i=o.dependencies;if(i!==null){u=o.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=He(-1,t&-t),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}o.lanes|=t,s=o.alternate,s!==null&&(s.lanes|=t),ko(o.return,t,n),i.lanes|=t;break}s=s.next}}else if(o.tag===10)u=o.type===n.type?null:o.child;else if(o.tag===18){if(u=o.return,u===null)throw Error(y(341));u.lanes|=t,i=u.alternate,i!==null&&(i.lanes|=t),ko(u,t,n),u=o.sibling}else u=o.child;if(u!==null)u.return=o;else for(u=o;u!==null;){if(u===n){u=null;break}if(o=u.sibling,o!==null){o.return=u.return,u=o;break}u=u.return}o=u}oe(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Gn(n,t),l=_e(l),r=r(l),n.flags|=1,oe(e,n,r,t),n.child;case 14:return r=n.type,l=ze(r,n.pendingProps),l=ze(r.type,l),Pi(e,n,r,l,t);case 15:return za(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),xr(e,n),n.tag=1,de(r)?(e=!0,$r(n)):e=!1,Gn(n,t),xa(n,r,l),Co(n,r,l,t),No(null,n,r,!0,e,t);case 19:return Ma(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Ga(e,n){return Es(e,n)}function Sd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ee(e,n,t,r){return new Sd(e,n,t,r)}function Pu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function kd(e){if(typeof e=="function")return Pu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ko)return 11;if(e===Yo)return 14}return 2}function cn(e,n){var t=e.alternate;return t===null?(t=Ee(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function zr(e,n,t,r,l,o){var u=2;if(r=e,typeof e=="function")Pu(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case Dn:return _n(t.children,l,o,n);case Qo:u=8,l|=8;break;case Kl:return e=Ee(12,t,n,l|2),e.elementType=Kl,e.lanes=o,e;case Yl:return e=Ee(13,t,n,l),e.elementType=Yl,e.lanes=o,e;case Xl:return e=Ee(19,t,n,l),e.elementType=Xl,e.lanes=o,e;case os:return fl(t,l,o,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:u=10;break e;case ls:u=9;break e;case Ko:u=11;break e;case Yo:u=14;break e;case Ze:u=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Ee(u,t,n,l),n.elementType=e,n.type=r,n.lanes=o,n}function _n(e,n,t,r){return e=Ee(7,e,r,n),e.lanes=t,e}function fl(e,n,t,r){return e=Ee(22,e,r,n),e.elementType=os,e.lanes=t,e.stateNode={isHidden:!1},e}function Hl(e,n,t){return e=Ee(6,e,null,n),e.lanes=t,e}function Wl(e,n,t){return n=Ee(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_l(0),this.expirationTimes=_l(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_l(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zu(e,n,t,r,l,o,u,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,o===!0&&(n|=8)):n=0,o=Ee(3,null,null,n),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},fu(o),e}function Cd(e,n,t){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Mn,key:r==null?null:""+r,children:e,containerInfo:n,implementation:t}}function Za(e){if(!e)return dn;e=e._reactInternals;e:{if(Rn(e)!==e||e.tag!==1)throw Error(y(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(de(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(n!==null);throw Error(y(171))}if(e.tag===1){var t=e.type;if(de(t))return Zs(e,t,n)}return n}function Ja(e,n,t,r,l,o,u,i,s){return e=zu(t,r,!0,e,l,o,u,i,s),e.context=Za(null),t=e.current,r=ue(),l=an(t),o=He(r,l),o.callback=n??null,un(t,o,l),e.current.lanes=l,Xt(e,l,r),pe(e,r),e}function dl(e,n,t,r){var l=n.current,o=ue(),u=an(l);return t=Za(t),n.context===null?n.context=t:n.pendingContext=t,n=He(o,u),n.payload={element:e},r=r===void 0?null:r,r!==null&&(n.callback=r),e=un(l,n,u),e!==null&&(Oe(e,l,u,o),Er(e,l,u)),u}function qr(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function $i(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var t=e.retryLane;e.retryLane=t!==0&&t<n?t:n}}function Lu(e,n){$i(e,n),(e=e.alternate)&&$i(e,n)}function _d(){return null}var qa=typeof reportError=="function"?reportError:function(e){console.error(e)};function Tu(e){this._internalRoot=e}pl.prototype.render=Tu.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(y(409));dl(e,n,null,null)};pl.prototype.unmount=Tu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;Ln(function(){dl(null,e,null,null)}),n[Qe]=null}};function pl(e){this._internalRoot=e}pl.prototype.unstable_scheduleHydration=function(e){if(e){var n=Ls();e={blockedOn:null,target:e,priority:n};for(var t=0;t<qe.length&&n!==0&&n<qe[t].priority;t++);qe.splice(t,0,e),t===0&&Rs(e)}};function Ru(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function ml(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Vi(){}function xd(e,n,t,r,l){if(l){if(typeof r=="function"){var o=r;r=function(){var c=qr(u);o.call(c)}}var u=Ja(n,r,e,0,null,!1,!1,"",Vi);return e._reactRootContainer=u,e[Qe]=u.current,Ut(e.nodeType===8?e.parentNode:e),Ln(),u}for(;l=e.lastChild;)e.removeChild(l);if(typeof r=="function"){var i=r;r=function(){var c=qr(s);i.call(c)}}var s=zu(e,0,!1,null,null,!1,!1,"",Vi);return e._reactRootContainer=s,e[Qe]=s.current,Ut(e.nodeType===8?e.parentNode:e),Ln(function(){dl(n,s,t,r)}),s}function vl(e,n,t,r,l){var o=t._reactRootContainer;if(o){var u=o;if(typeof l=="function"){var i=l;l=function(){var s=qr(u);i.call(s)}}dl(n,u,e,l)}else u=xd(t,n,e,l,r);return qr(u)}Ps=function(e){switch(e.tag){case 3:var n=e.stateNode;if(n.current.memoizedState.isDehydrated){var t=wt(n.pendingLanes);t!==0&&(Zo(n,t|1),pe(n,W()),!(R&6)&&(rt=W()+500,vn()))}break;case 13:Ln(function(){var r=Ke(e,1);if(r!==null){var l=ue();Oe(r,e,1,l)}}),Lu(e,1)}};Jo=function(e){if(e.tag===13){var n=Ke(e,134217728);if(n!==null){var t=ue();Oe(n,e,134217728,t)}Lu(e,134217728)}};zs=function(e){if(e.tag===13){var n=an(e),t=Ke(e,n);if(t!==null){var r=ue();Oe(t,e,n,r)}Lu(e,n)}};Ls=function(){return O};Ts=function(e,n){var t=O;try{return O=e,n()}finally{O=t}};lo=function(e,n,t){switch(n){case"input":if(Jl(e,t),n=t.name,t.type==="radio"&&n!=null){for(t=e;t.parentNode;)t=t.parentNode;for(t=t.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),n=0;n<t.length;n++){var r=t[n];if(r!==e&&r.form===e.form){var l=ol(r);if(!l)throw Error(y(90));is(r),Jl(r,l)}}}break;case"textarea":as(e,t);break;case"select":n=t.value,n!=null&&Qn(e,!!t.multiple,n,!1)}};hs=_u;ys=Ln;var Nd={usingClientEntryPoint:!1,Events:[Zt,Un,ol,ms,vs,_u]},ht={findFiberByHostInstance:Sn,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Pd={bundleType:ht.bundleType,version:ht.version,rendererPackageName:ht.rendererPackageName,rendererConfig:ht.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Xe.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Ss(e),e===null?null:e.stateNode},findFiberByHostInstance:ht.findFiberByHostInstance||_d,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var hr=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!hr.isDisabled&&hr.supportsFiber)try{nl=hr.inject(Pd),Fe=hr}catch{}}ge.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Nd;ge.createPortal=function(e,n){var t=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ru(n))throw Error(y(200));return Cd(e,n,null,t)};ge.createRoot=function(e,n){if(!Ru(e))throw Error(y(299));var t=!1,r="",l=qa;return n!=null&&(n.unstable_strictMode===!0&&(t=!0),n.identifierPrefix!==void 0&&(r=n.identifierPrefix),n.onRecoverableError!==void 0&&(l=n.onRecoverableError)),n=zu(e,1,!1,null,null,t,!1,r,l),e[Qe]=n.current,Ut(e.nodeType===8?e.parentNode:e),new Tu(n)};ge.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(y(188)):(e=Object.keys(e).join(","),Error(y(268,e)));return e=Ss(n),e=e===null?null:e.stateNode,e};ge.flushSync=function(e){return Ln(e)};ge.hydrate=function(e,n,t){if(!ml(n))throw Error(y(200));return vl(null,e,n,!0,t)};ge.hydrateRoot=function(e,n,t){if(!Ru(e))throw Error(y(405));var r=t!=null&&t.hydratedSources||null,l=!1,o="",u=qa;if(t!=null&&(t.unstable_strictMode===!0&&(l=!0),t.identifierPrefix!==void 0&&(o=t.identifierPrefix),t.onRecoverableError!==void 0&&(u=t.onRecoverableError)),n=Ja(n,null,e,1,t??null,l,!1,o,u),e[Qe]=n.current,Ut(e),r)for(e=0;e<r.length;e++)t=r[e],l=t._getVersion,l=l(t._source),n.mutableSourceEagerHydrationData==null?n.mutableSourceEagerHydrationData=[t,l]:n.mutableSourceEagerHydrationData.push(t,l);return new pl(n)};ge.render=function(e,n,t){if(!ml(n))throw Error(y(200));return vl(null,e,n,!1,t)};ge.unmountComponentAtNode=function(e){if(!ml(e))throw Error(y(40));return e._reactRootContainer?(Ln(function(){vl(null,null,e,!1,function(){e._reactRootContainer=null,e[Qe]=null})}),!0):!1};ge.unstable_batchedUpdates=_u;ge.unstable_renderSubtreeIntoContainer=function(e,n,t,r){if(!ml(t))throw Error(y(200));if(e==null||e._reactInternals===void 0)throw Error(y(38));return vl(e,n,t,!1,r)};ge.version="18.3.1-next-f1338f8080-20240426";function ba(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ba)}catch(e){console.error(e)}}ba(),bi.exports=ge;var zd=bi.exports,ec,Ai=zd;ec=Ai.createRoot,Ai.hydrateRoot;const Ld="/vite.svg",Td="/assets/react-CHdo91hT.svg";function Rd(){const[e,n]=el.useState(0);return le.jsxs(le.Fragment,{children:[le.jsxs("div",{children:[le.jsx("a",{href:"https://vitejs.dev",target:"_blank",rel:"noreferrer",children:le.jsx("img",{src:Ld,className:"logo",alt:"Vite logo"})}),le.jsx("a",{href:"https://react.dev",target:"_blank",rel:"noreferrer",children:le.jsx("img",{src:Td,className:"logo react",alt:"React logo"})})]}),le.jsx("h1",{children:"Vite + React"}),le.jsxs("div",{className:"card",children:[le.jsxs("button",{type:"button",onClick:()=>{n(t=>t+1)},children:["count is ",e]}),le.jsxs("p",{children:["Edit ",le.jsx("code",{children:"src/App.tsx"})," and save to test HMR"]})]}),le.jsx("p",{className:"read-the-docs",children:"Click on the Vite and React logos to learn more"})]})}ec(document.getElementById("root")).render(le.jsx(el.StrictMode,{children:le.jsx(Rd,{})}));
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
package/dist/vite.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>