valdres 1.0.0-beta.3 → 1.0.0-beta.30

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.
Files changed (111) hide show
  1. package/README.md +79 -1
  2. package/dist/adapter-internals/v1.js +1 -0
  3. package/dist/chunk-t48n3zg9.js +2 -0
  4. package/dist/development/adapter-internals/v1.js +1 -0
  5. package/dist/development/chunk-t48n3zg9.js +2 -0
  6. package/dist/development/equality.js +1 -0
  7. package/dist/development/index.js +1 -0
  8. package/dist/development/inspect.js +1 -0
  9. package/dist/equality.js +1 -0
  10. package/dist/index.js +1 -2444
  11. package/dist/inspect.js +1 -0
  12. package/dist/types/adapter-internals/v1.d.ts +5 -0
  13. package/dist/types/equality.d.ts +9 -0
  14. package/dist/types/index.d.ts +44 -44
  15. package/dist/types/inspect.d.ts +12 -0
  16. package/dist/types/v1-internal/committed-store-tree/committed-store-tree.d.ts +22 -0
  17. package/dist/types/v1-internal/committed-store-tree/runtime-domain.d.ts +154 -0
  18. package/dist/types/v1-internal/committed-store-tree/scope-node.d.ts +92 -0
  19. package/dist/types/v1-internal/committed-store-tree/scratch-selector-host.d.ts +38 -0
  20. package/dist/types/v1-internal/committed-store-tree/tree-transaction.d.ts +75 -0
  21. package/dist/types/v1-internal/committed-store-tree/types.d.ts +67 -0
  22. package/dist/types/v1-internal/inspection.d.ts +309 -0
  23. package/dist/types/v1-internal/public-domain.d.ts +8 -0
  24. package/dist/types/v1-internal/selector-evaluator/errors.d.ts +42 -0
  25. package/dist/types/v1-internal/selector-evaluator/evaluate.d.ts +7 -0
  26. package/dist/types/v1-internal/selector-evaluator/types.d.ts +163 -0
  27. package/dist/types/v1.d.ts +28 -0
  28. package/package.json +42 -3
  29. package/dist/types/atom.d.ts +0 -16
  30. package/dist/types/atomFamily.d.ts +0 -13
  31. package/dist/types/cacheMeta.d.ts +0 -4
  32. package/dist/types/errors/SelectorCircularDependencyError.d.ts +0 -5
  33. package/dist/types/errors/SelectorEvaluationError.d.ts +0 -7
  34. package/dist/types/errors/lib/generateSelectorTrace.d.ts +0 -2
  35. package/dist/types/globalStore.d.ts +0 -4
  36. package/dist/types/indexConstructor.d.ts +0 -5
  37. package/dist/types/lib/asyncDependencyTracking.d.ts +0 -25
  38. package/dist/types/lib/atomFamilyIndex.d.ts +0 -17
  39. package/dist/types/lib/createAtomFamily.d.ts +0 -4
  40. package/dist/types/lib/createGlobalAtomFamily.d.ts +0 -4
  41. package/dist/types/lib/createStoreData.d.ts +0 -6
  42. package/dist/types/lib/deleteFamilyAtom.d.ts +0 -3
  43. package/dist/types/lib/equal.d.ts +0 -1
  44. package/dist/types/lib/familyKey.d.ts +0 -2
  45. package/dist/types/lib/getState.d.ts +0 -8
  46. package/dist/types/lib/globalAtom.d.ts +0 -4
  47. package/dist/types/lib/initAtom.d.ts +0 -5
  48. package/dist/types/lib/initSelector.d.ts +0 -24
  49. package/dist/types/lib/isFunction.d.ts +0 -1
  50. package/dist/types/lib/isProd.d.ts +0 -1
  51. package/dist/types/lib/maxAgeCleanups.d.ts +0 -4
  52. package/dist/types/lib/mountAtom.d.ts +0 -36
  53. package/dist/types/lib/propagateUpdatedAtoms.d.ts +0 -11
  54. package/dist/types/lib/resetAtom.d.ts +0 -3
  55. package/dist/types/lib/setAtom.d.ts +0 -4
  56. package/dist/types/lib/setAtoms.d.ts +0 -3
  57. package/dist/types/lib/setValueInData.d.ts +0 -7
  58. package/dist/types/lib/stableStringify.d.ts +0 -1
  59. package/dist/types/lib/storeFromStoreData.d.ts +0 -4
  60. package/dist/types/lib/stringifyFamilyArgs.d.ts +0 -1
  61. package/dist/types/lib/subscribe.d.ts +0 -6
  62. package/dist/types/lib/transaction.d.ts +0 -37
  63. package/dist/types/lib/unsubscribe.d.ts +0 -5
  64. package/dist/types/selector.d.ts +0 -4
  65. package/dist/types/selectorFamily.d.ts +0 -4
  66. package/dist/types/store.d.ts +0 -6
  67. package/dist/types/types/Atom.d.ts +0 -29
  68. package/dist/types/types/AtomDefaultValue.d.ts +0 -2
  69. package/dist/types/types/AtomFamily.d.ts +0 -11
  70. package/dist/types/types/AtomFamilyAtom.d.ts +0 -7
  71. package/dist/types/types/AtomFamilyDefaultValue.d.ts +0 -5
  72. package/dist/types/types/AtomFamilySelector.d.ts +0 -6
  73. package/dist/types/types/AtomOnInit.d.ts +0 -9
  74. package/dist/types/types/AtomOnMount.d.ts +0 -14
  75. package/dist/types/types/AtomOnSet.d.ts +0 -2
  76. package/dist/types/types/AtomOptions.d.ts +0 -15
  77. package/dist/types/types/EqualFunc.d.ts +0 -3
  78. package/dist/types/types/Family.d.ts +0 -3
  79. package/dist/types/types/FamilyKey.d.ts +0 -3
  80. package/dist/types/types/GetValue.d.ts +0 -9
  81. package/dist/types/types/GlobalAtom.d.ts +0 -17
  82. package/dist/types/types/GlobalAtomGetSelfFunc.d.ts +0 -1
  83. package/dist/types/types/GlobalAtomResetSelfFunc.d.ts +0 -1
  84. package/dist/types/types/GlobalAtomSetSelfFunc.d.ts +0 -2
  85. package/dist/types/types/Reactive.d.ts +0 -3
  86. package/dist/types/types/ResetAtom.d.ts +0 -2
  87. package/dist/types/types/Selector.d.ts +0 -16
  88. package/dist/types/types/SelectorFamily.d.ts +0 -7
  89. package/dist/types/types/SelectorOptions.d.ts +0 -5
  90. package/dist/types/types/SetAtom.d.ts +0 -5
  91. package/dist/types/types/SetAtomValue.d.ts +0 -1
  92. package/dist/types/types/State.d.ts +0 -4
  93. package/dist/types/types/Store.d.ts +0 -31
  94. package/dist/types/types/StoreData.d.ts +0 -28
  95. package/dist/types/types/SubscribeFn.d.ts +0 -9
  96. package/dist/types/types/Subscription.d.ts +0 -11
  97. package/dist/types/types/SyncSetAtom.d.ts +0 -4
  98. package/dist/types/types/TransactionFn.d.ts +0 -2
  99. package/dist/types/types/TransactionInterface.d.ts +0 -15
  100. package/dist/types/utils/deepFreeze.d.ts +0 -1
  101. package/dist/types/utils/isAtom.d.ts +0 -2
  102. package/dist/types/utils/isAtomFamily.d.ts +0 -2
  103. package/dist/types/utils/isFamily.d.ts +0 -1
  104. package/dist/types/utils/isFamilyAtom.d.ts +0 -2
  105. package/dist/types/utils/isFamilySelector.d.ts +0 -2
  106. package/dist/types/utils/isFamilyState.d.ts +0 -3
  107. package/dist/types/utils/isGlobalAtom.d.ts +0 -2
  108. package/dist/types/utils/isPromiseLike.d.ts +0 -1
  109. package/dist/types/utils/isSelector.d.ts +0 -2
  110. package/dist/types/utils/isSelectorFamily.d.ts +0 -2
  111. package/dist/types/utils/resolveReactive.d.ts +0 -4
package/README.md CHANGED
@@ -1 +1,79 @@
1
- Se [valdres.dev](https://valdres.dev) for docs
1
+ <!-- DOCS:START -->
2
+
3
+ # valdres
4
+
5
+ The first public beta of Valdres's new synchronous state engine.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install valdres@beta
11
+ ```
12
+
13
+ ```ts
14
+ import { store, atom, selector } from "valdres"
15
+
16
+ const countAtom = atom(0)
17
+ const doubledSelector = selector(get => get(countAtom) * 2)
18
+
19
+ const s = store()
20
+ s.set(countAtom, 21)
21
+ s.get(doubledSelector) // 42
22
+ ```
23
+
24
+ `set` always stores the exact value you pass, including functions. Use `update` when the next value depends on the current value:
25
+
26
+ ```ts
27
+ s.set(countAtom, 1)
28
+ s.update(countAtom, current => current + 1)
29
+ ```
30
+
31
+ A store also exposes `sub`, `reset`, `txn`, `scope`, and `dispose`. Store operations are stable bound functions, so they can be passed as callbacks without rebinding. `store.txn(callback, name?)` accepts an optional human-readable diagnostic label; labels are metadata, not identity.
32
+
33
+ `atom(initial, options)` and `atom.lazy(initialize, options)` create writable state. `selector(read, options)` creates synchronous derived state. Atom and selector options accept an inert diagnostic `name` and an `equal(previous, next)` comparator.
34
+
35
+ ## Opt-in structural equality
36
+
37
+ `Object.is` remains the default comparator. Import `deepEqual` from the separate equality entry only where structurally equal replacements should retain the previous reference and stop notifications or downstream propagation:
38
+
39
+ ```ts
40
+ import { atom } from "valdres"
41
+ import { deepEqual } from "valdres/equality"
42
+
43
+ const documentAtom = atom({ blocks: [] }, { equal: deepEqual })
44
+ ```
45
+
46
+ `deepEqual` recursively compares supported values using SameValueZero primitive leaves, own enumerable string and symbol properties, and native identity for Map keys and Set members. Non-binary objects require the same prototype. Matching binary brands compare visible bytes across realms and ignore attached properties. Functions, Promises, Errors, URLs, weak collections, other opaque platform objects, and DOM nodes compare only by identity. Cyclic structures are unsupported. Reached getters, Proxy traps, `valueOf`, and `toString` hooks can run and throw.
47
+
48
+ Structural comparison walks the compared values, so use it deliberately on allocation-heavy results where pruning redundant updates outweighs that work. The separate `valdres/equality` entry keeps it out of ordinary root bundles.
49
+
50
+ ## Inspect a Store
51
+
52
+ `valdres/inspect` creates an opt-in Store with a bounded structural flight recorder. It belongs to the same runtime domain as ordinary Stores, so existing atoms, selectors, scopes, and framework adapters work unchanged:
53
+
54
+ ```ts
55
+ import { createInspectableStore } from "valdres/inspect"
56
+
57
+ const { store: appStore, inspect } = createInspectableStore()
58
+
59
+ inspect.span("drop interaction", () =>
60
+ appStore.txn(transaction => {
61
+ transaction.update(processAtom, updateProcess)
62
+ }, "collapse process"),
63
+ )
64
+
65
+ const report = inspect.export()
66
+ inspect.reset()
67
+ ```
68
+
69
+ The report correlates human labels with opaque operation, commit, evaluation, session, and search IDs. It includes selector work, proposed topology changes, cycle-search visits by host and call site, transient selector-host counts, and propagation/notification totals. Completed summaries and details use separate bounded rings with explicit overflow. Exports are immutable and JSON-safe; application values, callbacks, errors, and live State handles are never recorded. Labels are metadata, not identity.
70
+
71
+ Inspection adds recording and timing work only to the Store created by `createInspectableStore`. The recorder stays outside the ordinary root entry and ordinary consumer bundles remain within their existing size budget.
72
+
73
+ The versioned `valdres/adapter-internals/v1` entry is for framework bindings. It exports only `assertStore`, `read`, `subscribe`, and `readHydrationSnapshot`; application code should use Store methods directly.
74
+
75
+ ## Beta compatibility
76
+
77
+ `valdres@1.0.0-beta.24` and later v1 betas intentionally replace the legacy beta API. `valdres-react@1.0.0-beta.6` is certified with `valdres@1.0.0-beta.27` and later v1 betas accepted by its `^1.0.0-beta.27` peer range. Deferred framework adapters and plugins remain unsupported even when their published semver ranges allow npm to resolve this core; do not mix them with the new beta until they are migrated.
78
+
79
+ <!-- DOCS:END -->
@@ -0,0 +1 @@
1
+ import{q as e}from"../chunk-t48n3zg9.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
@@ -0,0 +1,2 @@
1
+ class z extends Error{seal(){Object.freeze(this)}}class se extends z{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class be extends z{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class Q extends z{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class F extends z{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class ke extends z{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class ae extends z{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class ve extends z{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}var He=Object.freeze({kind:"not-thenable"}),yt=()=>{},At=Reflect.apply,Be=Symbol.for("valdres.runtime-owner/v1");class g extends Error{seal(){Object.freeze(this)}}class ge extends g{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class we extends g{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class U extends g{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class q extends g{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class K extends g{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class ce extends g{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class J extends g{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class Z extends g{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class ee extends g{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class Te extends g{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class Oe extends g{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class Re extends g{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class de extends g{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var E=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return He;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):He}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},N=(e)=>{try{At(e.then,e.target,[void 0,yt])}catch{}},te=(e)=>{let t=E(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return N(t),Object.freeze({kind:"error",error:new Z})},Ce=(e)=>{try{return te(e())}catch(t){let n=E(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return N(n),Object.freeze({kind:"error",error:new Z})}},ne=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},M=(e,t,n)=>{try{let o=ne(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},Le=(e,t,n)=>{try{let o=ne(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},oe=(e,t,n)=>ne(e,Object.freeze({kind:"selector",session:t}),n),Ge=(e,t,n)=>ne(e,Object.freeze({kind:"transaction",transaction:t}),n),le=(e,t,n)=>{try{let o=ne(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},D=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new q(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new K;throw new U},Ee=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new q(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new K;throw new U},We=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new q("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new K;throw new U},ue=(e,t,n)=>{if(!n)throw new ce;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new q("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new U;throw new K},Ue=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},W=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,Be);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new ge;throw Ue(e,n).latchControlFault(r),r}}return"invalid"},x=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=Ue(e,n);if(o!==void 0&&"session"in o)try{let i=W(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return M(e,r,()=>W(e,t,r))},re=(e,t)=>(Object.defineProperty(e,Be,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),fe=(e,t)=>Object.freeze(re({kind:e},t));var qe=Object.freeze({kind:"not-thenable"}),bt=()=>{},kt=Reflect.apply,Ke=Symbol("selector dependency path root"),Xe=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return qe;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):qe}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},Qe=(e)=>{try{kt(e.then,e.target,[void 0,bt])}catch{}},vt=(e)=>Object.freeze(e),gt=(e)=>Object.freeze(e),O=(e,t,n,o)=>{let r=gt(o);return Object.freeze({selector:e,token:t,outcome:vt(n),dependencies:r,attemptedPrefix:n.kind==="value"?wt:Object.freeze(r.map((i)=>i.node))})},wt=Object.freeze([]),Tt=(e,t,n,o,r,i)=>{let s=[e],a=new Map([[e,Ke]]);while(s.length>0){let c=s.pop();if(Object.is(c,t)){let u=[],S=c;while(S!==Ke)u.push(S),S=a.get(S);return u.reverse(),Object.freeze(u)}let d=o.getTransientDependencies(n,c);if(d){for(let u of d){if(a.has(u.node))continue;a.set(u.node,c),s.push(u.node)}continue}if(n.getSelectorDependencyNodes!==void 0){let u=n.getSelectorDependencyNodes(c);if(u===void 0)continue;for(let S of u){if(a.has(S))continue;a.set(S,c),s.push(S)}continue}let l=n.getSelectorRecord(c);if(!l)continue;for(let u of l.dependencies){if(a.has(u.node))continue;a.set(u.node,c),s.push(u.node)}}return},Ye=(e,t)=>{let n=Xe(e);if(n.kind==="thenable")return Qe(n),new F(t);if(n.kind==="inspection-error")return n.error;return e},$e=(e,t)=>{let n=Xe(e);if(n.kind==="thenable")return Qe(n),Object.freeze({kind:"error",error:new F(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},Je=(e,t,n,o=Tt)=>{let{node:r}=e,i=[],s=t.getSelectorRecord(r),a=s?.dependencies,c=a===void 0?new Set:void 0,d,l=0,u=t.getComparisonBaseline(r),S=!0,y=()=>{let f=c;if(f!==void 0)return f;f=new Set;for(let h of i)f.add(h.node);return c=f,f};n.enter(t,r,i);let A=t.getSelectorGraphVersion(),_=n.getSelectorGraphPublicationCount(t),P=A,H=_,ze=A,Fe=_,pe,me=!1,pt=(f)=>{if(me)return;let h=t.beginSelectorGraphObservation?.(f);if(h===void 0)return;me=!0,pe=h},ye=(f,h,b,k)=>b-f===k-h,Me=(f=t.getSelectorGraphVersion(),h=n.getSelectorGraphPublicationCount(t),b=ye(P,H,f,h))=>{if(f===P)return;if(!me&&t.beginSelectorGraphObservation!==void 0){P=f,H=h;return}let k=pe?.takeAddedEdges();if(b){P=f,H=h;return}if(k!==void 0){let v=!1;for(let T of k)if(o(T.head,T.tail,t,n,2,i.length)!==void 0){v=!0;break}if(!v){P=f,H=h;return}}for(let v=0;v<i.length;v++){let T=i[v],C=o(T.node,r,t,n,0,i.length);if(!C)continue;if(c!==void 0)for(let V=i.length-1;V>=v;V--)c.delete(i[V].node);if(i.length=v,l++,n.getControlFault().kind==="fault")return;let w=new Q(r,[r,...C]);n.latchCycle(t,r,w);return}P=f,H=h},Ae=()=>{let f=t.getSelectorGraphVersion(),h=n.getSelectorGraphPublicationCount(t);ze=f,Fe=h;let b=ye(P,H,f,h);if(!b)n.revalidateAncestorPrefixes(t,r);Me(f,h,b)};n.setPrefixRevalidator(t,r,Me);let mt=(f)=>{if(!S)throw new ve;let h=n.getControlFault();if(h.kind==="fault")throw h.error;let b=n.getCycle(t,r);if(b!==void 0)throw b;let k=n.activeCyclePath(t,f);if(k){let p=new Q(r,k);throw n.latchCycle(t,r,p),p}let v=i.length,T,C=!1;if(c===void 0){let p=a?.[v];if(p!==void 0&&Object.is(p.node,f))T=!1,C=!0;else T=y().has(f)}else T=c.has(f);if(!T&&!C&&a!==void 0&&a.length>0){let p=a[i.length];if(p!==void 0&&Object.is(p.node,f))C=!0;else{if(d===void 0){d=new Set;for(let G of a)d.add(G.node)}C=d.has(f)}}let B=l,w=t.serve(f,n);Ae();let V=n.getCycle(t,r);if(V!==void 0)throw V;let Y=c!==void 0?c.has(f):l===B&&i.length===v?!1:y().has(f),I=ze,L=Fe,j=Y||C&&I===A,ie=a===void 0&&ye(A,_,I,L);if(!j&&!ie){let p=o(f,r,t,n,1,i.length);if(p){let G=n.getControlFault();if(G.kind==="fault")throw G.error;let _e=new Q(r,[r,...p]);throw n.latchCycle(t,r,_e),_e}}if(!Y){let p=s?.dependencies[i.length];c?.add(f),i.push(p!==void 0&&Object.is(p.node,f)&&Object.is(p.token,w.token)?p:Object.freeze({node:f,token:w.token})),pt(f)}if(P=I,H=L,w.outcome.kind==="control-error"){n.latchControlFault(w.outcome.error);let p=n.getControlFault();if(p.kind==="fault")throw p.error;throw w.outcome.error}let X=n.getControlFault();if(X.kind==="fault")throw X.error;if(w.outcome.kind==="error")throw new be(f,w.outcome.error);return w.outcome.value};try{let f,h,b=!1;try{f=e.get(mt)}catch(V){b=!0,h=V}finally{S=!1}if(b)h=Ye(h,"getter");let k=b?void 0:$e(f,"getter");Ae();let v=n.getControlFault();if(v.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:v.error},i);let T=n.getCycle(t,r);if(T!==void 0)return O(r,t.createOutcomeToken(),{kind:"error",error:T},i);if(b)return O(r,t.createOutcomeToken(),{kind:"error",error:h instanceof F?h:new se(r,h)},i);if(k===void 0)throw Error("Selector result classification was not completed");let C=n.getControlFault();if(C.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:C.error},i);if(k.kind==="error")return O(r,t.createOutcomeToken(),{kind:"error",error:k.error instanceof F?k.error:new se(r,k.error)},i);let B=k.value,w;if(u){let V=e.equal??Object.is,Y,I,L=!1;try{Y=V(u.value,B)}catch(G){L=!0,I=Ye(G,"comparator")}let j=L?void 0:$e(Y,"comparator");Ae();let ie=n.getControlFault();if(ie.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:ie.error},i);let X=n.getCycle(t,r);if(X!==void 0)return O(r,t.createOutcomeToken(),{kind:"error",error:X},i);if(L)return O(r,t.createOutcomeToken(),{kind:"error",error:I instanceof F?I:new ae(r,I)},i);if(j===void 0)throw Error("Selector comparator classification was not completed");let p=n.getControlFault();if(p.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:p.error},i);if(j.kind==="error")return O(r,t.createOutcomeToken(),{kind:"error",error:j.error instanceof F?j.error:new ae(r,j.error)},i);if(j.value!==!0&&j.value!==!1)return O(r,t.createOutcomeToken(),{kind:"error",error:new ke},i);if(j.value===!0)B=u.value,w=u.current?u.token:void 0}return O(r,w??t.createOutcomeToken(),{kind:"value",value:B},i)}finally{try{pe?.close()}finally{n.leave(t,r)}}};class m{#t=[];#n;#o=0;#i;#a=Ot;latchControlFault(e){if(this.#a.kind==="fault")return;this.#a=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#a}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#i??(this.#i=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#i?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#r(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#r(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#s(e,t);o.cycleError??=n}getCycle(e,t){return this.#r(e,t).cycleError}#r(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#s(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var Ot=Object.freeze({kind:"none"});var Ze=Symbol("no-committed-selector-baseline");class he{#t;#n=new Map;#o=new Map;#i=new Map;#a;#r=1;#s=0;#d;constructor(e,t,n){this.#t=e,this.#a=t,this.#d=n}readSelector(e){let t=new m,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#a+1)throw Error("Scratch selector generation is not contiguous");this.#a=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#i.clear(),this.#t=void 0}serve(e,t){let n=this.#c(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let c=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,c),c}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>this.#d(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#s++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#s}getComparisonBaseline(e){let t=this.#i.get(e);if(t===void 0)t=this.#c().captureCommittedSelectorSuccess(e)??Ze,this.#i.set(e,t);return t===Ze?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#r++})}#c(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}var et=4096,Rt=Object.freeze([]);class nt{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class Se{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#i;#a=new WeakMap;#r=new WeakSet;#s=0;#d=0;#c;#l=!1;#h;#u="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#m(),this.#n=this.#m()}get status(){return this.#u}get facade(){if(this.#h===void 0)throw Error("Store scope facade is not installed");return this.#h}installFacade(e){if(this.#h!==void 0)throw Error("Store scope facade is already installed");this.#h=e}markDisposing(){if(this.#u==="live")this.#u="disposing"}markDisposed(){this.#u="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#r.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#m()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#r.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#a.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#r.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#i=void 0,this.#a=new WeakMap,this.#r=new WeakSet,this.#s++,this.#e()}serve(e,t){let n=this.coordinator.runtimeDomain;if(W(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r,t),i=this.#o.get(r);if(i!==void 0&&!this.#r.has(r))return i.served;let s=oe(n,t,()=>this.coordinator.evaluate(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#A(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorDependencyNodes(e){let t=this.#o.get(e);if(t===void 0)return;let n=e,o=this.#i?.get(n);if(o===void 0){let r=[];for(let s of t.dependencies)if(this.coordinator.runtimeDomain.selectors.has(s.node))r.push(s.node);o=Object.freeze(r);let i=this.#i;if(i===void 0)i=new WeakMap,this.#i=i;i.set(n,o)}return o}getSelectorGraphVersion(){return this.#s}beginSelectorGraphObservation(e){if(!this.coordinator.runtimeDomain.selectors.has(e))return;if(this.#d===0)this.#c=[],this.#l=!1;this.#d++;let t=this.#c?.length??0,n=!1;return Object.freeze({takeAddedEdges:()=>{if(n||this.#l)return;let o=this.#c;if(o===void 0)return;if(t===o.length)return Rt;let r=Object.freeze(o.slice(t));return t=o.length,r},close:()=>{if(n)return;if(n=!0,this.#d--,this.#d!==0)return;this.#c=void 0,this.#l=!1}})}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#A(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess}),s=this.#y(e,o?.dependencies??tt,t.dependencies),a=s?this.#S(e,o?.dependencies??tt,t.dependencies):void 0;if(s)this.#i?.delete(e);if(this.#s++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#r.delete(e),a!==void 0)this.#p(a);if(o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#y(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return!1}for(let o of t){let r=this.#a.get(o.node);if(r?.delete(e),r?.isEmpty())this.#a.delete(o.node)}for(let o of n){let r=this.#a.get(o.node);if(r===void 0)r=this.#m(),this.#a.set(o.node,r);r.add(e)}return!0}#S(e,t,n){if(this.#d===0||this.#l)return;let o=this.#c;if(o===void 0){this.#e();return}let r=et-o.length,i=this.coordinator.runtimeDomain.selectors,s=new Set;for(let c of t)if(i.has(c.node))s.add(c.node);let a=[];for(let c of n)if(i.has(c.node)&&!s.has(c.node)){if(a.push(Object.freeze({tail:e,head:c.node})),a.length>r){this.#e();return}}return a}#p(e){if(e.length===0)return;let t=this.#c;if(t===void 0||t.length+e.length>et){this.#e();return}t.push(...e)}#e(){if(this.#d===0)return;this.#c=[],this.#l=!0}#m(){return new nt(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var tt=Object.freeze([]);class Ne{transaction=Object.freeze({});#t;#n;#o;#i;#a;#r;#s;#d;#c;#l;#h;#u;#A;#y;#S;#p;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#i!==void 0||this.#a!==void 0||this.#r!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#i===void 0?this.#o:void 0}stage(e,t){let n=this.#r;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#f(),n.set(e,i);i.set(t.atom,t),this.#m();return}let o=this.#a;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#f();i.set(this.#n,o);let s=this.#f();s.set(t.atom,t),i.set(e,s),this.#r=i,this.#a=void 0,this.#n=void 0}this.#m();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#m();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#m();return}if(Object.is(this.#n,e)){let i=this.#i;if(i===void 0){this.#i=t,this.#m();return}if(Object.is(i.atom,t.atom)){this.#i=t,this.#m();return}let s=this.#f();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#a=s}else{let i=this.#f(),s=this.#f();if(s.set(r.atom,r),this.#i!==void 0)s.set(this.#i.atom,this.#i);i.set(this.#n,s);let a=this.#f();a.set(t.atom,t),i.set(e,a),this.#r=i,this.#n=void 0}this.#o=void 0,this.#i=void 0,this.#m()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#i!==void 0)e(this.#n,this.#i);return}let n=this.#a;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#r;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#i;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#a?.get(t);return this.#r?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#c!==void 0&&Object.is(this.#s,e)&&Object.is(this.#d,t))return this.#c;if(this.#h!==void 0&&Object.is(this.#s,e)&&Object.is(this.#l,t))return this.#h;if(Object.is(this.#s,e))return this.#u?.get(t);return this.#A?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#A;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#f(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#u;if(r!==void 0){if(Object.is(this.#s,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#f();s.set(this.#s,r);let a=this.#f();a.set(t,n),s.set(e,a),this.#A=s,this.#u=void 0,this.#s=void 0}return}let i=this.#c;if(i===void 0){this.#s=e,this.#d=t,this.#c=n;return}if(Object.is(this.#s,e)&&Object.is(this.#d,t))return;if(Object.is(this.#s,e)){let s=this.#h;if(s===void 0){this.#l=t,this.#h=n;return}if(Object.is(this.#l,t))return;let a=this.#f();a.set(this.#d,i),a.set(this.#l,s),a.set(t,n),this.#u=a}else{let s=this.#f(),a=this.#f();if(a.set(this.#d,i),this.#l!==void 0&&this.#h!==void 0)a.set(this.#l,this.#h);s.set(this.#s,a);let c=this.#f();c.set(t,n),s.set(e,c),this.#A=s,this.#s=void 0}this.#d=void 0,this.#c=void 0,this.#l=void 0,this.#h=void 0}getFallback(e){if(Object.is(this.#y,e))return this.#S;return this.#p?.get(e)}hasFallback(e){return Object.is(this.#y,e)||(this.#p?.has(e)??!1)}setFallback(e,t){let n=this.#p;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#y=e,this.#S=t;return}if(Object.is(this.#y,e)){this.#S=t;return}let o=this.#f();o.set(this.#y,this.#S),o.set(e,t),this.#p=o,this.#y=void 0,this.#S=void 0}forEachFallback(e){if(this.#y!==void 0&&this.#S!==void 0)e(this.#y,this.#S);if(this.#p!==void 0)for(let[t,n]of this.#p)e(t,n)}#m(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#a?.clear(),this.#r!==void 0){for(let e of this.#r.values())e.clear();this.#r.clear()}if(this.#u?.clear(),this.#A!==void 0){for(let e of this.#A.values())e.clear();this.#A.clear()}this.#p?.clear(),this.#n=void 0,this.#o=void 0,this.#i=void 0,this.#a=void 0,this.#r=void 0,this.#s=void 0,this.#d=void 0,this.#c=void 0,this.#l=void 0,this.#h=void 0,this.#u=void 0,this.#A=void 0,this.#y=void 0,this.#S=void 0,this.#p=void 0,this.#e?.clear(),this.#e=void 0}#f(){return this.#t?.(),new Map}}class ot{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),re(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var De=(e,t,n)=>new ot(e,t,n),Ve=(e)=>{let t=E(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw N(t),new J},rt=(e)=>{let t=E(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw N(t),new J};var Ct=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},ut=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31}),Et=32,ft=new WeakMap,Jt=()=>{let e=new Uint32Array(Et),t=Object.freeze({read(n){return e[ut[n]]??0}});return ft.set(t,e),t},R=(e)=>Object.freeze({kind:"value",value:e}),Nt=(e)=>Object.freeze({kind:"error",error:e}),it=(e)=>e.kind==="value"?R(e.value):Nt(e.error),st=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},at=1,je=2,ct=4,Dt=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),Pe=(e)=>(e.onAllocation?.(),new Map),Vt=(e)=>(e.onAllocation?.(),new Set),xe=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},dt=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=Pe(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=Pe(e),r.set(t,i);i.set(n,o)},jt=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=Vt(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},xt=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=Pe(e),e.affected=o;o.set(t,n)};class ht{#t=new WeakMap;#n;#o=1;#i=0;#a=!1;#r;#s;#d;#c=0;#l;#h;#u;#A=1;#y=0;#S;#p;#e;#m;#f;evaluate;constructor(e,t,n){this.#e=e,this.#m=t===void 0?void 0:ft.get(t),this.#f=n,this.evaluate=n?.evaluate??Je,this.#n=new Se(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#a}get instrumented(){return this.#m!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#m;if(n===void 0)return;n[ut[e]]+=t}#T(){return this.recordCounter("draftCreations"),new Ne(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new m,o=t,r=x(this.#e,o,n),i=Ee(this.#e,"StoreTree.get");if(this.#b(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":x(this.#e,o,r=new m);if(D(this.#e,"StoreTree.sub"),this.#b(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new m);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#u;if(a===void 0){if(a=new Map,this.#u=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let c=a.get(e);if(c===void 0){if(c=new Map,a.set(e,c),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let d=c.get(o);if(d===void 0){if(d={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},c.set(o,d),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:d,previous:d.tail,next:void 0};if(d.tail===void 0)d.head=l;else d.tail.next=l;if(d.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return Ct(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;We(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#u,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#u=void 0}set(e,t,n){this.#O(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#O(e,t,"StoreTree.update","update",n)}reset(e,t){this.#O(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)x(this.#e,n,new m);if(D(this.#e,"StoreTree.scope"),this.#b(e),t===0)return this.#j(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#j(e,n)}dispose(e){if(D(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#X(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t,n){if(D(this.#e,"StoreTree.txn"),this.#b(e),typeof t!=="function"||n!==void 0&&typeof n!=="string")throw TypeError("StoreTree.txn requires a callback");let o=this.#T(),r=De(this,o,e),i;try{i=Ge(this.#e,o.transaction,()=>t(r))}catch(s){throw o.close(),o.release(),s}o.close();try{let s=new m;le(this.#e,s,()=>Ve(i)),this.#M(o)}finally{o.release()}return i}readHydrationSnapshot(e,t){let n=new m,o=t,r=x(this.#e,o,n);if(D(this.#e,"adapter readHydrationSnapshot"),this.#b(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#T(),s;try{if(this.#e.atoms.has(o)){let a=this.#k(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#K(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,c)=>{if(this.#t.has(a))return;this.#t.set(a,c),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new m,i=x(this.#e,o,r);if(ue(this.#e,e.transaction,e.active),this.#b(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#k(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#q(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new m;this.#R(e,t,r,i,"Transaction.set"),this.#P(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new m;this.#R(e,t,r,i,"Transaction.update"),this.#I(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new m;this.#R(e,t,o,r,"Transaction.reset"),this.#z(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new m;if(typeof n!=="string")x(this.#e,n,i);ue(this.#e,e.transaction,e.active),this.#b(t);let s=this.#Y(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=De(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let c;try{c=r(a)}catch(l){let u=new m;return le(this.#e,u,()=>rt(l))}let d=new m;return le(this.#e,d,()=>Ve(c)),c}createOutcomeToken(){return Object.freeze({id:this.#o++})}#q(e,t){return this.recordCounter("scratchHostAllocations"),new he(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>oe(this.#e,n,o)}),e.generation,this.evaluate)}#K(e,t){return this.recordCounter("scratchHostAllocations"),new he(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>oe(this.#e,n,o)}),e.generation,this.evaluate)}#V(e,t){if(W(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#j(e,t){let n=new Se(this,e,t);this.recordCounter("scopeNodesCreated");let o=new Ie(this,n,this.#f);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#Y(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new Oe;return this.#b(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#b(i),!Object.is(i.coordinator,this))throw new Re;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new ce;throw new de}throw new de}#b(e){if(e.status!=="live")throw new Te}#$(e,t,n,o){let r=x(this.#e,t,n);D(this.#e,o),this.#b(e),this.#x(t,r,o)}#O(e,t,n,o,r){let i=t,s=new m;this.#$(e,i,s,n);let a=this.#T();try{if(o==="set")this.#P(a,e,i,r,s);else if(o==="update")this.#I(a,e,i,r,s,n);else this.#z(a,e,i,s)}catch(c){throw a.close(),a.release(),c}a.close();try{this.#M(a)}finally{a.release()}}#X(e){let t=this.#u,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#u=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=x(this.#e,n,o);ue(this.#e,e.transaction,e.active),this.#b(t),this.#x(n,i,r)}#x(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#P(e,t,n,o,r){let i=M(this.#e,r,()=>te(o));if(i.kind==="error")throw i.error;let s=this.#C(e,t,n,r);this.#U(e,t,n,i.value,s,r)}#I(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#C(e,t,n,r),a=e.hasIntents?this.#k(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let c=this.#Z(o,a.value,r);this.#U(e,t,n,c,s,r)}#z(e,t,n,o){this.#C(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#E(e,n,o),reachesFallback:!0}):this.#F(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#C(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=R(s.atomOverrides.get(n));break}s=s.parent}let c=a===void 0,d=Object.freeze({owned:i,outcome:a??this.#E(e,n,o),reachesFallback:c});return e.setAtomBaseline(t,n,d),d}#k(e,t,n,o){return this.#F(e,t,n,o).outcome}#F(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:R(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:R(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#E(e,n,o),reachesFallback:!0})}#E(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#v(t);if(r.fallback.kind==="eager")return R(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=it(M(this.#e,n,()=>Ce(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#v(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#J(r,t,n,o)?t:n}#J(e,t,n,o){return M(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=E(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw N(a),new ee}let i=E(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw N(i),new ee;if(r!==!0&&r!==!1)throw new ee;return r})}#Z(e,t,n){return M(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=E(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw N(s),new Z}let r=te(o);if(r.kind==="error")throw r.error;return r.value})}#M(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=Dt(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#_(e,n,t,o);else e.forEachIntent((a,c)=>{let d=this.#_(e,a,c,o);if(r===void 0){r=d;return}if(i===void 0)i=[];i.push(d)});if(r===void 0)return;if(this.#f?.(1,e,this.#e.atoms),this.#H(e,r),i!==void 0)for(let a of i)this.#H(e,a);let s=this.#B(r);if(i!==void 0)for(let a of i){let c=this.#B(a);s||=c}if(this.#L(r),i!==void 0)for(let a of i)this.#L(a);this.#se();try{let a,c,d=o.affectedRecord,l=o.affectedBefore;if(d!==void 0&&l!==void 0)a=this.#N(o,d,l);let{secondAffectedRecord:u,secondAffectedBefore:S}=o;if(u!==void 0&&S!==void 0){let y=this.#N(o,u,S);if(y!==void 0)if(a===void 0)a=y;else c=[y]}if(o.affected!==void 0)for(let[y,A]of o.affected){let _=this.#N(o,y,A);if(_===void 0)continue;if(a===void 0)a=_;else{if(c===void 0)c=[];c.push(_)}}if(s)this.#i+=1,this.recordCounter("sourceEpoch");this.#f?.(2,a===void 0?0:1+(c?.length??0)),this.#ie(a,c)}catch(a){throw this.#g(),a}}#_(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#G(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#ee(e,s,o);return i}#H(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#B(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#L({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#oe(e.parent,t.atom))}#N(e,t,n){let o=xe(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),st(n,o))return;return t.scope.updateAtomView(t,o),t}#ee(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!jt(n,r))continue;let i=r.served.outcome,s=this.#G(e,r.scope,r.atom,n);if(st(i,s))continue;xt(n,r,i);let a=o.length;r.inheritingChildren.forEach((c)=>{this.recordCounter("routeVisits"),o.push(c)});for(let c=a,d=o.length-1;c<d;c++,d--){let l=o[c];o[c]=o[d],o[d]=l}}}#G(e,t,n,o){let r=xe(o,n,t);if(r!==void 0)return r;let i=t,s,a,c;while(i!==void 0){let d=xe(o,n,i);if(d!==void 0){c=d;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){c=R(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){c=R(i.atomOverrides.get(n));break}i=i.parent}if(c??=this.#te(e,n),s!==void 0)dt(o,n,s,c),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let d of a)dt(o,n,d,c),this.recordCounter("finalPreflightVisits");return c}#te(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#v(t);if(r.fallback.kind==="eager")return R(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#ne(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#v(e);if(n.fallback.kind==="eager")return R(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#oe(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,R(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#ne(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,R(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#re(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#re(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#v(e);if(o.fallback.kind==="eager")return R(o.fallback.value);let r=o.fallback.initialize,i=it(M(this.#e,t,()=>Ce(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#v(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#ie(e,t){if(e===void 0){this.#g();return}this.recordCounter("propagationSettlements"),this.#r=[],this.#s=void 0,this.#d=void 0,this.#c=0,this.#l=void 0,this.#h=void 0,this.#a=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#r.length){let r=this.#r[o++],i=this.#r[o++];this.#D(r,i)}}finally{n=this.#h,this.#h=void 0,this.#a=!1,this.#r=void 0,this.#s=void 0,this.#d=void 0,this.#c=0,this.#l=void 0}this.#ae(n)}#se(){this.#S=void 0,this.#p=void 0,this.#y=this.#u===void 0?0:this.#A++}#g(){this.#y=0,this.#S=void 0,this.#p=void 0}reachSubscriptionTarget(e,t){let n=this.#y,o=this.#u?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#p===void 0)this.#p=[o];else this.#p.push(o)}#ae(e){let t=this.#S;if(t===void 0){if(this.#g(),e!==void 0)throw e;return}let n,o,r=(d)=>{let l=d.head;while(l!==void 0){let u=l.callback;if(u!==void 0)if(n===void 0)n=u;else if(o===void 0)o=[n,u];else o.push(u);l=l.next}};r(t);let i=this.#p;if(i!==void 0)for(let d of i)r(d);if(this.#g(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let c;for(let d of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new m,u=!1,S;try{Le(this.#e,l,()=>{try{let y=d(),A=E(y);if(A.kind==="thenable")N(A);else if(A.kind==="inspection-error")u=!0,S=A.error}catch(y){u=!0,S=y;let A=E(y);if(A.kind==="thenable")N(A)}})}catch(y){u=!0,S=y}if(u){if(c===void 0)c=[];if(c.push(S),a)this.recordCounter("subscriberErrors")}}if(c===void 0){if(e!==void 0)throw e;return}throw new we(e===void 0?c:[e,...c])}enqueueSelector(e,t){let n=this.#r;if(n===void 0)return!1;if((this.#W(e,t)&at)!==0)return!0;return this.#w(e,t,at),n.push(e,t),!0}prepareSelectorRead(e,t,n){if(this.#r===void 0)return;this.#D(e,t,n)}#D(e,t,n){if((this.#W(e,t)&(ct|je))!==0)return;this.#w(e,t,je);try{let r=e.getSelectorGraphVersion(),i=e.getCommittedSelectorDependencies(t);if(i!==void 0){for(let s of i)if(this.#e.selectors.has(s.node))this.#D(e,s.node)}if(e.isSelectorDirty(t)){let s=r===e.getSelectorGraphVersion();if(n!==void 0&&s)e.serve(t,n);else e.serve(t,new m)}this.#w(e,t,ct)}finally{this.#w(e,t,0,je)}}#W(e,t){if(Object.is(this.#s,e)&&Object.is(this.#d,t))return this.#c;return this.#l?.get(e)?.get(t)??0}#w(e,t,n,o=0){if(this.#s===void 0){this.#s=e,this.#d=t,this.#c=n&~o;return}if(Object.is(this.#s,e)&&Object.is(this.#d,t)){this.#c=(this.#c|n)&~o;return}let r=this.#l;if(r===void 0)r=new Map,this.#l=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#h??=e}#U(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class Ie{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t,n){this.get=(o)=>e.get(t,o),this.sub=(o,r)=>e.sub(t,o,r),this.set=(o,r)=>e.set(t,o,r),this.update=(o,r)=>e.update(t,o,r),this.reset=(o)=>e.reset(t,o),this.txn=(o,r)=>e.txn(t,o,r),this.scope=function(o){return e.scope(t,arguments.length,o)},this.dispose=()=>e.dispose(t),t.installFacade(this),re(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),n?.(0,this,t),Object.freeze(this)}}var lt=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return{...e.name===void 0?{}:{name:e.name},...e.equal===void 0?{}:{equal:e.equal}}},St=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(c,d={})=>{let l=new m,u=M(t,l,()=>te(c));if(u.kind==="error")throw u.error;let S=fe("atom",t.ownerToken);return t.states.add(S),t.atoms.set(S,Object.freeze({fallback:Object.freeze({kind:"eager",value:u.value}),...lt(d)})),S},o=(c,d={})=>{if(typeof c!=="function")throw TypeError("atomLazy requires an initializer function");let l=fe("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:c}),...lt(d)})),l},r=(c,d={})=>{if(typeof c!=="function")throw TypeError("selector requires a getter function");if(d.equal!==void 0&&typeof d.equal!=="function")throw TypeError("selector equal must be a function");let l=fe("selector",t.ownerToken),u=Object.freeze({node:l,get:c,...d.name===void 0?{}:{name:d.name},...d.equal===void 0?{}:{equal:d.equal}});return t.states.add(l),t.selectors.set(l,u),l},i=(c)=>{let d=new m;if(x(t,c,d)==="invalid")return;return t.stores.get(c)},a=Object.freeze({assertStore:(c)=>{let d=i(c);if(D(t,"adapter assertStore"),d===void 0)throw TypeError("assertStore requires a valid Store")},read:(c,d)=>{if(i(c)===void 0)throw Ee(t,"adapter read"),TypeError("read requires a valid Store");return c.get(d)},subscribe:(c,d,l)=>{if(i(c)===void 0)throw D(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return c.sub(d,l)},readHydrationSnapshot:(c,d)=>{let l=i(c);if(l===void 0)throw D(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,d)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:(c=e,d)=>{D(t,"createStoreTree");let l=new ht(t,c,d);return new Ie(l,l.rootScope,d)}})};var Pt=St(),tn=(e,t)=>Pt.createStoreTree(e,t);
2
+ export{Q as a,Je as b,ge as c,we as d,U as e,q as f,K as g,ce as h,J as i,Z as j,ee as k,Te as l,Oe as m,Re as n,de as o,Jt as p,Pt as q,tn as r};
@@ -0,0 +1 @@
1
+ import{q as e}from"../chunk-t48n3zg9.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
@@ -0,0 +1,2 @@
1
+ class z extends Error{seal(){Object.freeze(this)}}class se extends z{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class be extends z{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class Q extends z{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class F extends z{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class ke extends z{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class ae extends z{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class ve extends z{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}var He=Object.freeze({kind:"not-thenable"}),yt=()=>{},At=Reflect.apply,Be=Symbol.for("valdres.runtime-owner/v1");class g extends Error{seal(){Object.freeze(this)}}class ge extends g{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class we extends g{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class U extends g{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class q extends g{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class K extends g{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class ce extends g{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class J extends g{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class Z extends g{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class ee extends g{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class Te extends g{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class Oe extends g{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class Re extends g{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class de extends g{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var E=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return He;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):He}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},N=(e)=>{try{At(e.then,e.target,[void 0,yt])}catch{}},te=(e)=>{let t=E(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return N(t),Object.freeze({kind:"error",error:new Z})},Ce=(e)=>{try{return te(e())}catch(t){let n=E(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return N(n),Object.freeze({kind:"error",error:new Z})}},ne=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},M=(e,t,n)=>{try{let o=ne(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},Le=(e,t,n)=>{try{let o=ne(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},oe=(e,t,n)=>ne(e,Object.freeze({kind:"selector",session:t}),n),Ge=(e,t,n)=>ne(e,Object.freeze({kind:"transaction",transaction:t}),n),le=(e,t,n)=>{try{let o=ne(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},D=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new q(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new K;throw new U},Ee=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new q(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new K;throw new U},We=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new q("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new K;throw new U},ue=(e,t,n)=>{if(!n)throw new ce;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new q("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new U;throw new K},Ue=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},W=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,Be);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new ge;throw Ue(e,n).latchControlFault(r),r}}return"invalid"},x=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=Ue(e,n);if(o!==void 0&&"session"in o)try{let i=W(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return M(e,r,()=>W(e,t,r))},re=(e,t)=>(Object.defineProperty(e,Be,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),fe=(e,t)=>Object.freeze(re({kind:e},t));var qe=Object.freeze({kind:"not-thenable"}),bt=()=>{},kt=Reflect.apply,Ke=Symbol("selector dependency path root"),Xe=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return qe;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):qe}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},Qe=(e)=>{try{kt(e.then,e.target,[void 0,bt])}catch{}},vt=(e)=>Object.freeze(e),gt=(e)=>Object.freeze(e),O=(e,t,n,o)=>{let r=gt(o);return Object.freeze({selector:e,token:t,outcome:vt(n),dependencies:r,attemptedPrefix:n.kind==="value"?wt:Object.freeze(r.map((i)=>i.node))})},wt=Object.freeze([]),Tt=(e,t,n,o,r,i)=>{let s=[e],a=new Map([[e,Ke]]);while(s.length>0){let c=s.pop();if(Object.is(c,t)){let u=[],S=c;while(S!==Ke)u.push(S),S=a.get(S);return u.reverse(),Object.freeze(u)}let d=o.getTransientDependencies(n,c);if(d){for(let u of d){if(a.has(u.node))continue;a.set(u.node,c),s.push(u.node)}continue}if(n.getSelectorDependencyNodes!==void 0){let u=n.getSelectorDependencyNodes(c);if(u===void 0)continue;for(let S of u){if(a.has(S))continue;a.set(S,c),s.push(S)}continue}let l=n.getSelectorRecord(c);if(!l)continue;for(let u of l.dependencies){if(a.has(u.node))continue;a.set(u.node,c),s.push(u.node)}}return},Ye=(e,t)=>{let n=Xe(e);if(n.kind==="thenable")return Qe(n),new F(t);if(n.kind==="inspection-error")return n.error;return e},$e=(e,t)=>{let n=Xe(e);if(n.kind==="thenable")return Qe(n),Object.freeze({kind:"error",error:new F(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},Je=(e,t,n,o=Tt)=>{let{node:r}=e,i=[],s=t.getSelectorRecord(r),a=s?.dependencies,c=a===void 0?new Set:void 0,d,l=0,u=t.getComparisonBaseline(r),S=!0,y=()=>{let f=c;if(f!==void 0)return f;f=new Set;for(let h of i)f.add(h.node);return c=f,f};n.enter(t,r,i);let A=t.getSelectorGraphVersion(),_=n.getSelectorGraphPublicationCount(t),P=A,H=_,ze=A,Fe=_,pe,me=!1,pt=(f)=>{if(me)return;let h=t.beginSelectorGraphObservation?.(f);if(h===void 0)return;me=!0,pe=h},ye=(f,h,b,k)=>b-f===k-h,Me=(f=t.getSelectorGraphVersion(),h=n.getSelectorGraphPublicationCount(t),b=ye(P,H,f,h))=>{if(f===P)return;if(!me&&t.beginSelectorGraphObservation!==void 0){P=f,H=h;return}let k=pe?.takeAddedEdges();if(b){P=f,H=h;return}if(k!==void 0){let v=!1;for(let T of k)if(o(T.head,T.tail,t,n,2,i.length)!==void 0){v=!0;break}if(!v){P=f,H=h;return}}for(let v=0;v<i.length;v++){let T=i[v],C=o(T.node,r,t,n,0,i.length);if(!C)continue;if(c!==void 0)for(let V=i.length-1;V>=v;V--)c.delete(i[V].node);if(i.length=v,l++,n.getControlFault().kind==="fault")return;let w=new Q(r,[r,...C]);n.latchCycle(t,r,w);return}P=f,H=h},Ae=()=>{let f=t.getSelectorGraphVersion(),h=n.getSelectorGraphPublicationCount(t);ze=f,Fe=h;let b=ye(P,H,f,h);if(!b)n.revalidateAncestorPrefixes(t,r);Me(f,h,b)};n.setPrefixRevalidator(t,r,Me);let mt=(f)=>{if(!S)throw new ve;let h=n.getControlFault();if(h.kind==="fault")throw h.error;let b=n.getCycle(t,r);if(b!==void 0)throw b;let k=n.activeCyclePath(t,f);if(k){let p=new Q(r,k);throw n.latchCycle(t,r,p),p}let v=i.length,T,C=!1;if(c===void 0){let p=a?.[v];if(p!==void 0&&Object.is(p.node,f))T=!1,C=!0;else T=y().has(f)}else T=c.has(f);if(!T&&!C&&a!==void 0&&a.length>0){let p=a[i.length];if(p!==void 0&&Object.is(p.node,f))C=!0;else{if(d===void 0){d=new Set;for(let G of a)d.add(G.node)}C=d.has(f)}}let B=l,w=t.serve(f,n);Ae();let V=n.getCycle(t,r);if(V!==void 0)throw V;let Y=c!==void 0?c.has(f):l===B&&i.length===v?!1:y().has(f),I=ze,L=Fe,j=Y||C&&I===A,ie=a===void 0&&ye(A,_,I,L);if(!j&&!ie){let p=o(f,r,t,n,1,i.length);if(p){let G=n.getControlFault();if(G.kind==="fault")throw G.error;let _e=new Q(r,[r,...p]);throw n.latchCycle(t,r,_e),_e}}if(!Y){let p=s?.dependencies[i.length];c?.add(f),i.push(p!==void 0&&Object.is(p.node,f)&&Object.is(p.token,w.token)?p:Object.freeze({node:f,token:w.token})),pt(f)}if(P=I,H=L,w.outcome.kind==="control-error"){n.latchControlFault(w.outcome.error);let p=n.getControlFault();if(p.kind==="fault")throw p.error;throw w.outcome.error}let X=n.getControlFault();if(X.kind==="fault")throw X.error;if(w.outcome.kind==="error")throw new be(f,w.outcome.error);return w.outcome.value};try{let f,h,b=!1;try{f=e.get(mt)}catch(V){b=!0,h=V}finally{S=!1}if(b)h=Ye(h,"getter");let k=b?void 0:$e(f,"getter");Ae();let v=n.getControlFault();if(v.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:v.error},i);let T=n.getCycle(t,r);if(T!==void 0)return O(r,t.createOutcomeToken(),{kind:"error",error:T},i);if(b)return O(r,t.createOutcomeToken(),{kind:"error",error:h instanceof F?h:new se(r,h)},i);if(k===void 0)throw Error("Selector result classification was not completed");let C=n.getControlFault();if(C.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:C.error},i);if(k.kind==="error")return O(r,t.createOutcomeToken(),{kind:"error",error:k.error instanceof F?k.error:new se(r,k.error)},i);let B=k.value,w;if(u){let V=e.equal??Object.is,Y,I,L=!1;try{Y=V(u.value,B)}catch(G){L=!0,I=Ye(G,"comparator")}let j=L?void 0:$e(Y,"comparator");Ae();let ie=n.getControlFault();if(ie.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:ie.error},i);let X=n.getCycle(t,r);if(X!==void 0)return O(r,t.createOutcomeToken(),{kind:"error",error:X},i);if(L)return O(r,t.createOutcomeToken(),{kind:"error",error:I instanceof F?I:new ae(r,I)},i);if(j===void 0)throw Error("Selector comparator classification was not completed");let p=n.getControlFault();if(p.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:p.error},i);if(j.kind==="error")return O(r,t.createOutcomeToken(),{kind:"error",error:j.error instanceof F?j.error:new ae(r,j.error)},i);if(j.value!==!0&&j.value!==!1)return O(r,t.createOutcomeToken(),{kind:"error",error:new ke},i);if(j.value===!0)B=u.value,w=u.current?u.token:void 0}return O(r,w??t.createOutcomeToken(),{kind:"value",value:B},i)}finally{try{pe?.close()}finally{n.leave(t,r)}}};class m{#t=[];#n;#o=0;#i;#a=Ot;latchControlFault(e){if(this.#a.kind==="fault")return;this.#a=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#a}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#i??(this.#i=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#i?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#r(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#r(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#s(e,t);o.cycleError??=n}getCycle(e,t){return this.#r(e,t).cycleError}#r(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#s(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var Ot=Object.freeze({kind:"none"});var Ze=Symbol("no-committed-selector-baseline");class he{#t;#n=new Map;#o=new Map;#i=new Map;#a;#r=1;#s=0;#d;constructor(e,t,n){this.#t=e,this.#a=t,this.#d=n}readSelector(e){let t=new m,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#a+1)throw Error("Scratch selector generation is not contiguous");this.#a=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#i.clear(),this.#t=void 0}serve(e,t){let n=this.#c(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let c=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,c),c}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>this.#d(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#s++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#s}getComparisonBaseline(e){let t=this.#i.get(e);if(t===void 0)t=this.#c().captureCommittedSelectorSuccess(e)??Ze,this.#i.set(e,t);return t===Ze?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#r++})}#c(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}var et=4096,Rt=Object.freeze([]);class nt{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class Se{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#i;#a=new WeakMap;#r=new WeakSet;#s=0;#d=0;#c;#l=!1;#h;#u="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#m(),this.#n=this.#m()}get status(){return this.#u}get facade(){if(this.#h===void 0)throw Error("Store scope facade is not installed");return this.#h}installFacade(e){if(this.#h!==void 0)throw Error("Store scope facade is already installed");this.#h=e}markDisposing(){if(this.#u==="live")this.#u="disposing"}markDisposed(){this.#u="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#r.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#m()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#r.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#a.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#r.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#i=void 0,this.#a=new WeakMap,this.#r=new WeakSet,this.#s++,this.#e()}serve(e,t){let n=this.coordinator.runtimeDomain;if(W(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r,t),i=this.#o.get(r);if(i!==void 0&&!this.#r.has(r))return i.served;let s=oe(n,t,()=>this.coordinator.evaluate(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#A(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorDependencyNodes(e){let t=this.#o.get(e);if(t===void 0)return;let n=e,o=this.#i?.get(n);if(o===void 0){let r=[];for(let s of t.dependencies)if(this.coordinator.runtimeDomain.selectors.has(s.node))r.push(s.node);o=Object.freeze(r);let i=this.#i;if(i===void 0)i=new WeakMap,this.#i=i;i.set(n,o)}return o}getSelectorGraphVersion(){return this.#s}beginSelectorGraphObservation(e){if(!this.coordinator.runtimeDomain.selectors.has(e))return;if(this.#d===0)this.#c=[],this.#l=!1;this.#d++;let t=this.#c?.length??0,n=!1;return Object.freeze({takeAddedEdges:()=>{if(n||this.#l)return;let o=this.#c;if(o===void 0)return;if(t===o.length)return Rt;let r=Object.freeze(o.slice(t));return t=o.length,r},close:()=>{if(n)return;if(n=!0,this.#d--,this.#d!==0)return;this.#c=void 0,this.#l=!1}})}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#A(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess}),s=this.#y(e,o?.dependencies??tt,t.dependencies),a=s?this.#S(e,o?.dependencies??tt,t.dependencies):void 0;if(s)this.#i?.delete(e);if(this.#s++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#r.delete(e),a!==void 0)this.#p(a);if(o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#y(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return!1}for(let o of t){let r=this.#a.get(o.node);if(r?.delete(e),r?.isEmpty())this.#a.delete(o.node)}for(let o of n){let r=this.#a.get(o.node);if(r===void 0)r=this.#m(),this.#a.set(o.node,r);r.add(e)}return!0}#S(e,t,n){if(this.#d===0||this.#l)return;let o=this.#c;if(o===void 0){this.#e();return}let r=et-o.length,i=this.coordinator.runtimeDomain.selectors,s=new Set;for(let c of t)if(i.has(c.node))s.add(c.node);let a=[];for(let c of n)if(i.has(c.node)&&!s.has(c.node)){if(a.push(Object.freeze({tail:e,head:c.node})),a.length>r){this.#e();return}}return a}#p(e){if(e.length===0)return;let t=this.#c;if(t===void 0||t.length+e.length>et){this.#e();return}t.push(...e)}#e(){if(this.#d===0)return;this.#c=[],this.#l=!0}#m(){return new nt(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var tt=Object.freeze([]);class Ne{transaction=Object.freeze({});#t;#n;#o;#i;#a;#r;#s;#d;#c;#l;#h;#u;#A;#y;#S;#p;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#i!==void 0||this.#a!==void 0||this.#r!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#i===void 0?this.#o:void 0}stage(e,t){let n=this.#r;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#f(),n.set(e,i);i.set(t.atom,t),this.#m();return}let o=this.#a;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#f();i.set(this.#n,o);let s=this.#f();s.set(t.atom,t),i.set(e,s),this.#r=i,this.#a=void 0,this.#n=void 0}this.#m();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#m();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#m();return}if(Object.is(this.#n,e)){let i=this.#i;if(i===void 0){this.#i=t,this.#m();return}if(Object.is(i.atom,t.atom)){this.#i=t,this.#m();return}let s=this.#f();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#a=s}else{let i=this.#f(),s=this.#f();if(s.set(r.atom,r),this.#i!==void 0)s.set(this.#i.atom,this.#i);i.set(this.#n,s);let a=this.#f();a.set(t.atom,t),i.set(e,a),this.#r=i,this.#n=void 0}this.#o=void 0,this.#i=void 0,this.#m()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#i!==void 0)e(this.#n,this.#i);return}let n=this.#a;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#r;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#i;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#a?.get(t);return this.#r?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#c!==void 0&&Object.is(this.#s,e)&&Object.is(this.#d,t))return this.#c;if(this.#h!==void 0&&Object.is(this.#s,e)&&Object.is(this.#l,t))return this.#h;if(Object.is(this.#s,e))return this.#u?.get(t);return this.#A?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#A;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#f(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#u;if(r!==void 0){if(Object.is(this.#s,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#f();s.set(this.#s,r);let a=this.#f();a.set(t,n),s.set(e,a),this.#A=s,this.#u=void 0,this.#s=void 0}return}let i=this.#c;if(i===void 0){this.#s=e,this.#d=t,this.#c=n;return}if(Object.is(this.#s,e)&&Object.is(this.#d,t))return;if(Object.is(this.#s,e)){let s=this.#h;if(s===void 0){this.#l=t,this.#h=n;return}if(Object.is(this.#l,t))return;let a=this.#f();a.set(this.#d,i),a.set(this.#l,s),a.set(t,n),this.#u=a}else{let s=this.#f(),a=this.#f();if(a.set(this.#d,i),this.#l!==void 0&&this.#h!==void 0)a.set(this.#l,this.#h);s.set(this.#s,a);let c=this.#f();c.set(t,n),s.set(e,c),this.#A=s,this.#s=void 0}this.#d=void 0,this.#c=void 0,this.#l=void 0,this.#h=void 0}getFallback(e){if(Object.is(this.#y,e))return this.#S;return this.#p?.get(e)}hasFallback(e){return Object.is(this.#y,e)||(this.#p?.has(e)??!1)}setFallback(e,t){let n=this.#p;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#y=e,this.#S=t;return}if(Object.is(this.#y,e)){this.#S=t;return}let o=this.#f();o.set(this.#y,this.#S),o.set(e,t),this.#p=o,this.#y=void 0,this.#S=void 0}forEachFallback(e){if(this.#y!==void 0&&this.#S!==void 0)e(this.#y,this.#S);if(this.#p!==void 0)for(let[t,n]of this.#p)e(t,n)}#m(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#a?.clear(),this.#r!==void 0){for(let e of this.#r.values())e.clear();this.#r.clear()}if(this.#u?.clear(),this.#A!==void 0){for(let e of this.#A.values())e.clear();this.#A.clear()}this.#p?.clear(),this.#n=void 0,this.#o=void 0,this.#i=void 0,this.#a=void 0,this.#r=void 0,this.#s=void 0,this.#d=void 0,this.#c=void 0,this.#l=void 0,this.#h=void 0,this.#u=void 0,this.#A=void 0,this.#y=void 0,this.#S=void 0,this.#p=void 0,this.#e?.clear(),this.#e=void 0}#f(){return this.#t?.(),new Map}}class ot{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),re(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var De=(e,t,n)=>new ot(e,t,n),Ve=(e)=>{let t=E(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw N(t),new J},rt=(e)=>{let t=E(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw N(t),new J};var Ct=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},ut=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31}),Et=32,ft=new WeakMap,Jt=()=>{let e=new Uint32Array(Et),t=Object.freeze({read(n){return e[ut[n]]??0}});return ft.set(t,e),t},R=(e)=>Object.freeze({kind:"value",value:e}),Nt=(e)=>Object.freeze({kind:"error",error:e}),it=(e)=>e.kind==="value"?R(e.value):Nt(e.error),st=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},at=1,je=2,ct=4,Dt=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),Pe=(e)=>(e.onAllocation?.(),new Map),Vt=(e)=>(e.onAllocation?.(),new Set),xe=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},dt=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=Pe(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=Pe(e),r.set(t,i);i.set(n,o)},jt=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=Vt(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},xt=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=Pe(e),e.affected=o;o.set(t,n)};class ht{#t=new WeakMap;#n;#o=1;#i=0;#a=!1;#r;#s;#d;#c=0;#l;#h;#u;#A=1;#y=0;#S;#p;#e;#m;#f;evaluate;constructor(e,t,n){this.#e=e,this.#m=t===void 0?void 0:ft.get(t),this.#f=n,this.evaluate=n?.evaluate??Je,this.#n=new Se(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#a}get instrumented(){return this.#m!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#m;if(n===void 0)return;n[ut[e]]+=t}#T(){return this.recordCounter("draftCreations"),new Ne(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new m,o=t,r=x(this.#e,o,n),i=Ee(this.#e,"StoreTree.get");if(this.#b(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":x(this.#e,o,r=new m);if(D(this.#e,"StoreTree.sub"),this.#b(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new m);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#u;if(a===void 0){if(a=new Map,this.#u=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let c=a.get(e);if(c===void 0){if(c=new Map,a.set(e,c),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let d=c.get(o);if(d===void 0){if(d={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},c.set(o,d),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:d,previous:d.tail,next:void 0};if(d.tail===void 0)d.head=l;else d.tail.next=l;if(d.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return Ct(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;We(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#u,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#u=void 0}set(e,t,n){this.#O(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#O(e,t,"StoreTree.update","update",n)}reset(e,t){this.#O(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)x(this.#e,n,new m);if(D(this.#e,"StoreTree.scope"),this.#b(e),t===0)return this.#j(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#j(e,n)}dispose(e){if(D(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#X(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t,n){if(D(this.#e,"StoreTree.txn"),this.#b(e),typeof t!=="function"||n!==void 0&&typeof n!=="string")throw TypeError("StoreTree.txn requires a callback");let o=this.#T(),r=De(this,o,e),i;try{i=Ge(this.#e,o.transaction,()=>t(r))}catch(s){throw o.close(),o.release(),s}o.close();try{let s=new m;le(this.#e,s,()=>Ve(i)),this.#M(o)}finally{o.release()}return i}readHydrationSnapshot(e,t){let n=new m,o=t,r=x(this.#e,o,n);if(D(this.#e,"adapter readHydrationSnapshot"),this.#b(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#T(),s;try{if(this.#e.atoms.has(o)){let a=this.#k(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#K(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,c)=>{if(this.#t.has(a))return;this.#t.set(a,c),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new m,i=x(this.#e,o,r);if(ue(this.#e,e.transaction,e.active),this.#b(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#k(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#q(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new m;this.#R(e,t,r,i,"Transaction.set"),this.#P(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new m;this.#R(e,t,r,i,"Transaction.update"),this.#I(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new m;this.#R(e,t,o,r,"Transaction.reset"),this.#z(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new m;if(typeof n!=="string")x(this.#e,n,i);ue(this.#e,e.transaction,e.active),this.#b(t);let s=this.#Y(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=De(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let c;try{c=r(a)}catch(l){let u=new m;return le(this.#e,u,()=>rt(l))}let d=new m;return le(this.#e,d,()=>Ve(c)),c}createOutcomeToken(){return Object.freeze({id:this.#o++})}#q(e,t){return this.recordCounter("scratchHostAllocations"),new he(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>oe(this.#e,n,o)}),e.generation,this.evaluate)}#K(e,t){return this.recordCounter("scratchHostAllocations"),new he(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>oe(this.#e,n,o)}),e.generation,this.evaluate)}#V(e,t){if(W(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#j(e,t){let n=new Se(this,e,t);this.recordCounter("scopeNodesCreated");let o=new Ie(this,n,this.#f);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#Y(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new Oe;return this.#b(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#b(i),!Object.is(i.coordinator,this))throw new Re;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new ce;throw new de}throw new de}#b(e){if(e.status!=="live")throw new Te}#$(e,t,n,o){let r=x(this.#e,t,n);D(this.#e,o),this.#b(e),this.#x(t,r,o)}#O(e,t,n,o,r){let i=t,s=new m;this.#$(e,i,s,n);let a=this.#T();try{if(o==="set")this.#P(a,e,i,r,s);else if(o==="update")this.#I(a,e,i,r,s,n);else this.#z(a,e,i,s)}catch(c){throw a.close(),a.release(),c}a.close();try{this.#M(a)}finally{a.release()}}#X(e){let t=this.#u,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#u=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=x(this.#e,n,o);ue(this.#e,e.transaction,e.active),this.#b(t),this.#x(n,i,r)}#x(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#P(e,t,n,o,r){let i=M(this.#e,r,()=>te(o));if(i.kind==="error")throw i.error;let s=this.#C(e,t,n,r);this.#U(e,t,n,i.value,s,r)}#I(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#C(e,t,n,r),a=e.hasIntents?this.#k(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let c=this.#Z(o,a.value,r);this.#U(e,t,n,c,s,r)}#z(e,t,n,o){this.#C(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#E(e,n,o),reachesFallback:!0}):this.#F(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#C(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=R(s.atomOverrides.get(n));break}s=s.parent}let c=a===void 0,d=Object.freeze({owned:i,outcome:a??this.#E(e,n,o),reachesFallback:c});return e.setAtomBaseline(t,n,d),d}#k(e,t,n,o){return this.#F(e,t,n,o).outcome}#F(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:R(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:R(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#E(e,n,o),reachesFallback:!0})}#E(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#v(t);if(r.fallback.kind==="eager")return R(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=it(M(this.#e,n,()=>Ce(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#v(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#J(r,t,n,o)?t:n}#J(e,t,n,o){return M(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=E(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw N(a),new ee}let i=E(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw N(i),new ee;if(r!==!0&&r!==!1)throw new ee;return r})}#Z(e,t,n){return M(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=E(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw N(s),new Z}let r=te(o);if(r.kind==="error")throw r.error;return r.value})}#M(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=Dt(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#_(e,n,t,o);else e.forEachIntent((a,c)=>{let d=this.#_(e,a,c,o);if(r===void 0){r=d;return}if(i===void 0)i=[];i.push(d)});if(r===void 0)return;if(this.#f?.(1,e,this.#e.atoms),this.#H(e,r),i!==void 0)for(let a of i)this.#H(e,a);let s=this.#B(r);if(i!==void 0)for(let a of i){let c=this.#B(a);s||=c}if(this.#L(r),i!==void 0)for(let a of i)this.#L(a);this.#se();try{let a,c,d=o.affectedRecord,l=o.affectedBefore;if(d!==void 0&&l!==void 0)a=this.#N(o,d,l);let{secondAffectedRecord:u,secondAffectedBefore:S}=o;if(u!==void 0&&S!==void 0){let y=this.#N(o,u,S);if(y!==void 0)if(a===void 0)a=y;else c=[y]}if(o.affected!==void 0)for(let[y,A]of o.affected){let _=this.#N(o,y,A);if(_===void 0)continue;if(a===void 0)a=_;else{if(c===void 0)c=[];c.push(_)}}if(s)this.#i+=1,this.recordCounter("sourceEpoch");this.#f?.(2,a===void 0?0:1+(c?.length??0)),this.#ie(a,c)}catch(a){throw this.#g(),a}}#_(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#G(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#ee(e,s,o);return i}#H(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#B(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#L({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#oe(e.parent,t.atom))}#N(e,t,n){let o=xe(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),st(n,o))return;return t.scope.updateAtomView(t,o),t}#ee(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!jt(n,r))continue;let i=r.served.outcome,s=this.#G(e,r.scope,r.atom,n);if(st(i,s))continue;xt(n,r,i);let a=o.length;r.inheritingChildren.forEach((c)=>{this.recordCounter("routeVisits"),o.push(c)});for(let c=a,d=o.length-1;c<d;c++,d--){let l=o[c];o[c]=o[d],o[d]=l}}}#G(e,t,n,o){let r=xe(o,n,t);if(r!==void 0)return r;let i=t,s,a,c;while(i!==void 0){let d=xe(o,n,i);if(d!==void 0){c=d;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){c=R(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){c=R(i.atomOverrides.get(n));break}i=i.parent}if(c??=this.#te(e,n),s!==void 0)dt(o,n,s,c),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let d of a)dt(o,n,d,c),this.recordCounter("finalPreflightVisits");return c}#te(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#v(t);if(r.fallback.kind==="eager")return R(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#ne(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#v(e);if(n.fallback.kind==="eager")return R(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#oe(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,R(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#ne(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,R(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#re(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#re(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#v(e);if(o.fallback.kind==="eager")return R(o.fallback.value);let r=o.fallback.initialize,i=it(M(this.#e,t,()=>Ce(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#v(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#ie(e,t){if(e===void 0){this.#g();return}this.recordCounter("propagationSettlements"),this.#r=[],this.#s=void 0,this.#d=void 0,this.#c=0,this.#l=void 0,this.#h=void 0,this.#a=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#r.length){let r=this.#r[o++],i=this.#r[o++];this.#D(r,i)}}finally{n=this.#h,this.#h=void 0,this.#a=!1,this.#r=void 0,this.#s=void 0,this.#d=void 0,this.#c=0,this.#l=void 0}this.#ae(n)}#se(){this.#S=void 0,this.#p=void 0,this.#y=this.#u===void 0?0:this.#A++}#g(){this.#y=0,this.#S=void 0,this.#p=void 0}reachSubscriptionTarget(e,t){let n=this.#y,o=this.#u?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#p===void 0)this.#p=[o];else this.#p.push(o)}#ae(e){let t=this.#S;if(t===void 0){if(this.#g(),e!==void 0)throw e;return}let n,o,r=(d)=>{let l=d.head;while(l!==void 0){let u=l.callback;if(u!==void 0)if(n===void 0)n=u;else if(o===void 0)o=[n,u];else o.push(u);l=l.next}};r(t);let i=this.#p;if(i!==void 0)for(let d of i)r(d);if(this.#g(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let c;for(let d of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new m,u=!1,S;try{Le(this.#e,l,()=>{try{let y=d(),A=E(y);if(A.kind==="thenable")N(A);else if(A.kind==="inspection-error")u=!0,S=A.error}catch(y){u=!0,S=y;let A=E(y);if(A.kind==="thenable")N(A)}})}catch(y){u=!0,S=y}if(u){if(c===void 0)c=[];if(c.push(S),a)this.recordCounter("subscriberErrors")}}if(c===void 0){if(e!==void 0)throw e;return}throw new we(e===void 0?c:[e,...c])}enqueueSelector(e,t){let n=this.#r;if(n===void 0)return!1;if((this.#W(e,t)&at)!==0)return!0;return this.#w(e,t,at),n.push(e,t),!0}prepareSelectorRead(e,t,n){if(this.#r===void 0)return;this.#D(e,t,n)}#D(e,t,n){if((this.#W(e,t)&(ct|je))!==0)return;this.#w(e,t,je);try{let r=e.getSelectorGraphVersion(),i=e.getCommittedSelectorDependencies(t);if(i!==void 0){for(let s of i)if(this.#e.selectors.has(s.node))this.#D(e,s.node)}if(e.isSelectorDirty(t)){let s=r===e.getSelectorGraphVersion();if(n!==void 0&&s)e.serve(t,n);else e.serve(t,new m)}this.#w(e,t,ct)}finally{this.#w(e,t,0,je)}}#W(e,t){if(Object.is(this.#s,e)&&Object.is(this.#d,t))return this.#c;return this.#l?.get(e)?.get(t)??0}#w(e,t,n,o=0){if(this.#s===void 0){this.#s=e,this.#d=t,this.#c=n&~o;return}if(Object.is(this.#s,e)&&Object.is(this.#d,t)){this.#c=(this.#c|n)&~o;return}let r=this.#l;if(r===void 0)r=new Map,this.#l=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#h??=e}#U(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class Ie{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t,n){this.get=(o)=>e.get(t,o),this.sub=(o,r)=>e.sub(t,o,r),this.set=(o,r)=>e.set(t,o,r),this.update=(o,r)=>e.update(t,o,r),this.reset=(o)=>e.reset(t,o),this.txn=(o,r)=>e.txn(t,o,r),this.scope=function(o){return e.scope(t,arguments.length,o)},this.dispose=()=>e.dispose(t),t.installFacade(this),re(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),n?.(0,this,t),Object.freeze(this)}}var lt=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return{...e.name===void 0?{}:{name:e.name},...e.equal===void 0?{}:{equal:e.equal}}},St=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(c,d={})=>{let l=new m,u=M(t,l,()=>te(c));if(u.kind==="error")throw u.error;let S=fe("atom",t.ownerToken);return t.states.add(S),t.atoms.set(S,Object.freeze({fallback:Object.freeze({kind:"eager",value:u.value}),...lt(d)})),S},o=(c,d={})=>{if(typeof c!=="function")throw TypeError("atomLazy requires an initializer function");let l=fe("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:c}),...lt(d)})),l},r=(c,d={})=>{if(typeof c!=="function")throw TypeError("selector requires a getter function");if(d.equal!==void 0&&typeof d.equal!=="function")throw TypeError("selector equal must be a function");let l=fe("selector",t.ownerToken),u=Object.freeze({node:l,get:c,...d.name===void 0?{}:{name:d.name},...d.equal===void 0?{}:{equal:d.equal}});return t.states.add(l),t.selectors.set(l,u),l},i=(c)=>{let d=new m;if(x(t,c,d)==="invalid")return;return t.stores.get(c)},a=Object.freeze({assertStore:(c)=>{let d=i(c);if(D(t,"adapter assertStore"),d===void 0)throw TypeError("assertStore requires a valid Store")},read:(c,d)=>{if(i(c)===void 0)throw Ee(t,"adapter read"),TypeError("read requires a valid Store");return c.get(d)},subscribe:(c,d,l)=>{if(i(c)===void 0)throw D(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return c.sub(d,l)},readHydrationSnapshot:(c,d)=>{let l=i(c);if(l===void 0)throw D(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,d)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:(c=e,d)=>{D(t,"createStoreTree");let l=new ht(t,c,d);return new Ie(l,l.rootScope,d)}})};var Pt=St(),tn=(e,t)=>Pt.createStoreTree(e,t);
2
+ export{Q as a,Je as b,ge as c,we as d,U as e,q as f,K as g,ce as h,J as i,Z as j,ee as k,Te as l,Oe as m,Re as n,de as o,Jt as p,Pt as q,tn as r};
@@ -0,0 +1 @@
1
+ var P=typeof Map==="function",V=typeof Set==="function",W=typeof ArrayBuffer==="function"&&typeof ArrayBuffer.isView==="function",g=typeof SharedArrayBuffer==="function",D=typeof ArrayBuffer==="function"?ArrayBuffer.prototype:void 0,G=g?SharedArrayBuffer.prototype:void 0,c=(e,n)=>{if(e===void 0)return;return Object.getOwnPropertyDescriptor(e,n)?.get},R=c(D,"byteLength"),E=c(G,"byteLength"),Z=c(typeof DataView==="function"?DataView.prototype:void 0,"byteLength"),J=c(typeof Uint8Array==="function"?Object.getPrototypeOf(Uint8Array.prototype):void 0,Symbol.toStringTag),I=typeof Uint8Array==="function"?Object.getPrototypeOf(Uint8Array.prototype):void 0,Q=c(I,"buffer"),X=c(I,"byteOffset"),Y=c(I,"byteLength"),v=c(typeof DataView==="function"?DataView.prototype:void 0,"buffer"),j=c(typeof DataView==="function"?DataView.prototype:void 0,"byteOffset"),K=c(P?Map.prototype:void 0,"size"),ee=P?Map.prototype.keys:void 0,ne=P?Map.prototype.has:void 0,C=P?Map.prototype.get:void 0,M=c(V?Set.prototype:void 0,"size"),te=V?Set.prototype.values:void 0,re=V?Set.prototype.has:void 0,N=c(RegExp.prototype,"source"),oe=["hasIndices","global","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky"].map((e)=>c(RegExp.prototype,e)),T=Date.prototype.valueOf,fe=Number.prototype.valueOf,ae=String.prototype.valueOf,se=Boolean.prototype.valueOf,ue=typeof BigInt==="function"?BigInt.prototype.valueOf:void 0,ie=Symbol.prototype.valueOf,ye=Function.prototype.toString,F=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,B=(e,n)=>e===n||e!==e&&n!==n,ce=(e,n,t,f,o)=>{if(o===0)return!0;if(o>=64&&((n|f)&3)===0){let s=Math.floor(o/4),p=new Uint32Array(e,n,s),m=new Uint32Array(t,f,s);for(let k=s;k--!==0;)if(p[k]!==m[k])return!1;let i=s*4,b=o-i;if(b===0)return!0;n+=i,f+=i,o=b}let u=new Uint8Array(e,n,o),y=new Uint8Array(t,f,o);for(let s=o;s--!==0;)if(u[s]!==y[s])return!1;return!0},H=(e,n,t,f,o)=>{let u=0;for(let s=t.length;s--!==0;){let p=t[s];if(!h.call(e,p))continue;if(u++,!h.call(n,p))return!1;if(!w(e[p],n[p],o))return!1}let y=0;for(let s=f.length;s--!==0;)if(h.call(n,f[s]))y++;return u===y},S=(e,n,t)=>{let f=Object.keys(e);if(f.length!==Object.keys(n).length)return!1;for(let o=f.length;o--!==0;){let u=f[o];if(!F.call(n,u))return!1;if(!w(e[u],n[u],t))return!1}return H(e,n,Object.getOwnPropertySymbols(e),Object.getOwnPropertySymbols(n),t)},z=(e,n)=>{let t=Reflect.ownKeys(e);return t.length===n+1&&t[n]==="length"},d=(e,n)=>e.call(n),U=(e,n)=>e.call(n),pe=(e,n)=>{let t=Object.getPrototypeOf(e);while(t!==null){if(typeof Object.getOwnPropertyDescriptor(t,n)?.get==="function")return!0;t=Object.getPrototypeOf(t)}return!1},q=(e,n)=>{if(!W)return;if(ArrayBuffer.isView(e)){let t=J?.call(e);if(typeof t==="string")return{brand:t,buffer:U(Q,e),byteOffset:d(X,e),byteLength:d(Y,e)};return{brand:"DataView",buffer:U(v,e),byteOffset:d(j,e),byteLength:d(Z,e)}}if(e instanceof ArrayBuffer)return{brand:"ArrayBuffer",buffer:e,byteOffset:0,byteLength:d(R,e)};if(g&&e instanceof SharedArrayBuffer)return{brand:"SharedArrayBuffer",buffer:e,byteOffset:0,byteLength:d(E,e)};if(!n)return;if(!pe(e,"byteLength"))return;try{return{brand:"ArrayBuffer",buffer:e,byteOffset:0,byteLength:d(R,e)}}catch{}if(g)try{return{brand:"SharedArrayBuffer",buffer:e,byteOffset:0,byteLength:d(E,e)}}catch{return}return},_=(e)=>{if(typeof Node<"u"&&e instanceof Node)return!0;return typeof e.nodeType==="number"&&typeof e.nodeName==="string"&&typeof e.cloneNode==="function"&&"ownerDocument"in e},O=(e)=>{let n=Object.getPrototypeOf(e);if(n===null||n===Object.prototype)return!0;while(n!==null&&n!==Object.prototype){let t=Object.getOwnPropertyDescriptor(n,"constructor")?.value;if(typeof t==="function"&&/\{\s*\[native code\]\s*\}/.test(ye.call(t)))return!1;n=Object.getPrototypeOf(n)}return!0},w=(e,n,t)=>{if(B(e,n))return!0;if(e===null||n===null||typeof e!=="object"||typeof n!=="object")return!1;let f=e,o=n,u=Object.getPrototypeOf(f),y=Object.getPrototypeOf(o),s=u===y,p=q(f,!s||u!==null&&u!==Object.prototype&&u!==D&&(!g||u!==G)),m=q(o,!s||y!==null&&y!==Object.prototype&&y!==D&&(!g||y!==G));if(!s&&(p===void 0||m===void 0||p.brand!==m.brand))return!1;let i=t??{leftAncestors:[],rightAncestors:[]};if(i.leftAncestors.includes(f)||i.rightAncestors.includes(o))return!1;i.leftAncestors.push(f),i.rightAncestors.push(o);try{return le(f,o,i,p,m)}finally{i.leftAncestors.pop(),i.rightAncestors.pop()}},le=(e,n,t,f,o)=>{if(Array.isArray(e)){if(!Array.isArray(n))return!1;let r=e.length;if(r!==n.length)return!1;for(let a=r;a--!==0;)if(!w(e[a],n[a],t))return!1;if(!z(e,r)||!z(n,r))return S(e,n,t);return!0}if(P&&(e instanceof Map||n instanceof Map)){if(!(e instanceof Map)||!(n instanceof Map))return!1;let r,a;try{r=K.call(e),a=K.call(n)}catch{return!1}if(r!==a)return!1;for(let l of ee.call(e)){if(!ne.call(n,l))return!1;if(!w(C.call(e,l),C.call(n,l),t))return!1}return S(e,n,t)}if(V&&(e instanceof Set||n instanceof Set)){if(!(e instanceof Set)||!(n instanceof Set))return!1;let r,a;try{r=M.call(e),a=M.call(n)}catch{return!1}if(r!==a)return!1;for(let l of te.call(e))if(!re.call(n,l))return!1;return S(e,n,t)}if(f!==void 0||o!==void 0){if(f===void 0||o===void 0||f.brand!==o.brand||f.byteLength!==o.byteLength)return!1;return ce(f.buffer,f.byteOffset,o.buffer,o.byteOffset,f.byteLength)}if(e instanceof RegExp||n instanceof RegExp){if(!(e instanceof RegExp)||!(n instanceof RegExp))return!1;try{if(N.call(e)!==N.call(n))return!1;for(let r of oe)if(r!==void 0&&r.call(e)!==r.call(n))return!1}catch{return!1}return S(e,n,t)}if(e instanceof Date||n instanceof Date){if(!(e instanceof Date)||!(n instanceof Date))return!1;try{if(!B(T.call(e),T.call(n)))return!1}catch{return!1}return S(e,n,t)}let u=e instanceof Number||n instanceof Number?fe:e instanceof String||n instanceof String?ae:e instanceof Boolean||n instanceof Boolean?se:typeof BigInt==="function"&&(e instanceof BigInt||n instanceof BigInt)?ue:e instanceof Symbol||n instanceof Symbol?ie:void 0;if(u!==void 0){try{if(!B(u.call(e),u.call(n)))return!1}catch{return!1}return S(e,n,t)}let y=Object.getPrototypeOf(e),s=Object.getPrototypeOf(n),p=y===null||y===Object.prototype,m=s===null||s===Object.prototype;if(!p&&(_(e)||!O(e))||!m&&(_(n)||!O(n)))return!1;let i=e.valueOf,b=n.valueOf;if(typeof i==="function"&&i!==Object.prototype.valueOf||typeof b==="function"&&b!==Object.prototype.valueOf){if(typeof i!=="function"||typeof b!=="function")return!1;let r=i.call(e),a=b.call(n),l=r===null||typeof r!=="object"&&typeof r!=="function";if(l!==(a===null||typeof a!=="object"&&typeof a!=="function"))return!1;if(l&&!B(r,a))return!1}else{let r=e.toString,a=n.toString;if(typeof r==="function"&&r!==Object.prototype.toString||typeof a==="function"&&a!==Object.prototype.toString){if(typeof r!=="function"||typeof a!=="function"||r.call(e)!==a.call(n))return!1}}let A=Object.keys(e);if(A.length!==Object.keys(n).length)return!1;for(let r=A.length;r--!==0;)if(!F.call(n,A[r]))return!1;for(let r=A.length;r--!==0;){let a=A[r];if((a==="_owner"||a==="__v"||a==="__o")&&e.$$typeof)continue;if(!w(e[a],n[a],t))return!1}let L=Object.getOwnPropertySymbols(e),x=Object.getOwnPropertySymbols(n);if(L.length!==0||x.length!==0)return H(e,n,L,x,t);return!0},me=(e,n)=>w(e,n);export{me as deepEqual};
@@ -0,0 +1 @@
1
+ import{a as o,c as a,d as n,e as l,f as p,g as c,h as i,i as s,j as u,k as y,l as v,m as E,n as m,o as S,q as t}from"./chunk-t48n3zg9.js";var f=(r,e={})=>t.atomLazy(r,e),d=(r,e={})=>t.atom(r,e);Object.defineProperty(d,"lazy",{configurable:!1,enumerable:!0,value:f,writable:!1});var T=Object.freeze(d),x=(r,e={})=>t.selector(r,e);function V(){if(arguments.length!==0)throw TypeError("store() accepts no arguments");return t.createStoreTree()}var R=T,h=x,F=V,k=l,g=y,D=u,O=s,M=S,N=a,q=E,P=p,z=o,w=v,U=m,G=n,j=i,L=c;export{k as CallbackCapabilityError,g as InvalidAtomComparatorResultError,D as InvalidSynchronousAtomValueError,O as InvalidTransactionCallbackResultError,M as InvalidTransactionTargetError,N as RuntimeMismatchError,q as ScopeNotFoundError,P as SelectorCapabilityError,z as SelectorCircularDependencyError,w as StoreDisposedError,U as StoreTreeMismatchError,G as SubscriberNotificationError,j as TransactionClosedError,L as TransactionPhaseError,R as atom,h as selector,F as store};
@@ -0,0 +1 @@
1
+ import{b as H,d as B,p as U,r as X}from"./chunk-t48n3zg9.js";var Q=2048,Z=1e5,A=256,z=1024,P=1e4,ee=32,ne=20000,D=new Set(["span","operation","commit"]),te=new Set(["type","id","sequence","seqStart","seqEnd","startUs","durationUs","spanId","parentSpanId","operationId","commitId","evaluationId","searchId","name","result","totals"]),G=new Set(["value","previousValue","nextValue","resultValue","error","callback","updater"]),oe=()=>{},M=Symbol("inspection dependency path root"),re=1;class w{#o;#e=[];#r=0;constructor(e){this.#o=e}add(e){if(this.#o===0)return!0;if(this.#e.length<this.#o)return this.#e.push(e),!1;return this.#e[this.#r]=e,this.#r=(this.#r+1)%this.#o,!0}snapshot(){if(this.#e.length<this.#o||this.#r===0)return Object.freeze([...this.#e]);return Object.freeze([...this.#e.slice(this.#r),...this.#e.slice(0,this.#r)])}}var q=(e)=>{if(e.length===0)return;let t=Number.POSITIVE_INFINITY,n=0;for(let o of e){let r="sequence"in o?o.sequence:void 0;t=Math.min(t,o.seqStart??r??0),n=Math.max(n,o.seqEnd??r??0)}return Object.freeze({firstSequence:t,lastSequence:n})},J=(e,t,n,o)=>{let r=e??t;if(!Number.isSafeInteger(r)||r<(o?0:1))throw TypeError(`${n} capacity must be ${o?"a non-negative":"a positive"} safe integer`);return r},_=(e)=>e.length<=A?e:e.slice(0,A),v=()=>({searches:0,visits:0,maxVisits:0,found:0}),ie=()=>({selectorEvaluations:0,proposedTopologyChanges:0,proposedTopologyIdentical:0,transientSelectorHostsCreated:0,propagationSettled:0,notificationTargets:0,subscriberCallbacks:0,cycle:{searches:0,visits:0,maxVisits:0,found:0,prefixRevalidation:0,newEdgeProof:0,topologyDeltaProof:0,committed:0,scratch:0,hydration:0,lanes:{committed:{prefixRevalidation:v(),newEdgeProof:v(),topologyDeltaProof:v()},scratch:{prefixRevalidation:v(),newEdgeProof:v(),topologyDeltaProof:v()},hydration:{prefixRevalidation:v(),newEdgeProof:v(),topologyDeltaProof:v()}}}}),N=(e)=>Object.freeze({selectorEvaluations:e.selectorEvaluations,proposedTopologyChanges:e.proposedTopologyChanges,proposedTopologyIdentical:e.proposedTopologyIdentical,transientSelectorHostsCreated:e.transientSelectorHostsCreated,propagationSettled:e.propagationSettled,notificationTargets:e.notificationTargets,subscriberCallbacks:e.subscriberCallbacks,cycle:Object.freeze({searches:e.cycle.searches,visits:e.cycle.visits,maxVisits:e.cycle.maxVisits,found:e.cycle.found,bySite:Object.freeze({prefixRevalidation:e.cycle.prefixRevalidation,newEdgeProof:e.cycle.newEdgeProof,topologyDeltaProof:e.cycle.topologyDeltaProof}),byHost:Object.freeze({committed:e.cycle.committed,scratch:e.cycle.scratch,hydration:e.cycle.hydration}),byLane:Object.freeze({committed:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.committed.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.committed.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.committed.topologyDeltaProof})}),scratch:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.scratch.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.scratch.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.scratch.topologyDeltaProof})}),hydration:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.hydration.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.hydration.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.hydration.topologyDeltaProof})})})})}),O=(e,t,n,o)=>{if(t.remaining--<=0||o>ee)return null;if(e===null)return null;if(typeof e==="string")return e.length<=z?e:e.slice(0,z);if(typeof e==="boolean")return e;if(typeof e==="number")return Number.isFinite(e)?e:null;if(typeof e!=="object")return null;if(n.has(e))return null;n.add(e);try{if(Array.isArray(e)){let s=[],a=Math.min(e.length,P);for(let c=0;c<a;c++)s.push(O(e[c],t,n,o+1));return Object.freeze(s)}let r={},i=Object.keys(e).slice(0,P);for(let s of i){if(G.has(s))continue;let a=Reflect.get(e,s);if(a===void 0)continue;r[s]=O(a,t,n,o+1)}return Object.freeze(r)}finally{n.delete(e)}},V=(e)=>{if(e===void 0)return se;let t={},n={remaining:ne};for(let o of Object.keys(e).slice(0,P)){if(te.has(o)||G.has(o))continue;let r=e[o];if(r===void 0)continue;t[o]=O(r,n,new Set,0)}return Object.freeze(t)},se=Object.freeze({}),ae=(e,t)=>{if(t===void 0)return e;return Object.freeze({...e,...V(t)})},y=(e,t)=>t===void 0||!Number.isFinite(t)||t<=0?e:e+t,ce=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return L;try{let t=e.then;return typeof t==="function"?{kind:"thenable",target:e,then:t}:L}catch(t){return{kind:"inspection-error",error:t}}},L=Object.freeze({kind:"not-thenable"});class Y{#o;#e;#r;#u;#d="";#s=1;#g=1;#S=1;#v=1;#k=1;#C=1;#T=1;#R=1;#E=1;#n=[];#f=new WeakMap;#x=new WeakMap;#w=new WeakMap;#m=new WeakMap;#l=0;#a=0;#t;#y;#O;constructor(e,t){this.#O=t,this.#r=J(e.capacity?.summaries,Q,"Inspection summary",!1),this.#u=J(e.capacity?.details,Z,"Inspection detail",!0),this.#o=new w(this.#r),this.#e=new w(this.#u),this.#y=this.#p(),this.#j()}get recordingId(){return this.#d}registerStore(e,t){this.#w.set(e,t)}capture(e,t){let n=typeof e==="object"&&e!==null||typeof e==="function"?e:void 0,o=n===void 0?void 0:this.#w.get(n);if(o===void 0)throw TypeError("Inspection capture requires a Store owned by this inspector");let r;if(t!==void 0){let s=typeof t==="object"&&t!==null||typeof t==="function"?t:void 0,a=o.coordinator.runtimeDomain;if(s===void 0||!a.states.has(s))throw TypeError("Inspection capture requires a valid State");let c=a.atoms.get(s),h=a.selectors.get(s);if(c===void 0&&h===void 0)throw TypeError("Inspection capture requires a valid State");let S=c?.name??h?.name;r=this.reference(s,c===void 0?"selector":"atom",typeof S==="string"?S:void 0)}let i=this.#p();return Object.freeze({recordingId:this.#d,timeUs:this.#V(i),monotonicTimeMs:i,store:this.reference(o,"scope",o.name),...r===void 0?{}:{state:r},...this.#h()})}reference(e,t,n){if(this.#t!==void 0)return W;try{let o=this.#f.get(e);if(o===void 0)o=this.#E++,this.#f.set(e,o);let r=this.#x.get(e);if(r===void 0&&n!==void 0)r=_(n),this.#x.set(e,r);return Object.freeze({id:o,kind:t,...r===void 0?{}:{name:r}})}catch{return this.#c("reference"),W}}sessionId(e){let t=this.#m.get(e);if(t!==void 0)return t;let n=this.#T++;return this.#m.set(e,n),n}beginInterval(e){if(this.#t!==void 0)return F;try{let t=this.#A(e.type),n=Object.freeze({id:t,type:e.type}),o=Object.freeze({...this.#h(),...e.links}),r={token:n,parentId:this.#n[this.#n.length-1]?.token.id,links:o,name:e.name===void 0?void 0:_(e.name),seqStart:this.#s++,startUs:this.#b(),fields:V(e.fields),totals:D.has(e.type)?ie():void 0,commitId:void 0,commitSourceApplied:!1,commitChangedSources:void 0,commitOwnershipChanged:void 0,commitFailurePhase:void 0,operationIntents:0,counterStart:D.has(e.type)?this.#N():void 0};if(e.type==="commit"){let i=this.#i("operation");if(i!==void 0)i.commitId=t}return this.#n.push(r),n}catch{return this.#c("begin-interval"),F}}finishInterval(e,t={}){if(e.id===0||this.#t!==void 0)return;try{let n=this.#n.pop();if(n===void 0||!Object.is(n.token,e))throw Error("Inspection intervals must finish in LIFO order");this.#P(n);let o=this.#s++,r=Math.max(0,this.#b()-n.startUs),i=ae(n.fields,t.fields),s=this.#z(n,o,r,i,t.result);if(D.has(n.token.type)){if(this.#o.add(s))this.#l++}else if(this.#e.add(s))this.#a++}catch{this.#c("finish-interval")}}record(e){if(this.#t!==void 0)return;try{let t=this.#s++,n=Object.freeze({...V(e.fields),type:e.type,sequence:t,timeUs:this.#b(),...this.#h(),...e.links});if(this.#e.add(n))this.#a++}catch{this.#c("record-detail")}}addWork(e){if(this.#t!==void 0)return;try{for(let t of this.#n){let n=t.totals;if(n===void 0)continue;n.selectorEvaluations=y(n.selectorEvaluations,e.selectorEvaluations),n.proposedTopologyChanges=y(n.proposedTopologyChanges,e.proposedTopologyChanges),n.proposedTopologyIdentical=y(n.proposedTopologyIdentical,e.proposedTopologyIdentical),n.transientSelectorHostsCreated=y(n.transientSelectorHostsCreated,e.transientSelectorHostsCreated),n.propagationSettled=y(n.propagationSettled,e.propagationSettled),n.notificationTargets=y(n.notificationTargets,e.notificationTargets),n.subscriberCallbacks=y(n.subscriberCallbacks,e.subscriberCallbacks);let o=e.cycle;if(o===void 0)continue;if(n.cycle.searches=y(n.cycle.searches,o.searches),n.cycle.visits=y(n.cycle.visits,o.visits),n.cycle.maxVisits=Math.max(n.cycle.maxVisits,o.maxVisits??0),n.cycle.found=y(n.cycle.found,o.found),o.site==="prefix-revalidation")n.cycle.prefixRevalidation+=o.searches??1;else if(o.site==="new-edge-proof")n.cycle.newEdgeProof+=o.searches??1;else if(o.site==="topology-delta-proof")n.cycle.topologyDeltaProof+=o.searches??1;if(o.host!==void 0)n.cycle[o.host]+=o.searches??1;if(o.host!==void 0&&o.site!==void 0){let r=o.site==="prefix-revalidation"?"prefixRevalidation":o.site==="new-edge-proof"?"newEdgeProof":"topologyDeltaProof",i=n.cycle.lanes[o.host][r];i.searches=y(i.searches,o.searches),i.visits=y(i.visits,o.visits),i.maxVisits=Math.max(i.maxVisits,o.maxVisits??0),i.found=y(i.found,o.found)}}}catch{this.#c("add-work")}}beginStoreOperation(e){return this.beginInterval({type:"operation",...e.name===void 0?{}:{name:e.name},fields:{operation:e.operation,scope:this.reference(e.scope,"scope",e.scopeName)}})}finishStoreOperation(e,t){let n=this.#i("operation"),o=n===void 0||!Object.is(n.token,e)||n.commitId===void 0||!n.commitSourceApplied?"none":t==="returned"?"committed":n.commitFailurePhase==="notify"?"committed-with-notification-error":"committed-with-propagation-error";this.finishInterval(e,{result:t,fields:{effect:o}})}beginStoreCommit(e){return this.beginInterval({type:"commit",links:{operationId:e.id}})}finishStoreCommit(e,t){let n=this.#i("operation");if(n!==void 0)n.commitSourceApplied||=t.sourceApplied,n.commitFailurePhase=t.failurePhase;this.finishInterval(e,{result:t.result,fields:{intents:t.intents,...t.changedSources===void 0?{}:{changedSources:t.changedSources},...t.ownershipChanged===void 0?{}:{ownershipChanged:t.ownershipChanged},sourceApplied:t.sourceApplied,notificationsCompleted:t.notificationsCompleted}})}recordStoreIntent(e){this.record({type:"intent",fields:{intent:e.intent,scope:this.reference(e.scope,"scope",e.scopeName),atom:this.reference(e.atom,"atom",e.atomName)}})}recordStoreEvent(...e){let t=e[0];if(t===0){let o=["set","update","reset","transaction"][e[1]];this.beginStoreOperation({operation:o,scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},...e[4]===void 0?{}:{name:e[4]}});return}if(t===1){let o=e[1]===0?"returned":"threw",r=this.#i("operation");if(r===void 0)return;let i=this.#i("commit");if(i!==void 0)this.#P(i),this.finishStoreCommit(i.token,{result:o,intents:r.operationIntents,...i.commitChangedSources===void 0?{}:{changedSources:i.commitChangedSources},...i.commitOwnershipChanged===void 0?{}:{ownershipChanged:i.commitOwnershipChanged},sourceApplied:i.commitSourceApplied,notificationsCompleted:o==="returned",...e[2]===void 0?{}:{failurePhase:e[2]===1?"notify":"propagate"}});this.finishStoreOperation(r.token,o);return}if(t===2){let o=this.#i("operation");if(o!==void 0)this.beginStoreCommit(o.token);return}if(t===3){let o=this.#i("commit");if(o!==void 0)o.commitSourceApplied=!0,o.commitChangedSources=e[1];return}let n=this.#i("operation");if(n!==void 0)n.operationIntents++;this.recordStoreIntent({intent:e[1]===0?"set":"reset",scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},atom:e[4],...e[5]===void 0?{}:{atomName:e[5]}})}hasActiveStoreOperation(){return this.#i("operation")!==void 0}beginDraftCommit(e,t){this.recordStoreEvent(2),e.forEachIntent((n,o)=>{let r=t.get(o.atom)?.name;this.recordStoreEvent(5,o.kind==="set"?0:2,n,n.name,o.atom,typeof r==="string"?r:void 0)})}findDependencyPath(e,t,n,o,r,i,s,a,c,h,S){let E=s===0?"prefix-revalidation":s===1?"new-edge-proof":"topology-delta-proof",g=this.beginInterval({type:"cycle-search",fields:{site:E,host:e,hostRef:t,start:this.#I(n),target:this.#I(o),graphVersion:r.getSelectorGraphVersion(),attributedSessionPublications:i.getSelectorGraphPublicationCount(r),evaluationGraphVersionDelta:r.getSelectorGraphVersion()-c,evaluationAttributedPublicationDelta:i.getSelectorGraphPublicationCount(r)-h,acceptedPrefixLength:a,parentWasCold:S}}),p=[n],d=new Map([[n,M]]),u=0,f=0,I=1,R=0,k=0,C=0,b;while(p.length>0){let l=p.pop();if(u++,Object.is(l,o)){let m=[],T=l;while(T!==M)m.push(T),T=d.get(T);m.reverse(),b=Object.freeze(m);break}let x=i.getTransientDependencies(r,l);if(x){R++,f+=x.length;for(let m of x){if(d.has(m.node))continue;d.set(m.node,l),p.push(m.node)}if(p.length>I)I=p.length;continue}if(r.getSelectorDependencyNodes!==void 0){let m=r.getSelectorDependencyNodes(l);if(m===void 0){C++;continue}k++,f+=m.length;for(let T of m){if(d.has(T))continue;d.set(T,l),p.push(T)}if(p.length>I)I=p.length;continue}let j=r.getSelectorRecord(l);if(!j){C++;continue}k++,f+=j.dependencies.length;for(let m of j.dependencies){if(d.has(m.node))continue;d.set(m.node,l),p.push(m.node)}if(p.length>I)I=p.length}return this.addWork({cycle:{searches:1,visits:u,maxVisits:u,found:b===void 0?0:1,site:E,host:e}}),this.finishInterval(g,{result:"returned",fields:{visits:u,edges:f,maxFrontier:I,transientExpansions:R,recordExpansions:k,terminalPrunes:C,found:b!==void 0,...b===void 0?{}:{path:b.map((l)=>this.#I(l))}}}),b}span(e,t){if(typeof e!=="string")throw TypeError("Inspection span name must be a string");if(typeof t!=="function")throw TypeError("Inspection span callback must be a function");let n=this.beginInterval({type:"span",name:e}),o;try{o=t()}catch(i){throw this.finishInterval(n,{result:"threw"}),i}let r=ce(o);if(r.kind==="inspection-error")throw this.finishInterval(n,{result:"threw"}),r.error;if(r.kind==="thenable"){try{Reflect.apply(r.then,r.target,[void 0,oe])}catch{}throw this.finishInterval(n,{result:"async-rejected"}),TypeError("Inspection spans must be synchronous")}return this.finishInterval(n,{result:"returned"}),o}export(){this.#D("export");let e=[...this.#o.snapshot()].sort((r,i)=>r.seqStart-i.seqStart),t=[...this.#e.snapshot()].sort((r,i)=>(r.seqStart??r.sequence??0)-(i.seqStart??i.sequence??0)),n=q(e),o=q(t);return Object.freeze({schema:"valdres.inspect",schemaVersion:2,recordingId:this.#d,summaries:Object.freeze(e),details:Object.freeze(t),complete:this.#l===0&&this.#a===0&&this.#t===void 0,overflow:Object.freeze({summaries:this.#l,details:this.#a,retained:Object.freeze({...n===void 0?{}:{summaries:n},...o===void 0?{}:{details:o}})}),...this.#t===void 0?{}:{fault:this.#t}})}reset(){this.#D("reset"),this.#j()}createInspector(){let e=this;return Object.freeze({get recordingId(){return e.recordingId},capture:(t,n)=>e.capture(t,n),span:(t,n)=>e.span(t,n),export:()=>e.export(),reset:()=>e.reset()})}#j(){this.#d=`inspection-${re++}`,this.#o=new w(this.#r),this.#e=new w(this.#u),this.#s=1,this.#g=1,this.#S=1,this.#v=1,this.#k=1,this.#C=1,this.#T=1,this.#R=1,this.#E=1,this.#n=[],this.#f=new WeakMap,this.#m=new WeakMap,this.#l=0,this.#a=0,this.#t=void 0,this.#y=this.#p()}#A(e){if(e==="span")return this.#g++;if(e==="operation")return this.#S++;if(e==="commit")return this.#v++;if(e==="selector-evaluation")return this.#k++;if(e==="cycle-search")return this.#C++;return this.#R++}#h(){let e={};for(let t of this.#n){let{id:n,type:o}=t.token;if(t.links.sessionId!==void 0)e.sessionId=t.links.sessionId;if(o==="span")e.spanId=n;else if(o==="operation")e.operationId=n;else if(o==="commit")e.commitId=n;else if(o==="selector-evaluation")e.evaluationId=n;else if(o==="cycle-search")e.searchId=n}return e}#i(e){for(let t=this.#n.length-1;t>=0;t--){let n=this.#n[t];if(n.token.type===e)return n}return}#I(e){return typeof e==="object"&&e!==null||typeof e==="function"?this.reference(e,"state"):O(e,{remaining:1},new Set,0)}#z(e,t,n,o,r){let i={...o,type:e.token.type,seqStart:e.seqStart,seqEnd:t,startUs:e.startUs,durationUs:n,...e.links};if(e.token.type==="span")return Object.freeze({...i,type:"span",spanId:e.token.id,...e.links.spanId===void 0?{}:{parentSpanId:e.links.spanId},name:e.name??"",result:r??"returned",totals:N(e.totals)});if(e.token.type==="operation")return Object.freeze({...i,type:"operation",operationId:e.token.id,...e.name===void 0?{}:{name:e.name},...e.commitId===void 0?{}:{commitId:e.commitId},result:r==="threw"||r==="async-rejected"?"threw":"returned",effect:o.effect??(e.commitId===void 0?"none":"committed"),totals:N(e.totals)});if(e.token.type==="commit")return Object.freeze({...i,type:"commit",commitId:e.token.id,operationId:e.links.operationId??0,intents:o.intents??0,changedSources:o.changedSources??0,ownershipChanged:o.ownershipChanged??!1,sourceApplied:o.sourceApplied??!0,notificationsCompleted:o.notificationsCompleted??!0,totals:N(e.totals)});let s=e.token.type==="selector-evaluation"?{evaluationId:e.token.id}:e.token.type==="cycle-search"?{searchId:e.token.id}:{id:e.token.id};return Object.freeze({...i,...s})}#D(e){if(this.#n.length!==0)throw Error(`Inspection ${e} requires an idle Store`)}#N(){let e=(t)=>this.#O.read(t);return{sourceEpoch:e("sourceEpoch"),transientSelectorHostsCreated:e("scratchHostAllocations"),propagationSettled:e("propagationSettlements"),notificationTargets:e("notificationTargetsReached"),subscriberCallbacks:e("subscriberCallbacksAttempted")}}#P(e){let t=e.counterStart;if(t===void 0)return;e.counterStart=void 0;let n=this.#N();if(e.token.type==="commit")e.commitOwnershipChanged=n.sourceEpoch!==t.sourceEpoch;let o=e.totals;if(o===void 0)return;o.transientSelectorHostsCreated+=n.transientSelectorHostsCreated-t.transientSelectorHostsCreated,o.propagationSettled+=n.propagationSettled-t.propagationSettled,o.notificationTargets+=n.notificationTargets-t.notificationTargets,o.subscriberCallbacks+=n.subscriberCallbacks-t.subscriberCallbacks}#c(e){if(this.#t!==void 0)return;let t=this.#s++;this.#t=Object.freeze({type:"recorder-fault",phase:e,sequence:t}),this.#n=[]}#p(){return globalThis.performance?.now()??Date.now()}#V(e){return Math.max(0,Math.round((e-this.#y)*1000))}#b(){return this.#V(this.#p())}}var W=Object.freeze({id:0,kind:"store"}),F=Object.freeze({id:0,type:"operation"}),de=(e)=>{let t=(r,i,s,a)=>{if(e.hasActiveStoreOperation())return a();e.recordStoreEvent(0,r,i,i.name,s);try{let c=a();return e.recordStoreEvent(1,0),c}catch(c){throw e.recordStoreEvent(1,1,c instanceof B?1:0),c}},n=(r,i,s)=>{if(r===0){let a=i,c=s;e.registerStore(a,c);let h=a,S=a.set,E=a.update,g=a.reset,p=a.txn;h.set=(d,u)=>t(0,c,void 0,()=>S(d,u)),h.update=(d,u)=>t(1,c,void 0,()=>E(d,u)),h.reset=(d)=>t(2,c,void 0,()=>g(d)),h.txn=(d,u)=>{if(typeof d!=="function"||u!==void 0&&typeof u!=="string")return p(d,u);return t(3,c,u,()=>p(d,u))};return}if(r===1){e.beginDraftCommit(i,s);return}if(r===2)e.recordStoreEvent(3,i)};return Object.assign(n,{evaluate:(r,i,s)=>{let a=i.getSelectorDependencyNodes!==void 0?"committed":e.hasActiveStoreOperation()?"scratch":"hydration",c=i.name,h=e.reference(i,a==="committed"?"scope":"scratch-host",typeof c==="string"?c:void 0),S=i.getSelectorGraphVersion(),E=s.getSelectorGraphPublicationCount(i),g=i.getSelectorRecord(r.node)?.dependencies,p=g?.length??0,d=e.beginInterval({type:"selector-evaluation",links:{sessionId:e.sessionId(s)},fields:{host:a,hostRef:h,selector:e.reference(r.node,"selector",typeof r.name==="string"?r.name:void 0),graphVersionStart:S,previousDependencyCount:p}});e.addWork({selectorEvaluations:1});let u=(f,I,R,k,C,b)=>e.findDependencyPath(a,h,f,I,R,k,C,b,S,E,g===void 0);try{let f=H(r,i,s,u),I=g===void 0||g.length!==f.dependencies.length||g.some((l,x)=>!Object.is(l.node,f.dependencies[x]?.node)),R=new Set(g?.map((l)=>l.node)),k=new Set(f.dependencies.map((l)=>l.node)),C=0,b=0;for(let l of k)if(!R.has(l))C++;for(let l of R)if(!k.has(l))b++;return e.addWork(I?{proposedTopologyChanges:1}:{proposedTopologyIdentical:1}),e.finishInterval(d,{result:"returned",fields:{outcome:f.outcome.kind,dependencyCount:f.dependencies.length,proposedTopologyChanged:I,proposedEdgesAdded:C,proposedEdgesRemoved:b,graphVersionEnd:i.getSelectorGraphVersion()}}),f}catch(f){throw e.finishInterval(d,{result:"threw",fields:{outcome:"threw",graphVersionEnd:i.getSelectorGraphVersion()}}),f}}}),Object.freeze(n)},K=(e={})=>{let t=U(),n=new Y(e,t);return Object.freeze({recorder:n,inspect:n.createInspector(),instrumentation:t,trace:de(n)})};var ye=(e={})=>{let{inspect:t,instrumentation:n,trace:o}=K(e),r=X(n,o);return Object.freeze({store:r,inspect:t})};export{ye as createInspectableStore};
@@ -0,0 +1 @@
1
+ var P=typeof Map==="function",V=typeof Set==="function",W=typeof ArrayBuffer==="function"&&typeof ArrayBuffer.isView==="function",g=typeof SharedArrayBuffer==="function",D=typeof ArrayBuffer==="function"?ArrayBuffer.prototype:void 0,G=g?SharedArrayBuffer.prototype:void 0,c=(e,n)=>{if(e===void 0)return;return Object.getOwnPropertyDescriptor(e,n)?.get},R=c(D,"byteLength"),E=c(G,"byteLength"),Z=c(typeof DataView==="function"?DataView.prototype:void 0,"byteLength"),J=c(typeof Uint8Array==="function"?Object.getPrototypeOf(Uint8Array.prototype):void 0,Symbol.toStringTag),I=typeof Uint8Array==="function"?Object.getPrototypeOf(Uint8Array.prototype):void 0,Q=c(I,"buffer"),X=c(I,"byteOffset"),Y=c(I,"byteLength"),v=c(typeof DataView==="function"?DataView.prototype:void 0,"buffer"),j=c(typeof DataView==="function"?DataView.prototype:void 0,"byteOffset"),K=c(P?Map.prototype:void 0,"size"),ee=P?Map.prototype.keys:void 0,ne=P?Map.prototype.has:void 0,C=P?Map.prototype.get:void 0,M=c(V?Set.prototype:void 0,"size"),te=V?Set.prototype.values:void 0,re=V?Set.prototype.has:void 0,N=c(RegExp.prototype,"source"),oe=["hasIndices","global","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky"].map((e)=>c(RegExp.prototype,e)),T=Date.prototype.valueOf,fe=Number.prototype.valueOf,ae=String.prototype.valueOf,se=Boolean.prototype.valueOf,ue=typeof BigInt==="function"?BigInt.prototype.valueOf:void 0,ie=Symbol.prototype.valueOf,ye=Function.prototype.toString,F=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,B=(e,n)=>e===n||e!==e&&n!==n,ce=(e,n,t,f,o)=>{if(o===0)return!0;if(o>=64&&((n|f)&3)===0){let s=Math.floor(o/4),p=new Uint32Array(e,n,s),m=new Uint32Array(t,f,s);for(let k=s;k--!==0;)if(p[k]!==m[k])return!1;let i=s*4,b=o-i;if(b===0)return!0;n+=i,f+=i,o=b}let u=new Uint8Array(e,n,o),y=new Uint8Array(t,f,o);for(let s=o;s--!==0;)if(u[s]!==y[s])return!1;return!0},H=(e,n,t,f,o)=>{let u=0;for(let s=t.length;s--!==0;){let p=t[s];if(!h.call(e,p))continue;if(u++,!h.call(n,p))return!1;if(!w(e[p],n[p],o))return!1}let y=0;for(let s=f.length;s--!==0;)if(h.call(n,f[s]))y++;return u===y},S=(e,n,t)=>{let f=Object.keys(e);if(f.length!==Object.keys(n).length)return!1;for(let o=f.length;o--!==0;){let u=f[o];if(!F.call(n,u))return!1;if(!w(e[u],n[u],t))return!1}return H(e,n,Object.getOwnPropertySymbols(e),Object.getOwnPropertySymbols(n),t)},z=(e,n)=>{let t=Reflect.ownKeys(e);return t.length===n+1&&t[n]==="length"},d=(e,n)=>e.call(n),U=(e,n)=>e.call(n),pe=(e,n)=>{let t=Object.getPrototypeOf(e);while(t!==null){if(typeof Object.getOwnPropertyDescriptor(t,n)?.get==="function")return!0;t=Object.getPrototypeOf(t)}return!1},q=(e,n)=>{if(!W)return;if(ArrayBuffer.isView(e)){let t=J?.call(e);if(typeof t==="string")return{brand:t,buffer:U(Q,e),byteOffset:d(X,e),byteLength:d(Y,e)};return{brand:"DataView",buffer:U(v,e),byteOffset:d(j,e),byteLength:d(Z,e)}}if(e instanceof ArrayBuffer)return{brand:"ArrayBuffer",buffer:e,byteOffset:0,byteLength:d(R,e)};if(g&&e instanceof SharedArrayBuffer)return{brand:"SharedArrayBuffer",buffer:e,byteOffset:0,byteLength:d(E,e)};if(!n)return;if(!pe(e,"byteLength"))return;try{return{brand:"ArrayBuffer",buffer:e,byteOffset:0,byteLength:d(R,e)}}catch{}if(g)try{return{brand:"SharedArrayBuffer",buffer:e,byteOffset:0,byteLength:d(E,e)}}catch{return}return},_=(e)=>{if(typeof Node<"u"&&e instanceof Node)return!0;return typeof e.nodeType==="number"&&typeof e.nodeName==="string"&&typeof e.cloneNode==="function"&&"ownerDocument"in e},O=(e)=>{let n=Object.getPrototypeOf(e);if(n===null||n===Object.prototype)return!0;while(n!==null&&n!==Object.prototype){let t=Object.getOwnPropertyDescriptor(n,"constructor")?.value;if(typeof t==="function"&&/\{\s*\[native code\]\s*\}/.test(ye.call(t)))return!1;n=Object.getPrototypeOf(n)}return!0},w=(e,n,t)=>{if(B(e,n))return!0;if(e===null||n===null||typeof e!=="object"||typeof n!=="object")return!1;let f=e,o=n,u=Object.getPrototypeOf(f),y=Object.getPrototypeOf(o),s=u===y,p=q(f,!s||u!==null&&u!==Object.prototype&&u!==D&&(!g||u!==G)),m=q(o,!s||y!==null&&y!==Object.prototype&&y!==D&&(!g||y!==G));if(!s&&(p===void 0||m===void 0||p.brand!==m.brand))return!1;let i=t??{leftAncestors:[],rightAncestors:[]};if(i.leftAncestors.includes(f)||i.rightAncestors.includes(o))return!1;i.leftAncestors.push(f),i.rightAncestors.push(o);try{return le(f,o,i,p,m)}finally{i.leftAncestors.pop(),i.rightAncestors.pop()}},le=(e,n,t,f,o)=>{if(Array.isArray(e)){if(!Array.isArray(n))return!1;let r=e.length;if(r!==n.length)return!1;for(let a=r;a--!==0;)if(!w(e[a],n[a],t))return!1;if(!z(e,r)||!z(n,r))return S(e,n,t);return!0}if(P&&(e instanceof Map||n instanceof Map)){if(!(e instanceof Map)||!(n instanceof Map))return!1;let r,a;try{r=K.call(e),a=K.call(n)}catch{return!1}if(r!==a)return!1;for(let l of ee.call(e)){if(!ne.call(n,l))return!1;if(!w(C.call(e,l),C.call(n,l),t))return!1}return S(e,n,t)}if(V&&(e instanceof Set||n instanceof Set)){if(!(e instanceof Set)||!(n instanceof Set))return!1;let r,a;try{r=M.call(e),a=M.call(n)}catch{return!1}if(r!==a)return!1;for(let l of te.call(e))if(!re.call(n,l))return!1;return S(e,n,t)}if(f!==void 0||o!==void 0){if(f===void 0||o===void 0||f.brand!==o.brand||f.byteLength!==o.byteLength)return!1;return ce(f.buffer,f.byteOffset,o.buffer,o.byteOffset,f.byteLength)}if(e instanceof RegExp||n instanceof RegExp){if(!(e instanceof RegExp)||!(n instanceof RegExp))return!1;try{if(N.call(e)!==N.call(n))return!1;for(let r of oe)if(r!==void 0&&r.call(e)!==r.call(n))return!1}catch{return!1}return S(e,n,t)}if(e instanceof Date||n instanceof Date){if(!(e instanceof Date)||!(n instanceof Date))return!1;try{if(!B(T.call(e),T.call(n)))return!1}catch{return!1}return S(e,n,t)}let u=e instanceof Number||n instanceof Number?fe:e instanceof String||n instanceof String?ae:e instanceof Boolean||n instanceof Boolean?se:typeof BigInt==="function"&&(e instanceof BigInt||n instanceof BigInt)?ue:e instanceof Symbol||n instanceof Symbol?ie:void 0;if(u!==void 0){try{if(!B(u.call(e),u.call(n)))return!1}catch{return!1}return S(e,n,t)}let y=Object.getPrototypeOf(e),s=Object.getPrototypeOf(n),p=y===null||y===Object.prototype,m=s===null||s===Object.prototype;if(!p&&(_(e)||!O(e))||!m&&(_(n)||!O(n)))return!1;let i=e.valueOf,b=n.valueOf;if(typeof i==="function"&&i!==Object.prototype.valueOf||typeof b==="function"&&b!==Object.prototype.valueOf){if(typeof i!=="function"||typeof b!=="function")return!1;let r=i.call(e),a=b.call(n),l=r===null||typeof r!=="object"&&typeof r!=="function";if(l!==(a===null||typeof a!=="object"&&typeof a!=="function"))return!1;if(l&&!B(r,a))return!1}else{let r=e.toString,a=n.toString;if(typeof r==="function"&&r!==Object.prototype.toString||typeof a==="function"&&a!==Object.prototype.toString){if(typeof r!=="function"||typeof a!=="function"||r.call(e)!==a.call(n))return!1}}let A=Object.keys(e);if(A.length!==Object.keys(n).length)return!1;for(let r=A.length;r--!==0;)if(!F.call(n,A[r]))return!1;for(let r=A.length;r--!==0;){let a=A[r];if((a==="_owner"||a==="__v"||a==="__o")&&e.$$typeof)continue;if(!w(e[a],n[a],t))return!1}let L=Object.getOwnPropertySymbols(e),x=Object.getOwnPropertySymbols(n);if(L.length!==0||x.length!==0)return H(e,n,L,x,t);return!0},me=(e,n)=>w(e,n);export{me as deepEqual};